Kalman Filter的推導與應用(一)

最近利用卡爾曼濾波來做tracking的東西,然後隨手推導了一下。網上大都是隻有例子源代碼和約定俗成的公式,不太方便使用,畢竟不能保證你遇到的問題恰好能用現有模型來套。所以對濾波器的來由需要深刻地理解一下。

(一)Kalman Filter原理

定義1.1

m×1 維隨機向量 yRm 的線性函數估計 n×1 維隨機變量 xRn ,估計值記爲

x^=b+Ay,bRn,ARn×m
若估計值極小化的指標函數爲
J=E[(xx^)T(xx^)]
則稱 x^ 爲隨機變量的線性最小方差估計。由觀測值 y 求隨機變量 x 的線性最小方差估計的表達式爲
x^=E(x)+Cov(x,y)Var(y)1(yE(y))
雖然這個公式好像好難懂,不過暫時不需要完全理解它,後面在推導時可以慢慢領會。同時這個 x^ 有三個性質

(1)無偏性,E(x^)=E(x)

(2)正交性,E[(xx^)yT]=0

(3)不相關性,xx^y 不相關

定義1.2

xx^y 不相關,那麼等價於 xx^y 正交(或者理解爲垂直),記爲 xx^y ,並且稱x^xy 上 的射影,記爲x^=projx|y

定義1.3

基於隨機變量 y(1),y(2),...,y(k)Rm ,對隨機變量 xRm 的線性最小方差估計 x^ 定義爲

x^=proj(x|w)=proj(x|y(1),y(2),...,y(k))
也稱 x^x 在線性流型 L(w)L(y(1),y(2),...,y(k)) 上的射影。流型的概念不需要理解,因爲後面推導不涉及對它的完全理解

定義1.4

y(1),y(2),...,y(k)Rm 是存在二階矩的隨機序列,它的新息序列(不用糾結名字,其實後面推導裏它就是誤差序列)定義爲

ϵ(k)=y(k)proj(y(k)|y(1),y(2),...,y(k1)),k=1,2,...
並定義的一步最優預報估計值爲
y^(k|k1)=proj(y(k)|y(1),y(2),...,y(k1))
因此新息序列可重新寫成
ϵ(k)=y(k)y^(k|k1),k=1,2,...
需要規定 y^(1|0)=E[y(1)] ,這保證了E[ϵ(1)]=0 ,所以有ϵ(k)L(y(1),y(2),...,y(k1))

定義1.5

設隨機變量 xRn ,隨機序列 y(k)Rm ,而且隨機序列存在二階矩,則有遞推公式(證明以後再補好了(-。-;))

proj(x|y(1),y(2),...,y(k))=proj(x|y(1),y(2),...,y(k1))+E[xϵT(k)]E[ϵ(k)ϵT(k)]1ϵ(k)
發佈了24 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章