龔佑斌,劉金澎
(中國電子科技集團公司第29研究所,四川 成都 610036)
粒子濾波(Partial Filter,PF)算法通過采樣點來近似表征狀態(tài)的統(tǒng)計分布,可以應用于各種非線性和非高斯系統(tǒng),具有廣泛的適用性,因此在近幾年獲得了越來越多的關(guān)注[1-3]。然而標準的PF(Standard PF,SPF)算法會面臨不可避免的粒子退化[4]問題,這會造成較為嚴重的計算資源浪費。為了解決該問題,一種常見的方法是增加重采樣步驟[5],但這會導致粒子多樣性的丟失,從而造成粒子貧化問題[5]。另一種方法是通過在建議分布中引進量測信息,如擴展粒子濾波(Extended PF,EPF)[6]、無跡粒子濾波(Unscented PF,UPF)[7]等。EPF和UPF等濾波算法可以以較高的計算代價來緩解粒子退化,但它們也面臨著在量測噪聲較大的系統(tǒng)中估計精度差的問題[8]。
與SPF、EPF和UPF等從單一建議分布中選取粒子的方式不同,文獻[9]給出了一種多建議分布算法,其思路為從一系列不同的建議分布中選取樣本,并且為了節(jié)約計算成本,該算法將權(quán)值設(shè)為固定值,但這會導致估計精度低的問題。為了獲得更精準的估計結(jié)果,文獻[10]提出了一種多模型采樣粒子濾波(Multimode Sampling PF,MMSPF)算法,該算法的核心思想是采取多個基本建議分布混合的形式來表征建議分布。與文獻[9]提出的方法相比,MMSPF算法可以獲得更為精準的估計結(jié)果,但也會導致計算量大的問題,且由于每個基本建議分布的粒子選取是基于建議分布權(quán)重的隨機選取,因此也會造成估計精度不穩(wěn)定的問題。
為了在較低計算代價的前提下獲得精準且穩(wěn)定的估計結(jié)果,本文基于多建議分布的思路,提出了基于預測和量測的多建議分布粒子濾波(Prediction-and-Measurement-based Multiple Proposal Distributions Particle Filter,MPDPF-PM)算法。該算法首先分別從預測和量測中選取粒子點,并求取每個粒子點的權(quán)值;其次依據(jù)權(quán)值選取粒子點,通過粒子點個數(shù)來確定每個基本建議分布的權(quán)重;最后通過加權(quán)求和的形式獲得均值和協(xié)方差。仿真結(jié)果證明了所提算法在估計精度和計算復雜度方面的優(yōu)越表現(xiàn)。
本文其余內(nèi)容安排如下:第1節(jié)簡略介紹粒子濾波算法;第2節(jié)給出所提的MPDPF-PM算法的細節(jié);第3節(jié)將所提算法與傳統(tǒng)算法進行仿真對比分析;第4節(jié)對本文進行總結(jié)。
考慮以下的狀態(tài)空間,其中狀態(tài)和量測方程分別表示為:
式中:xk為k時刻的狀態(tài)向量;zk為量測向量;f(·)和h(·)分別表示非線性狀態(tài)轉(zhuǎn)移方程和非線性量測方程;wk-1和vk分別為過程和量測噪聲,且它們是概率密度函數(shù)已知的隨機變量。
給出k-1時刻的后驗估計,則k時刻狀態(tài)向量的后驗概率密度函數(shù)的計算式為:
給出k-1時刻的后驗估計,則k時刻的狀態(tài)向量的后驗概率密度函數(shù)的計算式為:
式中:z1:k=(z1,…,zk);p(x|xk-1)為狀態(tài)轉(zhuǎn)移概率函數(shù);g(zk|xk)為似然函數(shù)。
在粒子算法中,后驗估計可以用N個帶權(quán)值的粒子點表示,所以式(5)可以表示為:
式中:δ(·)為狄利克雷函數(shù);權(quán)值且
當式(6)中的粒子數(shù)無窮大,即N→+∞時,等式右面可以完全表征后驗密度函數(shù)。最優(yōu)的粒子點選取方式為從后驗概率密度函數(shù)中直接進行選取,然而真實的后驗估計通常是無法獲取的。因此,需要構(gòu)建建議分布,并從其中選取粒子點。
SPF算法的建議分布選取簡單,可以避免沉重的計算代價;但其同樣也會面臨著粒子退化問題,即大部分粒子點的權(quán)值都過于小,而只有極少數(shù)的粒子點的權(quán)值大,從而造成了浪費計算資源的問題。重采樣步驟雖然可以解決粒子退化,但會導致大部分的子粒子點都來源于同一父粒子點,從而造成粒子貧化的問題。相比于單一建議分布,由多個建議分布組成的混合建議分布可以更好地表征后驗概率密度函數(shù),因此在近幾年獲得了更多的關(guān)注。
假設(shè)混合建議分布由M個基本建議分布組成,則混合建議分布可以表示為:
式中:λk,j≥0,為第j個基本建議分布的權(quán)重,且有
對于多建議分布粒子濾波,兩個關(guān)鍵的問題是如何確定基本建議分布,以及如何確定基本建議分布的權(quán)重?,F(xiàn)有的基本建議分布通常是狀態(tài)轉(zhuǎn)移密度函數(shù)或者非線性貝葉斯濾波得到的后驗估計,這對于歷史信息有著較好的應用,卻忽視了量測信息對于估計結(jié)果的影響?,F(xiàn)有的基本建議分布權(quán)重設(shè)計方法包括固定權(quán)值法和計算復雜度高的權(quán)值設(shè)計方法,但這分別會帶來估計精度低或計算量大的缺陷。因此如何設(shè)計基本建議分布以及如何確定每個基本建議分布的權(quán)重是本節(jié)主要研究的兩個問題。
首先對于基本建議分布,為了充分利用歷史信息和量測信息,擬分別將預測和量測作為基本建議分布,并從中進行粒子選取。給定系統(tǒng)的方程如式(1)和式(2)所示,則兩個基于預測和量測的基本建議分布可以表示為:
式中:h-1(·)為量測方程h(·)的反函數(shù)。
基于式(9)和式(10),多建議分布可以表示為:
對于式(11)中基本建議分布權(quán)重的確定,為了在保證融合精度的前提下盡可能地減少計算時間,擬直接通過每個基本建議分布中有效粒子的數(shù)目來確定。
假設(shè)在基于預測的基本建議分布中選取了N個粒子點。同樣地,在基于量測的基本建議分布中選取了N個粒子點。而后將分別從兩個建議分布中選取的粒子點求取其似然,即:
根據(jù)每個粒子點的似然大小來確定粒子點是否為有效粒子點。為了維持粒子點數(shù)目不變,可以從多建議分布的2N個粒子點中選取似然最大的N個粒子點作為有效粒子點,選取的粒子點定義為假設(shè)在選取的粒子點中有N1個粒子點來自基于預測的建議分布,N2個粒子點來自基于量測的建議分布,則每個基本建議分布的權(quán)重可以定義為:
對于選取的粒子點,若其來自預測,則其權(quán)值可以由上一時刻的權(quán)值確定,即對于來自量測的粒子,其權(quán)值可以定義為歸一化權(quán)值,即基于此,粒子點對應的權(quán)值更新公式可以表示為:
因此,k時刻狀態(tài)估計的一階矩和二階矩可以分別表示為:
本文所提的粒子濾波算法的算法流程如算法1所示,由于粒子的選取基于最新量測,從而保證了濾波估計的精度。權(quán)值的設(shè)計采用計算有效的方法,可以避免繁重的計算量,從而具有較好的實際應用效果。
給出以下狀態(tài)空間模型:
式中:wk-1服從均值為3、協(xié)方差為2的伽馬分布;vk服從均值為0、協(xié)方差為10-4的正態(tài)分布。
將本文所提的MPDPF-PM算法與SPF[1]、UPF[7]和MMSPF[10]算法在單維仿真場景中進行對比分析。粒子數(shù)設(shè)為120,仿真時間為50 s,蒙特卡洛仿真次數(shù)為100次。
仿真結(jié)果如圖1所示??梢钥闯觯啾扔趩我唤ㄗh分布算法(SPF和UPF),多建議分布算法(MMSPF和MPDPF-PM)可以獲得更好的濾波估計精度,這證明多建議分布在近似后驗概率密度方面的有效性。相比于MMSPF算法,本文提出的MPDPF-PM算法可以更好地表征后驗估計,因此可以獲得更低的均方根誤差(Root Mean Square Error,RMSE),這證明了所提算法在單維仿真場景中在濾波估計精度方面的有效性。
圖1 4種算法的RMSE
各個算法的運行時間如表1所示,可以看出SPF算法的計算代價最小,UPF的計算代價最大,這是因為在UPF算法中,每個粒子都需要運行非線性濾波算法。相比于MMSPF算法,MPDPF-PM給出的粒子濾波算法計算復雜度更低,這是由于在MMSPF算法中,每個基本建議分布權(quán)重的計算占據(jù)了很大的計算內(nèi)存,而在MPDPF-PM中,權(quán)值的計算則基本可以忽略不計,這證明了所提算法在單維仿真場景中具有較高的計算效率。
表1 各個算法的運行時間
考慮以下一個二維空間勻速直線運動的例子,運動方程可以表示為:
式中:采樣時間T=1 s。
量測方程表示為:
量測值zk=(rk,θk)T,rk表示目標的徑向距,θk表示方位角,量測噪聲vk為混合高斯分布,其可以被表示為:
同樣地,將本文所提算法分別與SPF[1]、UPF[7]和MMSPF[10]算法在多維仿真場景中進行對比分析。粒子數(shù)設(shè)為300,仿真時間為30 s,蒙特卡洛仿真次數(shù)為100次。
4種算法的仿真結(jié)果和仿真時間分別如圖2和表2所示??梢钥闯?,本文所提的MPDPF-PM算法可以以較低的計算代價獲得最好的濾波估計結(jié)果,這與3.1節(jié)的結(jié)論基本一致,證明了本文算法在多維仿真場景中依然有較好的表現(xiàn)。
圖2 4種算法位置的RMSE
表2 各個算法單次運行時間
為了解決粒子濾波算法的粒子退化和貧化問題,本文基于多建議分布,提出了一種新型粒子濾波算法。所提算法分別從基本建議分布選取和基本建議分布權(quán)重確定兩個角度進行考慮。為了充分利用歷史和當前信息,建議分布分別定義為預測和量測。為了減少計算代價,基本建議分布的權(quán)重通過粒子點個數(shù)來確定。最后通過粒子點加權(quán)求和的形式獲得對于后驗估計的一階矩和二階矩。仿真實驗驗證了所提算法在單維和多維場景中都有很好的表現(xiàn)。