一、预备知识
1、协方差矩阵
可以看出
协方差矩阵都是对称矩阵且是半正定的
2、用到的两个矩阵微分公式
公式一:
tr表示矩阵的迹,具体推导过程参考相关矩阵分析教程
二、系统模型与变量说明
1、系统离散型状态方程如下
由k-1时刻到k时刻,系统状态预测方程
系统状态观测方程
2、变量说明如下
初始状态以及每一时刻的噪声都认为是互相独立的,实际上,很多真实世界的动态系统都并不确切的符合这个模型;但是由于卡尔曼滤波器被设计在有噪声的情况下工作,一个近似的符合已经可以使这个滤波器非常有用了。
三、卡尔曼滤波器
卡尔曼估计实际由两个过程组成:预测与校正,在预测阶段,滤波器使用上一状态的估计,做出对当前状态的预测。在校正阶段,滤波器利用对当前状态的观测值修正在预测阶段获得的预测值,以获得一个更接进真实值的新估计值。
1、变量说明
2、卡尔曼滤波器计算过程
预测:
校正:
更新协方差估计:
观察以上六个式子,我们使用过程中关键要明白,
的算法原理,及
的更新算法
3、卡尔曼滤波算法详细推导
从协方差矩阵开始说起,真实值与预测值之间的误差为
真实值与估计值之间的误差为
卡尔曼估计误差协方差矩阵为
卡尔曼滤波本质是最小均方差估计,而均方差是的迹,将上式展开并求迹
套用第一节中提到的那两个矩阵微分公式,得到
令上式等于0,得到
到此,我们就知道了卡尔曼增益是怎么算出来的了,但是又有问题,是怎么算的呢?
所以预测误差协方差矩阵可以由上一次算出的估计误差协方差矩阵
及状态转移矩阵
和过程激励噪声的协方差矩阵
算得
四、实例
在惯性器件+GPS融合定位中,卡尔曼滤波是比较常用的。这里简化举例,简化为一维的,假设小车沿一条直线行驶。里面有加速度计来计算位置,每100ms计算一次,并有GPS定位,1S更新一次。套到上述公式中,是这样操作的,在GPS没有更新的时候,只能作预测,用这几个公式:
由于我们简化为一维,公式可以写成这样
是由加表每个计算周期的积分得到的位置增量,
就代表加表误差,
是卡尔曼增益,GPS没有更新时,
不会变,初始时设置
。可以看出随着计算次数的增加,衡量预测误差的
会越来越大。这和实际情况也是一致,积分次数越多,累积误差会越来越大 。
越大,
发散得越快,传感器精度,影响预测精度 。
更新了10次,1秒时间到了,GPS有更新,然后就到了校正过程,套用:
由这三个公式就得到了卡尔曼估计值。r是常量,描述GPS的测量误差。由
的计算公式,可以看出,预测误差
越大,
越接近1,再看第三个公式,k越接近1,
越接近测量值
, 这个公式和互补滤波的公式很像,但是这个权重k是动态变化的,这也是卡尔曼滤波的高明之处。总结就是,单凭传感器预测位置,计算次数越多,误差
就会越大,卡尔曼增益
就越大,测量值权重就越大,校正时,最终估计值 就会越接近测量值 。校正完了之后 ,GPS 就又要等1秒才能更新,这1秒内,是不是只能更相信加表了?这是肯定的,
就接近
了,说明累积的误差清零了。校正完了之后 ,可以更相信预测值 ,随着预测更新次数增加。预测误差会更大,导致校正时,卡尔曼增益会更大,更加相信观测值 ,周而复始。
五、总结
总结卡尔曼滤波的更新过程为
1步,首先,
已知,然后由
算出
,再由
算出
,有了这些参数后,结合观测值就能估计出
,再利用
更新
2步,然后下次更新过程为由算出
,再由
算出
,有了这些参数后,结合观测值就能估计出
,再利用
更新
……
n步,由算出
,再由
算出
,有了这些参数后,结合观测值就能估计出
,再利用
更新
这就是卡尔曼滤波器递推过程。
(转载请声明出处 谢谢合作)
reference:
1、https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%B0%94%E6%9B%BC%E6%BB%A4%E6%B3%A2
2、《矩阵分析与应用》 张贤达 著
今天的文章卡尔曼滤波算法详细推导方法_卡尔曼滤波5个公式[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/71952.html