基于FFRLS算法的锂电池SOC估计

2022-09-24 10:12王星凯邢丽坤吴贤圆孙朝鹏
关键词:等效电路参数估计二阶

王星凯,邢丽坤,吴贤圆,孙朝鹏

(1.安徽理工大学 电气与信息工程学院,安徽 淮南 232001;2.国网安徽省电力有限公司检修分公司,安徽 合肥 230000)

锂电池系统具有非线性[1-2]特征,模型参数是随时间变化的,为了改善锂电池在荷电估计中的精确性,本文将使用带遗忘因子的递推最小二乘法(FFRLS)来进行参数辨识.最小二乘法是Gauss为研究星体运动轨道预测而提出的,该方法因为原理简单、收敛速度快、计算方便等特点在系统的参数估计领域有广泛应用[3].但在锂电池系统中,由于采集数据过于巨大,且数据不能及时更新,导致参数估计结果不能随时变参数的变化而及时变化.因此,提出FFRLS算法通过将LS算法改成递推形式,并引入遗忘因子增加新数据在递推过程中的权重,有效解决最小二乘计算繁琐、参数估计不精确等问题.

1 锂电池等效模型与参数辨识

1.1 电池等效模型建立

目前电池模型主要分为电化学模型、神经网络模型和等效电路模型[4-5].本文采用二阶RC电路模型,如图1所示.Uoc为锂电池开路电压;Uo为锂电池端电压;R0为锂电池内阻;R1,R2和C1,C2分别为锂电池的极化内阻和极化电容.

图1 二阶RC电池等效电路模型

1.2 模型初始参数辨识

为了获取一个较为准确的电路模型,需要对电路模型中的元件参数进行参数辨识.目前常用的参数辨识方法有测量法、最小二乘法等[6].虽然测量法计算较为简单并容易实现,但只能用于离线的参数辨识,而且对传感器精度要求很高,具有一定的局限性.

以SISO[7]为例,介绍一下FFRLS算法参数辨识过程.

z(k)=hT(k)θ+e(k),

(1)

式中:z(k)为系统第k次输出量的观测值;h(k)为系统第k次的输入值;θ是需要被辨识的参数.把式(1)扩展至N维,根据最小二乘准则取泛函数J(θ)如下:

(2)

式中:Λ(k)为加权因子,对所有的k,Λ(k)为正数,引入加权因子就是为了提高新数据在估计过程中的权重.对函数J(θ)取最小值,也就是J对θ求偏导等于0,就可以得到θ的最小二乘估计值.

对于k=1,2,…,L,将式(1)改写成一个线性方程组.其中L为数据长度,在满足L>na+nb的同时,还必须充分大.

z=HTθ+E.

(3)

然后引入衰减因子β(0<β≤1),且定义:

Z*=[βL-1z(1),βL-2z(2),…,
β2z(L-2),βz(L-1)z(L)],

(4)

H*=[βL-1hT(1),βL-2hT(2),…,
β2hT(L-2),βhT(L-1)hT(L)].

(5)

对于有L组观测数据的系统,采用FFRLS算法完成一次流程的结果为:

(6)

进一步,将结果改写成:

(7)

式中:μ=β2,0<μ≤1,μ为遗忘因子.

同时,令

则可得到

P-1(k)=
μP-1(k-1)+h(k)hT(k).

(8)

联合式(7)和式(8)再加上增益矩阵:

(9)

最后,将上述过程整理可得带遗忘因子的递推最小二乘法参数估计公式为:

(10)

在时变系统中引入遗忘因子是为了减少陈旧信息在参数估计中的权重,更多地使用新数据,从而对算法起到修正作用.但引入遗忘因子可能会因噪声干扰使参数估计波动更为严重,所以在实际运行中,要综合考虑自适应能力和精度损失两方面因素.因此,遗忘因子选择按以往经验选在0.9~1之间.

由图1电路模型可设模型极化电压与内阻电压之和为Ud,则有:

Ud=Uoc-Uo=IR0+U1+U2,

(11)

又有:

(12)

(13)

对式(12)和式(13)分别进行拉氏变换并代入式(11)后离散化处理可得:

Ud(k)=k1Ud(k-1)+
k2Ud(k-2)+k3I(k)+
k4I(k-1)+k5I(k-2),

(14)

其中:

这就满足式(3)的最小二乘形式,然后根据式(10)递推求得待辨识参数θ,进而根据各参数间关系求得二阶电路的模型参数.FFRLS算法流程如图2所示.

图2 基于FFRLS的模型参数在线辨识流程

如图2所示,在Matlab中采用FFRLS对锂电池二阶RC等效电路模型参数进行在线辨识,过程如下:

(1)把充放电测试数据集导入,设置采样时间为1 s,设置遗忘因子μ=0.973;

(2)将辨识参数初始化,设置θ(0)=0.001,P(0)=107I;

(4)计算新旧辨识参数的误差e(k),并判断是否超出误差极限,若没超出则重复步骤(3)、(4),超出极限则输出辨识的参数.

2 基于UKF的SOC估计

2.1 基于UKF的SOC估计

卡尔曼滤波主要应用于线性系统中,而扩展卡尔曼滤波(EKF)是通过一阶Taylor级数展开并线性化,但因其忽略高阶项,导致估算精度不够高,于是有了无迹卡尔曼滤波(UKF)的出现.与EKF相比,UKF只需采用无迹变换,不需要求解Jacobi矩阵,UKF算法既减少了计算量又提高了数据精度.本文根据UKF算法分析,估算锂电池的SOC,首先要建立电池的状态空间方程.由式(15)结合图1二阶RC等效电路模型,锂电池状态方程和测量方程如下:

(15)

由图1所示电池荷电状态SOC、电容电压U1、U2为状态变量,端电流I为输入量,端电压Uoc为输出量,模型离散化后转换成空间状态方程如下:

(16)

(17)

状态向量xk=(SOCk,U1,k,U2,k)T,系统输入uk为电流输入Ik.

将状态测量方程与UKF算法结合,估算出SOC的值.

3 实验结果分析

3.1 模型验证

实验实现流程如下:将单节锂电池放在恒温箱(20℃±2℃)里进行脉冲放电(4.17 A放电18 min 静置120 min)整个放电时长为780 min,采样间隔1 s.

为验证FFRLS算法参数辨识结果的准确性,端电压真实值与模型的误差情况如图3所示.平均误差只有0.023,侧面证实了参数的准确性.

图3 模型误差

3.2 SOC算法验证

使用Matlab导入实验测得的电池端电压电流数据,然后导入LS算法离线参数辨识结果结合UKF估计SOC,再通过FFRLS和UKF算法联合估计SOC,实验结果如图4所示.

图4 脉冲放电下的SOC估计及误差曲线

从图4(a)中可以看出,锂电池荷电状态在0.15~1之间变化, LS离线辨识参数代入UKF和FFRLS联合UKF预测SOC对比,从曲线表现上来说采用FFRLS的曲线表现得更好一点,表现出更加出色的动态性能.为了更清晰地对比其差别,图4(b)分别为LS和FFRLS荷电状态估计曲线与真实值的相对误差,可以看出FFRLS的SOC估计误差在整体上都要小于LS的估计曲线,两条曲线的误差都控制在0.043之下,且FFRLS曲线的平均误差要比LS曲线的平均误差小0.007,FFRLS的表现要更为精确和稳定.

4 结论

本文使用二阶RC等效电路模型对锂电池进行建模,通过将FFRLS算法得出的参数带入模型中验证了该模型的准确性;通过对比FFRLS算法和LS算法结合无迹卡尔曼滤波算法估计荷电状态,验证了FFRLS参数辨识的精确度要高于LS,更适合实际应用.从图4也可以看出随着工况的循环推进,两条曲线的误差也呈增长趋势,且误差波动幅度较大,这是因为实际情况下噪声的不确定性,UKF算法不能较好地实时改变,而AUKF算法可以通过对噪声协方差的实时更新,对噪声模型的变化有较强的适应能力,对SOC的估计性能更优.

猜你喜欢
等效电路参数估计二阶
考虑端部效应的同心笼次级直线双馈电机等效电路
基于新型DFrFT的LFM信号参数估计算法
一种GTD模型参数估计的改进2D-TLS-ESPRIT算法
一类二阶迭代泛函微分方程的周期解
具非线性中立项的二阶延迟微分方程的Philos型准则
二阶线性微分方程的解法
一类二阶中立随机偏微分方程的吸引集和拟不变集
Logistic回归模型的几乎无偏两参数估计
基于竞争失效数据的Lindley分布参数估计
变频调速异步电动机电磁转矩计算方法