基于UKF和EKF算法研究SOC估计比较

引言:在已知SOC初始值的前提下,只要可以测量出电池的电流(式中放电电流为正),通过电流积分,可以准确地计算出电池电量的变化情况,进而得到剩余电量SOC。该方法在短时间内的估计结果比较可靠,但由于电流传感器的测量误差以及电池容量的逐渐衰退,长时间的电流积分会引入一定的偏差。所以其一般与开路电压法估计初始值配合,用于精度要求不高的SOC估计,也可以与卡尔曼滤波法配合,用于短时的SOC预测。

        SOC(StateOfCharge)属于BMS核心控制算法,表征当前的剩余容量状态,主要通过安时积分法和EKF(扩展卡尔曼滤波)算法,并结合修正策略(如开路电压修正,充满修正,充电末端修正,不同温度及SOH下的容量修正等)。安时积分法在保证电流采集精度条件下比较可靠,但鲁棒性不强,由于存在误差累计必须结合修正策略,而EKF鲁棒性较强,但算法比较复杂,实现难度大。国内主流厂家一般常温可以做到精度6%以内,在高低温和电池衰减时的估算是难点。
        考虑到很多朋友是小白甚至才接触,本文是基于一阶RC等效电路模型对扩展卡尔曼(EKF)和无迹卡尔曼(UKF)算法进行建模仿真,因此需要二次开发的+qq963266355。内容包含EKF和UKF算法的代码,以及在Simulink下搭建的建模仿真。

一阶RC模型等效电路

 

以下代码部分:


**************************************************
SoC_real(1,1) = 1;  % Initial real SoC value
    States_real = [SoC_real(1,1);0];  % 真实值初始状态 (SoC_real, Up_real)
    States_upd = [SoC_upd_init;0];  % 估计值初始状态 (SOC_upd, Up_upd)
    SoC_AH(1,1) =SoC_upd_init;  % Initail value of AH
    SoC_upd(1,1) = States_upd(1,1);
    % I_standard = 2.5;  % Initial current
    P_Cov = [1e-8 0;0 1e-6];  % 方差矩阵
    ts  = 1;  % 采样时间
    tr = 0.1;  % 最小时间间隔,用以模拟真实电量
    % N = 3600/ts;  % 采样次数
    N = 5000;
    Capacity = 1.5;  % 电池容量
    Qs = 4e-9;  % SoC 过程噪声方差
  *******************************
    R = 1e-6;  %观测噪声方差
    I_real = Currents;
    
    %--------------无迹变换--------------------            
    n=1;  %维度
    alp=0.04;
    beta=2;
    kap=2;                                                    
    % lamda=alp^2*(n+kap)-n;          
    lamda=1.5;    
    %---------------权值确定---------------
*********************************                         
    Wc=Wm;
    Wc(1)=Wc(1)+(1-alp^2+beta); 
    %--------------------------------------
    p=1e-6;                %状态误差协方差初值      
    xc(:,1)=SoC_upd_init;  %xc(),系统预测更新后的状态值 
    
   *******************************
    Err_AH(1,1) = SoC_real(1,1)-SoC_AH(1,1); 
    Err_UKF(1,1) = SoC_real(1,1)-xc(1,1);
    
    % Rp = 0.01513;
    % Cp = 47718.90713;
    % tao = Rp * Cp;
   ******************************

建模部分:

matlab仿真结果:

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值