卡爾曼濾波 基礎

2021-08-29 18:38:46 字數 1661 閱讀 6493

先上公式:

在乙個離散控制過程的系統中,假設該系統可用乙個線性隨機微分方程(linear stochastic difference equation)來描述:

x k=

axk−

1+bu

k−1+

wk−1

x_k=ax_+bu_+w_

xk​=ax

k−1​

+buk

−1​+

wk−1

​。其中x是系統的狀態向量,大小為n* 1列;a為轉換矩陣,大小為n* n;u為系統輸入,大小為k* 1;b是將輸入轉換為狀態的矩陣,大小為n* k;隨機變數w為系統雜訊(高斯白雜訊,均值為0,方差為q)。再加上系統測量值:

z k=

hxk+

vkz_k=hx_k+v_k

zk​=hx

k​+v

k​。其中z是測量值,大小為m* 1;h是狀態變數到測量的轉換矩陣,大小為m*n;隨機變數v是測量雜訊(高斯白雜訊,均值為0,方差為r)。這些測量值是由系統狀態變數對映出來的。對於滿足以上線性隨機微分系統、過程和測量都是高斯白雜訊兩個條件的濾波問題,卡爾曼濾波器是最優的資訊處理器。

卡爾曼濾波是一種遞迴過程,主要有**更新兩個步驟。其中**包括狀態**和協方差**,主要是對系統狀態的**。更新包括計算卡爾曼增益、狀態更新和協方差更新。因此整個遞迴過程包括五個方面的計算:1)狀態**;2)協方差**;3)卡爾曼增益;4)狀態更新;5)協方差更新。具體公式在文章頂部。

正如卡爾曼濾波的步驟,卡爾曼濾波的核心也就是**+測量反饋。我個人認為的一種好的理解卡爾曼濾波的方式是,根據系統所給的引數、k-1時刻的系統狀態,**k時刻的系統狀態分布是一種高斯分布;根據k時刻系統觀測值得到的k時刻的系統狀態分布也是一種高斯分布,這兩種分布存在交集,卡爾曼濾波就是從這兩種分布中得到的新的高斯分布,求得最優估計值。換一種說法,在多元高斯分布中,各個變數服從高斯分布,每個變數都有乙個均值 μ,表示隨機分布的中心(最可能的狀態),以及方差σ

2\sigma ^

σ2,表示不確定性。理論**值屬於先驗資訊,而觀測值屬於後驗資訊,卡爾曼濾波基於最小均方差,借助先驗、後驗資訊求得最優估計。

對於公式中的h陣,我個人的理解是:整個卡爾曼濾波,最終的變數是系統值。包括**、更新、估計在內,都是圍繞著這個系統值展開的,所有的引數最終都要轉化到系統值上,也就是統一度量才成立。舉個例子,系統值是感測器的資料(z

kz_k

zk​),現在我們有一組狀態量,假設是速度和方位(x=),顯然x和z並不是乙個尺度的量,因此必須引入h陣,將系統狀態轉換到系統值層面上。同理,更新階段公式中的h陣也是一樣的道理。

附上幾篇參考的博文,都非常不錯:

國外某大神形象的分析卡爾曼濾波

卡爾曼濾波的推導

卡爾曼 基礎卡爾曼濾波

卡爾曼濾波器是一種基礎 定位演算法。原理非常簡單易懂。核心過程可以用乙個圖說明 本質上就是這兩個狀態過程的迭代,來逐步的準確定位。更新 更具感測器獲取到比較準確的位置資訊後來更新當前的 問位置,也就是糾正 的錯誤。你可能要問為什麼有感測器的資料了還要進行更新?因為在現實世界中感測器是存在很多雜訊干擾...

卡爾曼 卡爾曼濾波 1

今天主要介紹一下卡爾曼濾波器,所謂卡爾曼濾波器其實是一種最優化遞迴數字處理演算法 optimal recursive data processing algorithm 卡爾曼濾波器應用 既然我們有了測量儀器,這些測量儀器可以目標給出準確測量值。還需要卡爾曼濾波器進行估計嗎?下面解釋一下為什麼需要卡...

卡爾曼濾波

卡爾曼濾波演算法 首先引入乙個離散控制過程的系統,用乙個線性隨機微分方程來描述 x k a x k 1 b u k w k 系統的測量值 z k h x k v k x k 是k時刻的系統狀態,u k 是k時刻對系統的控制量。a和b是系統引數,對於多模型系統,他們為矩陣。z k 是k時刻的測量值,h...