用于参数辨识的计算终端的制作方法

文档序号:33382180发布日期:2023-03-08 06:21阅读:52来源:国知局
用于参数辨识的计算终端的制作方法

1.本发明涉及电化学模型技术领域,具体而言,涉及一种用于参数辨识的计算终端。


背景技术:

2.电池应用日益广泛,随之而来的是电池故障引发的各种经济损失。现阶段对电池参数(如电池荷电状态、电池有效电压等)的计算主要有等效电路法,电化学模型法等。等效电路法能够将电池等效成电阻、电容搭建的等效电路,从而对电池参数计算评估。p2d(pseudo-two-dimensions,伪二维模型)是电化学模型算法的一种,它把电池的各个组成部分微型化成一个个小单位来简化计算模型,然后使用微分方程来计算电池参数。
3.无论是等效电路法,还是电化学模型,均需要进行参数辨识;例如,对电化学模型进行参数辨识,可以确定电化学模型的电化学参数。虽然电化学模型比等效电路法具有更高的精度,但由于电化学参数较多,且微分方程求解复杂,参数辨识的计算效率较低;若采用高性能处理器进行计算,虽然会提高效率,但成本较高。


技术实现要素:

4.为解决上述问题,本发明实施例的目的在于提供一种用于参数辨识的计算终端。
5.本发明实施例提供了一种用于参数辨识的计算终端,包括:fpga,所述fpga包括固相计算模块、液相计算模块和电解耦计算模块;所述固相计算模块、液相计算模块、电解耦计算模块中的至少部分为并行计算的模块;
6.所述固相计算模块用于对固相微分方程进行求解,确定电化学模型的固相电化学参数;
7.所述液相计算模块用于对液相微分方程进行求解,确定电化学模型的液相电化学参数;
8.所述电解耦计算模块用于对电解耦微分方程进行求解,确定电化学模型的电解耦电化学参数。
9.在一种可能的实现方式中,计算模块包括多个计算单元;所述计算模块为所述固相计算模块、所述液相计算模块或所述电解耦计算模块;
10.一部分所述计算单元用于以递推的方式对原始线性方程组的系数矩阵进行优化;所述原始线性方程组为对待求解的微分方程进行离散化所转换得到的方程组;
11.另一部分所述计算单元用于以递推的方式对系数矩阵优化后的线性方程组进行求解。
12.在一种可能的实现方式中,所述计算模块包括第一计算单元、第二计算单元、第三计算单元和第四计算单元;
13.所述第一计算单元用于以递推的方式计算对所述原始线性方程组的系数矩阵进行lu分解所确定的下三角矩阵中的元素;
14.所述第二计算单元用于以递推的方式计算对所述原始线性方程组的系数矩阵进
行lu分解所确定的上三角矩阵中的元素;
15.所述第三计算单元用于以递推的方式对第一线性方程组进行求解,确定所述第一线性方程组的未知量矩阵;所述第一线性方程组的系数矩阵为所述下三角矩阵,所述第一线性方程组的常数矩阵为所述原始线性方程组的常数矩阵;
16.所述第四计算单元用于以递推的方式对第二线性方程组进行求解,确定所述第二线性方程组的未知量矩阵;所述第二线性方程组的系数矩阵为所述上三角矩阵,所述第二线性方程组的常数矩阵为所述第一线性方程组的未知量矩阵。
17.在一种可能的实现方式中,所述原始线性方程组的系数矩阵为三对角矩阵。
18.在一种可能的实现方式中,所述第一计算单元用于在所述第二计算单元确定所述上三角矩阵中第i-1行第i-1列的元素u
i-1
后,计算得到所述下三角矩阵中第i行第i-1列的元素li;
19.所述第二计算单元用于在所述第一计算单元确定所述下三角矩阵中第i行第i-1列的元素li后,计算得到所述上三角矩阵中第i行第i列的元素ui;
20.所述第三计算单元用于在所述第一计算单元确定所述下三角矩阵中第i行第i-1列的元素li后,计算得到所述第一线性方程组的未知量矩阵中第i个元素yi;
21.所述第四计算单元用于在所述第三计算单元确定所述第一线性方程组的未知量矩阵后,计算得到所述第二线性方程组的未知量矩阵。
22.在一种可能的实现方式中,在所述第一计算单元计算得到所述下三角矩阵中第i行第i-1列的元素li的下一个计算周期,所述第二计算单元用于计算所述上三角矩阵中第i行第i列的元素ui,且所述第三计算单元用于并行计算所述第一线性方程组的未知量矩阵中第i个元素yi;
23.在所述第二计算单元计算得到所述上三角矩阵中第i行第i列的元素ui的下一个计算周期,所述第一计算单元用于计算所述下三角矩阵中第i+1行第i列的元素l
i+1

24.在一种可能的实现方式中,所述第四计算单元用于以逆序递推的方式计算所述第二线性方程组的未知量矩阵中第k个元素xk;k=n-1,n-2,

,1,n表示对微分方程进行离散化时的节点数。
25.在一种可能的实现方式中,所述下三角矩阵中第i行第i-1列的元素li满足:
26.li=ai/u
i-1

27.所述上三角矩阵中第i行第i列的元素ui满足:
[0028][0029]
所述第一线性方程组的未知量矩阵中第i个元素yi满足:
[0030][0031]
所述第二线性方程组的未知量矩阵中第k个元素xk满足:
[0032]
[0033]
其中,i=2,3,

,n,k=n-1,n-2,

,1,n表示对微分方程进行离散化时的节点数;ai表示所述三对角矩阵中第i行第i-1列的元素,bi表示所述三对角矩阵中第i行第i列的元素,ci表示所述三对角矩阵中第i行第i+1列的元素,di表示所述原始线性方程组的常数矩阵中第i个元素;b1表示所述三对角矩阵中第1行第1列的元素,c1表示所述三对角矩阵中第1行第2列的元素,d1表示所述原始线性方程组的常数矩阵中第1个元素,u1表示所述上三角矩阵中第1行第1列的元素,y1表示所述第一线性方程组的未知量矩阵中第1个元素;xn表示所述第二线性方程组的未知量矩阵中第n个元素。
[0034]
在一种可能的实现方式中,所述固相计算模块包括用于确定正极固相电化学参数的正极固相计算模块和用于确定负极固相电化学参数的负极固相计算模块;
[0035]
所述液相计算模块包括用于确定正极液相电化学参数的正极液相计算模块和用于确定负极液相电化学参数的负极液相计算模块;
[0036]
所述电解耦计算模块包括用于确定正极电解耦电化学参数的正极电解耦计算模块和用于确定负极电解耦电化学参数的负极电解耦计算模块。
[0037]
在一种可能的实现方式中,计算终端还包括:处理系统;
[0038]
所述fpga用于将所确定的电化学参数传输至所述处理系统。
[0039]
本发明实施例提供的方案中,利用fpga实现多个用于求解电化学模型不同微分方程的计算模块,可以确定电化学模型的多种电化学参数,利用硬件实现参数辨识;fpga成本较低,并且,至少部分计算模块是可以并行运算的,利用硬件并行运算,可以实现加速处理,提高处理效率。计算模块包括多个计算单元,一部分计算单元用于简化原始线性方程组的系数矩阵,另一部分计算单元对简化后的线性方程组进行求解,可以加快求解速度。并且,计算单元以递推的方式进行运算,使得某个计算单元在计算得到部分结果后,其他计算单元即可开始进行计算,实现并行处理,可以进一步提高处理效率。
[0040]
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0041]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]
图1示出了本发明实施例所提供的计算终端的一种结构示意图;
[0043]
图2示出了本发明实施例所提供的计算终端的另一种结构示意图;
[0044]
图3示出了本发明实施例所提供的四种计算单元的工作时序图;
[0045]
图4示出了本发明实施例所提供的fpga的一种结构示意图;
[0046]
图5示出了本发明实施例所提供的计算终端的再一种结构示意图。
具体实施方式
[0047]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时
针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0048]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0049]
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0050]
对电化学模型进行参数辨识的传统方法主要是通过软件编程实现,本发明实施例利用硬件加速的特性,将电化学模型算法部署在fpga(field programmable gate array,现场可编程逻辑门阵列)中,实现快速参数辨识。具体地,本发明实施例提供一种用于参数辨识的计算终端,参见图1所示,该计算终端包括:fpga。并且,该fpga包括用于对微分方程进行求解的计算模块;如图1所示,该fpga包括固相计算模块11、液相计算模块12和电解耦计算模块13;所述固相计算模块11、液相计算模块12、电解耦计算模块13中的至少部分为并行计算的模块,即至少部分计算模块可以独自进行计算,实现并行计算。
[0051]
其中,所述固相计算模块11用于对固相微分方程进行求解,确定电化学模型的固相电化学参数;所述液相计算模块12用于对液相微分方程进行求解,确定电化学模型的液相电化学参数;所述电解耦计算模块13用于对电解耦微分方程进行求解,确定电化学模型的电解耦电化学参数。
[0052]
本发明实施例中,计算终端包含fpga,fpga是可编程的器件,通过灵活配置fpga中的可编程逻辑单元,可以实现不同的逻辑功能。本发明实施例中的fpga包含多个具有不同逻辑功能的模块,即计算模块,该计算模块用于对相应的微分方程进行计算,从而求解出该微分方程。
[0053]
具体地,电化学模型中涉及的电化学参数(比如固相、液相扩散系数,锂离子浓度,隔膜面积等)较多,且包含多个微分方程;例如,微分方程包括:通过fick第二定律所建立的的固相扩散系数和锂离子浓度梯度的微分方程,通过固相表面浓度和锂离子的交换通量建立的液相电荷平衡求解方程,在电解液和电极界面上使用的bulter-volmer方程等;这些微分方程为电化学模型中常用的方程,本实施例对其不做详述。其中,本发明实施例将与固相电化学参数(例如固相锂离子浓度等)相关的微分方程称为“固相微分方程”,用于求解该固相微分方程的计算模块称为固相计算模块;将与液相电化学参数(例如液相锂离子浓度等)相关的微分方程称为“液相微分方程”,用于求解该液相微分方程的计算模块称为液相计算模块;将与电解耦电化学参数(例如电解液与电极界面之间的交换通量等)相关的微分方程称为“电解耦微分方程”,用于求解该电解耦微分方程的计算模块称为电解耦计算模块。
[0054]
本发明实施例中,fpga中至少部分计算模块所处理的微分方程是非耦合的,即求解这部分微分方程的过程互不影响,这部分计算模块可以并行计算;例如,固相计算模块11
和液相计算模块12可以并行计算,二者可以同时对相应的微分方程进行求解,确定相应的电化学参数。电解耦计算模块13也可以独立地对电解耦微分方程进行求解时,算出电池的部分参数,例如锂电池端电压(即固相正负极电势差)等。并且,如图1所示,该fpga还可包含存储单元,用于存储各个计算模块计算得到的电化学参数。
[0055]
本发明实施例提供的用于参数辨识的计算终端,利用fpga实现多个用于求解电化学模型不同微分方程的计算模块,可以确定电化学模型的多种电化学参数,利用硬件实现参数辨识;fpga成本较低,并且,至少部分计算模块是可以并行运算的,利用硬件并行运算,可以实现加速处理,提高处理效率。
[0056]
可选地,如上所述,fpga包括计算模块,例如,该计算模块可以是所述固相计算模块11,也可以是所述液相计算模块12,或者,也可以是所述电解耦计算模块13。本发明实施例中,该计算模块包括多个计算单元;如图2所示,该计算模块包括四个计算单元,为方便描述,将这四个计算单元分别称为第一计算单元101、第二计算单元102、第三计算单元103、第四计算单元104。其中,一部分所述计算单元用于以递推的方式对原始线性方程组的系数矩阵进行优化;所述原始线性方程组为对待求解的微分方程进行离散化所转换得到的方程组。另一部分所述计算单元用于以递推的方式对系数矩阵优化后的线性方程组进行求解。
[0057]
本发明实施例中,对于每个计算模块,其均对应有待求解的微分方程,例如,固相计算模块11所对应的待求解的微分方程为固相微分方程。本发明实施例中,对微分方程进行离散化,从而可以将微分方程转换为线性方程组,通过求解该线性方程组实现对微分方程的求解。并且,线性方程组能够以矩阵的形式表示。具体地,将微分方程转换为矩阵形式的线性方程组,该线性方程组可表示为下式(1):
[0058]
ax=d (1)
[0059]
其中,x为该线性方程组的未知量矩阵,其包含n个未知数,且为n维的列向量;a为该线性方程组的系数矩阵,相应地,其为n
×
n的矩阵;d为该线性方程组的常数矩阵,其为包含n个已知量的列向量,即也是n维的列向量。
[0060]
本发明实施例中,在需要对电化学模型的微分方程进行离散化时,可以先确定节点数n,之后将微分方程转换为由n个方程组成的线性方程组。例如,可以基于有限差分法将微分方程转换为相应的线性方程组。例如,沿x轴(电池正极与负极之间方向所对应的轴)将电池的正极离散化为n个节点,通过采集等方式可以确定每个节点处相应的参数,进而可以确定系数矩阵a和常数矩阵d中的数值,使得系数矩阵a和常数矩阵d为已知量。
[0061]
例如,固相计算模块11在进行求解固相锂离子浓度时,构建系数矩阵a,该系数矩阵a为单位刚度矩阵,该系数矩阵a的物理含义是如果要固相的某一结点锂离子在坐标轴方向发生单位位移,其他节点锂离子位移保持为0的状态,在不同节点需要的影响参数,通过采集每个节点处的相应参数即可确定系数矩阵a中每个元素的数值;常数矩阵为电解耦锂离子浓度变化矩阵;未知量矩阵x即为需要求解的固相锂离子浓度矩阵。
[0062]
本发明实施例中,为方便描述,将由微分方程直接转换得到的线性方程组称为原始线性方程组,该原始线性方程组的系数矩阵为上述的矩阵a,常数矩阵为上述的矩阵d。计算模块的一部分计算单元对该原始线性方程组的系数矩阵(如上述的矩阵a)进行优化,以能够简化该系数矩阵;另一部分计算单元对具有优化后系数矩阵的线性方程组(并不是原始线性方程组)进行求解,可以更快地得到求解结果。并且,计算单元时以递推的方式对系
数矩阵进行优化,即在确定优化后的系数矩阵的过程中,先确定优化后系数矩阵中的某个或某些元素的值,之后再确定其他元素的值、再确定其他未知元素的值,直至确定优化后系数矩阵的所有值。类似地,另一部分计算单元也是以递推的方式进行求解,即依次求出未知量矩阵中的未知量。
[0063]
本发明实施例中,计算模块包括多个计算单元,一部分计算单元用于简化原始线性方程组的系数矩阵,另一部分计算单元对简化后的线性方程组进行求解,可以加快求解速度。并且,计算单元以递推的方式进行运算,使得某个计算单元在计算得到部分结果后,其他计算单元即可开始进行计算,实现并行处理,可以进一步提高处理效率。此外,本领域技术人员可以理解,本发明实施例中的计算模块并不需要关注将微分方程离散化为原始线性方程组的过程,计算模块只需要能够对离散化得到的原始线性方程组进行求解即可。
[0064]
可选地,本发明实施例利用lu分解实现对原始线性方程组的系数矩阵的优化。具体地,参见图2所示,该计算模块包括第一计算单元101、第二计算单元102、第三计算单元103和第四计算单元104。
[0065]
其中,所述第一计算单元101用于以递推的方式计算对所述原始线性方程组的系数矩阵进行lu分解所确定的下三角矩阵中的元素。所述第二计算单元102用于以递推的方式计算对所述原始线性方程组的系数矩阵进行lu分解所确定的上三角矩阵中的元素。所述第三计算单元103用于以递推的方式对第一线性方程组进行求解,确定所述第一线性方程组的未知量矩阵;所述第一线性方程组的系数矩阵为所述下三角矩阵,所述第一线性方程组的常数矩阵为所述原始线性方程组的常数矩阵。所述第四计算单元104用于以递推的方式对第二线性方程组进行求解,确定所述第二线性方程组的未知量矩阵;所述第二线性方程组的系数矩阵为所述上三角矩阵,所述第二线性方程组的常数矩阵为所述第一线性方程组的未知量矩阵。
[0066]
本发明实施例中,对原始线性方程组的系数矩阵进行lu分解,可以得到相应的下三角矩阵l和上三角矩阵u;其中,lu分解为现有的成熟技术,此处不做详述。本发明实施例中,若原始线性方程组满足上式(1),即原始线性方程组的系数矩阵为矩阵a,未知量矩阵为矩阵x,常数矩阵为矩阵d,则对该系数矩阵a进行lu矩阵分解,则a=l
×
u;相应地,上式(1)可改写为下式(2):
[0067]
lux=d (2)
[0068]
其中,l为下三角矩阵,u为上三角矩阵,x为原始线性方程组的未知量矩阵,d为原始线性方程组的常数矩阵。由于系数矩阵a中每个元素的值是可以通过采集或运算等方式确定的,故该下三角矩阵l和上三角矩阵u也是已知的。
[0069]
若该原始线性方程组的方程数量为n,即对微分方程进行离散化时的节点数为n,则下三角矩阵l、上三角矩阵u均为n
×
n的矩阵,原始线性方程组的未知量矩阵x和常数矩阵d均为n
×
1的矩阵,即n维的列向量。并且,ux的计算结果也是n维的列向量,本发明实施例以矩阵y表示ux,即y=ux,则上式(2)可改写为下式(3)
[0070]
ly=d (3)
[0071]
其中,由于原始线性方程组的系数矩阵a、常数矩阵d中每个元素的值是可以通过采集或运算等方式确定的,经lu分解后得到的下三角矩阵l和上三角矩阵u也是已知的,通过对上式(3)进行求解,即可得到矩阵y中每个元素的值。为方便描述,本发明实施例将上式
(3)所表示的线性方程组称为第一线性方程组,由上式(3)可知,该第一线性方程组的系数矩阵为所述下三角矩阵l,所述第一线性方程组的常数矩阵为所述原始线性方程组的常数矩阵d,该第一线性方程组的未知量矩阵即为矩阵y。
[0072]
此外,如上所述,原始线性方程组的未知量矩阵x满足下式(4):
[0073]
ux=y (4)
[0074]
在对第一线性方程组进行求解后,即在对上式(3)进行求解后,可以确定第一线性方程组的未知量矩阵y,并且,上三角矩阵u也是已知的,因此,对上式(4)进行求解即可得出矩阵x,即原始线性方程组的未知量矩阵x。为方便描述,本发明实施例将上式(4)所表示的线性方程组称为第二线性方程组,由上式(4)可知,该第二线性方程组的系数矩阵为所述上三角矩阵u,所述第二线性方程组的常数矩阵为所述第一线性方程组的未知量矩阵y,该第二线性方程组的未知量矩阵即为矩阵x,也是原始线性方程组的未知量矩阵。
[0075]
本发明实施例中,计算模块包括四个计算单元,即第一计算单元101、第二计算单元102、第三计算单元103和第四计算单元104;其中,第一计算单元101用于确定下三角矩阵l,第二计算单元102用于确定上三角矩阵u,第三计算单元103用于对第一线性方程组进行求解,第四计算单元104用于对第二线性方程组进行求解。
[0076]
具体地,由于在进行lu分解时,可以以递推的方式依次确定下三角矩阵l和上三角矩阵u中的每个元素;例如,第一计算单元101逐列确定下三角矩阵l中的元素,第二计算单元102逐行确定上三角矩阵u中的元素。并且,第一计算单元101和第二计算单元102可以并行地进行计算,从而可以快速确定下三角矩阵l和上三角矩阵u。例如,第一计算单元101在确定下三角矩阵l中第2行第1列的元素后,其可以继续确定下三角矩阵l中第3行第1列的元素,同时,第二计算单元102可以同时确定上三角矩阵u中第2行第2列的元素。
[0077]
由于上三角矩阵l中的对角线元素均为1,即上三角矩阵l中第i行第i列的元素均为1,故第三计算单元103在对第一线性方程组进行求解时,可以以递推的方式依次确定第一线性方程组的未知量矩阵y中的每个元素,即依次确定未知量矩阵y中的元素y1,y2,

,yi,

,yn。并且,在上三角矩阵l的第i行元素均已知的情况下,第三计算单元103即可确定第一线性方程组的未知量矩阵y中的第i个元素yi,即第三计算单元103也可以并行求解,确定第一线性方程组的未知量矩阵y中的元素,能够进一步提高求解效率。
[0078]
类似地,第四计算单元104也可以以递推的方式对第二线性方程组进行求解,从而可以确定第二线性方程组的未知量矩阵x,该未知量矩阵x即为相应微分方程的解,从而可以确定相应的电化学参数,实现参数辨识。
[0079]
可选地,本发明实施例将微分方程离散化为原始线性方程组时,原始线性方程组的系数矩阵a为三对角矩阵,即该系数矩阵a只有主对角线、低对角线和高对角线上存在元素,其余元素均为0;其中,可以基于有限差分法将微分方程转换为系数矩阵是三对角矩阵的线性方程组,本实施例对此不做详述。本发明实施例中,原始线性方程组的系数矩阵a为n
×
n的矩阵,上式(1)可表示为下式(5):
[0080][0081]
其中,以ai、bi、ci表示三对角矩阵a中的元素,其中,i=2,3,

,n。由上式(5)可得:ai表示所述三对角矩阵a中第i行第i-1列的元素,且该三对角矩阵a中不存在a1;b1表示所述三对角矩阵a中第1行第1列的元素,bi表示所述三对角矩阵a中第i行第i列的元素;c1表示所述三对角矩阵a中第1行第2列的元素,ci表示所述三对角矩阵a中第i行第i+1列的元素;其中,由于三对角矩阵a不存在n+1列的元素,故元素cn是不存在的,或者说,当i=n时,元素cn无意义,不需要求解元素cn。类似地,x1表示原始线性方程组的未知量矩阵x中的第1个元素,xi表示原始线性方程组的未知量矩阵x中的第i个元素;d1表示原始线性方程组的常数矩阵d中的第1个元素,di表示原始线性方程组的常数矩阵d中的第i个元素。
[0082]
对该三对角矩阵a进行lu分解,得到的下三角矩阵l和上三角矩阵u的形式分别为:
[0083][0084]
其中,li表示下三角矩阵l中第i行第i-1列的元素,u1表示所述上三角矩阵u中第1行第1列的元素,ui表示上三角矩阵u中第i行第i列的元素;i=2,3,

,n。与上式(5)所表示的三对角矩阵a相似,该下三角矩阵l和上三角矩阵u中未示出的元素均为0。
[0085]
并且,下三角矩阵l和上三角矩阵u中的元素满足以下关系:
[0086][0087]
其中,i=2,3,

,n。
[0088]
以n维的列向量y=[y
1 y2…
yi…yn-1 yn]
t
表示ux,则上式(3)可改写为下式(7):
1列的元素li;其中,上三角矩阵u中第1行第1列的元素u1与三对角矩阵a中第1行第1列的元素b1相同,即u1=b1。并且,所述第二计算单元102用于在所述第一计算单元101确定所述下三角矩阵l中第i行第i-1列的元素li后,计算得到所述上三角矩阵u中第i行第i列的元素ui。
[0099]
第三计算单元103用于确定第一线性方程组的未知量矩阵y中的元素。由上式(8)可知,在计算得到下三角矩阵l中的元素li后,第三计算单元103即可计算得到第一线性方程组的未知量矩阵中第i个元素yi,且yi=d
i-liy
i-1
。具体地,所述第三计算单元103用于在所述第一计算单元101确定所述下三角矩阵l中第i行第i-1列的元素li后,计算得到所述第一线性方程组的未知量矩阵y中第i个元素yi。
[0100]
第四计算单元104用于确定第二线性方程组的未知量矩阵x中的元素。由上式(10)可知,在计算得到第一线性方程组的整个未知量矩阵y后,第四计算单元104再计算第二线性方程组的未知量矩阵x中的元素。即,所述第四计算单元104用于在所述第三计算单元103确定所述第一线性方程组的未知量矩阵后,计算得到所述第二线性方程组的未知量矩阵。并且,由上式(10)可知,所述第四计算单元104用于以逆序递推的方式计算所述第二线性方程组的未知量矩阵x中第k个元素xk;k=n-1,n-2,

,1。即,第四计算单元104先计算得到xn,再计算得到x
n-1
,再计算得到x
n-2
,以此类推,直至计算得到x1。
[0101]
本发明实施例中,第一计算单元101用于确定下三角矩阵l,第二计算单元102用于确定上三角矩阵u,第三计算单元103用于对第一线性方程组进行求解,第四计算单元104用于对第二线性方程组进行求解。利用四个计算单元分别以递推的方式执行不同的计算处理过程,可以在简化原始线性方程组的系数矩阵a的情况下,实现快速求解;并且,利用lu分解后矩阵的特性,至少部分计算单元是可以并行计算的,例如,第一计算单元101在确定下三角矩阵l的同时,第二计算单元102也可以确定上三角矩阵u,从而可以进一步提高对微分方程进行求解时的效率。
[0102]
可选地,在所述第一计算单元计算得到所述下三角矩阵l中第i行第i-1列的元素li的下一个计算周期,所述第二计算单元用于计算所述上三角矩阵u中第i行第i列的元素ui,且所述第三计算单元用于并行计算所述第一线性方程组的未知量矩阵y中第i个元素yi。在所述第二计算单元计算得到所述上三角矩阵u中第i行第i列的元素ui的下一个计算周期,所述第一计算单元用于计算所述下三角矩阵l中第i+1行第i列的元素l
i+1

[0103]
具体地,参见图3所示,图3示出了四个计算单元的时序图,以表示在每个时间段四个计算单元需要处理的任务;图3的横坐标为四个计算单元的标号,纵坐标为时间轴。并且,由于计算单元在不同时间段所执行的任务不同,将每个时间段作为一个计算周期;如图3所示,时间点t
2i
到时间点t
2i+1
之间的时间段为一个计算周期,时间点t
2i+1
到时间点t
2i+2
之间的时间段也是一个计算周期。
[0104]
计算模块对原始线性方程组进行求解时,第一计算单元101在一个计算周期内先计算下三角矩阵l的元素l2,在该计算周期内,其他三个计算单元均处于等待状态,不执行处理任务。在下一个计算周期,第二计算单元102计算上三角矩阵u的元素u2,且所述第三计算单元103同时计算所述第一线性方程组的未知量矩阵y中第2个元素y2;在该计算周期内,第一计算单元101等待第二计算单元102计算出上三角矩阵u的元素u2。在下一个计算周期,即在第二计算单元102计算出上三角矩阵u的元素u2的下一个计算周期,第一计算单元101即可计算下三角矩阵l的元素l3,此时第二计算单元102、所述第三计算单元103均处于等待
状态。
[0105]
具体地,如图3所示,第一计算单元101计算得到所述下三角矩阵l中第i行第i-1列的元素li的下一个计算周期,是从t
2i
到t
2i+1
之间的计算周期,在该计算周期内,第二计算单元102计算所述上三角矩阵u中第i行第i列的元素ui,且所述第三计算单元103并行计算所述第一线性方程组的未知量矩阵y中第i个元素yi。第二计算单元102计算得到所述上三角矩阵u中第i行第i列的元素ui的下一个计算周期,是从t
2i+1
到t
2i+2
之间的计算周期,在该计算周期内,第一计算单元101计算所述下三角矩阵l中第i+1行第i列的元素l
i+1
。相应地,从t
2i+2
到t
2i+3
之间的计算周期,是第一计算单元101计算得到所述下三角矩阵l中元素l
i+1
的下一个计算周期,第二计算单元102计算所述上三角矩阵u中的元素u
i+1
,所述第三计算单元103并行计算所述第一线性方程组的未知量矩阵y中的元素y
i+1
。以此类推,直至第三计算单元103计算得到所述第一线性方程组的未知量矩阵y中的最后元素yn。如图3所示,在时间点t
2n+1
,第三计算单元103计算得到了该元素yn。在时间点t
2n+1
之后,第四计算单元104即可以递推的方式依次确定原始线性方程组的未知量矩阵x中的元素xn、x
n-1


、x1,最终实现对微分方程求解。该计算模块可以同时进行多项计算,即可以并行计算,可以提高计算速度,能够从硬件上实现提升电化学模型算法的计算速度。
[0106]
可选地,图4示出了fpga的另一种结构示意图。如图4所示,对电化学模型的正极和负极均设有相应的固相计算模块11、液相计算模块12和电解耦计算模块13。具体地,所述固相计算模块11包括用于确定正极固相电化学参数的正极固相计算模块11和用于确定负极固相电化学参数的负极固相计算模块11。所述液相计算模块12包括用于确定正极液相电化学参数的正极液相计算模块12和用于确定负极液相电化学参数的负极液相计算模块12。所述电解耦计算模块13包括用于确定正极电解耦电化学参数的正极电解耦计算模块13和用于确定负极电解耦电化学参数的负极电解耦计算模块13。
[0107]
其中,正极和负极的每个计算模块也均可以包括第一计算单元101、第二计算单元102、第三计算单元103和第四计算单元104,利用四个计算单元实现对相应微分方程的求解。如图4所示,fpga中通过axi(advanced extensible interface,高级可扩展接口)总线实现数据传输。例如,如图4所示,计算模块将各自的处理结果(即计算得到的电化学参数)传输至存储单元存储,且可以通过axi总线将处理结果传输至其他部件。
[0108]
可选地,参见图5所示,该计算终端还包括:处理系统;所述fpga用于将所确定的电化学参数传输至所述处理系统。
[0109]
本发明实施例中,该计算终端相当于可编程的片上系统(soc,system on chip),其包括处理系统(ps,processing system)和fpga,该fpga也是可编程逻辑(programmable logic,pl);例如,该计算终端可以是zynq系列的处理平台。其中,处理系统与fpga之间可以通过axi总线进行数据传输,处理系统可以通过axi总线向fpga提供用于求解微分方程时所需的初始值,供fpga多个计算模块进行求解,并通过axi总线将求解结果传回处理系统。
[0110]
以电化学模型为p2d模型为例,该计算终端的一种工作过程具体如下:
[0111]
处理系统内的处理器将p2d算法所需参数由axi总线传输至fpga的计算模块中,完成算法配置;其中,针对不同电芯,不同品牌电池设置不同电池参数。并且,计算模块接收电池参数,进行初始化操作。
[0112]
之后,开始进行充电/放电操作,实施记录输入电流信息。将采集电流信息经axi总
线开始传输至放置在fpga中的p2d算法ip(intellectual property,知识产权)核中。fpga负责p2d算法的加速计算,通过并行运算,可以实现降低功耗和加速算法运算。最终,fpga将辨识的电化学参数经由axi总线回传至处理系统。此外可选地,在确定电化学模型的电化学参数后,基于该电化学模型还可以计算得到相应的电池参数,例如电池的有效电压等。
[0113]
可选地,该计算终端还包括存储器,该存储器为片上存储器。如图5所示,该存储器可以为ddr(double data rate,双倍速率)存储器,通过axi总线可以与处理系统和fpga之间实现数据传输。
[0114]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换的技术方案,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1