卡尔曼滤波
结合预测值和测量值的系统状态最优估计算法。
在连续变化的系统中使用卡尔曼滤波器是非常理想的,它具有占用内存小(除前一状态量外不需要保存其他历史数据)和速度快的优点,非常适用于实时问题和嵌入式系统。
根据k-1处的系统状态,预测K时刻的系统状态。
考虑外部因素控制的影响
外界因素会控制系统,会带来一些与系统本身状态无关的变化。其中,成为控制矩阵,称为控制向量。如果没有外控,这部分可以忽略。
外部噪声因数
每次预测之后,我们可以加入一些新的不确定性,用“外界”(即我们没有跟踪到的干扰)来构建这个不确定性模型。
总结:
从上面两个公式可以看出,新的最优估计是根据以前的最优估计,加上已知外控量的修正预测出来的。新的不确定性是由以前的不确定性预测出来的,加上了外部环境。
添加传感器观察数据
卡尔曼滤波的优点之一是可以处理传感器噪声。我们的传感器或多或少是不可靠的,原始估计中的每个状态都可以对应一定范围内的传感器读数。从测得的传感器数据,我们可以大致推测出系统目前处于什么状态。但是,由于不确定性,有些状态可能比我们得到的读数更接近真实状态。
传感器在早上用协方差表示,分布的平均值就是我们读取的传感器数据。
所以我们得到两个高斯分布,一个在预测值附近,另一个在传感器读数附近。将两个均值和方差不同的高斯分布相乘,得到一个新的均值和方差独立的高斯分布。
结果如下,其中k是卡尔曼增益。
总结:
我们可以用这些公式来建立任何线性系统的精确模型。对于非线性系统,我们使用扩展卡尔曼滤波器,不同的是EKF有一个额外的预测和测量的线性化过程。
参考文章:
/p/如何在图片中使用卡尔曼滤波器/
/u 010720661/article/details/63253509