电池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,学习更多电动汽车仿真的知识!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

新能源汽车仿真团队

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

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

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

打赏作者

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

抵扣说明:

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

余额充值