基于二阶RC等效电路模型的FFRLS+AEKF的联合锂离子电池SOC估计 基于hppc工况,采用了自适应扩展卡尔曼滤波算法AEKF算法进行soc估计 能保证运行,simulink模型和仿真结果可见展示图片,误差非常小,估计效果能完全跟随soc的变化 内容:纯simulink模型、电池数据、参考文献,详细遗忘因子最小二乘法等电池soc估计原理
在电池管理系统(BMS)中,准确估计锂离子电池的荷电状态(SOC)至关重要。今天咱们就来聊聊基于二阶RC等效电路模型,结合遗忘因子最小二乘法(FFRLS)与自适应扩展卡尔曼滤波算法(AEKF)的联合SOC估计方法。
二阶RC等效电路模型
二阶RC等效电路模型能较为准确地模拟锂离子电池的动态特性。它包含一个开路电压源 \(U{oc}\),一个欧姆内阻 \(R0\),以及两个由电阻 \(R{1}\)、\(R{2}\) 和电容 \(C{1}\)、\(C{2}\) 组成的RC支路。通过这个模型,我们可以建立起电池端电压 \(U\) 与电流 \(I\)、SOC 等参数之间的关系。
遗忘因子最小二乘法(FFRLS)原理
FFRLS用于在线辨识电池模型参数。其核心思想是给旧数据赋予较小的权重,新数据赋予较大权重,从而使算法能够跟踪时变的系统参数。
假设我们有一组输入输出数据 \(\{u(k), y(k)\}\),线性模型可以表示为:
\[y(k) = \theta^T \varphi(k)\]
其中 \(\theta\) 是待估计参数向量,\(\varphi(k)\) 是回归向量。
FFRLS的迭代公式如下:
\[P(k) = \frac{1}{\lambda} [P(k - 1) - \frac{P(k - 1) \varphi(k) \varphi^T(k) P(k - 1)}{\lambda + \varphi^T(k) P(k - 1) \varphi(k)}]\]
\[\hat{\theta}(k) = \hat{\theta}(k - 1) + P(k) \varphi(k) [y(k) - \varphi^T(k) \hat{\theta}(k - 1)]\]
这里 \(\lambda\) 就是遗忘因子,通常取值在 \((0, 1]\) 之间。比如,当 \(\lambda = 0.98\) 时,意味着旧数据的权重相对新数据会以一定比例递减,使得算法更关注近期数据,从而适应电池参数的缓慢变化。
自适应扩展卡尔曼滤波算法(AEKF)
AEKF用于SOC估计。传统的扩展卡尔曼滤波(EKF)假设系统噪声和观测噪声的统计特性是已知且固定的,但实际电池系统中,这些噪声特性可能会随时间变化。AEKF通过在线估计噪声协方差矩阵,来提高SOC估计的准确性。
AEKF的主要步骤
- 状态预测:
\[ \hat{x}{k|k - 1} = f(\hat{x}{k - 1|k - 1}, u_{k - 1}) \]
这里 \( f \) 是状态转移函数,根据二阶RC等效电路模型和电池动力学方程确定,\(u_{k - 1}\) 是上一时刻的输入(如电流)。
- 协方差预测:
\[ P{k|k - 1} = F{k - 1} P{k - 1|k - 1} F{k - 1}^T + Q_{k - 1} \]
其中 \( F{k - 1} \) 是状态转移矩阵,\(Q{k - 1}\) 是过程噪声协方差矩阵。
- 卡尔曼增益计算:
\[ K{k} = P{k|k - 1} H{k}^T (H{k} P{k|k - 1} H{k}^T + R_{k})^{-1} \]
\( H{k} \) 是观测矩阵,\(R{k}\) 是观测噪声协方差矩阵。
- 状态更新:
\[ \hat{x}{k|k} = \hat{x}{k|k - 1} + K{k} (z{k} - h(\hat{x}_{k|k - 1})) \]
\( z_{k} \) 是当前时刻的观测值(如电池端电压),\(h\) 是观测函数。
在AEKF中,我们会实时调整 \(Q{k}\) 和 \(R{k}\),以适应系统噪声的变化。例如,通过监测残差(观测值与预测值之差)的统计特性来调整噪声协方差矩阵。
Simulink模型搭建
在Simulink中搭建基于上述算法的模型。首先,我们需要建立二阶RC等效电路模型的子模块,实现电池电压、电流等信号的计算。代码上可以使用MATLAB函数模块来实现FFRLS和AEKF算法。
例如,对于FFRLS算法的MATLAB函数模块代码(简化示意):
function [theta_hat, P] = ffrls(u, y, theta_hat_prev, P_prev, lambda) phi = [u(1); u(2);...]; % 根据实际模型确定回归向量 P = (1 / lambda) * (P_prev - (P_prev * phi * phi' * P_prev) / (lambda + phi' * P_prev * phi)); theta_hat = theta_hat_prev + P * phi * (y - phi' * theta_hat_prev); end然后将FFRLS辨识得到的参数输入到AEKF模块中进行SOC估计。整个Simulink模型结构清晰,各模块之间相互协作,实现从电池输入(电流等)到SOC估计输出的完整流程。
基于HPPC工况的仿真与结果
我们基于HPPC工况进行仿真,该工况能较好地模拟电池在实际应用中的动态充放电过程。从仿真结果展示图片(此处虽不能实际展示,但想象一下)可以看到,采用这种联合估计方法,SOC估计误差非常小,估计效果能完全跟随SOC的真实变化。这表明基于二阶RC等效电路模型的FFRLS + AEKF联合算法在锂离子电池SOC估计方面具有很高的准确性和可靠性。
电池数据与参考文献
在实际操作中,我们需要大量准确的电池数据来进行模型训练和验证。这些数据可以通过实验测试获得,涵盖不同温度、充放电倍率等条件下的电池特性。
参考文献方面,像[具体文献1]详细阐述了二阶RC等效电路模型的原理与应用;[具体文献2]深入探讨了FFRLS算法在电池参数辨识中的应用;[具体文献3]则对AEKF在SOC估计中的优势与实现进行了研究。通过参考这些文献,我们能更深入理解和优化基于二阶RC等效电路模型的FFRLS + AEKF联合锂离子电池SOC估计方法。
希望通过这篇博文,大家对这种联合SOC估计方法有更清晰的认识,也欢迎一起探讨交流!