一种有效的粒子滤波器的改进算法

赵安近况Vol.10No.5May.2008
第10卷第5期
2008年5月
0引言
粒子滤波(Particlefilter,简称PF)是一种新
的滤波算法,是递推贝叶斯估计的一种具体实现方法。它通过非参数化的蒙特卡罗模拟方法来实现递推贝叶斯滤波,其思想是利用一系列随机抽取的样本以及样本的权重来计算状态后验概率分布(样本即粒子),从而得到状态的各种信息。当样本点数增至无穷大,蒙特卡罗模拟特性与后验概率密度函数表示等价时,其滤波精度可以逼近最优估计。该方法不受系统线性和噪声高斯分布假定的限制,能适用任何环境下任何状态的转换或测量模型。
粒子滤波算法中普遍存在的问题是退化现象。退化现象是指经过几次迭代后,除了一个粒子具有较高权值以外,其余粒子均只有非常小的权值,进而使用于近似后验概率分布的有效粒子数太少。退化现象意味着大量的计算工作都被用来更新那些对后验概率密度的估计几乎没有作用的粒子上。目前解决退化问题主要有两种方法:选取合适的重要性函数和进行重采样。其中重采样的基本思想是去除权值小的粒子
而对权值大的粒子进行复制,但这样在采样结果中就会包含许多重复点,从而丧失了粒子的多样性,故可能使采样枯竭。增加粒子数可以改善这一问题,但仿真结果表明其效果并不理想。为此,本文讨论了粒子滤波算法,并在重采样后引入一个马尔可夫
链蒙特卡罗移动步骤(MCMC)增加粒子的多样性。该方法可用于粒子滤波器的各种改进算法中。与增加粒子数目的方法相比,MCMC可以更好的提高滤波器的性能。
粒子滤波
1.1
贝叶斯估计
贝叶斯估计为动态系统的估计提供了一个严
谨的解决框架。对于待估计的参数,贝叶斯估计先给出该参数的先验概率分布,然后再结合样本信息得到参数的后验概率分布情况。
首先可假定系统的状态方程是:
xt=ft(xt-1,ui)
量测方程是:
zt=ht(xt,vt)
其中,ft和ht分别是状态函数和观测函数;ut
和vt是后验概率已知的、独立于过去和当前的噪声序列,而且它们互相独立。若已知状态的初始概率密度函数为:p(x0|z0)=p(x0),且假设系统服从一阶马尔可夫过程,且系统观测独立,则状态预测方程和状态更新方程分别为:
p(xt|z1:t-1)=!
p(xt|xt-1)p(xt-1|z1:t-1)dxt-1(1)p(xt|z1:t)=
p(zt|xt)p(xt|z1:t-1)
!p(zt
|xt
)p(xt
|z
1:t-1
)dxt
(2)
在更新方程(2)中,测量值zt被用来修正后验概率密度,以获得当前状态的后验概率密度函
收稿日期:2007-12-21
一种有效的粒子滤波器的改进算法
薛亚茹,李明
阎锡山日记
(西安电子科技大学雷达信号重点实验室,陕西
西安
710071)
要:为了解决粒子滤波算法中重采样后粒子中包含重复点过多,从而丧失了粒子的多样
性等问题,文中在重采样后引入一个马尔可夫链蒙特卡罗(MCMC)移动步骤来增加粒子的多样性,因而能更好地近似状态的后验概率分布。
关键词:贝叶斯估计;粒子滤波;马尔可夫链蒙特卡罗(MCMC)步骤;Metropolis-Hastings算法
技术前沿
ElectronicComponent&DeviceApplicationsVol.10No.5May.2008
第10卷第5期
2008年5月
数。式(1)和(2)是贝叶斯估计的一般表达式,其中的积分仅可对某些线性动态系统获得解析解,而非线性非高斯系统通常是很难求解的。1.2粒子滤波
贝叶斯估计是粒子滤波的理论基础。粒子滤波是基于贝叶斯估计和蒙特卡罗法近似数值解的方法,其本质是将积分运算变成有限样本点的求和运算。它的核心思想是利用一系列随机抽取的粒子和粒子的权重来计算状态的后验概率分布,从而得到状态的估计。
在蒙特卡洛法中,后验密度函数可由下式来近似:
p(x
0:t|z
1:t
)=1
n0706
i=1
!δ(x0:t-x(i)0:t)(3)
其中,x(i)
0:t
是采样点,δ()是Diracdelta函数。
0:t
的任意函数的期望值:
E[g(x
0:t
]="g(x0:t)p(x0:t|z0:t)dx0:t
均可由下式近似:
E(g(x
0:t))=1
i=1
!g(x(i)0:t)
且当N趋于无穷大时,有:
E[g(x
0:t)]=E(g(x
0:t
))
通常情况下,难以直接从p(x
0:t|z
1:t
)抽样,故可
引入一个容易抽样且已知概率密度的重要性函数
q(x
0:t|z
1:t
)来代替p(x
0:t
|z
1:t
),则:
E[g(x
0:t
)]="g(x0:t)p(x0:t|z0:t)
q(x
0:t
|z
0:t
q(x
0:t
|z
0:t
)dx
0:t
="g(x0:t)p(z1:t|x0:t)p(x0:t)
p(z
1:t
)q(x
0:t
|z
1:t
q(x
0:t
|z
1:t
)dx
0:t
="g(x0:t)wt(x0:t)
p(z
1:t
q(x
0:t
|z
1:t
)dx
0:t
"g(x0:t)w(x0:t)q(x0:t|z1:t)dx0:t
"w(x0:t)q(x0:t|z1:t)dx0:t
i=1
!g(x(i)0:t)w#(x(i)0:t)
其中,
p(z
1:t
|x
0:t
)p(x
0:t
q(x
牵引力控制系统0:t
|z
1:t
是没有归一化的重要性权值w#
(i)
=w(i)/
j=1
!w(j)。因此,
后验概率密度可表示为:
p(x
0:t
|z
1:t
)=
i=1
!w#(i)δ(x0:t-x(i)0:t)
事实上,q(x
0:t
|z
1:t
)的选取应尽可能的接近系统
状态的后验概率分布,选取原则是使重要性权重
的方差最小。重要性权重的递归表达式如下:
p(z
1:t
|x
0:t
)p(x
0:t
q(x
0:t
|z
1:t
p(z
1:t
|x
0:t
)p(x
0:t
q(x
0:t-1
|z
1:t-1
)q(x
|x
0:t-1
,z
匀速直线运动
1:t
=w
t-1
p(z
1:t
|x
0:t
)p(x
0:t
p(z
1:t-1
|z
0:t-1
)p(x
0:t-1
q(x
|x
0:t-1
,z
1:t
=w
t-1
p(z
|x
)p(x
|x
t-1
q(x
应变速率
|x
0:t-1
,z
1:t
(4)
粒子滤波的算法步骤如下:
(1)从q(x
|x(i)
0:t-1
,z
1:t
)中随机抽取N个粒子;
(2)根据式(4)计算各粒子的重要性权值并
将其归一化;
(3)计算有效采样尺度:
eff
=N
1+Var(wi
当Neff<Nth(有效粒子阈值)时,可对粒子进
行重采样并将权重重新设为1/N;
(4)根据:
p(x
0:t
|z
1:t
)=1
i=1
!δ(x0:t-x(i)0:t)
即可得到状态的均值和方差等各种统计信息。
2MCMC步骤
减小退化的一种方法是当退化现象出现时加
入重采样步骤,重采样就是对权值大的粒子进行
复制并去除权值小的粒子。其方法是对后验密度
函数的离散近似:
p(x
0:t
|z
1:t
)=
i=1
!w#(i)δ(x0:t-x(i)0:t)
再进行一次采样后,就会重新生成一个新的
粒子集。由于新的粒子独立分布,因此,重采样
后的粒子权值均为1/N。
图2200次以上的仿真结果
重采样在一定程度上可以减小退化问题,但因此又会引来粒子耗尽问题。即经过几次迭代后,粒子中将包含许多重复点,这在估计过程中会由于粒子失去多样性而使目标概率的离散逼近变得不精确,从而影响粒子滤波器的估计性能。在动态噪声较小时,这一问题尤为严重。为此,本文在不影响近似有效性的前提下引入了一个算法步骤来增加粒子的多样性,即MCMC步骤。
MCMC的基本思想是:如果粒子的分布服从重要性函数q(x!0:t|z1:t),则可应用一个马尔可夫链转换核!(x0:t|x!0:t)和后验概率密度函数p(x0:t|z1:t
),来使:
!!(x0:t
|x
!0:t
)q(x!0:t
|z1:t
)dx!0:t
=p(x0:t
|z1:t
由此产生的新粒子仍服从状态的后验概率分布,但新的粒子更加逼近真实目标分布。
MCMC转移步骤实际就是从有限混合分布1NN
i=1"!
(x0:t-x!(i)
0:t
)中进行采样来增加粒子的多样性。这里不要求转换核具有各态历经性。
MCMC转移有很多实现算法(如Gibbs采样,MetropolisHastings算法等)。本文采用MetropolisHastings算法来实现MCMC转移,其步骤如下:
(1)产生一个在[0,1]区间上服从均匀分布
的随机数v;
(2)从重要性函数q(x!t|x(i)0:t-1,z1:t
)中采样产生备用粒子x*(i)
,i=1,……,N;
(3)如果v≤min{1,α},则接受x*(i)
,这时x
(i)
0:t=(x!(i)
0:t-1,x*(i)t);否则拒绝x*(i)t,x(i)0:t
=x!(i)
0:t。其中α称为接受比率:
α=
p(zt|x*(i)t)p(x*
t|x!(i)
t-1)q(x!t|x!(i)
0:t-1,z1:t)
p(zt|x!(i)t)p(x!(i)t|x!(i)t-1)q(x*(i)t
|x!(i)
0:t-1,z1:t)上述算法可在重采样后进行。
3仿真结果分析
本文采用100次蒙特卡罗方式来进行仿真。
其跟踪结果如图1所示,图1中,两种算法的粒子
数均为200,图2中的PF-MCMC的粒子数为200,
PF的粒子数为300。
由仿真结果可以看出,PF算法在增加粒子数的情况下,其性能并没有得到较大的提高,滤波效果仍然不如PF-MCMC算法。由于MCMC步骤其实只是产生一部分新的粒子来增加粒子的多样性,所以延长了算法的运行时间,其实时性要差一些。
4结束语
粒子滤波是非线性贝叶斯递推算法,它适用
于各种非线性非高斯系统模型。它本身的优势使其越来越多的应用于各个领域,同时也出现了各种改进算法。本文将MCMC转移步骤应用到粒子滤波中来增加粒子的多样性,从而有效克服了粒子滤波重采样后产生的粒子多样性丧失问题,同时使粒子更接近状态的后验概率分布。仿真证明,该方法可用于粒子滤波器的各种改进算法中,以提高算法性能。
图1100次蒙特卡罗的仿真跟踪结果
(下转第77页)
参考文献
[1]N.J.Gordon,D.J.SalmondandA.F.M.Smith,Novelap-proachtononlinear/non-GaussianBayesianstateestima-
tion.IEEProceedings-F,vol.140,no.2,1993,107-
133.[2]ArulampalamS,MaskellS,GordonNandClappT,ATutorialonParticleFiltersforOnlineNon2linear/
Non2gaussianBayesianTracking[J].IEEETransaction
onSignalProcessing,2002,50(2):174-188.[3]Bergman.NandDoucet.A,MarkovChainMonteCarloDataAssociationforTargetTracking[J],Proc.IEEEConf.
Acoust.,Speech,SignalProcess.,2000,pp:735-742.[4]W.Gilks,S.Richardson,andD.Spiegelhalter,MarkovChainMonteCarloinPractice,eds.ChapmanandHall,
1996.
[5]Andrieu,C.deFreitas,J.F.G.andDoucet.A.,SequentialMCMCforBayesianmodelselection,IEEEHigherOrder
StatisticsWorkshop,Ceasarea,Israel,1999,pp.130-134.
4三种算法的比较
图7所示是三种算法在加减速时间和最高速度给定情况下的轨迹。由图7可以看出,梯形速度曲线是一个恒加速过程,它的快速性很好,但它的加速度有突变的情况,在电机驱动元件性能不能达到理想的动态响应的条件下,实际使用梯形加减速的数控系统,其起停速度轨迹并不是理想的斜线,而是还存在明显的波动,其主要表现是起动时的滞后以及到达恒速时的过冲。
指数速度曲线在加速和减速阶段结束时的平滑性是最好的,而且它的快速性也比较好,但是相对于S曲线和梯形曲线,它在加减速启动过程中的速度、加速度变化都较大,这在负载扭矩较大时,容易造成电机的堵转;
相比之下,S曲线的加速度是一个连续的变化过程,它机械运动平稳性较好。虽然从速度的快速性上
比不上梯形曲线,但是在满足一定平稳性的条件下,S曲线可以将最大加速度提高或加长匀加速阶段,以提高加速效率。而且,完整的S曲线是由多个阶段组成的,加加速段、匀加速段以及匀速段的运动时间可以取不同值,因而可以减少很多情况下的功率耗散。
5结束语
经过本文的分析可见,梯形速度曲线的加速度有突变性,实际中运用的比较少,而指数速度曲线算法比较简单,跟踪性比较强,在跟踪响应要求较高的切削加工中应用比较多。S曲线算法相对较为精确,启动和停止的平稳性都比较好,可以根据各电机性能调整速度变化率。
事实上,三种加减速曲线在软件实现上都已经完成了数字化。但是为了保证算法的精度,应用时还有必要在软件上进行修正,特别是在加速到顶峰和减速到停止的时候。
参考文献
[1]李恩林.插补原理[M].北京:机械工业出版社,1984.[2]丛爽,李泽湘.实用运动控制技术[M].北京:电子工业出版社,2006.
图6S曲线软件流程图
1.梯形曲线2.指数曲线3.S型曲线
图7三种曲线比较图
(上接第73页)

本文发布于:2024-09-22 05:38:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/592227.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:粒子   算法   后验   状态   滤波   采样   曲线
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议