卡尔曼滤波

结合预测值和测量值的系统状态最优估计算法。

在连续变化的系统中使用卡尔曼滤波器是非常理想的,它具有占用内存小(除前一状态量外不需要保存其他历史数据)和速度快的优点,非常适用于实时问题和嵌入式系统。

根据k-1处的系统状态,预测K时刻的系统状态。

考虑外部因素控制的影响

外界因素会控制系统,会带来一些与系统本身状态无关的变化。其中,成为控制矩阵,称为控制向量。如果没有外控,这部分可以忽略。

外部噪声因数

每次预测之后,我们可以加入一些新的不确定性,用“外界”(即我们没有跟踪到的干扰)来构建这个不确定性模型。

总结:

从上面两个公式可以看出,新的最优估计是根据以前的最优估计,加上已知外控量的修正预测出来的。新的不确定性是由以前的不确定性预测出来的,加上了外部环境。

添加传感器观察数据

卡尔曼滤波的优点之一是可以处理传感器噪声。我们的传感器或多或少是不可靠的,原始估计中的每个状态都可以对应一定范围内的传感器读数。从测得的传感器数据,我们可以大致推测出系统目前处于什么状态。但是,由于不确定性,有些状态可能比我们得到的读数更接近真实状态。

传感器在早上用协方差表示,分布的平均值就是我们读取的传感器数据。

所以我们得到两个高斯分布,一个在预测值附近,另一个在传感器读数附近。将两个均值和方差不同的高斯分布相乘,得到一个新的均值和方差独立的高斯分布。

结果如下,其中k是卡尔曼增益。

总结:

我们可以用这些公式来建立任何线性系统的精确模型。对于非线性系统,我们使用扩展卡尔曼滤波器,不同的是EKF有一个额外的预测和测量的线性化过程。

参考文章:

/p/如何在图片中使用卡尔曼滤波器/

/u 010720661/article/details/63253509