卡尔曼滤波---简述(一)

感慨

虽然本人只是个小小码农,主攻java后台开发,但吾以为,学习技术,应当不分领域。
本文首先假设读者像我当初一样,是个对卡尔曼滤波望而生畏的小白。

参考链接

https://zhuanlan.zhihu.com/p/39912633
该链接是本人觉得描述得比较好理解的一篇文章了,从基础一步一步推进,推导出卡尔曼滤波的过程。

https://zh.wikipedia.org/wiki/卡尔曼滤波
该链接有很详尽的说明,不得不提,维基百科是个学习的好地方

公式

时间更新方程

x ^ k ˉ = A x ^ k − 1 + B u k − 1                 ① {\hat{x}}_{\bar{k}}=A{\hat{x}}_{{k-1}}+Bu_{k-1} ~~~~~~~~~~~~~~~ ① x^kˉ=Ax^k1+Buk1               
P k ˉ = A P k − 1 A T + Q                 ② P_{\bar{k}}=AP_{k-1}A^T+Q ~~~~~~~~~~~~~~~ ② Pkˉ=APk1AT+Q               

状态更新方程

K k = P k ˉ H T H P k ˉ H T + R                 ③ K_k=\frac {P_{\bar{k}}H^T} {HP_{\bar{k}}H^T+R}~~~~~~~~~~~~~~~ ③ Kk=HPkˉHT+RPkˉHT               
x ^ k = x ^ k ˉ + K k ( z k − H x ^ k ˉ )                 ④ {\hat{x}}_{k}={\hat{x}}_{\bar{k}}+K_k(z_k-H{\hat{x}}_{\bar{k}})~~~~~~~~~~~~~~~ ④ x^k=x^kˉ+Kk(zkHx^kˉ)               
P k = ( I − K k H ) P k ˉ                 ⑤ P_k=(I-K_kH)P_{\bar{k}}~~~~~~~~~~~~~~~ ⑤ Pk=IKkHPkˉ               

时间更新方程解读

为何要称它为时间更新方程,主要在于等式左边都是当前值,而右边变量则都是上一时刻值。故方程是随着时间在推进的。
方程的目标在于,预测一个当前值以及得到该预测值的误差。假设我们再知道测量值以及测量值的误差,那么就可以按照 z = a x + ( 1 − a ) y z=ax+(1-a)y z=ax+(1a)y 进行融合,即
结 果 = 预 测 值 占 一 定 比 例 + 测 量 值 占 一 定 比 例 结果=预测值占一定比例+测量值占一定比例 =+
决定比例大小的因素就是误差,误差小更可信,占比会更大。

①式解读

本式子是一个预测模型的表示,通俗地翻译公式为:
当 前 预 测 值 = 上 一 个 最 优 估 计 值 + 外 力 作 用 当前预测值=上一个最优估计值+外力作用 =+
其中的A和B矩阵用于转换关系的表示,并不影响理解。
一般来讲,有没有外力都无所谓的,甚至你采用的预测模型不够准确,也是可以应用卡尔曼滤波的,只要你的预测值不要与实际差个十万八千里即可

②式解读

翻译公式为:
先 验 估 计 协 方 差 = 上 一 后 验 估 计 协 方 差 + 噪 声 协 方 差 先验估计协方差=上一后验估计协方差+噪声协方差 =+
首先搞清楚何为先验,何为后验。
举一个先验的例子,两个骰子,和为5的概率。共36种可能性,其中和为8有1+4,2+3,3+2,4+1四种,故概率为1/9。
举一个后验的例子,两个骰子,现在摇出5点,求一个是1另一个是4的概率。由上面列举可见,概率为1/2。
主要是①式两边求协方差得到的,其中使用到如下公式
C o v ( A x ) = A C o v ( x ) A T Cov(Ax)=ACov(x)A^T Cov(Ax)=ACov(x)AT

状态更新方程解读

状态更新方程两边都是k量,目标是融合出一个最优估计值,同时求出其协方差。

③式解读

翻译公式为:
卡 尔 曼 增 益 = 先 验 估 计 协 方 差 + 量 噪 声 协 方 差 卡尔曼增益=先验估计协方差+量噪声协方差 =+
卡尔曼增益指明了预测值和测量值之间的以何种比例进行结果融合,这涉及两个高斯分布之间的融合,参考链接中有详细说明

④式解读(目标)

翻译公式为:
最 优 估 计 值 = 预 测 值 + 一 定 比 例 的 ( 测 量 值 − 当 前 预 测 值 ) 最优估计值=预测值+一定比例的(测量值-当前预测值) =+
乍一看,好像哪里不对,加号右边的预测值比左边的预测值多了一个 H k H_k Hk,原因其实是最开始都带了 H k H_k Hk,从而两边都消掉了 H k H_k Hk,而加号右边的预测值携带的 H k H_k Hk无法被消掉,从而在公式上显得比较突兀,实际表达的意思和 z = a x + ( 1 − a ) y z=ax+(1-a)y z=ax+(1a)y是一致的。
本式子也是我们最关心的一个式子,该式子对外输出了最优估计值,而其他的式子,对外并不输出外部关心的信息。

⑤式解读

没得翻译,是通过对④式两边求协方差得来的。

总结

讲解卡尔曼滤波的文章有很多,小弟也只是初学,表达一下个人粗浅看法,纯属笔记。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值