自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC

这篇具有很好参考价值的文章主要介绍了自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自适应迭代扩展卡尔曼滤波算法(AIEK)

自适应迭代扩展卡尔曼滤波算法(AIEK)是一种滤波算法,其目的是通过迭代过程来逐渐适应不同的状态和环境,从而优化滤波效果。

该算法的基本思路是在每一步迭代过程中,根据所观测的数据和状态方程,对滤波器的参数进行自适应调整,以便更好地拟合实际数据的分布。具体而言,该算法包括以下步骤:

初始化:首先,为滤波器的初始参数设定一个初始值,这些参数包括状态转移矩阵、测量矩阵、过程噪声协方差和测量噪声协方差等。
预测:根据当前的状态方程和滤波器参数,对下一个状态进行预测,并计算预测误差。
校正:根据预测结果和实际观测数据,对预测进行修正,以便更好地拟合实际数据的分布。
参数更新:根据校正结果,自适应地调整滤波器参数,以便在下一个迭代过程中更好地拟合数据。
该算法具有自适应性和迭代性,能够逐渐适应不同的状态和环境,从而优化滤波效果。在实际应用中,可以根据具体问题选择不同的滤波器参数调整方法和迭代策略,以获得更好的滤波效果。

加载待辨识工况数据

load FUDS.mat;       %导入数据
Ut = FUDS.Voltage;   %测量电压
I = FUDS.Current;    %测量电流
cs0=[   1.2761;
       -0.2899;
        0.0365;
       -0.0449;
        0.0095];

计算SOC实验数据

soc_act = nan(1,N);
ocv = nan(1,N);
soc_act(1)=1;
ocv(1)=Ut(1);
for i=2:N
    soc_act(i)=soc_act(i-1)-I(i)/(Qn);
    nihe=[1.936,-7.108,9.204,-4.603,1.33,3.416];
    ocv(i)=polyval(nihe,soc_act(i)); 
end

FFRLS参数在线辨识算法

[R0,R1,R2,C1,C2] = FFRLS(Ut,I,Qn,nihe,ff,cs0);


% 辨识参数图
t=1:N;

figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,R0,'r.-','LineWidth',1);
legend('R0(Ω)');

figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,R1,'g-.','LineWidth',1);
legend('R1(Ω)');

figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,C1,'b-','LineWidth',1);
legend('C1(F)');

figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,R2,'c--','LineWidth',1);
legend('R2(Ω)');

figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,C2,'m-','LineWidth',1);
legend('C2(F)');

EKF滤波算法

SOCest_init=0.9;
P0=1e-3;     %状态误差协方差初值
Q=1e-8;      %过程噪声期望值
R=1;      %观测噪声期望值

[SOC_ekf,volt]=EKF(I,Ut,dt,Qn,SOCest_init,N,Q,R,nihe,P0,R0,R1,R2,C1,C2);
error_V_EKF= Ut'-volt;
error_SOC_EKF= soc_act-SOC_ekf;      %滤波处理后的误差


AIEKF滤波算法

X_aiekf=zeros(3,N);  %定义状态向量x
X_aiekf(:,1)=[0;0;SOCest_init];%状态向量x初值设定
Q=1e-8;
R=1;
P0=0.01*eye(3);%定义协方差
f=0.1;
M=30;           %误差积累值窗口系数
[SOC_aiekf,Um]=AIEKF(I',Ut',X_aiekf,f,M,Q,R,N,P0,R0,R1,R2,C1,C2,Qn,nihe);

error_V_AIEKF= Ut'-Um;
error_SOC_AIEKF= soc_act-SOC_aiekf;      %滤波处理后的误差

绘图

t=1:N;
figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,Ut,'r',t,volt,'b',t,Um,'g');
legend('端电压真实值','端电压EKF估计值','端电压AIEKF估计值'); 

figure;
set(gcf,'Units','centimeters','Position',[2 2 19.6 8]); 
plot(t,error_V_EKF,'b',t,error_V_AIEKF,'g');
legend('EKF端电压误差','AIEKF端电压误差'); 

% SOC估计结果图
figure
hold on;box on;
plot(SOC_aiekf,'b');%AIEKF
plot(SOC_ekf,'k');  %EKF
plot(soc_act,'r');
legend('AIEKF','EKF','参考值')
xlabel('时间(s)')
ylabel('SOC')
axis([0 12000 0 1])

figure
hold on;box on;
plot(100*error_SOC_EKF,'k');
plot(100*error_SOC_AIEKF,'b');
legend('EKF','AIEKF')
xlabel('时间(s)')
ylabel('SOC误差百分数(%)')
axis([0 12000 -10 15])

仿真结果

FUDS工况下参考SOC曲线
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

DST工况下参考SOC曲线
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

FUDS工况下SOC估计对比图(EKF与参考值)

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

FUDS工况下SOC估算绝对误差曲线图
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

DST工况下SOC估计对比图(EKF与参考值)

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

DST工况下SOC估算绝对误差曲线图
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

FUDS工况下SOC估算曲线图(参考值 EKF AIEKF)

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

SOC估算不同算法绝对误差曲线图

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

DST工况下SOC估算曲线图(参考值 EKF AIEKF)

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc

SOC估算不同算法绝对误差曲线图

自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc
自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC,算法,人工智能,汽车,bms,soc文章来源地址https://www.toymoban.com/news/detail-708732.html

到了这里,关于自适应迭代扩展卡尔曼滤波算法AIEKF估计SOC VS 扩展卡尔曼估计SOC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于变分贝叶斯的自适应卡尔曼滤波(matlab)

        参考文献《Recursive Noise Adaptive Kalman Filtering by Variational Bayesian Approximations》中的算法,用matlab编写了一个小程序测试了一下(demo版本)。程序是按照文章中的内容实现的。     下面是主程序:     下面是调用到的几个函数:     函数一(cholesky分解,

    2024年02月11日
    浏览(45)
  • 扩展卡尔曼滤波在目标跟踪中的应用(1)

    前面几节相继介绍的不同维度的 卡尔曼滤波算法 , 在线性高斯模型的条件下,具有很好的跟踪效果 ,当时在实际生活中, 不可能 所有的运动都呈现一种线性关系,也存在着 非线性 关系,比如说:飞机的飞行状态,导弹的制导问题等等。 为了保证结果的准确性和精确度

    2024年02月10日
    浏览(48)
  • 【状态估计】基于卡尔曼滤波器和扩展卡尔曼滤波器用于 INS/GNSS 导航、目标跟踪和地形参考导航研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果  2.1 算例1 ​ 2.2 算例2  2.3 算例3 🎉3 参

    2024年02月11日
    浏览(51)
  • 【状态估计】变分贝叶斯近似的递归噪声自适应卡尔曼滤波(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码及文献 文献来

    2024年02月09日
    浏览(45)
  • 【算法系列】卡尔曼滤波算法

    ·【算法系列】卡尔曼滤波算法 ·【算法系列】非线性最小二乘求解-直接求解法 ·【算法系列】非线性最小二乘求解-梯度下降法 ·【算法系列】非线性最小二乘-高斯牛顿法  ·【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法  文章目录 系列文章 文章目录 前言 一、

    2024年02月12日
    浏览(40)
  • 使用扩展卡尔曼滤波(EKF)融合激光雷达和雷达数据(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 大多数自

    2024年02月09日
    浏览(55)
  • 基于EKF扩展卡尔曼滤波的传感器网络目标跟踪matlab仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 MATLAB2022a         随着传感器网络技术的不断发展,目标跟踪作为其核心应用之一,在军事、民用等领域中得到了广泛的关注。扩展卡尔曼滤波(EKF)作为一种有效的非线性滤

    2024年02月22日
    浏览(77)
  • 卡尔曼滤波算法原理及示例

      例程:物体做匀速运动每秒运动1m,观测器观测方差为1m

    2024年02月15日
    浏览(42)
  • 算法介绍及实现——卡尔曼滤波

            本文主要介绍卡尔曼滤波的推导过程及建模步骤,是网站的学习笔记。本文主要是通过例子来引出卡尔曼滤波的建模思想及算法步骤。 参考网站:(这个网站讲得真的很详细很清楚,层层递进,逻辑清晰) Kalman Filter Tutorial https://www.kalmanfilter.net/ 目录 一、引言

    2024年02月14日
    浏览(44)
  • 【状态估计】粒子滤波器、Σ点滤波器和扩展/线性卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 扩展卡尔曼滤波 2.2 线性卡尔曼滤波 

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包