APP下载

一种改进的粒子滤波算法

2014-11-07邓寻辛强

科技创新导报 2014年19期
关键词:粒子滤波变异

邓寻++辛强

摘 要:粒子滤波中存在着权值退化的问题,重采样技术的引用能够很好的解决这个问题。但是重采样在解决这个问题的同时又带来了新的问题:样本多样性的损失。为了解决重采样引起的样本贫化的问题,该文提出了一种改进的粒子滤波算法。在重采样之前,根据粒子权值的大小对相应的粒子采用人工免疫算法中的变异操作来保证粒子的多样性,为了验证改算法的有效性,分别对PF、EPF、IPF滤波方法进行了仿真,通过对仿真结果的分析与比较,验证了改算法的有效性。

关键词:重采样 变异 粒子滤波

中图分类号:TP301.6 文献标志码:A 文章编号:1674-098X(2014)07(a)-0199-03

An Improved Particle Filtering Algorithm

DENG Xun1,2,XIN Qiang1,2

(1.Panzhihua Univ., Panzhihua 617000,China;2.Xihua Univ.,Chengdu 610039,China)

Abstract:The resampling technique can do well with the weights degradation problems in particle filter. However, such method brings another trouble, loss in samples diversityat the same time. In order to solve the sample impoverishment caused by resampling algorithm, an improved particle filter algorithm is proposed in this paper. Before the resampling algorithm, It is used to guarantee the diversity of particles which is according to the size of the particle weight of corresponding particle mutation of artificial immune algorithm. To demonstrate the effectiveness of this algorithm, PF, EPF, IPF filtering methods are simulated respectively, the validity of this method is proved by analysis and comparison the results.

Key words:resampling Variation particle filter

粒子滤波(Particle Filter,PF)是一种基于贝叶斯理论和蒙特卡罗方法的在线推理算法,通过加权样本集非参数化地近似后验分布。由于它能够有效的处理非线性、非高斯滤波问题,目前被充分利用在信号处理[1]、机动目标跟踪[2]等方面。Liu在文献[3]中指出,以序贯重要性取样SIS(Sequential Importance Sampling)为基础的粒子滤波技术在一些文献中。由于计算的复杂性和权值的退化问题,粒子滤波技术在相当长一段时间未能取得大的进展。直到1993年Gordon[4]等人提出在递推过程中进行重采样,改善了权值退化的情况,粒子滤波技术才开开始得到较好的发展与应用。

针对权值的退化问题,目前已有多种重采样算法,最基本的有系统重采样、多项式重采样、分层重采样和残差重采样[5]。重采样技术解决了权值退化问题的同时也导致了样本贫化。为了解决这些问题,Gordon等人提出每次采样KN个样本,在从中重新采样N个粒子[4],这样做虽然增加了粒子的多样性,但同时也存在运算量大以及滤波精度难以保证的问题;邹国辉[6]等人提出了基于优化重采样的粒子滤波算法,通过将复制的采样点与被抛弃的采样点进行线性组合来产生新采样点,增加了粒子的多样性,但线性组合中的步长系数值的选取是一个难点;张琪[7]等人提出了基于权值选择的粒子滤波方法来解决样本贫化的问题,因为要按照权值的大小进行排序,而且选取的粒子数过大,所以算法的实时性较差;程水英[8]等人提出了裂变自举粒子算法,通过在重采样之前对高权值的粒子进行裂变来覆盖低权值粒子的方法来减少样本的贫化,但是其裂变过程对权值信息的利用不充分, 滤波精度不高。

该文针对粒子权值退化和样本贫化的问题,从改善权值、增加粒子多样性的角度出发,提出了一种改进的粒子滤波算法(Improved Particle Filter,IPF)。该算法是在重采样之前,将粒子的权值与一定的阀值进行比较,将小于该阀值的粒子按照文献[8]进行变异产生新的粒子,然后再将新的粒子的权值与变异前粒子的权值进行比较,选取权值较大的粒子进行状态估计,然后将所有粒子用于下一时刻的迭代计算。该算法不需要将每个粒子都进行变异,也不需要将变异前后的粒子按照权值的大小进行排序,与文献[9]提出的方法相比,具有良好的实时性。

1 粒子滤波算法

粒子滤波又叫做序贯蒙特卡罗方法,其核心思想是利用一系列随机样本的加权和来表示所需的后验概率密度,得到状态估计值。在粒子滤波算法中,用表示粒子集,用表示各个粒子对应的权值,其中表示抽取的粒子数。归一化后的权值满足。为了缓解权值的退化问题,重要性函数的选取变得至关重要。在现有的技术条件下,直接从真实的后验概率分布中采样是困难的,甚至是不可能实现的。所以经常采用次优算法,将易于实现的先验概率密度作为重要性函数,即:

Step6:判断是否结束,若是则退出算法,否则转至Step2。endprint

3 仿真结果与分析

为了验证改进后的算法的有效性,取非线性动态模型为:

观测噪声,过程噪声,设初始状态,时间,本实验选择的实验平台为Matlab7.0。为了验证新算法的可行性,分别对标准粒子滤波(PF)、扩展卡尔曼粒子滤波(EKPF)和改进的粒子滤波(IPF)算法进行仿真,其中采样抽取粒子数。仿真过程中,有效样本数设定为。图1和表1为某次独立实验的仿真结果。

从(图1)中可以看出EKPF和PF算法存在明显发散的点,IPF算法要优于EKPF和PF。出现这个问题的主要原因是EKPF算法是是建立在非线性系统近似线性化的基础上,它只适用于弱非线性系统,在线性系统中滤波性能较差。PF算法虽然适用于强非线性系统,但是它的权值退化问题比较严重。而IPF算法是在重采样之前对权值小的粒子进行调节,有效的缓解了粒子的权值退化和多样性损失的问题。(表1)也表明了IPF算法的滤波精度更高。在同样的仿真环境下IPF算法的RMSE为0.0053173,PF算法的RMSE为0.27411,在仿真时间差不多的情况下,PF的RMSE是IPF的51.6倍,很明显的说明了IPF算法的优越性。同样,将这两种算法与EKF算法做比较,很容易看出EKF算法的滤波性能较差。

为了进一步的说明IPF算法的有效性,本文过对这三种不同的算法进行次独立的蒙特卡洛模拟实验。实验中均方根误差公式为:,其中为真实值,为状态估计值。(图2)为三种算法的均方根误差的方差图,(表2)给出了三种算法仿真后得到的有效数据。

从(图2)中能够直观的看出,IPF算法得到的状态估计值与真实值较接近,滤波精度更高。而表2中IPF算法的RMSE的均值也最小,说明了IPF算法在改进权值退化时的高效性,并能提高状态估计值的精度。

4 结语

该文提出的改进算法是在重采样过程之前,对粒子的权值进行预处理,通过比较一定的权值的阀值对权值小的粒子进行变异,增加了用于状态估计粒子权值的同时也保证了粒子的多样性。有效的缓解了权值退化和重采样引起的粒子多样性的缺失,算法的估计精度得到了良好的保证。仿真结果表明了该算法较强的鲁棒性和良好的滤波性能。

参考文献

[1] Laska B N M,Bolic M,Goubran R A.Particle Filter Enhancement of Speech Spectral Amplitudes[J].IEEE Transactions on Audio,Speech,and Language Processing,2010,18(8):2155-2167.

[2] Liu Jing,Han ChongZhao,Vadakkepat P.Process Noise Identification Based Particle Filter:An Efficient Method to Track Highly Maneuvering Targets[J].Signal Processing,IET,2011,5(6):538-546.

[3] J.S.Liu.Monte Carlo Strategies in Scientific Computing.Berlin:Springer,2001.

[4] Gordon N J,Salmond D J,Smith A F M.Novel approach to nonlinear/mon-Gaussian Bayesian stste estimation[J]. IEEE-Proceedings-Radar,Sonar and Navigation,1993,140(2):107-113.

[5] 冯驰,王萌,汲清波.粒子滤波器重采样算法的分析与比较[J].系统仿真学报,2009,21(4):1101-1105.

[6] 邹国辉,敬忠良,胡洪涛.基于优化组合重采样的粒子滤波算法[J].上海交通大学报,2006,40(7):1135-1139.

[7] 张琪,胡昌华,乔玉坤.基于权值选择的粒子滤波算法研究[J].控制与决策, 2008,23(1):117-120.

[8] 张琪,王鑫,胡昌华.人工免疫粒子滤波算法的研究[J].控制与决策,2008,23(3):293-296.

[9] 程水英,张剑云.裂变自举粒子滤波[J].电子学报,2008,36(3):500-503.endprint

3 仿真结果与分析

为了验证改进后的算法的有效性,取非线性动态模型为:

观测噪声,过程噪声,设初始状态,时间,本实验选择的实验平台为Matlab7.0。为了验证新算法的可行性,分别对标准粒子滤波(PF)、扩展卡尔曼粒子滤波(EKPF)和改进的粒子滤波(IPF)算法进行仿真,其中采样抽取粒子数。仿真过程中,有效样本数设定为。图1和表1为某次独立实验的仿真结果。

从(图1)中可以看出EKPF和PF算法存在明显发散的点,IPF算法要优于EKPF和PF。出现这个问题的主要原因是EKPF算法是是建立在非线性系统近似线性化的基础上,它只适用于弱非线性系统,在线性系统中滤波性能较差。PF算法虽然适用于强非线性系统,但是它的权值退化问题比较严重。而IPF算法是在重采样之前对权值小的粒子进行调节,有效的缓解了粒子的权值退化和多样性损失的问题。(表1)也表明了IPF算法的滤波精度更高。在同样的仿真环境下IPF算法的RMSE为0.0053173,PF算法的RMSE为0.27411,在仿真时间差不多的情况下,PF的RMSE是IPF的51.6倍,很明显的说明了IPF算法的优越性。同样,将这两种算法与EKF算法做比较,很容易看出EKF算法的滤波性能较差。

为了进一步的说明IPF算法的有效性,本文过对这三种不同的算法进行次独立的蒙特卡洛模拟实验。实验中均方根误差公式为:,其中为真实值,为状态估计值。(图2)为三种算法的均方根误差的方差图,(表2)给出了三种算法仿真后得到的有效数据。

从(图2)中能够直观的看出,IPF算法得到的状态估计值与真实值较接近,滤波精度更高。而表2中IPF算法的RMSE的均值也最小,说明了IPF算法在改进权值退化时的高效性,并能提高状态估计值的精度。

4 结语

该文提出的改进算法是在重采样过程之前,对粒子的权值进行预处理,通过比较一定的权值的阀值对权值小的粒子进行变异,增加了用于状态估计粒子权值的同时也保证了粒子的多样性。有效的缓解了权值退化和重采样引起的粒子多样性的缺失,算法的估计精度得到了良好的保证。仿真结果表明了该算法较强的鲁棒性和良好的滤波性能。

参考文献

[1] Laska B N M,Bolic M,Goubran R A.Particle Filter Enhancement of Speech Spectral Amplitudes[J].IEEE Transactions on Audio,Speech,and Language Processing,2010,18(8):2155-2167.

[2] Liu Jing,Han ChongZhao,Vadakkepat P.Process Noise Identification Based Particle Filter:An Efficient Method to Track Highly Maneuvering Targets[J].Signal Processing,IET,2011,5(6):538-546.

[3] J.S.Liu.Monte Carlo Strategies in Scientific Computing.Berlin:Springer,2001.

[4] Gordon N J,Salmond D J,Smith A F M.Novel approach to nonlinear/mon-Gaussian Bayesian stste estimation[J]. IEEE-Proceedings-Radar,Sonar and Navigation,1993,140(2):107-113.

[5] 冯驰,王萌,汲清波.粒子滤波器重采样算法的分析与比较[J].系统仿真学报,2009,21(4):1101-1105.

[6] 邹国辉,敬忠良,胡洪涛.基于优化组合重采样的粒子滤波算法[J].上海交通大学报,2006,40(7):1135-1139.

[7] 张琪,胡昌华,乔玉坤.基于权值选择的粒子滤波算法研究[J].控制与决策, 2008,23(1):117-120.

[8] 张琪,王鑫,胡昌华.人工免疫粒子滤波算法的研究[J].控制与决策,2008,23(3):293-296.

[9] 程水英,张剑云.裂变自举粒子滤波[J].电子学报,2008,36(3):500-503.endprint

3 仿真结果与分析

为了验证改进后的算法的有效性,取非线性动态模型为:

观测噪声,过程噪声,设初始状态,时间,本实验选择的实验平台为Matlab7.0。为了验证新算法的可行性,分别对标准粒子滤波(PF)、扩展卡尔曼粒子滤波(EKPF)和改进的粒子滤波(IPF)算法进行仿真,其中采样抽取粒子数。仿真过程中,有效样本数设定为。图1和表1为某次独立实验的仿真结果。

从(图1)中可以看出EKPF和PF算法存在明显发散的点,IPF算法要优于EKPF和PF。出现这个问题的主要原因是EKPF算法是是建立在非线性系统近似线性化的基础上,它只适用于弱非线性系统,在线性系统中滤波性能较差。PF算法虽然适用于强非线性系统,但是它的权值退化问题比较严重。而IPF算法是在重采样之前对权值小的粒子进行调节,有效的缓解了粒子的权值退化和多样性损失的问题。(表1)也表明了IPF算法的滤波精度更高。在同样的仿真环境下IPF算法的RMSE为0.0053173,PF算法的RMSE为0.27411,在仿真时间差不多的情况下,PF的RMSE是IPF的51.6倍,很明显的说明了IPF算法的优越性。同样,将这两种算法与EKF算法做比较,很容易看出EKF算法的滤波性能较差。

为了进一步的说明IPF算法的有效性,本文过对这三种不同的算法进行次独立的蒙特卡洛模拟实验。实验中均方根误差公式为:,其中为真实值,为状态估计值。(图2)为三种算法的均方根误差的方差图,(表2)给出了三种算法仿真后得到的有效数据。

从(图2)中能够直观的看出,IPF算法得到的状态估计值与真实值较接近,滤波精度更高。而表2中IPF算法的RMSE的均值也最小,说明了IPF算法在改进权值退化时的高效性,并能提高状态估计值的精度。

4 结语

该文提出的改进算法是在重采样过程之前,对粒子的权值进行预处理,通过比较一定的权值的阀值对权值小的粒子进行变异,增加了用于状态估计粒子权值的同时也保证了粒子的多样性。有效的缓解了权值退化和重采样引起的粒子多样性的缺失,算法的估计精度得到了良好的保证。仿真结果表明了该算法较强的鲁棒性和良好的滤波性能。

参考文献

[1] Laska B N M,Bolic M,Goubran R A.Particle Filter Enhancement of Speech Spectral Amplitudes[J].IEEE Transactions on Audio,Speech,and Language Processing,2010,18(8):2155-2167.

[2] Liu Jing,Han ChongZhao,Vadakkepat P.Process Noise Identification Based Particle Filter:An Efficient Method to Track Highly Maneuvering Targets[J].Signal Processing,IET,2011,5(6):538-546.

[3] J.S.Liu.Monte Carlo Strategies in Scientific Computing.Berlin:Springer,2001.

[4] Gordon N J,Salmond D J,Smith A F M.Novel approach to nonlinear/mon-Gaussian Bayesian stste estimation[J]. IEEE-Proceedings-Radar,Sonar and Navigation,1993,140(2):107-113.

[5] 冯驰,王萌,汲清波.粒子滤波器重采样算法的分析与比较[J].系统仿真学报,2009,21(4):1101-1105.

[6] 邹国辉,敬忠良,胡洪涛.基于优化组合重采样的粒子滤波算法[J].上海交通大学报,2006,40(7):1135-1139.

[7] 张琪,胡昌华,乔玉坤.基于权值选择的粒子滤波算法研究[J].控制与决策, 2008,23(1):117-120.

[8] 张琪,王鑫,胡昌华.人工免疫粒子滤波算法的研究[J].控制与决策,2008,23(3):293-296.

[9] 程水英,张剑云.裂变自举粒子滤波[J].电子学报,2008,36(3):500-503.endprint

猜你喜欢

粒子滤波变异
新型冠状病毒关切变异株的研究进展
变异危机
变异
基于智能粒子滤波的多传感器信息融合算法
基于重采样粒子滤波的目标跟踪算法研究
复杂场景中的视觉跟踪研究
一种针对海面弱小目标的检测方案
变异的蚊子
病毒的变异
基于粒子滤波的OFDM载波频偏和信道联合估计