发明内容
本发明的目的在于克服现有SOC估计算法的不足,提出了一种变长度滑动窗最小二乘算法和自适应扩展卡尔曼滤波算法相结合的电池SOC估计方法。由变长度滑动窗最小二乘法实时辨识电池参数,再利用这些电池参数进行自适应扩展卡尔曼滤波估计出电池SOC,从而克服了电池老化引起的电池参数变化对电池SOC估计精度的影响。本发明适用于动力电池,且具有较高的估计精度。具体技术方案如下:
采用变长度滑动窗的最小二乘法在线辨识电池参数,并利用辨识出的电池参数进行自适应扩展卡尔曼滤波算法估计电池荷电状态。
一种变长度滑动窗辨识电池参数的电池荷电状态估计方法,包括如下步骤:
(1)辨识电池参数;
(2)利用步骤(1)中辨识出的电池参数使用自适应扩展卡尔曼滤波算法估计电池荷电状态。
进一步地,步骤(1)中具体包括如下步骤:
(1-1)根据电池的电化学特性建立状态方程和观测方程;
(1-2)采用变长度滑动窗的最小二乘法在线辨识电池参数。
进一步地,步骤(1-1)具体包括如下步骤:
1)建立动力电池等效电路模型;
2)建立状态方程和观测方程:
3)离散化状态方程和观测方程。
进一步地,
步骤1)中采用thevenin等效电路模型,该电路由并联的等效极化内阻和等效极化电容与等效欧姆内阻串联而成,且由该等效电路可得:
Ut=Uoc-UP-IR0
Uoc=K0+K1lnSOC+K2ln(1-SOC)
其中,UP为等效极化内阻上电压,Ut为动力电池的端电压,Uoc为动力电池的开路电压,R0为动力电池的等效欧姆内阻,CP和RP分别为动力电池的等效极化电容和极化内阻,K0、K1、K2为无单位的电池参数;
由方程组式(1)可得到:
步骤2)中所建立的状态方程和观测方程为:
状态方程X=f(x,u)+W (3)
观测方程Y=H·X+V (4)
其中,状态向量
X=[Ut UP K0 K1 K2 1/RP 1/CP R0]T (5)
fi为f(x,u)中的第i个状态方程;xi为X中的第i个状态变量,i=1,2,…,8;
f2=x7u-x2x6x7
f3=0
f4=0 (6)
f5=0
f6=0
f7=0
f8=0
观测矩阵H=[1 0 0 0 0 0 0 0];
步骤3)中建立离散化状态方程和观测方程:
Ut,k=m1+m2Ut,k-1+m3lnSOCk+m4ln(1-SOCk)+m5Ik+m6Ik-1 (7)
其中,
状态方程用矩阵表示为:
z=Φθ (9)
其中,z为状态变量Ut,θ为系统参数向量:
θ=[m1 m2 m3 m4 m5 m6] (10)
Φ为状态转移矩阵:
Φ=[1 Ut,k-1 lnSOCk ln(1-SOCk) Ik Ik-1]T (11)
进一步地,步骤(1-2)具体包括如下步骤:
1)检测电池参数是否发生变化;
2)滑动窗长度的调节。
进一步地,步骤1)中根据电池参数的预测误差e(k)来检测电池参数的变化:
其中, 是的估计值,当在kd时刻检测到平均滑动窗指数d(k)超出了预设的门限值ρ,则认为待辨识的电池参数发生了变化;
其中,M是窗口长度,用于计算检测指数d(k),H1是系统参数发生变化的置信区间,H0是系统参数未发生变化的置信区间,ρ为系统参数发生变化的门限值;
步骤2)中,当检测到电池参数的变化,窗口长度会减小,通过使用更短的窗口长度,跟踪到电池参数的变化,从窗口长度缩小发生开始,窗口长度会逐步增长到最初的长度。
进一步地,步骤(2)中具体包括如下步骤:
(2-1)时间更新过程;
(2-2)测量更新过程。
进一步地,
步骤(2-1)中时间更新过程:
状态向量估计过程
状态向量估计协方差
式(16)中的矩阵A为状态转移矩阵在状态估计向量处的偏导;
Q为过程噪声的协方差;
步骤(2-2)中测量更新过程:
观测向量残余为
自适应算法更新
卡尔曼增益
状态协方差更新Qk+1=KkCkKk (21)
状态向量更新
进一步地,当有新的状态向量更新时,转到第二步重新辨识电池参数,然后再根据辨识得到的电池参数进一步更新系统状态向量。
进一步地,步骤(1)和步骤(2)在每一时刻是交替进行的。
与目前现有技术相比,本发明变长度滑动窗最小二乘算法不仅可以有效跟踪时变的电池参数,且对初始数据的选择没有依赖性;自适应卡扩展尔曼更能适应非线性时变系统的状态估计;矩阵求逆运算转换成标量除法运算,具有更好的实时性。
具体实施方式
下面对本发明进行详细描述,其为本发明多种实施方式中的一种优选实施例。
优选实施例一
本发明的基于变长度滑动窗的最小二乘算法辨识电池参数和基于自适应扩展卡尔曼滤波算法估计电池SOC的联合估计算法具体过程为:
Step1:根据电池的电化学特性建立状态方程和观测方程,如式(3)和式(4)所示。
1)建立动力电池等效电路模型
本算法采用thevenin等效电路模型,该电路由并联的等效极化内阻和等效极化电容与等效欧姆内阻串联而成。由该等效电路可得:
Ut=Uoc-UP-IR0
Uoc=K0+K1lnSOC+K2ln(1-SOC)
其中,UP表示等效极化内阻上电压,Ut为动力电池的端电压,Uoc为动力电池的开路电压,R0为动力电池的等效欧姆内阻,CP和RP分别为动力电池的等效极化电容和极化内阻,K0、K1、K2为无单位的电池参数。
由方程组式(1)可得到
2)建立状态方程和观测方程
状态方程:X=f(x,u)+W (3)
观测方程:Y=H·X+V (4)
其中,状态向量
X=[Ut UP K0 K1 K2 1/RP 1/CP R0]T (5)
fi为f(x,u)中的第i个状态方程;xi为X中的第i个状态变量,i=1,2,…,8。
f2=x7u-x2x6x7
f3=0
f4=0 (6)
f5=0
f6=0
f7=0
f8=0
观测矩阵H=[1 0 0 0 0 0 0 0]。
由于矩阵运算的计算量会以状态维数的三次方剧增,实际求解过程采用形如式(6)的标量处理法进行求解。这样后续的矩阵求逆运算就可以转换成标量除法运算。
3)离散化状态方程和观测方程
Ut,k=m1+m2Ut,k-1+m3lnSOCk+m4ln(1-SOCk)+m5Ik+m6Ik-1 (7)
其中,
状态方程用矩阵表示为:
z=Φθ (9)
其中,z为状态变量Ut,θ为系统参数向量:
θ=[m1 m2 m3 m4 m5 m6] (10)
Φ为状态转移矩阵:
Φ=[1 Ut,k-1 lnSOCk ln(1-SOCk) Ik Ik-1]T (11)
Step2:变长度滑动窗最小二乘算法辨识电池参数。
1)检测电池参数发生变化的检测机制
根据电池参数的预测误差e(k)来检测电池参数的变化。
其中, 是的估计值。如果在kd时刻检测到平均滑动窗指数d(k)超出了预设的门限值ρ,则认为待辨识的电池参数发生了变化。
其中,M是窗口长度,用于计算检测指数d(k)。H1是系统参数发生变化的置信区间,H0是系统参数未发生变化的置信区间。ρ为系统参数发生变化的门限值。
2)滑动窗长度的调节
当检测到电池参数的变化,窗口长度会迅速地减小。通过使用更短的窗口长度,可以很快跟踪到电池参数的变化。从窗口长度缩小发生开始,窗口长度会逐步增长到最初的长度以保持算法的稳定性。
Step3:根据上一步辨识得到的电池参数进行自适应扩展卡尔曼滤波算法估计SOC。
1)时间更新过程:
状态向量估计过程
状态向量估计协方差
式(16)中的矩阵A为状态转移矩阵在状态估计向量处的偏导;
Q为过程噪声的协方差;
2)测量更新过程:
观测向量残余为
自适应算法更新
卡尔曼增益
状态协方差更新Qk+1=KkCkKk (21)
状态向量更新
当有新的状态向量更新时,会转到第二步重新辨识电池参数,然后再根据辨识得到的电池参数进一步更新系统状态向量。上述步骤2和3在每一时刻是交替进行的。
根据本发明的第一方面公开了一种用于联合估计电池参数和电池SOC的状态方程与观测方程。
根据本发明的第二方面公开了一种用于辨识电池参数的变长度滑动窗最小二乘估计方法。该方法的变长度特性不仅对系统时变参数具有很好的跟踪效果,还能将计算复杂度维持在一个固定水平。且判断机制简单易实现。
根据本发明的第三方面公开了一种应用自适应扩展卡尔曼滤波算法估计电池SOC的降维处理方法,将矩阵求逆转换成标量除法运算,大大降低了运算复杂度,满足了整车的实时性要求。
优选实施例二
本发明的基于变长度滑动窗的最小二乘算法辨识电池参数和基于自适应扩展卡尔曼滤波算法估计电池SOC的联合估计算法具体过程为:
Step1:根据电池的电化学特性建立状态方程和观测方程,如式(3)和式(4)所示。
1)建立动力电池等效电路模型
本算法采用thevenin等效电路模型,该电路由并联的等效极化内阻和等效极化电容与等效欧姆内阻串联而成。由该等效电路可得:
Ut=Uoc-UP-IR0
Uoc=K0+K1lnSOC+K2ln(1-SOC)
其中,UP表示等效极化内阻上电压,Ut为动力电池的端电压,Uoc为动力电池的开路电压,R0为动力电池的等效欧姆内阻,CP和RP分别为动力电池的等效极化电容和极化内阻,K0、K1、K2为无单位的电池参数。
由方程组式(1)可得到
2)建立状态方程和观测方程
状态方程:X=f(x,u)+W (3)
观测方程:Y=H·X+V (4)
其中,状态向量
X=[Ut UP K0 K1 K2 1/RP 1/CP R0]T (5)
fi为f(x,u)中的第i个状态方程;xi为X中的第i个状态变量,i=1,2,…,8。
f2=x7u-x2x6x7
f3=0
f4=0 (6)
f5=0
f6=0
f7=0
f8=0
观测矩阵H=[1 0 0 0 0 0 0 0]。
由于矩阵运算的计算量会以状态维数的三次方剧增,实际求解过程采用形如式(6)的标量处理法进行求解。这样后续的矩阵求逆运算就可以转换成标量除法运算。
3)离散化状态方程和观测方程
Ut,k=m1+m2Ut,k-1+m3lnSOCk+m4ln(1-SOCk)+m5Ik+m6Ik-1 (7)
其中,
状态方程用矩阵表示为:
z=Φθ (9)
其中,z为状态变量Ut,θ为系统参数向量:
θ=[m1 m2 m3 m4 m5 m6] (10)
Φ为状态转移矩阵:
Φ=[1 Ut,k-1 lnSOCk ln(1-SOCk) Ik Ik-1]T (11)
Step2:变长度滑动窗最小二乘算法辨识电池参数。
1)检测待辨识电池参数发生变化的检测机制
根据待辨识电池参数的预测误差e(k)来检测待辨识电池参数的变化。
其中, 是的估计值。如果在kd时刻检测到平均滑动窗指数d(k)超出了预设的门限值ρ,则认为待辨识的电池参数发生了变化。
其中,M是窗口长度,用于计算检测指数d(k)。H1是系统参数发生变化的置信区间,H0是系统参数未发生变化的置信区间。ρ为系统参数发生变化的门限值。
2)滑动窗长度的调节
当检测到电池参数的变化,窗口长度会迅速地减小。通过使用更短的窗口长度,可以很快跟踪到电池参数的变化。从窗口长度缩小发生开始,窗口长度会逐步增长到最初的长度以保持算法的稳定性。
Step3:根据上一步辨识得到的电池参数进行自适应扩展卡尔曼滤波算法估计SOC。
1)时间更新过程:
状态向量估计过程
状态向量估计协方差
式(16)中的矩阵A为状态转移矩阵在状态估计向量处的偏导;
Q为过程噪声的协方差;
2)测量更新过程:
观测向量残余为
自适应算法更新
卡尔曼增益
状态协方差更新Qk+1=KkCkKk (21)
状态向量更新
当有新的状态向量更新时,会转到第二步重新辨识电池参数,然后再根据辨识得到的电池参数进一步更新系统状态向量。上述步骤2和3在每一时刻是交替进行的。
上面对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种改进,或未经改进直接应用于其它场合的,均在本发明的保护范围之内。