1. 程式人生 > >卡爾曼濾波2

卡爾曼濾波2

推導 概率 精確 情況 多維 結果 width tex 為什麽

作者:肖暢
鏈接:https://www.zhihu.com/question/23971601/answer/46480923
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

好了下面進入正題,先從簡單的說起:
考慮軌道上的一個小車,無外力作用,它在時刻t的狀態向量技術分享只與技術分享相關:
(狀態向量就是描述它的t=0時刻所有狀態的向量,比如:
[速度大小5m/s, 速度方向右, 位置坐標0],反正有了這個向量就可以完全預測t=1時刻小車的狀態)

技術分享

那麽根據t=0時刻的初值技術分享,理論上我們可以求出它任意時刻的狀態。

當然,實際情況不會這麽美好。

這個遞推函數可能會受到各種不確定因素的影響(內在的外在的都算,比如刮風下雨地震,小車結構不緊密,輪子不圓等等)導致技術分享

並不能精確標識小車實際的狀態。

我們假設每個狀態分量受到的不確定因素都服從正態分布。

現在僅對小車的位置進行估計
請看下圖:t=0時小車的位置服從紅色的正態分布。
技術分享
根據小車的這個位置,我們可以預測出t=1時刻它的位置:
技術分享

分布變“胖”了,這很好理解——因為在遞推的過程中又加了一層噪聲,所以不確定度變大了。

為了避免純估計帶來的偏差,我們在t=1時刻對小車的位置坐標進行一次雷達測量,當然雷達對小車距離的測量也會受到種種因素的影響,於是測量結果告訴我們,小車t=1時的位置服從藍色分布:
技術分享
好了,現在我們得到兩個不同的結果。前面有人提過加權,Kalman老先生的牛逼之處就在於找到了相應權值,使紅藍分布合並為下圖這個綠色的正態分布
(啰嗦一句,這個綠色分布均值位置在紅藍均值間的比例稱為Kalman增益(比如下圖中近似0.8),就是各種公式裏的K(t))
技術分享

你問為什麽牛逼?
綠色分布不僅保證了在紅藍給定的條件下,小車位於該點的概率最大,而且,而且,它居然還是一個正態分布!
正態分布就意味著,可以把它當做初值繼續往下算了!這是Kalman濾波能夠叠代的關鍵。

最後,把綠色分布當做第一張圖中的紅色分布對t=2時刻進行預測,算法就可以開始循環往復了。

你又要問了,說來說去綠色分布是怎麽得出的呢?

其實可以通過多種方式推導出來。我們課上講過的就有最大似然法、Ricatti方程法,以及上面參考文獻中提及的直接對高斯密度函數變形的方法,這個不展開說了。

另外,由於我只對小車位移這個一維量做了估計,因此Kalman增益是標量,通常情況下它都是一個矩陣。而且如果估計多維量,還應該引入協方差矩陣的叠代,我也沒有提到。如果樓主有興趣,把我提及那篇參考文獻吃透,就明白了。

Kalman濾波算法的本質就是利用兩個正態分布的融合仍是正態分布這一特性進行叠代而已。

卡爾曼濾波2