使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识

       之前写过一篇通过指数拟合来辨识电池模型参数的文章,今天就来给大家介绍如何使用simulink搭建最小二乘法来在线辨识电池模型参数。

       本节首先介绍最小二乘法的基本原理,并在次基础上推导出递推最小二乘法及其改进算法的基本递推公式。

1.最小二乘法基本原理

       在一个系统中,通过测量输出输入数据,从一组给定模型类中,确定一个与所测系统等价的模型,这种方法称为辨识。简而言之,辨识就是通过某种优化算法,通过模型输出与实际输出间的误差不断修正模型参数,最终得到最优模型的过程。最小二乘法在参数辨识领域是一种最基本的估算方法,可运用于静态系统及动态系统,线性系统及非线性系统,方法简单易于实施。最小二乘法辨识的基本思想是在给定模型结构框架下,计算得到最优解,使得误差平方和最小。

       假设被辨识系统的离散数学模型为:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第1张图片

 其中,y(k)为系统输出,而 u(k)是系统输入,k=1,2,3,若令

751b4f82ed8c4c6b83512af035f296a6.png

 其中,θ°为被辨识系统的真实参数向量,则 (3-10) 式可以改写成:

b698883e763243b8852eed6c765353b2.png

 令 k=n+i,n+i+1,...,N+i(其中i,N 都是正整数)则可得到矩阵:

516761bf23b2465a9b8f72fea4007b5c.png

 其中,

620d26644dcb46bda5ab06d6af7084a8.png

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第2张图片

 根据被辨识系统的离散数学模型:

81edf6dacd3940acbaa184cf48e51db8.png

 式中,e(k,0)为向量方程误差,

将上式写成矩阵形式为:

bbc70fa610bf4fe28e33603073e9ca4c.png

 根据最小二乘法的基本思想就可以找出被辨识系统参数的最优估计值θ,使误差的平方和取最小值。θhat的推导公式如下式所示:

b8c7e075ceed4ad4a34911b6a17e93e2.png

 从上式可以看出,最小二乘法模型参数辨识,可一次性求出模型所有参数,即批量求出参数的估计值,但是在运算过程中涉及到矩阵求逆问题,并且矩阵维数越大,所需存储空间越大,甚至形成病态方程,并且只能离线辨识,实时性较差,而递推最小二乘法可以克服这些缺点,详见下文。

2递推最小二乘法及其改进算法

递推最小二乘法的基本思想是在系统运行过程中,每测量一组新数据,就通过递推公式修正前一时刻的预测值来获得当前时刻的参数值估计值。即新的参数估计值=旧的参数估计值+修正值。这种方法占据存储空间小,应用更加广泛。

递推最小二乘法(RLS)的递推公式如下:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第3张图片

 上式中,当前时刻的实际观测值 y(k)与当前时刻的预测值o(k)θhat(k -1)相减,即为当前时刻的预测误差,当前时刻的增益因子 K(k)与预测误差相乘即为当前时刻的修正值,最后与前一时刻的参数预测值相加,即可得到当前时刻的最优估计值θhat(k)。P(k)为协方差矩阵,在系统运行过程中不断更新,使参数收敛。

为启动算法,需为θhat(0)及 P(0)提供初值,一般设定 P(0)=a I,I为单位矩阵,a 是很大的正实数。在递推最小二乘法中,P(k)随着递推的进行逐渐趋于零,最终算法将对参数失去修正能力,出现所谓的“滤波饱和”现象。引入遗忘因子入(数值在 0.95~0.99 之间) 可以减弱旧数据的作用而增强新数据的作用。改进后的评价函数为:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第4张图片

 递推最小二乘法改进算法的递推公式如下式所示:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第5张图片

 3.电池模型数学公式推导

在利用递推最小二乘法进行电池模型参数辨识时,需将所确定的磷酸铁锂电池二阶 RC 等效电路模型转化为最小二乘法基本结构形式如下式所示。基于二阶 RC 电路模型,推导建立了在 z 域下电池电压、电流以及模型参数间的数学关系,最终得到电池电压、电流、模型参数间的离散数学公式,为后文改进的递推最小二乘法参数辨识奠定基础。

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第6张图片

从上图可以推导出该电路模型的在复频域中的输出方程为:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第7张图片

 定义Ul(s)=Uoc(s)-uL(s),ZT(s)为电路阻抗,则

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第8张图片

 经双线性变换原理离散得到的传递函数与原传递函数相比,阶数相同,并且当采样周期T足够小时,两传递函数差距很小。根据双线性变换原理:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第9张图片

 可得离散传递函数:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第10张图片

 则离散化后的差分方程如下所示:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第11张图片

 则公式(3-23)可以写成递推最小二乘法形式如式下式所示,进而估算出θ的最优估计。

ab93741df30044cda78abebfd984327f.png

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第12张图片

 公式(3-20)与(3-25)对比可得模型参数如下

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第13张图片

       以上就是遗忘因子最小二乘法的递推全过程,下面来讲述一下如何使用simulink来搭建模型。

首先是待辨识数据的导入。通过旋转旋钮即可改变带辨识数据的导入。数据的格式为三行一列,第一列为时间,第二列为电流,第三列为电压。

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第14张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第15张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第16张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第17张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第18张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第19张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第20张图片

运行后的结果如下图所示:

1.参数辨识结果:

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第21张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第22张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第23张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第24张图片

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第25张图片

SOC估计结果及误差: 

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第26张图片

 估计的SOC误差如下图所示:SOC的平均误差低于1%,具有较高的精度。

使用遗忘因子最小二乘法(FFRLS)的锂离子电池二阶RC参数辨识_第27张图片

      硕博期间所有的程序代码,一共2个多g,可以给你指导,赠送半个小时的语音电话答疑。电池数据+辨识程序+各种卡尔曼滤波算法都在里面了,后续还会有新模型的更新。快速入门BMS软件。某鹅:2629471989

你可能感兴趣的:(锂离子电池,扩展卡尔曼滤波估计电池SOC,最小二乘法,算法,matlab,神经网络)