电池SOC仿真系列-基于双卡尔曼滤波算法的电池SOC估算研究

基于 双卡尔曼滤波算法的电池SOC估算

1、DEKF算法

  由于SOC无法直接测量,只能通过观测信号来估计SOC的变化。常用的电池SOC估算方法有安时积分法、开路电压法和卡尔曼滤波算法。而卡尔曼滤波算法正是利用前一时刻的状态估计值和当前时刻的输出观测值来推出当前时刻的状态估计值。该算法能够有效降低测量过程中噪声的干扰,从而提高精确度。
  安时积分法作为一种开环估计方法,在短时间内能够较好的跟踪电池SOC的变化,但由于没有校正反馈功能,误差会随着时间的累积越来越大且自身不能够获得电池SOC初始值,而SOC初始值对其估计结果影响很大。
  扩展卡尔曼滤波算法作为一种滤波算法,能够在一定程度上降低系统误差与测量误差,能够较好的通过电池电压修正估计的SOC,但其估计精度十分依赖电池模型,当电池模型参数精度较高时,估计结果较为精确且很快就能够收敛,但是当模型参数精确度不高时,估计精度会变得很差。
  针对上述问题,本文提出一种基于双卡尔曼滤波算法的电池SOC估算方法,进而获得更加稳定、准确的估计值。DEKF可用来同时估计系统的状态和参数,广泛应用于非线性系统中。非线性系统可以表示为:
在这里插入图片描述
  其中,x是k时刻的状态向量,u是输入向量,θ是参数向量,y和d是测量向量。
  为了方便描述,设:
在这里插入图片描述

2、DEKF算法流程

2.1、参数初始化

  其中系统状态及其误差协方差的初始化如下:
在这里插入图片描述
  系统参数及其误差协方差的初始化如下:
在这里插入图片描述

2.2、状态和参数的时间更新

  状态的时间更新:
在这里插入图片描述

  x1_hat_prev = Ad(1,1)*x1_hat(k-1) + Bd(1,1)*I(k-1);
  P_prev = A_ek*P(k-1)*A_ek'+ E_ek*Q*E_ek';

  参数的时间更新如下:
在这里插入图片描述

  theta_hat_prev = theta_hat(k-1);
  PT_prev = PT(k-1)+ E_ek*Wp*E_ek';

2.3、计算卡尔曼增益

  状态和参数的卡尔曼增益计算:
在这里插入图片描述

  L = P_prev*C_ek'*inv(C_ek*P_prev*C_ek'+ F_ek*R*F_ek');
  LT = PT_prev*CT_ek(k)'*inv(CT_ek(k)*PT_prev*CT_ek(k)'+ F_ek*R*F_ek');

2.4、状态和参数的测量更新

  状态的测量更新如下:
在这里插入图片描述

  x1_hat(k) = x1_hat_prev + L*(V(k)-V_hat(k));
  P(k) = P_prev - L*C_ek*P_prev;

  参数的测量更新如下:
在这里插入图片描述

  theta_hat(k) = theta_hat_prev + LT*(V(k)-V_hat(k));
  PT(k) = PT_prev - LT*CT_ek(k)*PT_prev;

3、基于DEKF算法的SOC估算

  二阶RC模型的离散状态空间形式可表示为:
在这里插入图片描述
  其中,
在这里插入图片描述

4、仿真结果

在这里插入图片描述

EKF算法误差DEKF算法误差
0.02780.0114

  实验结果表明:DEKF算法亦始终能够较好的跟踪SOC的变化,估计过程较为稳定,误差始终控制在2%以内且趋向收敛。需要相关资料可以关注微信公众号:xinnengyuanqiche666,学习更多电动汽车仿真的知识!

  • 4
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
卡尔曼滤波SOC估算算法可以使用自适应卡尔曼滤波和无迹卡尔曼滤波两种方法。 自适应卡尔曼滤波是一种基于卡尔曼滤波SOC估算算法,它通过对锂电池的模型进行估算来预测和优化SOC的值。该方法使用卡尔曼滤波算法来结合测量数据和系统模型,通过不断迭代估计和校正,逐步提高对SOC的准确性。在这里,自适应卡尔曼滤波SOC估算算法可以参考引用和引用提供的matlab源码。 另一种SOC估算算法是无迹卡尔曼滤波,它也是一种基于卡尔曼滤波算法,可以用于锂电池SOC估算。无迹卡尔曼滤波采用无迹变换来处理非线性系统,通过选择一组称为Sigma点的采样点来近似非线性函数。这种方法相较于传统的扩展卡尔曼滤波具有更好的精确性和鲁棒性。在引用中提供的matlab代码中,可以修改状态方程和观测方程来适应不同的SOC估算模型。 综上所述,卡尔曼滤波SOC估算算法可以采用自适应卡尔曼滤波和无迹卡尔曼滤波两种方法,具体选择哪一种方法可以根据实际需求和应用场景来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [自适应卡尔曼滤波估算SOC模型_锂电池模型_SOC估算模型_卡尔曼滤波算法_锂电池SOC估算模型_matlab仿真](https://download.csdn.net/download/m0_53407570/85275660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [无迹卡尔曼滤波估算SOC模型及代码_卡尔曼滤波算法_SOC估算模型_锂电池SOC估算模型_matlab仿真](https://download.csdn.net/download/m0_53407570/85275643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [转弯模型(Coordinate Turn,CT)无迹卡尔曼滤波(UKF),matlab代码](https://download.csdn.net/download/monologue0622/88218055)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新能源汽车仿真团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值