自用卡爾曼濾波例子

卡爾曼濾波

參數的確定

example

一個車子在一維空間做一個直線運動,他的加速度滿足高斯分佈,即
a~N(0,V2);
y表示車子在當前時刻的測量得到的一個位置 ,x是當前時刻車子的一個狀態,在這裏是一個向量,X\overline Xt =[xtvt]\left[\begin{matrix} x_{t}\\ v_{t} \end{matrix}\right] ,其中xt是當前時刻真實的位置,vt是當前時刻真實的速度。
根據高中的知識,我們知道
{xt=xt1+at1Δt+12+at2,vt=vt1+at1Δt\begin{cases} x_t=x_{t-1}+a_{t-1}\Delta t+\cfrac{1}{2}+a*t^2 ,&\text {①} \\ v_t=v_{t-1}+a_{t-1}\Delta t ,&\text {②} \end{cases}
用矩陣來表示的話就是
[xtvt]\left[\begin{matrix} x_{t}\\ v_{t} \end{matrix}\right] =[1 Δt0 1]\left[\begin{matrix} 1 \ \Delta t \\ 0 \ 1 \end{matrix}\right] [xt1vt1]\left[\begin{matrix} x_{t-1}\\ v_{t-1} \end{matrix}\right] +[12a(Δt)2aΔt]\left[\begin{matrix} \cfrac12 a(\Delta t)^2 \\ a\Delta t \end{matrix}\right]
令A=[1 Δt0 1]\left[\begin{matrix} 1 \ \Delta t \\ 0 \ 1 \end{matrix}\right] ,那麼這個式子就可以寫作X\overline Xt =A*X\overline Xt-1+ [12a(Δt)2aΔt]\left[\begin{matrix} \cfrac12 a(\Delta t)^2 \\ a\Delta t \end{matrix}\right] ;
可以得到X\overline Xt 的協方差矩陣是:VδXt=E((Xtμ)(Xtμ)T)=E([12a(Δt)2aΔt][12a(Δt)2 aΔt])=E([14a2(Δt)4 12a2(Δt)312a2(Δt)3 a2(Δt)2])=E(a2)[14(Δt)4 12(Δt)312(Δt)3 (Δt)2]=V2[14(Δt)4 12(Δt)312(Δt)3 (Δt)2]V_{\delta}{\over X_t}=E \bigg ((\overline X_t -\mu )*(\overline X_t -\mu )^T\bigg)=E \bigg (\left[\begin{matrix} \cfrac12 a(\Delta t)^2 \\ a\Delta t \end{matrix}\right]*\left[\begin{matrix} \cfrac12 a(\Delta t)^2 \ a\Delta t \end{matrix}\right]\bigg)=E\bigg(\left[\begin{matrix} \cfrac14 a^2(\Delta t)^4 \ \cfrac12 a^2(\Delta t)^3 \\ \cfrac12 a^2(\Delta t)^3 \ a^2(\Delta t)^2 \end{matrix}\right]\bigg)=E(a^2)*\left[\begin{matrix} \cfrac14 (\Delta t)^4 \ \cfrac12 (\Delta t)^3 \\ \cfrac12 (\Delta t)^3 \ (\Delta t)^2 \end{matrix}\right]=V^2*\left[\begin{matrix} \cfrac14 (\Delta t)^4 \ \cfrac12 (\Delta t)^3 \\ \cfrac12 (\Delta t)^3 \ (\Delta t)^2 \end{matrix}\right]
那麼對應的觀測值y也可以使用類似的式子來表示出來
yt=[1 0][xtvt]+μy_t=\left[\begin{matrix} 1\ 0\end{matrix}\right]*\left[\begin{matrix} x_{t}\\ v_{t} \end{matrix}\right]+\mu 其中μ\mu~ N(0,R)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章