趙 新,寧小磊,梁 興
(中國(guó)華陰兵器試驗(yàn)中心,陜西華陰 714200)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,一種基于Monte Carlo方法的粒子濾波器[1-13](particle filter,PF)為解決非線性非高斯濾波問(wèn)題提供了新途徑,其基本思想是用一組帶有權(quán)值的粒子集表示解決問(wèn)題時(shí)需要的后驗(yàn)概率密度,然后用這一近似的表示來(lái)計(jì)算系統(tǒng)的狀態(tài)估計(jì)[3]。然而,在粒子濾波器的設(shè)計(jì)過(guò)程中,普遍存在計(jì)算量較大和粒子退化等問(wèn)題,限制了其在工程領(lǐng)域中的實(shí)際應(yīng)用。常用的解決退化問(wèn)題的方法有重采樣和適當(dāng)選取建議分布。重采樣雖然在一定程度上可以解決粒子退化問(wèn)題,但卻因此帶來(lái)了粒子枯竭的問(wèn)題。為此,文中提出了一種新的比例尺粒子濾波算法(scale particle filter,SPF)。該算法按粒子重要性權(quán)值將粒子集劃分成好(重要性權(quán)值大)粒子群和較差(重要性權(quán)值小)粒子群,然后對(duì)好粒子和差粒子求取比例尺加權(quán)值,從而生成一些備選粒子,并通過(guò)重要性權(quán)值的優(yōu)選實(shí)現(xiàn)重采樣后粒子集多樣性的增加。
設(shè)非高斯、非線性隨機(jī)狀態(tài)空間模型為[5-9]:
式中:xk和zk分別是k時(shí)刻的系統(tǒng)狀態(tài)變量和量測(cè)值;映射分別是系統(tǒng)狀態(tài)轉(zhuǎn)移模型函數(shù)和量測(cè)模型函數(shù);ωk和vk分別是過(guò)程噪聲和觀測(cè)噪聲。狀態(tài)估計(jì)問(wèn)題描述可歸結(jié)為利用所有可能得到的觀測(cè)序列遞歸的估計(jì)當(dāng)前時(shí)刻狀態(tài)xk的后驗(yàn)概率分布由于包括序貫估計(jì)的完全信息,進(jìn)而可得到系統(tǒng)狀態(tài)估計(jì)所需參數(shù)如均值、方差等信息。)一般由下列方法可以得到:
然而,式(2)~式(4)所示Bayes遞推過(guò)程中的積分一般不可積。粒子濾波通過(guò)采用Monte Carlo采樣技術(shù)實(shí)現(xiàn)了上述積分運(yùn)算,具體過(guò)程可描述為以下兩個(gè)階段:
1中隨機(jī)抽取的樣本。
圖1給出了基本粒子濾波器算法的迭代過(guò)程。
圖1 基本粒子濾波器方法
建議分布的選取是設(shè)計(jì)粒子濾波的關(guān)鍵技術(shù)之一,它對(duì)濾波算法效率的影響是明顯的,尤其關(guān)系到粒子權(quán)值的退化速度。Doucet[13]等給出了一個(gè)最優(yōu)的建議分布它能使粒子權(quán)重的方差為0,但遺憾的是一般從中抽樣是困難的。在實(shí)際應(yīng)用中,建議分布通常選取為先驗(yàn)狀態(tài)轉(zhuǎn)移概率的形式,它使粒子的采樣和權(quán)值的遞推計(jì)算容易實(shí)現(xiàn),但沒(méi)有引入系統(tǒng)最近觀測(cè)信息,具有一定的盲目性,容易引起粒子退化,使得重要性采樣后粒子重要性權(quán)值方差加大,多數(shù)粒子的權(quán)值趨于0,只有少數(shù)粒子的權(quán)值趨于1。這就浪費(fèi)了有限的計(jì)算資源,降低了系統(tǒng)狀態(tài)的推理精度??朔嘶瘑?wèn)題的一個(gè)有效方法是在權(quán)重規(guī)格化處理后,根據(jù)權(quán)重進(jìn)行重采樣。重采樣過(guò)程將權(quán)重高的粒子復(fù)制多份,權(quán)重微小的粒子則被刪除,粒子被復(fù)制的概率與權(quán)重成正比,從而把計(jì)算資源按照粒子權(quán)值進(jìn)行分配。但重采樣容易引起粒子多樣性的喪失,使大量粒子成為權(quán)值較大粒子的子代,極大減少了參與估計(jì)的支撐集樣本,引起粒子枯竭現(xiàn)象,降低了濾波效果。
樣本集“多樣性”變差會(huì)導(dǎo)致粒子濾波出現(xiàn)退化現(xiàn)象,以下給出一種改善樣本集多樣性的策略,使好樣本被保留參與狀態(tài)估計(jì),以提高粒子濾波的估計(jì)與跟蹤能力。
比例尺粒子濾波算法的基本思路是:在重要性抽樣后,將粒子集按權(quán)值遞增的順序進(jìn)行排序;然后,選擇一些權(quán)值較大的粒子作為榜樣群,剩余的粒子作為候選粒子;接著,對(duì)榜樣群和候選群中的粒子序貫求取以初始設(shè)置的比例尺為參數(shù)的加權(quán)值,生成一些候選粒子;最后,依據(jù)粒子重要性權(quán)值對(duì)重要性抽樣生成的候選粒子和比例尺加權(quán)生成的粒子實(shí)現(xiàn)粒子優(yōu)選。優(yōu)選法則為:重要性權(quán)值大者,優(yōu)選晉級(jí);重要性權(quán)值小者,優(yōu)選失敗,給以淘汰。
比例尺粒子濾波算法描述如下:
步驟2重要性采樣。當(dāng)k≥1時(shí):
3)按粒子重要性權(quán)值將粒子集劃分為好粒子集和較差粒子集
其中:xk′為好粒子群;N′為好粒子的個(gè)數(shù);xk″為較差粒子群;N″為較差粒子的個(gè)數(shù)。它們的確定方法可以初始設(shè)置時(shí)給以確定,也可以根據(jù)粒子退化情況動(dòng)態(tài)自適應(yīng)的確定。
4)比例尺加權(quán)求取備選粒子
方法是從好粒子群選擇一個(gè)最好的粒子,然后序貫的從較差粒子群中抽取粒子按下式以生成備選粒子:
5)計(jì)算粒子權(quán)值
6)歸一化權(quán)值
7)優(yōu)選粒子
步驟4結(jié)果輸出。按下式對(duì)結(jié)果進(jìn)行估計(jì):
其中:δ()·為在xik的狄拉克delta函數(shù)。
步驟5令k=k+1,返回步驟2。
1)算法有效性分析。比例尺粒子濾波算法在重要性抽樣之后,通過(guò)初始設(shè)置比例參數(shù),對(duì)重要性采樣粒子集某些粒子求取加權(quán)值,生成一些備選粒子,并通過(guò)重要性權(quán)值的度量,實(shí)現(xiàn)了粒子的優(yōu)選,使較好的粒子參與狀態(tài)估計(jì),從而緩解了粒子退化對(duì)濾波結(jié)果的影響。同時(shí),這些備選粒子包括了粒子集中的好粒子和較差粒子信息,充分利用了粒子濾波的信息,所以能夠最大限度的改進(jìn)粒子濾波性能。
2)算法復(fù)雜度分析。比例尺粒子濾波算法,僅在重要性抽樣之后對(duì)某些粒子實(shí)行比例加權(quán)計(jì)算,其計(jì)算量相對(duì)于基本粒子濾波算法僅增加了()O N″,可見(jiàn),這種改進(jìn)策略基本上不增加算法的復(fù)雜度。此外,如果基本粒子濾波器沒(méi)有出現(xiàn)粒子退化現(xiàn)象,可以避過(guò)比例尺加權(quán)計(jì)算步驟,進(jìn)一步降低運(yùn)算量。當(dāng)然,此時(shí)運(yùn)行此步可以提高算法精度。
3)算法實(shí)用性分析。比例尺粒子濾波算法原理簡(jiǎn)單,工程實(shí)現(xiàn)方便,但卻能有效緩解粒子退化現(xiàn)象對(duì)粒子濾波造成的不良影響,因此,很有前景。同時(shí),根據(jù)粒子濾波的具體情況,可以一直運(yùn)行,亦可以根據(jù)需要間斷運(yùn)行;此外,比例尺加權(quán)系數(shù)和參與計(jì)算的粒子數(shù)也可以根據(jù)具體情況自適應(yīng)的調(diào)整。所有這些都反映了比例尺粒子濾波算法的優(yōu)勢(shì),使其更具有工程應(yīng)用前景。
文中使用一個(gè)廣泛使用的非線性模型檢驗(yàn)比例尺粒子濾波算法的有效性。該模型運(yùn)動(dòng)模型和觀測(cè)模型為[8]:
一般用均方根誤差(RMSE)來(lái)度量粒子濾波算法的誤差,單次運(yùn)行的RMSE按式(14)計(jì)算:
多次獨(dú)立實(shí)驗(yàn)時(shí),采用RMSE的均值對(duì)濾波結(jié)果進(jìn)行度量,即:
其中:M為濾波迭代步數(shù);Tf為Monte Carlo仿真次數(shù);xk為第k步的狀態(tài)真值;^xk為第k步的狀態(tài)估計(jì)。
圖2 不同非線性濾波算法產(chǎn)生的狀態(tài)估計(jì)曲線
圖3 不同非線性濾波算法產(chǎn)生的RMSE隨仿真次數(shù)的變化曲線
圖2給出了不同粒子濾波器進(jìn)行一次獨(dú)立實(shí)驗(yàn)所產(chǎn)生的狀態(tài)估計(jì)結(jié)果,可以看出,SPF所估計(jì)的狀態(tài)能較好的與真實(shí)狀態(tài)吻合,這說(shuō)明該算法是有效的。
圖3給出了經(jīng)過(guò)100次獨(dú)立實(shí)驗(yàn)、不同非線性濾波算法狀態(tài)估計(jì)的RMSE隨粒子數(shù)變化的柱狀圖,可以非常明顯地看出:比例尺粒子濾波算法的估計(jì)精度優(yōu)于EKF和基本粒子濾波算法,且濾波器比較穩(wěn)定。其中,EKF100次估計(jì)的,其方差為149.9207;基本粒子濾波算法100次估計(jì)的,其方差為0.9359;比例尺粒子濾波算法100次估計(jì)的,其方差為0.1808。
粒子濾波器在解決非線性非高斯濾波問(wèn)題方面具有明顯的優(yōu)勢(shì),目前已吸引眾多學(xué)者進(jìn)行研究。文中針對(duì)粒子濾波的退化和枯竭問(wèn)題,提出一種新型粒子濾波器——比例尺粒子濾波算法(SPF),該算法通過(guò)比例尺加權(quán)策略為粒子濾波生成一些備選粒子,并使用重要性權(quán)值對(duì)其進(jìn)行了優(yōu)選,從而得到更好的支持粒子集參與狀態(tài)估計(jì)。仿真結(jié)果表明,比例尺粒子濾波在濾波精度和算法穩(wěn)定性上均優(yōu)于基本粒子濾波。
[1]Anderson B D O,Moore J B.Optimal filtering[M].Prentice-Hall,1979.
[2]王法勝,趙清杰.一種用于解決非線性濾波問(wèn)題的新型粒子濾波算法[J].計(jì)算機(jī)學(xué)報(bào),2008,31(2):346-352.
[3]武元新.對(duì)偶四元數(shù)導(dǎo)航算法與非線性高斯濾波研究[D].長(zhǎng)沙:國(guó)防科技大學(xué),2005.
[4]De Freitas.Sequential Monte Carlo methods to train neural network models[J].Neural Computation,2000,12(4):955-993.
[5]R van der Merwe,A Doucet,J F G de Freitas,et al.The unscented particles filter[Z].Adv.Neural Inform.Process.Syst.,Dec.2000.
[6]段琢華,蔡自興,于金霞.移動(dòng)機(jī)器人軟故障檢測(cè)與補(bǔ)償?shù)淖赃m應(yīng)粒子濾波算法[J].中國(guó)科學(xué)E輯,2008,38(4):565-578.
[7]寧小磊,王宏力,張琪,等.區(qū)間衍生粒子濾波器[J].物理學(xué)報(bào),2010,59(7):24-32.
[8]寧小磊,王宏力,寧宇琪,等.高斯衍生粒子濾波器[J].西安交通大學(xué)學(xué)報(bào),2010,44(6):72-77.
[9]Julier S J,Uhlmann J K.Unscented filtering and nonlinear estimation[J].Proceedings of the IEEE,2004,92(3):401-422.
[10]Pitt M K,Shephard N.Filtering via simulation:auxiliary particle filters[J].Journal of the American Statistical Association,1999,94(2):590-599.
[11]Jayesh H Kotecha,Petar M Djuric.Gaussian sum particle filtering[J].IEEE Transactions on Signal Processing,Oct.2003,51(10):2602-2611.
[12]Gordon N J,Salmond D J,Smith A F M.Novel approach to nonlinear/non-Gaussian Bayesian state estimation[J].IEE Proceedings on Radar and Signal Processing,1993,140(2):107-113.
[13]Doucet A.On sequential simulation-based methods for Bayesian filtering[R].University of Cambridge:Technical Report,CUED/F-INFENG/TR.310,1998.