023卡尔曼滤波方程的推导

  博主参考严恭敏老师的讲义进行学习卡尔曼滤波,在讲义的基础上加以详细推导与说明。

  首先给出随机系统状态空间模型(注意该模型没有给出控制部分):
(1) { X k = Φ k / k − 1 X k − 1 + Γ k / k − 1 W k − 1 Z k = H k X k + V k \tag{1} \begin{cases} X_k = \varPhi_{k/k-1} X_{k-1} + \varGamma_{k/k-1} W_{k-1}\\ Z_k = H_k X_k + V_k \end{cases} {Xk=Φk/k1Xk1+Γk/k1Wk1Zk=HkXk+Vk(1)

注意:k/k-1表示从时刻k-1到k时刻的一步转移。


1、k-1时刻

目标:求解k-1时刻真值与状态估计的协方差

  真值: X k − 1 X_{k-1} Xk1
  状态估计: X ^ k − 1 \hat X_{k-1} X^k1 ,我们求得的状态估计基本不会等于真值,所以我们的状态估计就是最后求得的、可以用的状态;
  状态估计误差(为了便于区分,在此用e):
(2) e k − 1 = X k − 1 − X ^ k − 1 \tag{2} e_{k-1} = X_{k-1} - \hat X_{k-1} \\ ek1=Xk1X^k1(2)
  真值与k-1时刻状态估计的协方差: P k − 1 P_{k-1} Pk1
(3) P k − 1 = E [ e k − 1 e k − 1 T ] = E [ ( X k − 1 − X ^ k − 1 ) ( X k − 1 − X ^ k − 1 ) T ] \tag{3} P_{k-1}=E[e_{k-1} e_{k-1}^T] = E[(X_{k-1} - \hat X_{k-1}) ( X_{k-1} - \hat X_{k-1})^T] Pk1=E[ek1ek1T]=E[(Xk1X^k1)Xk1X^k1T](3)


2、由k-1时刻预测k时刻状态

目标:求解真值与一步预测状态的协方差

  对k时刻的状态作预测:
(4) X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 \tag{4} \hat X_{k/k-1} = \varPhi_{k/k-1} \hat X_{k-1} X^k/k1=Φk/k1X^k1(4)
  零均值白噪声不会影响预测。另外注意 X ^ k / k − 1 \hat X_{k/k-1} X^k/k1还不是最终的系统状态,说白了现在预测的这个状态还是不能用的,必须经过后面的修正得到 X ^ k \hat X_{k} X^k才能用,这也是他们下标的区别所在了。
  预测误差:
(5) e k / k − 1 = X k − X ^ k / k − 1 \tag{5} e_{k/k-1} = X_k - \hat X_{k/k-1} \\ ek/k1=XkX^k/k1(5)
  真值与一步预测状态的协方差: P k / k − 1 P_{k/k-1} Pk/k1
(6) P k / k − 1 = E [ e k / k − 1 e k / k − 1 T ] = E [ ( X k − X ^ k / k − 1 ) ( X k − 1 − X ^ k / k − 1 ) T ] \tag{6} \begin{aligned} P_{k/k-1} &= E[e_{k/k-1} e_{k/k-1}^T] \\ &= E[(X_k - \hat X_{k/k-1}) ( X_{k-1} - \hat X_{k/k-1})^T] \end{aligned} Pk/k1=E[ek/k1ek/k1T]=E[(XkX^k/k1)(Xk1X^k/k1)T](6)
  由公式(1)和公式(4),并结合公式(2)可知:
X k − X ^ k / k − 1 = Φ k / k − 1 X k − 1 + Γ k / k − 1 W k − 1 − Φ k / k − 1 X ^ k − 1 = Φ k / k − 1 e k − 1 + Γ k / k − 1 W k − 1 \begin{aligned} X_k - \hat X_{k/k-1} &= \varPhi_{k/k-1} X_{k-1} + \varGamma_{k/k-1} W_{k-1} - \varPhi_{k/k-1} \hat X_{k-1}\\ &= \varPhi_{k/k-1} e_{k-1} + \varGamma_{k/k-1} W_{k-1} \end{aligned} XkX^k/k1=Φk/k1Xk1+Γk/k1Wk1Φk/k1X^k1=Φk/k1ek1+Γk/k1Wk1

注意:是 e k − 1 e_{k-1} ek1而不是 e k / k − 1 e_{k/k-1} ek/k1

  所以:
( X k − X ^ k / k − 1 ) ( X k − 1 − X ^ k / k − 1 ) T = ( Φ k / k − 1 e k − 1 + Γ k / k − 1 W k − 1 ) ( Φ k / k − 1 e k − 1 + Γ k / k − 1 W k − 1 ) T = ( Φ k / k − 1 e k − 1 + Γ k / k − 1 W k − 1 ) ( e k − 1 T Φ k / k − 1 T + W k − 1 T Γ k / k − 1 T ) = Φ k / k − 1 e k − 1 e k − 1 T Φ k / k − 1 T + Φ k / k − 1 e k − 1 W k − 1 T Γ k / k − 1 T + Γ k / k − 1 W k − 1 e k − 1 T Φ k / k − 1 T + Γ k / k − 1 W k − 1 W k − 1 T Γ k / k − 1 T \begin{aligned} (X_k - \hat X_{k/k-1}) ( X_{k-1} -\hat X_{k/k-1})^T &= (\varPhi_{k/k-1} e_{k-1} + \varGamma_{k/k-1} W_{k-1})(\varPhi_{k/k-1} e_{k-1} + \varGamma_{k/k-1} W_{k-1})^T\\ &= (\varPhi_{k/k-1} e_{k-1} + \varGamma_{k/k-1} W_{k-1}) (e_{k-1}^T \varPhi_{k/k-1}^T + W_{k-1}^T \varGamma_{k/k-1}^T)\\ &= \varPhi_{k/k-1} e_{k-1} e_{k-1}^T \varPhi_{k/k-1}^T + \varPhi_{k/k-1} e_{k-1} W_{k-1}^T \varGamma_{k/k-1}^T \\ &+ \varGamma_{k/k-1} W_{k-1}e_{k-1}^T \varPhi_{k/k-1}^T + \varGamma_{k/k-1} W_{k-1}W_{k-1}^T \varGamma_{k/k-1}^T \end{aligned} (XkX^k/k1)(Xk1X^k/k1)T=(Φk/k1ek1+Γk/k1Wk1)(Φk/k1ek1+Γk/k1Wk1)T=(Φk/k1ek1+Γk/k1Wk1)(ek1TΦk/k1T+Wk1TΓk/k1T)=Φk/k1ek1ek1TΦk/k1T+Φk/k1ek1Wk1TΓk/k1T+Γk/k1Wk1ek1TΦk/k1T+Γk/k1Wk1Wk1TΓk/k1T

偷偷地把下标去掉再看一看:
( X k − X ^ k / k − 1 ) ( X k − 1 − X ^ k / k − 1 ) T = ( Φ e + Γ W ) ( Φ e + Γ W ) T = ( Φ e + Γ W ) ( e T Φ T + W T Γ T ) = Φ e e T Φ T + Φ e W T Γ T + Γ W e T Φ T + Γ W W T Γ T \begin{aligned} (X_k - \hat X_{k/k-1}) ( X_{k-1} -\hat X_{k/k-1})^T &= (\varPhi e + \varGamma W)(\varPhi e + \varGamma W)^T\\ &= (\varPhi e + \varGamma W)(e^T \varPhi^T + W^T \varGamma^T )\\ &= \varPhi e e^T \varPhi^T + \varPhi e W^T \varGamma^T + \varGamma W e^T \varPhi^T + \varGamma W W^T \varGamma^T \end{aligned} (XkX^k/k1)(Xk1X^k/k1)T=(Φe+ΓW)(Φe+ΓW)T=(Φe+ΓW)(eTΦT+WTΓT)=ΦeeTΦT+ΦeWTΓT+ΓWeTΦT+ΓWWTΓT

  再考虑公式(3),并设噪声W的协方差阵为Q,这样公式(6)便有:

(7) P k / k − 1 = Φ k / k − 1 E [ e k − 1 e k − 1 T ] Φ k / k − 1 T + Γ k / k − 1 E [ W k − 1 W k − 1 T ] Γ k / k − 1 T = Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k / k − 1 Q k − 1 Γ k / k − 1 T \tag{7} \begin{aligned} P_{k/k-1} &= \varPhi_{k/k-1} E[e_{k-1} e_{k-1}^T] \varPhi_{k/k-1}^T + \varGamma_{k/k-1} E[W_{k-1} W_{k-1}^T] \varGamma_{k/k-1}^T\\ &= \varPhi_{k/k-1} P_{k-1} \varPhi_{k/k-1}^T + \varGamma_{k/k-1} Q_{k-1} \varGamma_{k/k-1}^T\\ \end{aligned} Pk/k1=Φk/k1E[ek1ek1T]Φk/k1T+Γk/k1E[Wk1Wk1T]Γk/k1T=Φk/k1Pk1Φk/k1T+Γk/k1Qk1Γk/k1T(7)

注意:不相关的量期望为0


3、量测方程修正状态估计

目标:建立状态修正方程

  利用公式(1)-2中的量测方程k-1时刻预测k时刻的量测向量:
(8) Z ^ k / k − 1 = H k X ^ k / k − 1 \tag{8} \hat Z_{k/k-1} = H_k \hat X_{k/k-1} Z^k/k1=HkX^k/k1(8)
  相对于量测值,预测有误差:
(9) Z ~ k / k − 1 = Z k − Z ^ k / k − 1 \tag{9} \tilde Z_{k/k-1} = Z_k - \hat Z_{k/k-1} Z~k/k1=ZkZ^k/k1(9)

  构造:
X ^ k = X ^ k / k − 1 + K k Z ~ k / k − 1 \hat X_k=\hat X_{k/k-1} + K_k \tilde Z_{k/k-1} X^k=X^k/k1+KkZ~k/k1

注意: Z ~ k / k − 1 \tilde Z_{k/k-1} Z~k/k1是误差

  将公式(9)代入上式,并结合公式(4)和公式(8)可得状态修正方程:
(10) X ^ k = X ^ k / k − 1 + K k ( Z k − Z ^ k / k − 1 ) = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) = ( I − K k H k ) X ^ k / k − 1 + K k Z k = ( I − K k H k ) Φ k / k − 1 X ^ k − 1 + K k Z k \tag{10} \begin{aligned} \hat X_k &= \hat X_{k/k-1} + K_k (Z_k - \hat Z_{k/k-1}) \\ &= \hat X_{k/k-1} + K_k (Z_k - H_k \hat X_{k/k-1}) \\ &= (I - K_k H_k)\hat X_{k/k-1} + K_k Z_k \\ &= (I - K_k H_k)\varPhi_{k/k-1} \hat X_{k-1} + K_k Z_k \\ \end{aligned} X^k=X^k/k1+Kk(ZkZ^k/k1)=X^k/k1+Kk(ZkHkX^k/k1)=(IKkHk)X^k/k1+KkZk=(IKkHk)Φk/k1X^k1+KkZk(10)


4、k时刻

目标:求解k时刻真值与状态估计的协方差

  状态方程k时刻的状态误差为:
e k = X k − X ^ k e_k = X_k - \hat X_k ek=XkX^k
  将公式(10)第二个等号之后项代入上式并结合公式(5)和公式(1)-2可得:
(11) e k = X k − [ X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) ] = e k / k − 1 − K k [ Z k − H k X ^ k / k − 1 ] = e k / k − 1 − K k ( H k X k + V k − H k X ^ k / k − 1 ) = e k / k − 1 − K k [ ( H k X k − H k X ^ k / k − 1 ) + V k ] = e k / k − 1 − K k H k e k / k − 1 − K k V k = ( I − K k H k ) e k / k − 1 − K k V k \tag{11} \begin{aligned} e_k &= X_k - [\hat X_{k/k-1} + K_k (Z_k - H_k \hat X_{k/k-1})]\\ &= e_{k/k-1} - K_k[Z_k - H_k \hat X_{k/k-1}]\\ &= e_{k/k-1} - K_k(H_k X_k + V_k - H_k \hat X_{k/k-1})\\ &= e_{k/k-1} - K_k[(H_k X_k - H_k \hat X_{k/k-1}) + V_k ]\\ &= e_{k/k-1} - K_kH_k e_{k/k-1} - K_k V_k \\ &= (I - K_kH_k) e_{k/k-1} - K_k V_k \\ \end{aligned} ek=Xk[X^k/k1+Kk(ZkHkX^k/k1)]=ek/k1Kk[ZkHkX^k/k1]=ek/k1Kk(HkXk+VkHkX^k/k1)=ek/k1Kk[(HkXkHkX^k/k1)+Vk]=ek/k1KkHkek/k1KkVk=(IKkHk)ek/k1KkVk(11)
  结合公式(6)并设噪声V的协方差阵为R,k时刻真值与状态估计的协方差阵为:
(12) P k = E [ e k e k T ] = E { [ ( I − K k H k ) e k / k − 1 − K k V k ] [ ( I − K k H k ) e k / k − 1 − K k V k ] T } = ( I − K k H k ) E [ e k / k − 1 e k / k − 1 T ] ( I − K k H k ) T + K k E [ V k V k T ] K k T = ( I − K k H k ) P k / k − 1 ( I − K k H k ) T + K k R k K k T \tag{12} \begin{aligned} P_k &= E[e_{k}e_{k}^T]\\ &= E \lbrace{ [(I - K_kH_k) e_{k/k-1} - K_k V_k] [(I - K_kH_k) e_{k/k-1} - K_k V_k]^T \rbrace}\\ &= (I - K_kH_k) E[e_{k/k-1} e_{k/k-1}^T] (I - K_kH_k)^T + K_k E[V_k V_k^T] K_k^T\\ &= (I - K_kH_k) P_{k/k-1} (I - K_kH_k)^T + K_k R_k K_k^T\\ \end{aligned} Pk=E[ekekT]=E{[(IKkHk)ek/k1KkVk][(IKkHk)ek/k1KkVk]T}=(IKkHk)E[ek/k1ek/k1T](IKkHk)T+KkE[VkVkT]KkT=(IKkHk)Pk/k1(IKkHk)T+KkRkKkT(12)


5、增益矩阵 K k K_k Kk

目标:求解增益矩阵 K k K_k Kk

  将公式(12)展开为:
(13) P k = ( I − K k H k ) P k / k − 1 ( I − K k H k ) T + K k R k K k T = P k / k − 1 − K k H k P k / k − 1 − ( K k H k P k / k − 1 ) T + K k ( H k P k / k − 1 H k T + R k ) K k T \tag{13} \begin{aligned} P_k &= (I - K_k H_k) P_{k/k-1} (I - K_k H_k)^T + K_k R_k K_k^T\\ &= P_{k/k-1}- K_k H_k P_{k/k-1} - (K_k H_k P_{k/k-1})^T \\ &+ K_k(H_k P_{k/k-1} H_k^T + R_k)K_k^T \end{aligned} Pk=(IKkHk)Pk/k1(IKkHk)T+KkRkKkT=Pk/k1KkHkPk/k1(KkHkPk/k1)T+Kk(HkPk/k1HkT+Rk)KkT(13)
  两边求迹运算:
t r ( P k ) = t r ( P k / k − 1 ) − t r ( K k H k P k / k − 1 ) − t r ( ( K k H k P k / k − 1 ) T ) + t r ( K k ( H k P k / k − 1 H k T + R k ) K k T ) tr(P_k )=tr(P_{k/k-1})-tr(K_k H_k P_{k/k-1})-tr((K_k H_k P_{k/k-1})^T)+tr(K_k(H_k P_{k/k-1} H_k^T + R_k)K_k^T) tr(Pk)=tr(Pk/k1)tr(KkHkPk/k1)tr((KkHkPk/k1)T)+tr(Kk(HkPk/k1HkT+Rk)KkT)
  将上式看作关于K的一元二次函数,求极小值:
d d K k [ t r ( P k ) ] = 0 − ( H k P k / k − 1 ) T − ( H k P k / k − 1 ) T + 2 K k ( H k P k / k − 1 H k T + R k ) = 2 [ K k ( H k P k / k − 1 H k T + R k ) − P k / k − 1 H k T ] = 0 \begin{aligned} \frac d {dK_k} [tr(P_k)] &= 0-(H_k P_{k/k-1})^T-(H_k P_{k/k-1})^T+2K_k(H_k P_{k/k-1} H_k^T + R_k)\\ &= 2[K_k(H_k P_{k/k-1} H_k^T + R_k)-P_{k/k-1} H_k^T]\\ &= 0 \end{aligned} dKkd[tr(Pk)]=0(HkPk/k1)T(HkPk/k1)T+2Kk(HkPk/k1HkT+Rk)=2[Kk(HkPk/k1HkT+Rk)Pk/k1HkT]=0
  所以:
P k / k − 1 H k T = K k ( H k P k / k − 1 H k T + R k ) P_{k/k-1} H_k^T = K_k(H_k P_{k/k-1} H_k^T + R_k) Pk/k1HkT=Kk(HkPk/k1HkT+Rk)
  增益矩阵即为:
(14) K k = P k / k − 1 H k T ( H k P k / k − 1 H k T + R k ) − 1 \tag{14} K_k = P_{k/k-1} H_k^T(H_k P_{k/k-1} H_k^T + R_k)^{-1} Kk=Pk/k1HkT(HkPk/k1HkT+Rk)1(14)


6、总结

目标:汇总卡尔曼滤波计算公式

  将公式(14)代入公式(13)可得:
P k = P k / k − 1 − K k H k P k / k − 1 − ( K k H k P k / k − 1 ) T + K k ( H k P k / k − 1 H k T + R k ) K k T = P k / k − 1 − K k H k P k / k − 1 − P k / k − 1 T H k T K k T + P k / k − 1 H k T K k T = P k / k − 1 − K k H k P k / k − 1 = ( I − K k H k ) P k / k − 1 \begin{aligned} P_k &= P_{k/k-1}- K_k H_k P_{k/k-1} - (K_k H_k P_{k/k-1})^T \\ &+ K_k(H_k P_{k/k-1} H_k^T + R_k)K_k^T \\ &= P_{k/k-1} - K_k H_k P_{k/k-1} - P_{k/k-1}^T H_k^T K_k^T + P_{k/k-1} H_k^T K_k^T \\ &= P_{k/k-1} - K_k H_k P_{k/k-1} \\ &= (I - K_k H_k ) P_{k/k-1} \end{aligned} Pk=Pk/k1KkHkPk/k1(KkHkPk/k1)T+Kk(HkPk/k1HkT+Rk)KkT=Pk/k1KkHkPk/k1Pk/k1THkTKkT+Pk/k1HkTKkT=Pk/k1KkHkPk/k1=(IKkHk)Pk/k1

注: P k / k − 1 T P_{k/k-1}^T Pk/k1T= P k / k − 1 P_{k/k-1} Pk/k1

综上所述,卡尔曼滤波计算公式:

①状态一步预测:
X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 \hat X_{k/k-1} = \varPhi_{k/k-1} \hat X_{k-1} X^k/k1=Φk/k1X^k1
②状态一步预测协方差阵:
P k / k − 1 = Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k / k − 1 Q k − 1 Γ k / k − 1 T P_{k/k-1} = \varPhi_{k/k-1} P_{k-1} \varPhi_{k/k-1}^T + \varGamma_{k/k-1} Q_{k-1} \varGamma_{k/k-1}^T Pk/k1=Φk/k1Pk1Φk/k1T+Γk/k1Qk1Γk/k1T
③增益矩阵:
K k = P k / k − 1 H k T ( H k P k / k − 1 H k T + R k ) − 1 K_k = P_{k/k-1} H_k^T(H_k P_{k/k-1} H_k^T + R_k)^{-1} Kk=Pk/k1HkT(HkPk/k1HkT+Rk)1
④状态估计:
X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) \hat X_k = \hat X_{k/k-1} + K_k (Z_k - H_k \hat X_{k/k-1}) \\ X^k=X^k/k1+Kk(ZkHkX^k/k1)
⑤状态估计协方差阵:
P k = ( I − K k H k ) P k / k − 1 P_k = (I - K_k H_k ) P_{k/k-1} Pk=(IKkHk)Pk/k1


7、示例

Z = (1:100);
noise = randn(1, 100);
Z = Z +noise;

X = [0; 0];                %状态
P = [1 0; 0 1];            %状态协方差矩阵
F = [1 1; 0 1];            %状态转移矩阵
Q = [0.0001 0; 0 0.0001];  %状态转移协方差矩阵
H = [1 0];                 %观测矩阵
R = 1;

figure;
hold on;

for i = 1:100
    X_ = F*X;
    P_ = F*P*F' + Q;
    K = P_*H'/(H*P_*H' + R);
    X = X_ + K*( Z(i) - H*X );
    P = ( eye(2) - K*H ) * P_;
    
    plot(X(1), X(2), '.');  %横轴表示位置,纵轴表示速度
end

资源:一个轻松理解卡尔曼滤波的教学视频
卡尔曼滤波的原理以及在MATLAB中的实现-资源汇总页中下载

align/aligncmps.m , 2830 align/alignfn.m , 2902 align/aligni0.m , 3339 align/alignsb.m , 1091 align/alignvn.m , 3267 align/alignWahba.m , 1575 base0/a2caw.m , 638 base0/a2cwa.m , 614 base0/a2mat.m , 704 base0/a2qua.m , 1039 base0/a2qua1.m , 782 base0/aa2mu.m , 1548 base0/aa2phi.m , 1546 base0/aaddmu.m , 1299 base0/askew.m , 577 base0/blh2xyz.m , 999 base0/cros.m , 861 base0/d2r.m , 393 base0/datt2mu.m , 606 base0/dm2r.m , 954 base0/dms2r.m , 1107 base0/dv2atti.m , 1170 base0/iaskew.m , 604 base0/lq2m.m , 577 base0/m2att.m , 551 base0/m2qua.m , 1203 base0/m2rv.m , 1320 base0/m2rv1.m , 1433 base0/m2rv2.m , 956 base0/mnormlz.m , 630 base0/mupdt.m , 1047 base0/p2cne.m , 675 base0/q2att.m , 916 base0/q2att1.m , 1119 base0/q2mat.m , 843 base0/q2rv.m , 643 base0/qaddafa.m , 715 base0/qaddphi.m , 754 base0/qconj.m , 417 base0/qdelafa.m , 671 base0/qdelphi.m , 754 base0/qmul.m , 692 base0/qmulv.m , 1760 base0/qnormlz.m , 416 base0/qq2afa.m , 693 base0/qq2phi.m , 782 base0/qupdt.m , 1119 base0/qupdt2.m , 2337 base0/r2d.m , 393 base0/r2dm.m , 885 base0/r2dms.m , 983 base0/rotv.m , 1198 base0/rq2m.m , 577 base0/rv2m.m , 1139 base0/rv2q.m , 824 base0/sv2atti.m , 1114 base0/vnormlz.m , 404 base0/xyz2blh.m , 1053 base1/altfilt.m , 1554 base1/attsyn.m , 1729 base1/bhsimu.m , 1299 base1/cnscl.m , 2895 base1/cnscl0.m , 2040 base1/conecoef.m , 1373 base1/conedrift.m , 1399 base1/conepolyn.m , 1116 base1/conesimu.m , 1442 base1/conetwospeed.m , 1200 base1/drinit.m , 1063 base1/drupdate.m , 1074 base1/dsins.m , 1185 base1/earth.m , 1484 base1/ethinit.m , 803 base1/ethupdate.m , 2104 base1/fusion.m , 971 base1/gcctrl.m , 1053 base1/gpssimu.m , 2747 base1/imulever.m , 646 base1/imurfu.m , 1998 base1/imurot.m , 621 base1/insextrap.m , 599 base1/insinit.m , 2232 base1/inslever.m , 969 base1/insupdate.m , 2257 base1/invbc.m , 577 base1/la2dpos.m , 901 base1/odsimu.m , 2475 base1/olsins.m , 798 base1/pp2vn
推导卡尔曼滤波方程和扩展卡尔曼滤波方程的方法有多种。其中一种常用的方法是通过最小方差估计原理或广义最小二乘原理来推导。根据引用和引用的描述,可以得知卡尔曼滤波方程可以通过广义最小二乘原理推导得到,扩展卡尔曼滤波方程可以通过EM算法和极大后验概率估计推导得到。 具体推导过程可以描述如下: 1. 首先,根据广义最小二乘原理或最小方差估计原理,可以建立卡尔曼滤波方程。该方程包括两个步骤:预测步骤和更新步骤。在预测步骤中,利用系统动态模型和先验信息对状态进行预测;在更新步骤中,利用观测模型和测量数据对状态进行更新。这样就可以通过递归的方式实现对状态的估计。 2. 扩展卡尔曼滤波卡尔曼滤波在非线性情形下的一种扩展形式。与标准卡尔曼滤波不同,扩展卡尔曼滤波使用了线性化的近似方法来处理非线性系统。在扩展卡尔曼滤波中,通过对非线性系统进行局部线性化,将其转化为线性系统。然后,可以使用卡尔曼滤波方程对线性化后的系统进行状态估计。 3. 对于扩展卡尔曼滤波推导,引用中提到了它是一种高效率的递归滤波器,说明它是通过递归的方式实现的。同时,引用中也提到了扩展卡尔曼滤波的传播和更新形式与标准卡尔曼滤波的形式一致,只是在计算过程中对非线性函数进行了线性化。 综上所述,推导卡尔曼滤波方程和扩展卡尔曼滤波方程可以通过最小方差估计原理或广义最小二乘原理来进行。扩展卡尔曼滤波利用线性化的近似方法来处理非线性系统,并通过递归的方式实现对状态的估计。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值