算法介绍及实现——卡尔曼滤波( 四 )


顾及过程噪声:
上述中的q为过程噪声的方差 。
对协方差外推方程进行更新后,即为完整的卡尔曼滤波模型 。
3)引例5
迭代结果:
从迭代结果可知,估计数值和观测值和真值都存在很大的差距,这种差距被称为滞后误差 。上述我们在利用匀速的模型来分析加速飞行的飞机时结果也出现过滞后误差 。所以,分析其原因,是状态方程和实际变化不符所造成的影响,也即模型误差 。
在本例中,我们可以很容易的将状态外推方程改正,只需在后面加上0.1乘以时间即可,但是在具体的实际问题中,我们可能并不知道正确的空间模型是什么,不能得到严格正确的状态外推方程,只知道当前模型存在滞后误差 。此时,就可以通过上文介绍的过程噪声对模型进行改正,将过程噪声的值变大,反映着状态方程的不确定性程度越高 。
上述引例中,将过程噪声方差从0.0001改为0.15 。在进行卡尔曼滤波迭代计算,结果如下:
四、多维卡尔曼滤波器1)多维情况下的状态外推方程
首先介绍多维情况下的状态外推方程:
2)多维情况下的协方差外推方程
多维情况下的协方差外推方程:
3)多维情况下的状态更新方程
状态更新方程:
4)协方差更新方程
协方差更新方程:
给出推导:
简化版更新方程:
5)卡尔曼增益方程
卡尔曼增益方程:
卡尔曼结构示意图:
6)引例6
汽车定位例子 。()
实现算例:ion.py
7)引例7
火箭高度示例 。
()
实现算例:.py
浅薄之见,敬请指正,共勉!
资源获取(笔记、代码、论文):
链接:
提取码:kalm
--来自百度网盘超级会员V4的分享