一种改进的粒子滤波算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种改进的粒子滤波算法
倪春光
【摘要】To improve the performance of nonlinear filter, a modified unscented particle filter (MUPF)is proposed. The algorithm constructs a new auxiliary model and combines it with the unscented Kalman
filter(UKF)to generate a new importance distribution function. Compared with traditional unscented particle filter (UPF) , it makes more efficient use of the latest observation information. The tracking performance and the root-mean-square error under non-Guassian model were analyzed in the simulation. The results show that MUPF not only has high tracking accuracy,but also outperforms in filter performance with fewer particles than general particle filters.%为提高非线性滤波的性能,提出一种改进的粒子滤波算法(MUPF),该算法将新构造的辅助模型和无迹卡尔曼滤波(UKF)相结合产生新的建议分布函数.与传统的无迹粒子滤波(UPF)相比,该算法充分利用了新的测量信息.在非高斯条件下与其他滤波器进行了仿真对比,分析了跟踪性能和均方根误差.仿真结果表明,MUPF不仅具有很高的跟踪精度,而且用很少的粒子就可以达到更好的滤波性能.
【期刊名称】《舰船科学技术》
【年(卷),期】2013(035)001
【总页数】3页(P35-37)
【关键词】非线性估计;粒子滤波;UKF;UPF
【作者】倪春光
【作者单位】91388部队,广东湛江524022
【正文语种】中文
【中图分类】O427.5
0 引言
对于非线性系统状态估计问题,当噪声是高斯时,传统的解决方法是扩展卡尔曼滤波 (EKF)和无迹卡尔曼滤波 (UKF)。

当噪声是非高斯时,人们提出了粒子滤波 (PF)、无迹粒子滤波 (UPF)等。

PF是一种基于蒙特卡罗方法的贝叶斯状态估计算法,通
过一组归一化权值的粒子来近似表示后验概率密度,其建议分布是先验概率密度,具有计算简洁的特点,但由于其建议分布没有包含新的测量信息,其粒子的使用效率不高。

而UPF采用UKF来计算建议分布,其中UKF对高斯随机变量的均值和
方差可以精确到三阶,并结合新的测量信息,可以使建议分布更好地逼近后验概率密度,但是运算量很大。

本文提出一种新的粒子滤波 (MUPF),与传统的UPF相比,它介绍了一种辅助模
型并且利用辅助模型和UKF来产生粒子的建议分布,从而提高计算的精确度。

1 粒子滤波
1.1 贝叶斯估计原理
假定动态时变系统可描述为
系统方程:
量测方程:
若已知状态的初始概率密度函数p(x0|y0)=p(x0),则状态预测方程和状态更新方程分别为
其中 p(yk|y0:k-1)=∫p(yk|xk)p(xk|y0:k-1)dxk ,由于其积分的复杂贝叶斯递归滤波很难实现,如果系统为高斯线性空间模型,可以通过卡尔曼滤波得到最优的状态估计。

对于非高斯非线性系统,如何快速计算积分是研究滤波算法的核心问题。

1.2 粒子滤波算法
PF是通过蒙特卡罗方法实现贝叶斯递归估计。

从待估计的后验分布p(x0:k|y0:k)中抽样出N个独立同分布的粒子和相应的归一化权值则分布p(x0:k|y0:k)的一个估计表示为
当无法从后验分布p(x0:k|y0:k)中直接采样时,可以找一个容易采样的密度分布函数q(x0:k|y0:k)(建议分布)中采样。

令w(x0:k)为重要性权值:
对任何可积函数的期望可以近似为
PF的实现步骤如下:
1)初始化k=0
从p(x0)采样粒子 {i=1,…,N}。

2)计算重要性权值
粒子权值更新方程:
3)归一化重要性权值
4)重采样
从中根据重要性权值重新采样得到新的N个粒子,并重新分配权值1/N。

5)返回状态估计值
随着迭代次数的增加,重要性权值的分布变得越来越倾斜,有可能出现粒子匮乏现象,为了避免粒子匮乏,Goden等提出了重采样方法,其主要思想就是去掉那些权值小的粒子,复制权值大的粒子。

2 UPF原理
在粒子滤波器中,关键问题是对建议分布的选择。

当)时,重要性权值条件方差最小,为最优重要性函数,但实际上很难对它进行采样。

在应用中更常使用先验概率密度来作为建议分布:
由于函数没有新的测量信息,它的性能主要依靠观测噪声的方差,当观测噪声的方差很小时,它的性能就很差。

而UPF是利用UKF来更新粒子均值和方差从而用高斯近似的方法作为建议分布密度函数其中N(·)表示高斯函数。

3 一种新的UPF滤波算法
称式(1)和式(2)为主模型,这里主要介绍一种辅助模型并使用UKF和它共同来产生建议分布。

3.1 辅助模型
定义辅助模型为
其中:mk为一个小方差高斯噪声,观测噪声nk和式 (2)中的vk认为是一样的。

如果h(·)是线性的,nk是高斯噪声,卡尔曼滤波就可以对rk进行最优估计。

在实际环境中,h(·)往往是非线性的,可以使用UKF来对rk进行估计。

3.2 MUPF算法
当观测噪声的方差很小时,MUPF将有更好的性能。

在k时刻,从UKF产出的建议分布密度中采样第1个粒子然后把和辅助模型结合并使用UKF产生新的建议分布,从中采样第2个粒子。

重复这个过程,递归地获得N表示粒子的总数。

由于UKF的缺陷,第1个粒子的建议分布N对后验分布产生弱的近似。

当观测噪声很小时,除了第1个粒子是从主模型中获得外,其他粒子都是从第1个粒子和辅助模型递归得到的,这N-1个粒子充分利用了新信息yk,因此,MUPF能更好地近似后验概率密度。

在辅助模型中,设,Pr0=Pr0=,z1=yk,然后使用UKF和辅助模型计算后验分布N,P1),令 NPr1)并从 N采样粒子通过设z2=…=zN-1=yk,重复这个过程并产生建议分布
MUPF的算法步骤如下:
1)初始化
当 k=0时,采样粒子=p(x0),i=1,…,N。

2)重要性采样
当i=1时,在主模型中用UKF及粒子产生建议分布N并采样当i=2,…,N时,在辅助模型中用UKF产生建议分布N并采样
3)重要性权值
当i=2,…,N时,
归一化权值
4)重采样
从中根据重要性权值重新采样得到新的N个粒子,并重新分配权值=1/N。

4 仿真试验
为了证明MUPF的性能,考虑一个非线性非高斯模型。

其中,w=4e-2,uk服从Gamma(3,2)分布,观测噪声vk服从高斯分布N(0,10-5),目标的初始状态x0=1,经过100次蒙特卡罗仿真,每次仿真时间是60 s,采样间隔为1 s。

1次独立试验的均方根误差定义为
图1表示MUPF使用20个粒子与其他滤波器对系统的状态估计,图2为采用EKF,UKF,PF,UPF及MUPF滤波算法对状态估计的均方根误差曲线图。

表1给出了粒子数为20的时候,各个滤波器的RMSE。

表1 RMSE的均值和方差Tab.1 Mean value and variance of RMSE算法均值
方差N EKF 0.3471 0.0254 UKF 0.2816 0.0104 PF 0.7856 0.042320 UPF
0.3458 0.0093 MUPF 0.00454 3.541e-007
5 结语
本文提出了一种新的粒子滤波算法 (MUPF)用来估计非线性非高斯系统的状态。

一般情况下,粒子滤波的主要问题是对建议分布的选择,它很大程度上决定着滤波的性能。

UPF通过UKF的一步预测来构建建议分布,由于UKF存在缺陷,使得建议分布不能与后验概率密度得到很好的近似。

MUPF通过使用辅助模型与UKF来构
造建议分布,更好地逼近了后验概率密度。

仿真结果表明,新的粒子滤波算法使用
很少的粒子就可以达到很高的精度。

参考文献:
[1]ARULAMPALAM M S,MASKELL S,GORDON N.A torial on particle filters for online nonlinear/non-Gaussian Bayesial tracking[J].IEEE Trans,Signal Process,2002,5(2):174-188.
[2]MERWE R V.A Doucet the Unscented Particle Filter A-dvances in neural Information Proceesing Systems[Z].MIT,2000.。

相关文档
最新文档