卡尔曼与扩展卡尔曼的区别与推导

1.卡尔曼的推导:

1)先看系统随机系统状态空间模型:(线性)
所谓线性是指递推或者状态转移方程是线性的在这里插入图片描述在这里插入图片描述
至于参数解释自己去看书,本文旨在捋顺推导思路。
2)k-1时刻值减去k-1的状态最优估计=k-1时刻状态估计误差。首先计算k-1时刻状态估计误差(参考值与估计值之间偏差):
在这里插入图片描述
3)根据k-1时刻最优状态估计和系统状态方程可对k时刻(当前时刻)的状态做最优估计(最优一步预测):
在这里插入图片描述
4)计算状态一步预测误差为:
在这里插入图片描述
5)把1)式和3)式带入4)式,结合2)式得:
在这里插入图片描述
此刻状态一步预测误差计算好了,那么可以计算状态一步预测均方误差阵:
在这里插入图片描述
而k-1时刻状态估计误差阵为:
在这里插入图片描述
同理计算量测:
1)通过状态一步预测和系统的量测方程可对时刻的量测作一步预测:
在这里插入图片描述
2)量测一步预测误差公式为:
在这里插入图片描述
3)将系统式和1)式带入2)得量测一步预测误差:
在这里插入图片描述量4)计算量测一步预测均方误差阵、状态一步预测与量测一步预测之间的协均方误差阵:
在这里插入图片描述
至此可以做到利用系统状态方程的状态一步预测去估计当前时刻的值,但由于没有用到量测方程的任何信息,会导致估计精度不高。又因为量测一步预测误差中包含状态一步预测的信息,因此综合考虑,利用量测一步预测误差修正当前状态估计作为最终的最优状态估计:
在这里插入图片描述
5)对上式进行化简:
在这里插入图片描述
可以看到当前状态估计是前一时刻状态估计和当前量测的线性组合(加权估计),利用量测误差对先验估计进行修正得到后验估计。
接下来求取K以使得后验估计误差(当前时刻状态估计误差)最小:
6)当前k时刻状态估计误差为:
在这里插入图片描述
7)将上面5)式带入6)得:
在这里插入图片描述
8)同理求k时刻(当前时刻)状态估计的均方误差阵:
在这里插入图片描述
9)估计误差是一随机向量,使其“误差最小”的含义规定为使各分量的均方误差之和最小,即
在这里插入图片描述
等价于:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
10)因为均方误差阵必定是对称阵,因此8)式可展开为:
在这里插入图片描述
11)对10)式两边同时求迹运算,得:
在这里插入图片描述
上式是关于待定参数矩阵K的二次函数,所以tr§必定存在极值(按概率含义这里应当是极小值)。
为了便于利用求导方法求取上式的极值,引入方阵的迹对矩阵求导的两个等式,分别如下:
在这里插入图片描述
在这里插入图片描述
两边同时对K求导:
在这里插入图片描述
根据函数极值解得:
在这里插入图片描述在这里插入图片描述
也就是当K等于以上取值时,当前状态估计误差最小。此时,将上式带入10)式得k时刻均方根误差阵为:
在这里插入图片描述
至此推导出卡尔曼滤波五个公式:
在这里插入图片描述

2.扩展卡尔曼推导:

1)先看系统随机系统状态空间模型:(非线性)
在这里插入图片描述
在这里插入图片描述
与卡尔曼唯一不同就是扩展卡尔曼是处理非线性模型,因此需要对状态转移方程(无论预测还是量测)都需要进行一节泰勒展开得到雅可比矩阵,以此来进行线性化。
1)同理求k-1时刻状态估计:
在这里插入图片描述
2)根据k-1时刻最优状态估计和系统状态方程可对k时刻(当前时刻)的状态做最优估计(最优一步预测):
在这里插入图片描述
3)计算状态一步预测误差为:
在这里插入图片描述
在卡尔曼推导中,这一步是直接带入系统方程,但在这里需要先进行线性化:
在这里插入图片描述
同理求量测:
在这里插入图片描述
在这里插入图片描述
因此可以改写原非线性系统为线性系统:
在这里插入图片描述
改写5个公式:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
滤波是一种用于估计系统状态的递归滤波器。它通过结合系统动态模型和观测数据来提供对状态的最优估计。下面是滤波的公式推导过程: 1. 系统模型: 状态方程:x_k = F_k * x_{k-1} + B_k * u_k + w_k 观测方程:z_k = H_k * x_k + v_k 其中,x_k表示系统在时间步k时的状态向量,u_k表示控制输入,z_k表示观测向量。 F_k是状态转移矩阵,描述系统状态从时间步k-1到时间步k的演化关系。 B_k是控制输入矩阵,描述控制输入对系统状态的影响。 w_k是系统过程噪声,假设其均值为0,协方差矩阵为Q_k。 H_k是观测矩阵,描述观测向量与系统状态之间的关系。 v_k是观测噪声,假设其均值为0,协方差矩阵为R_k。 2. 预测步骤(时间更新): 根据上一时刻的状态估计x_{k-1}和控制输入u_{k-1},通过状态转移矩阵F_k和控制输入矩阵B_k进行状态预测: x_{k}^- = F_k * x_{k-1} + B_k * u_{k-1} 同时,计算预测误差协方差矩阵P_{k}^-: P_{k}^- = F_k * P_{k-1} * F_k^T + Q_k 3. 更新步骤(测量更新): 根据当前观测向量z_k,通过观测矩阵H_k对预测状态进行观测估计: y_k = z_k - H_k * x_{k}^- 计算观测残差协方差矩阵S_k: S_k = H_k * P_{k}^- * H_k^T + R_k 计算增益K_k: K_k = P_{k}^- * H_k^T * S_k^{-1} 更新状态估计值: x_{k} = x_{k}^- + K_k * y_k 更新误差协方差矩阵: P_{k} = (I - K_k * H_k) * P_{k}^- 其中,^-表示预测值,而没有^-表示更新值。 以上就是滤波的公式推导过程。通过递归地进行预测和更新步骤,滤波能够对系统状态进行最优估计。请注意,以上推导过程是基于线性系统和高斯噪声的情况,对于非线性系统还需要进行扩展,例如使用扩展卡滤波(Extended Kalman Filter)或无迹滤波(Unscented Kalman Filter)等方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

定位算法工程师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值