离散时间下的卡尔曼滤波器

  已知运动方程为,
x k = ϕ k ∣ k − 1 x k − 1 + Γ k − 1 w k − 1 (1) x_k=\phi_{k|k-1}x_{k-1}+\Gamma_{k-1}w_{k-1} \tag{1} xk=ϕkk1xk1+Γk1wk1(1)
其中 x k x_k xk表示 k k k时刻的状态, ϕ k ∣ k − 1 \phi_{k|k-1} ϕkk1表示状态转移矩阵, x k − 1 x_{k-1} xk1表示 k − 1 k-1 k1时刻的状态, Γ k − 1 \Gamma_{k-1} Γk1表示噪声矩阵, w k − 1 w_{k-1} wk1表示运动噪声。 w k − 1 w_{k-1} wk1服从高斯分布 N ( 0 , Q k − 1 ) N(0,Q_{k-1}) N(0,Qk1)
  测量方程为,
z k = H k x k + v k (2) z_k=H_kx_k+v_k \tag{2} zk=Hkxk+vk(2)
其中 z k z_k zk表示 k k k时刻的测量, H k H_k Hk表示测量矩阵, v k v_k vk表示测量噪声。 v k v_k vk服从高斯分布 N ( 0 , R k ) N(0,R_k) N(0,Rk)
  输入 k − 1 k-1 k1时刻的后验状态 x ^ k − 1 \hat x_{k-1} x^k1和后验状态的协方差矩阵 P ^ k − 1 \hat P_{k-1} P^k1,以及 k k k时刻的测量 z k z_k zk,进行如下操作:预测+更新
  预测:用运动方程得到先验估计,包括先验状态 x ˇ k \check x_k xˇk和先验状态的协方差矩阵 P ˇ k \check P_k Pˇk
x ˇ k = ϕ k ∣ k − 1 x ^ k − 1 (3-1) \check x_k = \phi_{k|k-1}\hat x_{k-1} \tag{3-1} xˇk=ϕkk1x^k1(3-1)
P ˇ k = ϕ k ∣ k − 1 P ^ k − 1 ϕ k ∣ k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T (3-2) \check P_k=\phi_{k|k-1}\hat P_{k-1}\phi_{k|k-1}^T+\Gamma_{k-1}Q_{k-1}\Gamma_{k-1}^T \tag{3-2} Pˇk=ϕkk1P^k1ϕkk1T+Γk1Qk1Γk1T(3-2)
其中公式(3-1)由均值的传播定律得到,而公式(3-2)由协方差的传播定律得到。
  更新:先计算卡尔曼增益,然后用测量方程更新先验估计得到后验估计,包括后验状态 x ^ k \hat x_k x^k和后验状态的协方差矩阵 P ^ k \hat P_k P^k
K k = P ˇ k H k T ( H k P ˇ k H k T + R k ) − 1 (3-3) K_k=\check P_kH_k^T(H_k\check P_kH_k^T+R_k)^{-1} \tag{3-3} Kk=PˇkHkT(HkPˇkHkT+Rk)1(3-3)

x ^ k = x ˇ k + K k ( z k − H k x ˇ k ) (3-4) \hat x_k = \check x_k + K_k(z_k-H_k\check x_k) \tag{3-4} x^k=xˇk+Kk(zkHkxˇk)(3-4)

P ^ k = ( I − K k H k ) P ˇ k (3-5) \hat P_k= (I-K_kH_k)\check P_k \tag{3-5} P^k=(IKkHk)Pˇk(3-5)
其中公式(3-1)至(3-5)即为离散时间下的卡尔曼滤波器方程。


  卡尔曼滤波器的一个小例子。
  已知房间内的温度受扰动噪声 w w w的影响,它服从高斯分布 N ( 0 , 0. 4 2 ) N(0,0.4^2) N(0,0.42);同时,房间内有一个温度计,它的测量噪声为 v v v,它服从高斯分布 N ( 0 , 0. 3 2 ) N(0,0.3^2) N(0,0.32)。已知 k − 1 k-1 k1时刻房间内的真实温度为25摄氏度, k k k时刻的温度计读数为25.2摄氏度,请问 k k k时刻房间的温度估计为多少?该估计的不确定度为多少?
  解答
由题意,系统的运动方程为,
x k = x k − 1 + w k − 1 x_k=x_{k-1}+w_{k-1} xk=xk1+wk1
测量方程为,
z k = x k + v k z_k=x_k+v_k zk=xk+vk
且已知 k − 1 k-1 k1时刻的后验估计为25摄氏度,方差为0。根据公式(3-1)和(3-2)得到, k k k时刻先验的状态估计为25摄氏度,方差为 0. 4 2 0.4^2 0.42。根据公式(3-3)得到卡尔曼增益为,
K k = 0. 4 2 0. 4 2 + 0. 3 2 = 16 25 = 0.64 K_k=\frac{0.4^2}{0.4^2+0.3^2}=\frac{16}{25}=0.64 Kk=0.42+0.320.42=2516=0.64
那么,根据公式(3-4)和公式(3-5)得到后验的状态估计为,
x ^ k = 25 + 0.64 ⋅ ( 25.2 − 25 ) = 25.128 \hat x_k=25+0.64\cdot(25.2-25)=25.128 x^k=25+0.64(25.225)=25.128
P ^ k = ( 1 − 0.64 ) ⋅ 0. 4 2 = 0.0576 = 0.2 4 2 \hat P_k=(1-0.64)\cdot0.4^2=0.0576=0.24^2 P^k=(10.64)0.42=0.0576=0.242
k k k时刻房间的温度估计为25.128摄氏度,该估计的不确定度为 0.2 4 2 0.24^2 0.242
  换个角度思考(当运动方程和测量方程中的系数皆为1时,下面两个结论才成立),
预测操作时,状态的不确定度等价于电阻的串联,
P ˇ k = 0 2 + 0. 4 2 ⇒ P ˇ k = 0. 4 2 \check P_k=0^2+0.4^2 \Rightarrow \check P_k=0.4^2 Pˇk=02+0.42Pˇk=0.42
更新操作时,状态的不确定度等价于电阻的并联,
1 P ^ k = 1 0. 4 2 + 1 0. 3 2 ⇒ P ^ k = 0.2 4 2 \frac{1}{\hat P_k}=\frac{1}{0.4^2}+\frac{1}{0.3^2} \Rightarrow \hat P_k=0.24^2 P^k1=0.421+0.321P^k=0.242

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YMWM_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值