通俗讲讲 卡尔曼滤波

我们知道卡尔曼滤波的本质是 对系统的状态进行最有估计 使系统状态的估计值具有最小 均方误差
而且知道那鼎鼎有名的5个公式,那它究竟有什么用捏~
这里我做一个拆解!
大家看完这个 可以看我另一篇写的详细的公式推导的过程,肯定能看的懂啦~~

https://blog.csdn.net/qq_53131867/article/details/134354442?spm=1001.2014.3001.5501

通俗讲讲 卡尔曼滤波_第1张图片
卡尔曼滤波的本质是 对系统的状态进行最有估计 使系统状态的估计值具有最小 均方误差
结合上面的这个图,和我的描述的例子~我们来看一下

1️⃣从状态方程(也就是给定的数学模型)我们求解出一个值 x ^ k − \hat{x}_k^{-} x^k 此时系统状态真实值和它的差就是我们的先验估计误差 (后验估计值就是我们借助测量量得到的值,先验就是没有借助测量量得到的值~)

(比如我们跑步 已知速度的情况下,有两种方式可以测量加速度,️粗略地根据a=dv/dt可以大致测量出我们的加速度 (但是这个加速度肯定是不太准确的 我们没有考虑其他因素的影响 数学建模得到的关系式可能还不够精准) ️ 借用手环上的加速度计来进行辅助 直接从仪器上得到我们 的加速度 )

这个时候我们的先验估计值也就是a方案得出来可以求解的

2️⃣这个时候我们借助测量量来使得我们得到的状态值尽可能准确 那么怎么样将我们的先验状态估计值和测量值建立关系 从而得到一个相对准确的量?? 于是卡尔曼建立了一个方程 构建这两者之间的关系 后验估计值=先验估计值+K(测量量-C*先验估计值) 而我们的目标就是让这个后验估计值足够的准确。

而我们的测量值 就是手环直接给出的

虽然是手环测出来的,但是手环上也可能有仪器方面的误差

那我们应该相信哪一个??

于是就有了这个方程

后验估计值=先验估计值+K(测量量-C*先验估计值)
x ^ k = x ^ k − + K k r k = x ^ k − + K k ( y k − C x ^ k − ) \hat{x}_{k}=\hat{x}_{k}^{-}+K_{k}r_{k}=\hat{x}_{k}^{-}+K_{k}(y_{k}-C\hat{x}_{k}^{-}) x^k=x^k+Kkrk=x^k+Kk(ykCx^k)
我们的后验估计值,就是综合了手环上的测量量和数学模型的出来的计算量得出来的一个比较准确的量

这也是数据融合的过程~

3️⃣ 问题来了,足够准确用什么来评定?这里采用的是最小均方误差,让我们的误差足够小,不就可以反向论证 我们的后验估计值能够足够准确了吗 ? 于是目标变成 找到一个K使得我们的整个过程具有最小的均方误差!!

4️⃣ 于是啊,我们就要求解K和e之间的关系

而反映e的矩阵就是我们的P 它各对角线元素分别对应于各状态变量估计值的均方误差 所以我们就要求解P和K之间的关系 ➡️找到一个K使得我们的整个过程具有最小的均方误差!! 于是找到P和K的关系式之后再进行求导 , 一系列操作 ,就得到了K的最优值!! 以及此时的P的最小值 ~~任务完成!

ok,完结~(●’◡’●) 看到这里 点个赞叭 (●’◡’●)

你可能感兴趣的:(学习,算法)