卡尔曼滤波器:5.直观理解和二维实例.md
[2D Kalman Filter Example_Dr_CAN.xlsx](2D Kalman Filter Example_Dr_CAN.xlsx)
上面的这个例子是:
一个人在走路:匀速运动
状态估计
状态 : x 1 x_1 x1位置 x 2 x_2 x2速度
位置: x 1 , k = x 1 , k − 1 + Δ T x 2 , k − 1 x_{1,k}=x_{1,k-1}+\Delta Tx_{2,k-1} x1,k=x1,k−1+ΔTx2,k−1
速度: x 2 , k = x 2 , k − 1 x_{2,k}=x_{2,k-1} x2,k=x2,k−1
采样时间 Δ T \Delta T ΔT k k k时刻与 k − 1 k-1 k−1时刻的间隔
取 Δ T = 1 \Delta T=1 ΔT=1且在行走中存在着不确定性
位置: x 1 , k = x 1 , k − 1 + x 2 , k − 1 + ω 1 , k − 1 x_{1,k}=x_{1,k-1}+x_{2,k-1}+\omega_{1,k-1} x1,k=x1,k−1+x2,k−1+ω1,k−1
速度: x 2 , k = x 2 , k − 1 + ω 2 , k − 1 x_{2,k}=x_{2,k-1}+\omega_{2,k-1} x2,k=x2,k−1+ω2,k−1
其中 p ( ω ) ∼ N ( 0 , Q ) p(\omega)\sim N(0,Q) p(ω)∼N(0,Q)
测量方程
还有一个就是放置卫星来检测行人的位置和速度 增加不确定性
ν
\nu
ν
p
(
ν
)
∼
N
(
0
,
R
)
p(\nu)\sim N(0,R)
p(ν)∼N(0,R)
KaTeX parse error: No such environment: flalign* at position 8: \begin{̲f̲l̲a̲l̲i̲g̲n̲*̲}̲ &z_{1,k} = x_{…
用矩阵的形式表达出来
$$
\begin{flalign*}
&\left[\matrix{x_{1,k}\x_{2,k}}\right] = \left[\matrix{1&1\0&1}\right]\left[\matrix{x_{1,k-1}\x_{2,k-1}}\right]+\left[\matrix{\omega_{1,k-1}\\omega_{2,k-1}}\right]\
&\left[\matrix{z_{1,k}\z_{2,k}}\right] = \left[\matrix{1&0\0&1}\right]\left[\matrix{x_{1,k}\x_{2,k}}\right]+\left[\matrix{\nu_{1,k-1}\\nu_{2,k-1}}\right]
&
\end{flalign*}
$$
预测 | 更新 | ||
---|---|---|---|
先验 | x ^ k − = A x ^ k − 1 + B u k − 1 \hat{x}^-_k= A\widehat{x}_{k-1}+Bu_{k-1} x^k−=Ax k−1+Buk−1 | 卡尔曼增益 | K k = P k − H T H P k − H T + R K_k=\frac{P^-_kH^T}{HP^-_kH^T+R} Kk=HPk−HT+RPk−HT |
先验误差协方差 | P k − = A P k − 1 A T + Q P^-_k=AP_{k-1}A^T+Q Pk−=APk−1AT+Q | 后验估计 | x ^ k = x ^ k − + K k ( z k − H x ^ k − ) \hat{x}_k=\hat{x}^-_k + K_k(z_k - H\hat{x}^-_k) x^k=x^k−+Kk(zk−Hx^k−) |
更新误差协方差 | P k = ( I − K k H ) P k − P_k=(I-K_kH)P^-_k Pk=(I−KkH)Pk− |