Particle Filter Algorithm

问题提出

  在现实科研问题中,其中有很多都是非线性的。要想求得问题的解,就需要非线性的算法。所谓非线性滤波,就是基于带有噪声的观测值,估计非线性系统动态变化的状态,这一类问题都可以使用动态状态空间模型来描述。

算法研究现状

  解决非线性滤波问题的最为经典的方法是扩展卡尔曼滤波算法(EKF),对于弱非线性系统能够得到理想的滤波结果,但对于强非线性系统,EKF在线性化过程中不可避免的引入了更多的截断误差,使得系统真实的非线性特性得不到充分的体现。
  另一种解决非线性滤波问题的滤波器是无极卡尔曼滤波器(UKF),由于它以EKF框架为基础,与EKF一样对非线性系统的后验概率密度做高斯假设,对于一般的非高斯分布模型仍然不适用。
  另一种著名的方法是序贯蒙特卡罗方法(SMC),即粒子滤波算法(PF),该方法的基本思想是用一组样本(或称粒子)来近似表示系统的后验概率分布,然后使用这一近似的表示来估计非线性系统的状态。对于使用条件不严格要求。

算法原理

  基于m阶粒子滤波算法原理如下:

  但是由于粒子权值的方差随着时间递增,.经过若干次迭代以后,除了极少数粒子外,其他粒子的权值小到可以忽略不计的程度.意味着如果继续迭代下去,那么大量的计算资源就消耗在处理那些微不足道的粒子上,不仅造成了资源的浪费,也影响了最终的估计结果.
  对于这种影响,有两种措施来弥补:
  1.引入有效采样数量.
  2.使用重采样方法.重采样方法就是把那些权值较小的粒子舍弃,而将权值较大的粒子进行繁殖,产生多个等权值的粒子.选择好的重要性采样密度也可以减少退化现象的影响.

猜你喜欢

转载自www.cnblogs.com/BurtonChang/p/12368163.html