【matlab代码】平方根扩展卡尔曼滤波(SR EKF)例程,三维非线性系统的滤波

在这里插入图片描述

三维的非线性扩展卡尔曼滤波(EKF)改进而来的平方根卡尔曼滤波(SRKF),代码的数值稳定性得到了显著提升,特别适合高维系统或条件数较差的场景。
本文给出例程

代码说明

初始化:

  • 定义了系统参数(如采样率、噪声方差等)。
  • 初始化状态值和协方差矩阵的平方根。

模型生成:

  • 生成真实状态、未滤波状态和观测值。

平方根卡尔曼滤波(SRKF):

  • 在预测步骤中,计算预测状态和预测平方根协方差矩阵。

  • 在更新步骤中,计算卡尔曼增益并更新状态和平方根协方差矩阵。

结果展示:

  • 绘制状态对比图、误差对比图和误差的累计概率密度函数(CDF)。
  • 输出误差的统计特性(最大值、平均值、标准差)。

协方差矩阵的平方根分解:

  • 使用 cholupdate 函数更新平方根协方差矩阵。
  • 避免了直接更新协方差矩阵,提高了数值稳定性。

状态更新:

  • 使用平方根协方差矩阵计算卡尔曼增益和状态更新。

误差统计:

  • 计算并输出滤波前后的误差统计特性。

运行结果

状态对比图:显示真实状态、SRKF滤波后的状态、观测值和未滤波状态的对比。
在这里插入图片描述

误差对比图:显示滤波前后误差的对比。
在这里插入图片描述

CDF图:显示滤波前后误差的累计概率密度函数。
在这里插入图片描述

误差统计:输出滤波前后误差的最大值、平均值和标准差。
在这里插入图片描述

代码

下载链接:
https://download.youkuaiyun.com/download/callmeup/90340549

后记

如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MATLAB卡尔曼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值