通俗理解卡尔曼滤波
Posted 有理想、有本领、有担当的有志青年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通俗理解卡尔曼滤波相关的知识,希望对你有一定的参考价值。
卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
一、卡尔曼滤波有什么用?
- 数据A不能直接测量的情况下,使用卡尔曼滤波器通过数据B预测数据A
- 通过传感器等测量数据有误差时,通过卡尔曼滤波器进行优化,减小误差
二、卡尔曼滤波是什么?
状态观察器
(1)状态观察器有什么作用?
假设我们在开火箭,
火箭油箱过热会炸,你需要时刻监测温度并调整燃油流量,
但是你不能直接测量油箱里面,因为温度计会炸,
你可以测量油箱外面的温度,你也知道燃油的流量,
现在你拥有强大的数学能力来做出一个模型能模拟整个过程,
只要模拟出来的油箱外部温度=测量出来的温度,
那么预测出来的油箱内部温度肯定也是对的
但是你这个模型有很大的不确定性,因为你在太空不知道会发生什么,
所以,模拟出来的油箱外部温度=测量出来的温度是不可能的,
状态观察器能解决这个问题。
(2)状态观察器的组成
上文已经提到我们已经得出了数学模型,
需要解决的是算出来的和测出来的不匹配咋整,
于是我们加入了控制器K,
根据测量值来调整计算得出来的结果,
通过一系列的数学公式,
我们可以能够尽可能的减小测量值与计算值的误差
而如何处理这个K,
便是卡尔曼滤波方法
最佳状态估计器
我们知道,
测量时总会有误差,符合正态分布,
我们做出的数学模型,因为外界的干扰也会有误差,也符合正态分布
因此我们将二者结合起来,通过数学方法(两个概率函数相乘),
即可获得最接近正确的结果
这便是最佳状态估计器
下面我们将计算数学模型产生的误差P
卡尔曼滤波器
第一步:用于预测的算法:用于计算状态估计值和误差协方差P(不确定性的度量)
在最开始k-1的值来自初始估计值
第二步:使用第一步的结果,更新x和P并计算,并调整Kk,使P最小,此时的P为当前状态的误差协方差
第三步:重复步骤进行迭代
三、进一步学习
以上是关于通俗理解卡尔曼滤波的主要内容,如果未能解决你的问题,请参考以下文章