卡尔曼滤波原理及应用:MATLAB仿真(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.6 粒子滤波

Kalman滤波及其衍生滤波器受限于系统噪声的分布为高斯分布,不能用在非高斯分布的场景,即在处理有色噪声时,Kalman滤波及其衍生滤波器会显得乏力或者需要借助某些处理。这个问题在一段时间内一直困扰着这个领域的研究者。随着个人计算机的普及、PC计算能力的提升,滤波算法有了新的进展。1993年,Gordon等人提出了一种全新的方法解决非线性非高斯贝叶斯状态估计问题,后来被称为粒子滤波(Particle Filter,PF)。

粒子滤波无须假设系统的状态方程为线性,也无须要求系统的过程噪声或者观测噪声为高斯分布,即噪声可以是任意分布。它通过一组随机样本点(粒子集合)来近似系统随机变量的概率密度函数,以样本均值代替积分运算,从而获得状态的最小方差估计。粒子滤波的粒子集合根据贝叶斯准则进行适当的加权和递归传播。粒子集合加权平均之后的结果,便是滤波器的状态更新,即滤波结果。

粒子滤波的历史追溯,要从20世纪40年代Metropolis等人提出的蒙特卡罗方法(Monte Carlo Method)开始。20世纪70年代,蒙特卡罗方法首次用于解决非线性滤波问题,当时使用的是一种序贯重要性采样算法。粒子滤波的正式建立应归功于Gordon、Salmond和Smith所提出的重采样(Resampling)技术。几乎同时,一些统计学家也独立地发现和发展了采样-重要性重采样思想(Sampling-Importance Resampling,SIR)。该思想最初由Rubin于1987年在非动态的框架内提出。20世纪90年代中期,粒子滤波被重新发现并成为热点应部分归功于科学计算机计算能力的提高。

粒子滤波也存在粒子集合退化的问题,即粒子的权值方差会随着时间推移而不断增加,经过若干次迭代,除了少数粒子,其他粒子的权值会小到可以忽略不计,导致粒子多样性的散失,最终导致滤波发散。2000 年前后,各种改进的粒子滤波算法不断涌现。例如,有借助扩展Kalman滤波和无迹Kalman滤波产生粒子集合的建议密度的,于是就有了EPF和UPF。

粒子滤波和 Kalman 滤波的重要性,在自动控制领域可以类比牛顿的三大定律。它们都是贝叶斯滤波的不同表述和推广。对粒子滤波更详细的叙述及其应用介绍,请阅读《粒子滤波原理及应用》,在此并不做展开论述。