基于UKF算法的电池SOC估算

1、UKF算法

  无迹卡尔曼滤波是将数据变化(UT变换)与卡尔曼滤波结合起来的一种算法,通过UT变换将一个状态点转换为多个状态点,依据一定的权重传递给后面观测值,再根据后面的观测值和真实值的误差,向前反馈,不断修正,最后得到理想的状态值。
  以SOC估算为例,卡尔曼滤波的估算思路分为预测和更新两阶段。
  预测阶段:根据k时刻的SOC(k)值、输入电流I(k)和SOC的误差P(k)来估算k+1时刻的SOC(k+1)、误差P(k+1)和k时刻的端电压U(k)。
  更新阶段:根据观测得到的k时刻端电压真实值与端电压的估算值计算差值,系统递推公式中的p与K,k+1时刻的SOC真实值,并更新误差真实值。
  这样两个阶段的往复循环就能够不断的估算出任意时刻的SOC值。

2、UKF算法流程

2.1、参数初始化

load 电池实验数据.mat;
V=data(:,1);
I=data(:,2);
SOC=data(:,3);          % 电压,电流,SOC
n=2;
Qf=[0.00001 0;0.00001 0];
p=[0.01 0;0 0.01];
R=0.1;
state0=[0.99;0];        % UKF初值
stater=stater0;
SOCan=stater0(1);
xc=state0;
tout=[];
staterout=[];           % 真实值矩阵
xcout=[];               % UKF估计矩阵
errorout=[];            % UKF误差矩阵
errarry=[];

2.2、UKF递推公式

for t=t0:h:tf  yc=V(t);I0=I(t);alp=0.1;kap=0;beta=2;lamda=alp^2*(n+kap)-n;nc=n+lamda;
%----------------采样点权值---------------------
for i=1:2*n+1Wm(i)=1/(2*(lamda+n));Wc(i)=1/(2*(lamda+n));
endWm(1)=lamda/(lamda+n);Wc(1)=lamda/(lamda+n)+1-alp^2+beta;
%----------------构造sigma点-----------------pk=sqrt(p*(n+lamda));
for j=1:nsigma1(:,j)=xc+pk(:,j);sigma2(:,j)=xc-pk(:,j);
endsigma=[xc,sigma1,sigma2];  %5列
%---------------利用采样点更新状态-------------------
for j=1:2*n+1       %状态方程F=[1,0;0, 0.9545];G=[0.00003541;0.0003282];sigma(:,j)=F*sigma(:,j)+G*I0;
end
%----------------状态均值------------------
sxk=0;
for j=1:2*n+1      sxk=Wm(j)*sigma(:,j)+sxk;
end
%-----------------px的值---------------------
spk=0;
for kp=1:2*n+1     % pxspk=Wc(kp)*(sigma(:,kp)-sxk)*(sigma(:,kp)-sxk)'+spk;
end
spk=spk+Qf;
%-------------根据Px重新采样数据点--------------
chor=sqrt(spk*(n+lamda));
for j=1:n     Sigma1(:,j)=sxk+chor(:,j);Sigma2(:,j)=sxk-chor(:,j);
end
Sigma=[sxk, Sigma1, Sigma2 ];
for kg=1:2*n+1    % 测量方程Sigma(1,kg))+I0*0.0115+Sigma(2,kg);gamma(kg)=3.2348-0.0148*log(Sigma(1,kg))-0.0363*log(1-Sigma(1,kg))+I0*0.0118+Sigma(2,kg);
end

2.3、仿真结果

figure;
plot(tout,xcout(1,:),'r',tout,staterout(1,:),'b');
legend('UFK估算SOC值','真实SOC值');grid on;
xlabel('时间(s)');ylabel('SOC');title('无迹卡尔曼滤波');

3、结果分析

  从仿真结果可知,UKF算法具有较高的SOC估算精度!
  欢迎关注我的微信公众号,感谢大家的支持!

电池SOC仿真系列-基于UKF算法的电池SOC估算研究相关推荐

  1. 电池SOC仿真系列-基于遗忘因子的最小二乘法电池参数辨识(二阶RC)

    基于遗忘因子的最小二乘法电池参数辨识   最小二乘法是系统辨识中最常用的一种估算方法.为了克服最小二乘法存在"数据饱和"的问题,我们通常采用含有遗忘因子的递推最小二乘法(Forge ...

  2. ## ***电池SOC仿真系列-基于扩展卡尔曼(EKF)算法的SOC估计(内含代码等资料)***

    ## ***电池SOC仿真系列-基于扩展卡尔曼(EKF)算法的SOC估计(内含代码等资料)*** ## 1 研究背景 电池的荷电状态(SOC)代表的是电池当前的剩余容量,数值定义是电池剩余电量与电池额 ...

  3. 电动SOC仿真系列-考虑电池老化影响的电池UKF-SOC估算研究

    考虑电池老化影响的电池UKF-SOC估算研究(无迹卡尔曼滤波算法)   传统的电池模型往往将电池容量设定为定值.然后在实际情况中,电池的容量会随着电池循环充放电次数的增加而减少.因此有必要在建立电池模 ...

  4. 【研究计划书】基于人工智能算法的肿瘤代谢问题研究

    基于人工智能算法的肿瘤代谢问题研究 基于人工智能算法的肿瘤代谢问题研究 一.研究概述 1.1 研究背景 1.2 研究现状 1.3 研究方法 二.研究内容 2.1 肿瘤代谢过程和生物标志物识别 2.2 ...

  5. kalman滤波基础及matlab仿真_MATLAB基于EKF算法估计电动汽车蓄电池的SOC

    点击上方蓝字关注"公众号" MATLAB基于EKF算法估计电动汽车蓄电池的SOC 电动汽车(EV)是未来汽车的一大发展方向.动力锂电池组是电动汽车动力源,其荷电状态(SOC)直接反 ...

  6. 电动汽车仿真系列-基于Simulink的并联混合动力汽车建模分析

    基于Simulink的并联混合动力汽车建模分析   本期介绍一种基于Simulink的并联混合动力汽车的建模方法.并联混合动力汽车的工作模式可以分为六种.纯电动模式.纯发动机模式.混合驱动模式.充电模 ...

  7. 回声检测仿真信号matlab,基于LMS算法的回声消除系统仿真研究

    用远端语音信号作为参考信号来跟踪回声信号,得到滤波器的输出信号 ,两者相减,得到误差信号为 .误差信号的波形如图7所示.从图中可以看出,收敛时间大约在8000个点左右,之后的误差曲线接近于0,仿真效果 ...

  8. 电机仿真系列-基于最小二乘法的永磁同步电机参数辨识

    基于最小二乘法的永磁同步电机参数辨识   永磁同步电机具有体积小.转动惯量低.结构简单等优点,被广泛应用于控制系统中.然而在实际应用过程中,控制系统会受到高温.负载等外界因素的影响,永磁同步电机的电感 ...

  9. 风力发电仿真系列-基于Simulink搭建的DFIG仿真模型

    基于Simulink搭建的DFIG仿真模型   双馈式感应发电机(DFIG)是在同步电机和异步电机的基础上发展起来的一种新型发电机.DFIG的主要优点是其足够宽的速度范围,能使组合式风力涡轮机以最佳的 ...

最新文章

  1. JDK,JRE和JVM三者的关系以及java的运行机制,环境变量,三大版本,特点
  2. mysql数据库的备份和二进制日志恢复
  3. Git版本控制使用方法入门教程?
  4. Mac安装tensorflow
  5. linux命令iconv_Linux常用命令--iconv
  6. vivo电池损耗指令代码_安川伺服驱动器维修中常用故障代码
  7. win10计算机管理员权限删除,win10需要管理员权限删除文件怎么办?获取管理员权限删除文件夹...
  8. c++EasyX极乐净土的实现及音乐头文件的使用
  9. Java开发的发展前景和未来规划方向
  10. vcode——自用插件
  11. scrapy爬虫-拉勾网(学习交流)
  12. 启动windows的mysql_MySQL的启动方法(windows 平台)
  13. 侧脸生成正脸概论与精析
  14. 推送近期三波关于Vue.js的资讯
  15. windows下CUDA的卸载,怒推!!!亲测可以!!!
  16. C语言之strcmp函数和strncmp函数
  17. PATA1023_大整数运算(难度:⭐️⭐️)
  18. Vue+百度统计 实现网页的PV和UV统计
  19. 百度云管家登陆网络异常的解决办法
  20. hive 十六进制转十进制_[转] Hive 内置函数

热门文章

  1. 好用的开源个人博客推荐
  2. codesfot6批量打印,双排,斑马GT820打印机
  3. 伦茨科技带你了解蓝牙室内定位
  4. 12306网上订火车票很快呀
  5. 291. 蒙德里安的梦想
  6. js判断是否获得焦点
  7. 4G通信的网络结构与技术分析
  8. ∑ n!(1! 2!)用c语言怎么编,数控车床编程教程,图文实例详解!
  9. 破解WIFI密码,增强网络信号,带你畅玩网络世界
  10. 渗透测试用工具(一)端口扫描Nmap