卡爾曼濾波器

預測:根據前一狀態估計當前狀態;更新:根據觀測值對預測進行修正,達到最優估計

第一條公式:預測

F就是狀態轉移矩陣,B則是控制矩陣

第二條公式:不確定性的傳遞

每一個時刻的不確定性都是通過協方差矩陣Σ來給出的;協方差矩陣 Q 表示預測模型本身的噪聲(也即是噪聲在傳遞過程中的不確定性)

對估計量進行修正:

前面我們提到,是根據上一狀態推測而來的,那麼它與最優估計值之間的差距現在就是等式右端加號右側的部分。表示實際觀察值(y)與預估的觀測值之間的殘差。這個殘差再乘以一個係數K就可以用來對估計值進行修正。K稱爲卡爾曼係數,它也是一個矩陣,它是對殘差的加權矩陣,有的資料上稱其爲濾波增益陣。

但是現在我們仍然可以定性地對這個係數進行解讀:濾波增益陣首先權衡預測狀態協方差矩陣 Σ 和觀測值矩陣R的大小,並以此來覺得我們是更傾向於相信預測模型還是詳細觀測模型。如果相信預測模型多一點,那麼這個殘差的權重就會小一點。反之亦然,如果相信觀察模型多一點,這個殘差的權重就會大一點。不僅如此,濾波增益陣還負責把殘差的表現形式從觀測域轉換到了狀態域。例如本題中觀測值 Z 僅僅是一個一維的向量,狀態 x 是一個二維的向量。所以在實際應用中,觀測值與狀態值所採用的描述特徵或者單位都有可能不同,顯然直接用觀測值的殘差去更新狀態值是不合理的。而利用卡爾曼係數,我們就可以完成這種轉換。例如,在小車運動這個例子中,我們只觀察到了汽車的位置,但K裏面已經包含了協方差矩陣P的信息(P裏面就給出了速度和位置的相關性),所以它利用速度和位置這兩個維度的相關性,從位置的殘差中推算出了速度的殘差。從而讓我們可以對狀態值 x 的兩個維度同時進行修正。

對噪聲分佈進行更新:

也就是說當t = 1時,我們根據觀測值y1去估計真實狀態x1,這個過程服從一個高斯分佈。然後,當t = 2時,我們根據上一個觀測值y1去預測當前的真實狀態x2,在獲得該時刻的真實觀測值y2後,我們又可以估計出一個新的真實狀態x2,這時就要據此對由y1預測的結果進行修正(Update),如此往復。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章