动力电池的自适应卡尔曼滤波器估计算法

著录项
  • CN201310481263.4
  • 20131015
  • CN104573294A
  • 20150429
  • 胡志坤
  • 胡志坤;林勇;刘斌;杨为;郑远力
  • G06F19/00
  • G06F19/00

  • 湖南省长沙市岳麓区中南大学新校区数理楼620
  • 湖南(43)
摘要
本发明公开了一种动力电池的剩余电量(SOC,state?of?charger)的自适应卡尔曼滤波器估计算法,算法证明了可以将每次测量的输出值与估计得到的输出值的残差及各状态Sigma点估算得到的输出值的残差的加权和,然后作为新息来估计当前时刻的噪声协方差,让其随时间而减小,并实时反馈。理论和实际数据验证,均证明该算法能够大幅度提高SOC的估计精度。
权利要求

1.一种动力电池的自适应卡尔曼滤波器估计算法选的电池模型为简化的电池电化学模型,其离散状态方程和输出方程如下: 

其中的S k表示k时刻的SOC,C n为电池的额定容量,本发明取值为30Ah,Δt是采样时间间隔,本发明的取值为0.5s,下标k表示第k个采样点,U和I分别代表端电压电压和电流,可通过相关传感器采样可得,R表示电池内阻,本发明需辨识,w和ν分别表示过程噪声和测量噪声,均是高斯白噪声,H是充放电变换时的滞后参数,本发明需辨识。h是滞后参数的系数,其取值如下: 

K 0,K 1,K 2,K 3,K 4是描述电池开路电压U ocv与S k关系的五个未知参数。 

包括以下步骤: 

1)模型的准备:参数辨识、设定初始值、计算sigma点、计算k时刻的状态估计误差的协方差的平方根 

2)卡尔曼滤波:时间更新,测量更新。

2.如权利1所述,其特征在于,步骤1中模型的准备,参数辨识的具体方法如下: 

在常温下对电池进行间歇性(周期20min)恒流放电实验,积分法计算电池荷电状态(SOC)值和静置状态下记录电池开路电压(U ocv),得到S k与U ocv,k关系 

利用这一关系结合最小二乘法便可辨识出参数K 0,K 1,K 2,K 3,K 4。 

辨识算法如下: 

令M k=[1-(1/S k)-S kln(S k)ln(1-S k)],M=[M 1 M 2 L M N] T

则[K 0 K 1 K 2 K 3 K 4] T=(M TM) -1U ocv      (5) 

这里的U ocv=[U ocv,1 U ocv,2 L U ocv,N]是开路电压序列,N表示采样点数。 

下面辨识内阻R和充放电滞后参数H: 

由(1)和(4)可得:每个时刻电池本身消耗的电压Y k=F(S k)-U k    (6) 

则[R H]=(T TT) -1T TY      (7) 

这里Y=[Y 1 Y 2 L Y N],T=[-I k -h]。      (8) 

设定初值,其具体方法如下: 

可以设定初值为: α,P 0,其中 是SOC的初值,本发明取值为0.99; 分别为过程噪声协方差和测量噪声协方差初值,本发明分别取0.5,。0.01;α的取值由无极卡尔曼算法可知10 -4≤α≤1,本发明取0.001;P 0为状态估计误差的协方差的初值,本发明取为0.001,其平方根就直接可以用开方求取,得

利用k-1时刻的状态估计的Sigma点估算得到的k时刻的状态向量χ k|k-1。 

因为{W i}是一个权集,用来控制各Sigma点的权重,其中 W i m=W i c=1/{2(L+λ)},i的取值为1,2L2L。L为状态变量的维数,λ=L(α 2-1)和 是尺度参数。常量α决定Sigma点在的 左右的范围,常设置在10 -4≤α≤1内。当噪声符合高斯分布时,β的最优值为2。由模型可知L=1,所以有3个sigma点。 

第一个: 第二个: 第三个:

它们组成一个行向量

(9)中χ k|k-1表示由看时刻的状态推出的k+1时刻的状态值,式(10)中χ i,k|k-1表示第i个由k-1时刻的状态估计的Sigma点估算得到的k时刻的状态值, 表示各状态估计值的加权和。计算k时刻的状态估计误差的协方差的平方根即无极卡尔曼滤波(UKF,Unscented Kalman Filter)算法的状态估计误差协方差 的各部分平方根的具体算法如下: 

(11)式中的 是上三角矩阵,即QR分解中的R因子,也是矩阵 的Chlesky因子的转置。由此可知 是 的各部分平方根。由于 可能为负值,所以由 来克服,式中的正负由 决定, 为正即取正, 为负即取负,这里面的 和 分别是k时刻的过程噪声协方差和测量噪声协方差。 

3.如权利1所述,其特征在于,步骤2卡尔曼滤波包括的时间更新,测量更新,时间更新和测量更新的具体算法如下: 

计算输出的更新值: 

U k|k-1表示由状态量的各sigma点算出的k时刻的输出值向量,U i,k|k-1表示第i个sigma点计算得到的k时刻的输出估计值,即U k|k-1中的元素, 表示各估计值的加权和,用来作为新时刻的输出估计值。 

测量更新: 

第一步:计算输出残差的协方差的平方根P Uk,状态估计误差和输出值估计误差的互协方差 

第二步:计算卡尔曼增益κ k

状态估计: 

由 和κ k可得: 

状态误差协方差更新: 

H表示状态估计误差的协方差加权和。用来计算状态误差协方差更新。 

计算 和

μ k和(U i,k|k-1-U k)分别是测量输出量的残差和各Sigma点估算得到的测量输出量的残差。 

说明书
技术领域

本发明涉及一种动力电池的自适应卡尔曼滤波器估计算法,特别是涉及自适应的噪声协 方差,针对于平方根无极卡尔曼滤波算法中的常量的噪声协方差带来的误差影响估算的精度 而提出了自适应卡尔曼滤波发的电池剩余电量(SOC)的估算算法。

动力电池的荷电状态(state of charge,SOC)估计对电池的有效使用具有重要的意义,也 是电池管理系统的关键技术之一。由于SOC是不可直接测量,且是非线性量,还受许多其他 因素的影响,因此对其估计的难度很大,提高估计精度很难。目前在工程上常用的方法是电 流积分法(安时法),但该方法对SOC的初值敏感且容易产生累积误差;实验上采用的开路 电压法有较好的精度,但是需要电池长时间的静置,在车况中难以实现;神经网络法可以应 用于任何电池,但需要大量的训练数据。扩展的卡尔曼滤波(Extended Kalman Filter,EKF) 算法需要计算Jacobians矩阵使模型线性化,从而引入了不必要的线性化误差,无极卡尔曼滤 波(Unscented Kalman Filter,UKF)算法是一种新的非线性滤波方法,相对EKF精度得到了 提高,但有数字不稳定性的缺点,而平方根无极卡尔曼滤波(Square Root Unscented Kalman  Filter,SR-UKF)算法不仅与UKF有相同的精度且增加了数字稳定性和状态协方差的半正定 性,但是SR-UKF算法把噪声协方差看作常量,不能满足噪声的实时更新特性,从而影响了 估计精度。

本发明要解决的技术问题是:平方根无极卡尔曼滤波算法中常量噪声协方差带来了一定的 估算误差。为了克服这一缺点,提出一种自适应的算法。本发明的技术解决方案如下:

1、选定镍氢电池的模型

本发明选用了电池的电化学模型,其离散方程如下:

S k + 1 = S k - Δt C n I k + w k - - - ( 1 )

U k = K 0 - K 1 S k - K 2 S k + K 3 ln ( S k ) + K 4 ln ( 1 - S k ) - RI k - hH + v k - - - ( 2 )

其中的Sk表示k时刻的SOC;Cn为电池的额定容量,本发明取30Ah;Δt是采样时间间 隔,本发明取0.5s;下标k表示第k个采样点;U和I分别代表端电压电压和电流,本发 明通过相关传感器采集所得;R表示电池内阻,本发明需辨识,w和ν分别表示过程噪声 和测量噪声,均是高斯白噪声,H是充放电变换时的滞后参数,本发明需辨识。h是滞后 参数的系数,其取值如下:


K0,K1,K2,K3,K4是描述电池开路电压(Uocv,k)与SOC(Sk)关系的五个未知参 数。

2、模型参数辨识

在常温下对电池进行间歇性(周期20min)恒流放电实验,积分法计算电池荷电状态(SOC) 值和静置状态下记录电池开路电压(Uocv,k),拟合得到SOC(Sk)与OCV关系

Uocv,k=F(Sk)        (4)

利用这一关系结合最小二乘法便可辨识出参数K0,K1,K2,K3,K4。

辨识算法如下:

令Mk=[1-(1/Sk)-Skln(Sk)ln(1-Sk)],M=[M1 M2 L MN]T

则[K0 K1 K2 K3 K4]T=(MTM)-1Uocv      (5)

这里的Uocv=[Uocv1 Uocv2 L UocvN]是开路电压序列,N表示采样点数。

下面辨识内阻R和充放电滞后参数H:

可得每个时刻电池本身消耗的电压Yk=F(Sk)-Uk    (6)

则[R H]=(TTT)-1TTY      (7)

这里Y=[Y1 Y2 L YN],T=[-Ik -h]。      (8)

3、设定初值

可以设定初值为:α,P0,其中是SOC的初值,本发明取值为0.99;
分别为过程噪声协方差和测量噪声协方差初值,本发明分别取0.5,。0.01;α的取值由无极
卡尔曼算法可知10-4≤α≤1,本发明取0.001;P0为状态估计误差的协方差的初值,本发明
取为0.001。

4、计算sigma点

{Wi}是一个权集,用来控制各Sigma点的权重,其中
Wim=Wic=1/{2(L+λ)},i的取值为1,2L2L。L为状态变量的维数,λ=L(α2-1)和
是尺度参数。常量α决定Sigma点在的左右的范围,常设置在10-4≤α≤1内。当噪声符合
高斯分布时,β的最优值为2。

由模型可知L=1,所以有3个sigma点。

第一个:第二个:第三个:

组成一个行向量 χ k - 1 = S ^ k - 1 S ^ k - 1 + η P k - 1 S ^ k - 1 - η P k - 1 .

5、计算k时刻的状态估计误差的协方差的平方根

计算k时刻的状态估计误差的协方差的平方根,即无极卡尔曼滤波(UKF,Unscented Kalman 
Filter)算法的状态估计误差协方差的各部分平方根的具体算法
如下:

χ k | k - 1 = χ k - 1 - Δt C n I k + w k - - - ( 9 )

S ^ k - = Σ i = 0 2 L W i m χ i , k | k - 1 - - - ( 10 )

χk|k-1表示由k-1时刻的状态推出的k时刻的状态值;χi,k|k-1表示第i个由k-1时刻的状态估计
的Sigma点估算得到的k时刻的状态值,表示各状态估计值的加权和。

P k - = qr { W 1 c ( χ 1 : 2 L , k | k - 1 - S ^ k - ) R k w } - - - ( 11 )

P Sk - = P k - ± | W 0 c | ( χ 0 , k | k - 1 - S ^ k - ) ( χ 0 , k | k - 1 - S ^ k - ) T - - - ( 12 )

是上三角矩阵,即QR分解中的R因子,也是矩阵 <math> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msqrt> <msup> <msub> <mi>W</mi> <mn>1</mn> </msub> <mi>c</mi> </msup> </msqrt> <mrow> <mo>(</mo> <msub> <mi>&chi;</mi> <mrow> <mn>1</mn> <mo>:</mo> <mn>2</mn> <mi>L</mi> <mo>,</mo> <mi>k</mi> <mo>|</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mover> <msubsup> <mi>S</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mi>W</mi> </mover> <mo>)</mo> </mrow> </mtd> <mtd> <msqrt> <msubsup> <mi>R</mi> <mi>k</mi> <mi>w</mi> </msubsup> </msqrt> </mtd> </mtr> </mtable> </mfenced> </math> 的Chlesky
因子的转置。由此可知是的各部分平方根。由于可能为负值,所
以由 <math> <mrow> <msubsup> <mi>P</mi> <mi>Sk</mi> <mo>-</mo> </msubsup> <mo>=</mo> <msubsup> <mi>P</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>&PlusMinus;</mo> <msqrt> <mo>|</mo> <msubsup> <mi>W</mi> <mn>0</mn> <mi>c</mi> </msubsup> <mo>|</mo> </msqrt> <mrow> <mo>(</mo> <msub> <mi>&chi;</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>k</mi> <mo>|</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msubsup> <mover> <mi>S</mi> <mo>^</mo> </mover> <mi>k</mi> <mo>-</mo> </msubsup> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>&chi;</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>k</mi> <mo>|</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msubsup> <mover> <mi>S</mi> <mo>^</mo> </mover> <mi>k</mi> <mo>-</mo> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow> </math> 来克服,式中的正负由决定,为正即取正,
为负即取负。

6、时间更新和测量更新的具体算法:

第一步:计算输出的更新值

U k = K 0 - K 1 χ k | k - 1 - K 2 χ k | k - 1 + K 3 ln ( χ k | k - 1 ) + K 4 ln ( 1 - χ k | k - 1 ) - RI k - h k H + v k - - - ( 13 )

U ^ k - = Σ i = 0 2 L W i m U i , k | k - 1 - - - ( 14 )

Uk|k-1表示由状态量的各sigma点算出的k时刻的输出值向量,Ui,k|k-1表示第i个sigma点计
算得到的k时刻的输出估计值,即Uk|k-1中的元素,表示各估计值的加权和,用来作为新
时刻的输出估计值。

第二步:测量更新:

1)计算输出残差的协方差的平方根PUk,状态估计误差和输出值估计误差的互协方差

P Uk = qr { W 1 c ( U 1 : 2 L , k | k - 1 - U ^ k - ) R k v } - - - ( 15 )

P Uk - = P Uk ± | W 0 c | ( U 0 , k | k - 1 - U ^ k - ) ( U 0 , k | k - 1 - U ^ k - ) T - - - ( 16 )

P S k , U k = Σ i = 0 2 L W i c [ χ i , k | k - 1 - S ^ k - ] [ U i , k | k - 1 - U ^ k - ] T - - - ( 17 )

2)计算卡尔曼增益κk

κ k = ( P S k , U k / P U k T / P U k ) - - - ( 18 )

3)状态估计:

S ^ k = S ^ k - + κ k ( U k - U ^ k - ) - - - ( 19 )

4)状态误差协方差更新:

H = κ k P Uk - - - - ( 20 )

P k = P Sk - - HH T - - - ( 21 )

H表示状态估计误差的协方差加权和。用来计算状态误差协方差更新。

7、过程噪声协方差和测量噪声协方差的实时处理

计算和

μ k = U k - ( K 0 - K 1 S k - K 2 S k + K 3 ln ( S k ) + K 4 ln ( 1 - S k ) - RI k - h k H + v k ) - - - ( 22 )

F k = μ k μ k T - - - ( 23 )

R k v = F k + Σ i = 0 2 L W i c ( U i , k | k - 1 - U k ) ( U i , k | k - 1 - U k ) T - - - ( 24 )

R k w = κ k F k κ k T - - - ( 25 )

μk和(Ui,k|k-1-Uk)分别是输出量的残差和各Sigma点估算得到的测量输出量的残差。

证明

R k v = F k + Σ i = 0 2 L W i c ( U i , k | k - 1 - U k ) ( U i , k | k - 1 - U k ) T

R k w = κ k F k κ k T

证:

可知:

v k = U k - ( K 0 - K 1 S k - K 2 S k + K 3 ln ( S k ) + K 4 ln ( 1 - S k ) - RI k - h k H )

v k = Σ i = 0 2 L W i c ( U i , k | k - 1 - U k )

是各sigma点的的输出量的残差加权和,作为vk的估值。

又显然μk是输出量的残差值,Fk是输出量的残差协方差

所以测量噪声协方差的估计值为各上述各部分的加权和:

R k v = F k + Σ i = 0 2 L W i c ( U i , k | k - 1 - U k ) ( U i , k | k - 1 - U k ) T .

又由模型中的状态方程式可知:

w k = S k + 1 - ( S k - Δt C n I k )

w ^ k = S ^ k - S ^ k - = κ k ( U k - U ^ k - ) = κ k v ^ k

为wk的估计值

又因为

κ k v ^ k κ k μ k

所以

R k w = w ^ k w ^ k T = κ k F k κ k T

证毕。

图1为对于10节额定电压为1.2v,额定容量为30Ah的镍氢电池串联组成测试对象算法估计的SOC值与原 来的算法估算的值及实验值;

图2为对于10节额定电压为1.2v,额定容量为30Ah的镍氢电池串联组成测试对象算法估计的SOC值与原 来的算法估算的精度;

6、选定镍氢电池的模型

本发明选用了电池的电化学模型,其离散方程如下:

S k + 1 = S k - Δt C n I k + w k - - - ( 1 )

U k = K 0 - K 1 S k - K 2 S k + K 3 ln ( S k ) + K 4 ln ( 1 - S k ) - RI k - hH + v k - - - ( 2 )

其中的Sk表示k时刻的SOC;Cn为电池的额定容量,本发明取30Ah;Δt是采样时间间 隔,本发明取0.5s;下标k表示第k个采样点;U和I分别代表端电压电压和电流,本发 明通过相关传感器采集所得;R表示电池内阻,本发明需辨识,w和ν分别表示过程噪声 和测量噪声,均是高斯白噪声,H是充放电变换时的滞后参数,本发明需辨识。h是滞后 参数的系数,其取值如下:


K0,K1,K2,K3,K4是描述电池开路电压(Uocv,k)与SOC(Sk)关系的五个未知参 数。

7、模型参数辨识

在常温下对电池进行间歇性(周期20min)恒流放电实验,积分法计算电池荷电状态(SOC) 值和静置状态下记录电池开路电压(Uocv,k),拟合得到SOC(Sk)与OCV关系

Uocv,k=F(Sk)                  (4)

利用这一关系结合最小二乘法便可辨识出参数K0,K1,K2,K3,K4。

辨识算法如下:

令Mk=[1-(1/Sk)-Skln(Sk)ln(1-Sk)],M=[M1 M2 L MN]T

则[K0 K1 K2 K3 K4]T=(MTM)-1Uocv      (5)

这里的Uocv=[Uocv1 Uocv2 L UocvN]是开路电压序列,N表示采样点数。

下面辨识内阻R和充放电滞后参数H:

可得每个时刻电池本身消耗的电压Yk=F(Sk)-Uk    (6)

则[R H]=(TTT)-1TTY      (7)

这里Y=[Y1 Y2 L YN],T=[-Ik -h]。      (8)

8、设定初值

可以设定初值为:α,P0,其中是SOC的初值,本发明取值为0.99;
分别为过程噪声协方差和测量噪声协方差初值,本发明分别取0.5,。0.01;α的取值由无极
卡尔曼算法可知10-4≤α≤1,本发明取0.001;P0为状态估计误差的协方差的初值,本发明
取为0.001。

9、计算sigma点

{Wi}是一个权集,用来控制各Sigma点的权重,其中
Wim=Wic=1/{2(L+λ)},i的取值为1,2L2L。L为状态变量的维数,λ=L(α2-1)和
是尺度参数。常量α决定Sigma点在的左右的范围,常设置在10-4≤α≤1内。当噪声符合
高斯分布时,β的最优值为2。

由模型可知L=1,所以有3个sigma点。

第一个:第二个:第三个:

组成一个行向量 χ k - 1 = S ^ k - 1 S ^ k - 1 + η P k - 1 S ^ k - 1 - η P k - 1 .

10、计算k时刻的状态估计误差的协方差的平方根

计算k时刻的状态估计误差的协方差的平方根,即无极卡尔曼滤波(UKF,Unscented Kalman 
Filter)算法的状态估计误差协方差的各部分平方根的具体算法
如下:

χ k | k - 1 = χ k - 1 - Δt C n I k + w k - - - ( 9 )

S ^ k - = Σ i = 0 2 L W i m χ i , k | k - 1 - - - ( 10 )

χk|k-1表示由k-1时刻的状态推出的k时刻的状态值;χi,k|k-1表示第i个由k-1时刻的状态估计
的Sigma点估算得到的k时刻的状态值,表示各状态估计值的加权和。

P k - = qr { W 1 c ( χ 1 : 2 L , k | k - 1 - S ^ k - ) R k w } - - - ( 11 )

P Sk - = P k - ± | W 0 c | ( χ 0 , k | k - 1 - S ^ k - ) ( χ 0 , k | k - 1 - S ^ k - ) T - - - ( 12 )

是上三角矩阵,即QR分解中的R因子,也是矩阵 <math> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msqrt> <msup> <msub> <mi>W</mi> <mn>1</mn> </msub> <mi>c</mi> </msup> </msqrt> <mrow> <mo>(</mo> <msub> <mi>&chi;</mi> <mrow> <mn>1</mn> <mo>:</mo> <mn>2</mn> <mi>L</mi> <mo>,</mo> <mi>k</mi> <mo>|</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mover> <msubsup> <mi>S</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mi>W</mi> </mover> <mo>)</mo> </mrow> </mtd> <mtd> <msqrt> <msubsup> <mi>R</mi> <mi>k</mi> <mi>w</mi> </msubsup> </msqrt> </mtd> </mtr> </mtable> </mfenced> </math> 的Chlesky
因子的转置。由此可知是的各部分平方根。由于可能为负值,所
以由 <math> <mrow> <msubsup> <mi>P</mi> <mi>Sk</mi> <mo>-</mo> </msubsup> <mo>=</mo> <msubsup> <mi>P</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>&PlusMinus;</mo> <msqrt> <mo>|</mo> <msubsup> <mi>W</mi> <mn>0</mn> <mi>c</mi> </msubsup> <mo>|</mo> </msqrt> <mrow> <mo>(</mo> <msub> <mi>&chi;</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>k</mi> <mo>|</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msubsup> <mover> <mi>S</mi> <mo>^</mo> </mover> <mi>k</mi> <mo>-</mo> </msubsup> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>&chi;</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>k</mi> <mo>|</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msubsup> <mover> <mi>S</mi> <mo>^</mo> </mover> <mi>k</mi> <mo>-</mo> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow> </math> 来克服,式中的正负由决定,为正即取正,
为负即取负。

6、时间更新和测量更新的具体算法:

第一步:计算输出的更新值

U k = K 0 - K 1 χ k | k - 1 - K 2 χ k | k - 1 + K 3 ln ( χ k | k - 1 ) + K 4 ln ( 1 - χ k | k - 1 ) - RI k - h k H + v k - - - ( 13 )

U ^ k - = Σ i = 0 2 L W i m U i , k | k - 1 - - - ( 14 )

Uk|k-1表示由状态量的各sigma点算出的k时刻的输出值向量,Ui,k|k-1表示第i个sigma点计
算得到的k时刻的输出估计值,即Uk|k-1中的元素,表示各估计值的加权和,用来作为新
时刻的输出估计值。

第二步:测量更新:

1)计算输出残差的协方差的平方根PUk,状态估计误差和输出值估计误差的互协方差

P Uk = qr { W 1 c ( U 1 : 2 L , k | k - 1 - U ^ k - ) R k v } - - - ( 15 )

P Uk - = P Uk ± | W 0 c | ( U 0 , k | k - 1 - U ^ k - ) ( U 0 , k | k - 1 - U ^ k - ) T - - - ( 16 )

P S k , U k = Σ i = 0 2 L W i c [ χ i , k | k - 1 - S ^ k - ] [ U i , k | k - 1 - U ^ k - ] T - - - ( 17 )

2)计算卡尔曼增益κk

κ k = ( P S k , U k / P U k T / P U k ) - - - ( 18 )

3)状态估计:

S ^ k = S ^ k - + κ k ( U k - U ^ k - ) - - - ( 19 )

4)状态误差协方差更新:

H = κ k P Uk - - - - ( 20 )

P k = P Sk - - HH T - - - ( 21 )

H表示状态估计误差的协方差加权和。用来计算状态误差协方差更新。

8、过程噪声协方差和测量噪声协方差的实时处理

计算和

μ k = U k - ( K 0 - K 1 S k - K 2 S k + K 3 ln ( S k ) + K 4 ln ( 1 - S k ) - RI k - h k H + v k ) - - - ( 22 )

F k = μ k μ k T - - - ( 23 )

R k v = F k + Σ i = 0 2 L W i c ( U i , k | k - 1 - U k ) ( U i , k | k - 1 - U k ) T - - - ( 24 )

R k w = κ k F k κ k T - - - ( 25 )

μk和(Ui,k|k-1-Uk)分别是输出量的残差和各Sigma点估算得到的测量输出量的残差。

证明

R k v = F k + Σ i = 0 2 L W i c ( U i , k | k - 1 - U k ) ( U i , k | k - 1 - U k ) T

R k w = κ k F k κ k T

证:

可知:

v k = U k - ( K 0 - K 1 S k - K 2 S k + K 3 ln ( S k ) + K 4 ln ( 1 - S k ) - RI k - h k H )

v k = Σ i = 0 2 L W i c ( U i , k | k - 1 - U k )

是各sigma点的的输出量的残差加权和,作为vk的估值。

又显然μk是输出量的残差值,Fk是输出量的残差协方差

所以测量噪声协方差的估计值为各上述各部分的加权和:

R k v = F k + Σ i = 0 2 L W i c ( U i , k | k - 1 - U k ) ( U i , k | k - 1 - U k ) T .

又由模型中的状态方程式可知:

w k = S k + 1 - ( S k - Δt C n I k )

w ^ k = S ^ k - S ^ k - = κ k ( U k - U ^ k - ) = κ k v ^ k

为wk的估计值

又因为

κ k v ^ k κ k μ k

所以

R k w = w ^ k w ^ k T = κ k F k κ k T

证毕。

本发明的实验验证:

通过用10节额定电压为1.2v,额定容量为30Ah的镍氢电池串联组成测试对象。算法估 计的SOC值与原来的算法估算的值及实验值如说明书附图1所示,其中本发明的估算的曲线 为ASR-UKF,原算法的估算曲线为SR-UKF。实验表明相对原算法,精度总体上得到了提高, 误差在1.5%内,如说明书附图2所示。

本文发布于:2024-09-24 12:17:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/85404.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议