粒子濾波是一種基於蒙特卡洛模擬的非線性濾波方法,其核心思想是用隨機采樣的粒子表達概率密度分布。
粒子濾波的三個重要步驟為:1)粒子采樣,從建議分布中抽取一組粒子;2) 粒子加權,根據觀測概率分布,重要性分布以及貝葉斯公式計算每個粒子的權值;3)估計輸出,輸出系統狀態的均值協方差等。此外 ,為了應對粒子退化現象,還采用了重采樣等策略。
1. 蒙特卡洛模擬
蒙特卡洛是一種利用隨機數來計算物理和數學問題的計算方法。其基本原理:
對於高維空間 X 上的高維積分:
![]()
其中p(x) 是隨機變量X 的概率分布,f(X) 是關於p(x)的任意可積函數。如果從概率分布p(x) 上抽取N 個獨立樣本
則樣本集是獨立同分布。而且有P(x)可以表示為:
![]()
則高維積分可以近似的表示為:
![]()
這種基於隨機模擬的積分稱為蒙特卡洛積分。
如果概率分布p(x)具有標准固定的形式,比如高斯分布,則直接從p(x)中抽取粒子,但是通常p(x) 的分布未知,或者十分復雜,所以需要其他的采樣策略進行采樣,在后續小節中介紹重要性采樣。
2.標准的粒子濾波器
由上述分析我們可以得出,對於系統的后驗概率 p(X0:k|Z1:k),對其進行采樣會非常困難,那么我們選取一個非高斯非線性的容易抽樣的分布 q(X0:k|Z1:k),則稱
q(X0:k|Z1:k)為建議性分布(重要性函數),則從q(X0:k|Z1:k)中抽取N 個粒子有:
![]()
則對於后驗概率p(X0:k|Z1:k),
![]()
為歸一化權值,且有: ![]()
由此可見,后驗概率p(X0:k|Z1:k) 可以由 一組加權的粒子近似。而這樣的采樣方法稱為重要性采樣。
為了實現遞推的貝葉斯狀態估計,把建議性分布寫成遞推形式:
......(1),並且 由遞推的貝葉斯估計公式,我們有:
.....(2),將式子一和二帶入權值
公式,進行化簡有:

如果假設狀態 X 是一馬爾科夫過程,且觀測條件是相互獨立的,則上式改寫為:

於是后驗概率 p(X0:k|Z1:k)為:

3.重采樣策略
在標准粒子濾波中,經常出現退化現象,其表現為:經過若干次的地推計算后,除了少數粒子外,其余粒子的權值可以忽略不計,從而使得大量遞推計算浪費在對幾乎不起任何作用的粒子更新上,甚至最后只剩下一個權值很大的有效粒子,而其他粒子的權值幾乎為零,從而產生一個退化分布。
針對粒子退化的問題,Gordon 等提出了一種Bootstrap 的粒子濾波的算法,該算法在每部迭代的過程中,根據粒子權值對粒子進行重采樣,在一定的程度上克服了這個問題。重采樣的方法舍棄了權值較小的粒子,代之以權值較大的粒子。重采樣的策略包括固定時間間隔重采樣,以及根據粒子權值就行動態重采樣。
標准粒子濾波的算法流程:
( 1 ) 初始化:對於 K =0,

此博客部分內容資料來源與網絡,僅供學習。
