1960年,卡尔曼发表了他著名的用递归方法解决离散数据线性滤波问题的论文。从那以后,得益于数字计算技术的进步,卡尔曼滤波器已经衍生出来多种版本的滤波器。卡尔曼滤波(英文kalman filter)是一种高效率的递归滤波器(自回归滤波器),如果不以人名命名,则其名称是线性二次估计(linear quadratic estimation),它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波会根据各测量在不同时间下的值,考虑各时间下的联合分布,再产生对未知变数的估计,因此会比只以单一测量为基础的估计方式要准。下表给出了最常见的几个卡尔曼滤波变种,此外还存在多种数据优化的版本,这里不再指出。
– 标准卡尔曼滤波(KF)
– 扩展卡尔曼滤波(EKF)
– 无迹卡尔曼滤波(UKF)
许多教科书推导出kalman filter作为贝叶斯准则的一种应用,假设所有的估计都有独立的高斯分布误差。这导致了一种常见的误解,即kalman filter只能在高斯假设下严格应用。这实际上是错误的,卡尔曼滤波的准则是“线性最小方差”,在假设状态、过程噪声、量测噪声都服从正态分布时,“线性最小方差”与“贝叶斯准则”是一致的。实际上,并不是只有高斯才能使用卡尔曼滤波,卡尔曼滤波是一种仅挖掘均值和协方差信息来估计的一种方法。
- 与贝叶斯滤波:卡尔曼滤波的最优标准是线性最小方差;贝叶斯滤波的准则是描述整个概率分布状况;如果我们假定估计值、过程噪声、量测噪声是可叠加的、独立的、高斯的,那么贝叶斯滤波的解和卡尔曼滤波一致(这是因为高斯分布只需要均值和协方差矩阵即可完全描述);但是如果我们不假定高斯,卡尔曼滤波依旧是线性最小方差意义上的最优线性滤波器,在其它分布(比如均匀分布、拉普拉斯分布、对数正态分布等)条件下,也能获得不错的精度。
- 思想:适用于时变系统的一种估计方法,总体来说,利用先前时刻的状态估计,并结合当前时刻的观测数据进行误差补偿的递归动态状态估计算法。
- 特点:仅利用被估计量的均值和协方差矩阵,当进行线性和拟线性变换时,均值和协方差估计可以有效地保持。类似的结果不适用于分布的其他非零矩。
- 实用意义:未知分布的均值和协方差只需要维持少量恒定的信息,但这些信息足以支持大多数类型的操作活动。因此,它是计算复杂性和表示灵活性之间的成功折衷。相比之下,要完整地描述一个不断变化的误差分布,就需要保持无限数量的参数。即使有可能维护完整的概率函数信息,该信息也可能在操作上没有用处。