移动平均滤波_卡尔曼滤波(3)-- EKF, UKF

我们上篇提到的卡尔曼滤波是用于线性系统,是在假设高斯和线性动作(预测)和观测模型下进行的,但是现实中并不是这样的。

高斯分布在非线性系统中的传递结果将不再是高斯分布,通过局部线性来解决非线性的问题。

将非线性的运动方程和观测方程进行以切线代替的方式来线性化。其实就是在均值处进行一阶泰勒展开

1,扩展kalmanfilter(也称为线性化卡尔曼滤波)

是一个简单的非线性近似滤波算法,指运动或观测方程不是线性的情况。为了简化计算,EKF通过一阶泰勒分解线性化运动/观测方程。KF与EKF具有相同的算法结构,都是以高斯形式描述后验概率密度的,都是通过计算贝叶斯递推公式得到的。最大的不同之处在于,计算方差时,EKF的状态转移矩阵(上一时刻的状态信息k-1|k-1)和观测矩阵(一步预测k|k-1)都是状态信息的雅克比矩阵。

dfc50c8ad657c6e17d4214dbaa3f9fce.png

对于EKF,我们选择上一个最优状态估计(即近似平均值)进行线性化。

79931e99e81afd62be6c4e63f38761d9.png

假设有n维输入,m维输出,则雅克比矩阵维度是m*n。

28b47ea2d57fd7db3c55ce8820add212.png

有了雅克比矩阵之后,就可以使用KF的步骤进行计算了。

3c08d0e21f843a29991716e6934cd6c3.png

还是以之前的小车作为例子应用一下EKF,不过这次测量的方式不再通过GPS直接测量小车位置,而是通过与附近建筑物的角度判断小车的位置。(运动方程有点问题,见上一篇)

5f5d2f35c3dc55c3e754b23aec921404.png

061ce58dd93c8cf7ce3bebfa0a931c05.png

703ebc33907ad971ccbbd6bf7b916882.png

9e89347e883d6ede7c523cdaf4a484e4.png

d5c848c93268a554037b90a1f096ec79.png

EKF存在的主要问题如下:

1. 运动及观察模型用泰勒级数的一阶或二阶展开近似成线性模型,忽略了高阶项,不可避免的引入线性误差,甚至导致滤波器发散。有如下误差补偿方法:

泰勒近似使得状态预测必然存在误差:

A) 补偿状态预测中的误差,附加“人为过程噪声”,即通过增大过程噪声协方差来实现这一点。

B) 扩大状态预测协方差矩阵,用标量加权因子φ>1乘状态预测协方差矩阵

C) 利用对角矩阵φ=diag(sqrt(φi)), φi>1来乘以状态预测协方差矩阵

其实无论增大过程噪声协方差还是状态预测协方差矩阵,都是为了增大kalman增益,即状态预测是不准的,我要减小一步状态预测在状态更新中的权重。

2. 雅克比矩阵(一阶)及海塞矩阵(二阶)计算困难。二阶EKF的性能要好于一阶的,而二阶以上的性能相比于二阶并没有太大的提高,所以超过二阶以上的EKF一般不采用。但二阶EKF的性能虽好,但计算量大,一般情况下不用

下面是一篇博客里的EKF推导过程,链接见片尾参考。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值