http://原文链接:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/
SourceURL:file:///home/yzl/Documents/什么是卡尔曼滤波.docx
什么是卡尔曼滤波?
你可以在任何含有不确定信息的动态系统中使用卡尔曼滤波,对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔曼滤波总是能指出真实发生的情况。
在连续变化的系统中使用卡尔曼滤波是非常理想的,它具有占用内存小的优点(除了前一个状态量外,不需要保留其它历史数据),并且速度很快,很适合应用于实时问题和嵌入式系统。
从这篇博文中,我们知道,需要解决的问题就是由上一状态求当前状态;以及从上一协方差矩阵求当前状态的协方差矩阵;
协方差矩阵作用
我们并不知道实际的位置和速度,它们之间有很多种可能正确的组合,但其中一些的可能性要大于其它部分。卡尔曼滤波假设两个变量(位置和速度,在这个例子中)都是随机的,并且服从高斯分布。每个变量都有一个均值 μ,表示随机分布的中心(最可能的状态),以及方差,表示不确定性。
(1)根据对实际问题对应的系统进行分析,可以得到预测的一组状态值和协方差矩阵。
由上式可知,新的最优估计是根据上一最优估计预测得到的,并加上已知外部控制量的修正。
而新的不确定性由上一不确定性预测得到,并加上外部环境的干扰。
好了,我们对系统可能的动向有了一个模糊的估计,用和来表示。如果再结合传感器的数据会怎样呢?
(2)根据传感器测量的结果,又能得到测量的一组状态值和协方差矩阵。
从测量到的传感器数据中,我们大致能猜到系统当前处于什么状态。但是由于存在不确定性,某些状态可能比我们得到的读数更接近真实状态。我们将这种不确定性(例如:传感器噪声)用协方差表示,该分布的均值就是我们读取到的传感器数据,称之为。现在我们有了两个高斯分布,一个是在预测值附近,一个是在传感器读数附近。
即将不确定状态都假设为一个高斯分布,对应一个均值和一个方差。
至此,得到了预测的和测量的上一状态与当前状态的关系;以及从上一协方差矩阵求当前状态的协方差矩阵的关系;
结合这两组关系式,可以对实际状态进行确定。