本发明涉及锂电池技术领域,具体地,涉及一种基于变分贝叶斯CKF的应急灯电池SOC估计方法。
背景技术:
当火灾发生时,消防应急灯能有效引导被困人员疏散或展开灭火救援行动,从而降低了火灾带来的人身和财产损失。应急灯的电池管理是保障应急灯安全、长寿命正常使用的重要前提。电池的荷电状态(State of Charge,SOC)提供了电池的使用信息及续航能力,因此对电池SOC的精确估算是电池管理系统最重要的功能之一。
安时积分法是目前最常用的电池SOC估算方法,但该方法是一种开环的估计方法,如果电流测量值存在误差,则会使得误差累计放大;卡尔曼滤波法通过建立电池的状态空间模型,对SOC的初始误差有很强的修正作用,但需要假设模型噪声为零均值的高斯白噪声。在实际的情况中使用的电流传感器往往存在一定的电流漂移值,因此直接使用卡尔曼滤波方法会产生较大的估计误差。
技术实现要素:
针对现有应急灯电池SOC估计方法的不足,本发明首先建立了应急灯电池的噪声混合模型,然后以容积卡尔曼滤波(cubature Kalman filter,CKF)为基础,结合变分贝叶斯方法提供一种基于变分贝叶斯CKF的应急灯电池SOC估计方法。
为了实现上述目的,本发明采用如下技术方案:
一种基于变分贝叶斯CKF的应急灯电池SOC估计方法,包括以下步骤:
1、建立应急灯电池系统离散状态空间模型;
2、采用变分贝叶斯CKF对电池SOC进行估算。
所述的步骤1中的应急灯电池系统离散状态空间模型为:
x(k+1)=F·x(k)+Γ·i(k)+w(k)
z(k)=h[x(k)]+Φ·i(k)+v(k)
其中,
上式中,k为离散采样时刻,Δt为采样周期,上标“T”表示矩阵转置运算,Sc(k)为k时刻电池的荷电状态,θ(k)是电流漂移值,i(k)为k时刻的瞬时电流;ηc为库仑系数,Cn表示电池的标称容量,Vout(k)为k时刻电池的负载电压,Vo为电池充满电后的空载电压;p0、p1、p2、p3均为模型的待辨识参数;R0是电池的内阻;w(k)为过程噪声向量,其中w1(k)为系统噪声,wθ(k)为不可测的噪声干扰;v(k)为电池端电压测量噪声。w(k)和v(k)均是均值为零方差分别为Q(k)和R(k)的高斯白噪声。
所述的步骤2中的基于变分贝叶斯CKF的电池SOC估计方法包括滤波器初始化、时间更新过程、测量更新过程、算法结束四部分组成。
3.1 滤波器初始化包括初始化系统状态误差协方差阵P(0|0)=P(0)以及变分贝叶斯方法初始参数ρ、α(0)和β(0)。
3.2 时间更新过程,估算状态的预测估计值及其误差协方差阵P(k|k-1);
3.3 测量更新过程,具体包括:
3.3.1 计算测量值的预测估计值
3.3.2 计算状态与测量值的互协方差矩阵Pxz(k|k);
3.3.3 采用变分贝叶斯方法迭代计算测量噪声方差新息协方差Pzz(k|k-1),增益阵K(k)、最优估计及其误差协方差P(k|k),迭代过程如下:
(i)设置循环控制变量j的初值,令j=0,并且给出迭代次数N的值,迭代循环开始;
(ii)计算测量噪声方差阵其中上标j表示第j次迭代时的值;
(iii)计算新息协方差阵和增益阵Kj(k);
(iv)计算最优估计及其误差协方差Pj(k|k);
(v)如果j<N,令j=j+1;然后返回(ii),否则执行(vi);
(vi)结束迭代过程,输出结果:P(k|k)=PN(k|k);
3.3.4 选取状态估计的第一分量作为输出量;
3.4 判断滤波算法是否继续执行,若是,返回3.2;否则,结束算法。
本发明有益效果:
(1)电池状态模型中将电池SOC和电流漂移值进行扩维处理,从而实现了两者的同步估计,有效的排除电流漂移噪声对电池SOC值的干扰。
(2)利用变分贝叶斯方法对测量噪声方差进行迭代估计,能有效抑制测量方程噪声建模不准确引入的估计发散问题,提高了SOC估计精度和稳定性。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
如图1所示,一种基于变分贝叶斯CKF的应急灯电池SOC估计方法,包括以下步骤:
步骤1建立电池系统离散状态空间模型。
记k为离散时刻,Δt为采样周期,Sc(k)为k时刻电池的荷电状态,i(k)为k时刻的瞬时电流,θ(k)是电流漂移值;ηc为库仑系数(可通过电池充放电试验获得,放电情况下为1),Cn表示电池的标称容量则电池SOC的状态方程为
利用一阶马尔可夫过程对漂移电流进行建模,有:
θ(k+1)=θ(k)+wθ(k) (2)
其中,w1(k)和wθ(k)均为零均值的高斯白噪声。若令x(k)=[Sc(k),θ(k)]T,w(k)=[w1(k),wθ(k)]T,上标“T”表示矩阵转置运算,则电池系统的状态方程可写为
x(k+1)=F·x(k)+Γ·i(k)+w(k) (3)
记Vout(k)为k时刻电池的负载电压,Vo为电池充满电后的空载电压;则输出方程为
Vout(k)=V0(k)-R0[i(k)-θ(k)]-p0/Sc(k)-p1Sc(k)
(4)
+p2ln(Sc(k))+p3ln(1-Sc(k))+v(k)
其中,R0是电池的内阻,p0、p1、p2、p3均为模型的待辨识参数,这五个参数可以通过系统辨识方法获得;v(k)为电池端电压测量噪声,其均值为零方差R(k)。令z(k)=Vout(k),h[x(k)]=Vo(k)-p0/Sc(k)-p1Sc(k)+p2ln(Sc(k))+p3ln(1-Sc(k))+R0θ(k),Φ=-R0,则离散观测方程可表示为
z(k)=h[x(k)]+Φ·i(k)+v(k) (5)
式(3)和式(5)构成了应急灯电池系统的离散状态空间模型。
步骤2采用变分贝叶斯CKF对电池SOC进行估算。
假设系统过程噪声w(k)方差为Q(k),测量噪声方差R(k)未知。系统初始状态独立于w(k)和v(k)。
下面,基于式(3)和(4)构成的系统模型,详述变分贝叶斯CKF对电池SOC估计的具体实施步骤:
步骤2.1设置滤波初始条件:P(0|0)=P(0)以及变分贝叶斯方法初始参数ρ、α(0)和β(0)。
步骤2.2时间更新
2.2.1 计算积分点(i=0,1,…,m)
其中,时刻状态的估计值,S(k-1|k-1)为P(k-1|k-1)的均方根矩阵。ξi为第i个容积积分点,m=4为积分点个数。
2.2.2 计算传播后的积分点
2.2.3 计算状态预测估计值
2.2.4 计算平方根预测误差方差阵
步骤2.3量测更新
2.3.1 计算积分点(i=0,1,…,m)
其中S(k|k-1)为P(k|k-1)的均方根矩阵。
2.3.2 计算传播后的积分点
zi(k|k-1)=h(xi(k|k-1))+Φi(k) (11)
2.3.3 估计测量预测值
2.3.4 计算互协方差阵
2.3.5 迭代计算测量噪声方差
i)计算参数预测值
其中,
ii)迭代初始化,令j=0,给出迭代次数N1的值,迭代循环开始
iii)计算第j次迭代的测量噪声方差阵
iv)计算第j次迭代的新息协方差和增益阵Kj(k)
v)计算第j次迭代的最优估计及其误差协方差Pj(k|k)
vii)判断迭代算法是否继续执行
1)如果j<N,令j=j+1;更新迭代估计参数βj(k),然后返回iii)
其中,
2)如果j=N,结束迭代,执行步骤2.3.6
2.3.6 最终估计结果为:P(k|k)=PN(k|k)。其中,选取状态估计的第一分量作为输出量即可得到电池SOC的实时状态估计值。
步骤2.4判断滤波算法是否继续执行,若是,返回步骤2.2;否则,结束算法。