文章讨论三个方面:数据融合、协方差矩阵、状态空间方程。
卡尔曼滤波器:数学基础
一、数据融合
假设存在两次测量,两次测量均存在误差且误差服从正态分布。
第一次测量的测量值为 z 1 z_1 z1,标准差为 σ 1 \sigma_1 σ1;第二次测量的测量值为 z 2 z_2 z2,标准差为 σ 2 \sigma_2 σ2。
1. 结论
估计真实值在两次测量值之间,且更接近标准差小的测量值。
2. 推导
已知(详见上期公式(5)):
z ^ = z 1 + K ( z 2 − z 1 ) (1) \hat{z} = z_1 + K(z_2 - z_1) \tag{1} z^=z1+K(z2−z1)(1)
式中: K K K——卡尔曼增益/因数,且 K ∈ [ 0 , 1 ] K\in[0,1] K∈[0,1]。
K = 0 K = 0 K=0 时, z ^ = z 1 \hat{z} = z_1 z^=z1; K = 1 K = 1 K=1 时, z ^ = z 2 \hat{z} = z_2 z^=z2。
我们的目的是求 K K K 使得 σ z ^ \sigma_{\hat{z}} σz^ 最小,即求 K K K 使得方差 V a r ( z ^ ) Var(\hat{z}) Var(z^)最小。
σ z ^ 2 = V a r ( z 1 + K ( z 2 − z 1 ) ) = V a r ( z 1 − K z 1 + K z 2 ) = V a r ( ( 1 − K ) z 1 + K z 2 ) \sigma_{\hat{z}}^2 = \bm{V}ar(z_1 + K(z_2 - z_1)) \\ \ \\ \quad \ \ = \bm{V}ar(z_1 - Kz_1 + Kz_2) \\ \ \\ \quad \ \ \ = \bm{V}ar((1-K)z_1 + Kz_2) σz^2=Var(z1+K(z2−z1)) =Var(z1−Kz1+Kz2) =Var((1−K)z1+Kz2)
两次测量结果相互独立,可得:
σ z ^ 2 = V a r ( ( 1 − K ) z 1 + K z 2 ) = V a r ( ( 1 − K ) z 1 ) + V a r ( K z 2 ) = ( 1 − K ) 2 V a r ( z 1 ) + K 2 V a r ( z 2 ) = ( 1 − K ) 2 σ 1 2 + K 2 σ 2 2 (2) \sigma_{\hat{z}}^2 = \bm{V}ar((1-K)z_1 + Kz_2) \\ \ \\ \qquad \qquad = \bm{V}ar((1-K)z_1) + \bm{V}ar(Kz_2) \\ \ \\ \qquad \qquad \quad \ \ = (1-K)^2\bm{V}ar(z_1)+K^2\bm{V}ar(z_2)\ \ \ \\ \ \\ = (1-K)^2\sigma_1^2 + K^2\sigma_2^2 \ \ \tag{2} σz^2=Var((1−K)z1+Kz2) =Var((1−K)z1)+Var(Kz2) =(1−K)2Var(z1)+K2Var(z2) =(1−K)2σ12+K2σ22 (2)
当方差最小时,方差 σ z ^ 2 \sigma_{\hat{z}}^2 σz^2 对 K K K 的导数为零,即:
∂ σ z ^ 2 ∂ K = 0 ⇒ − 2 ( 1 − K ) σ 1 2 + 2 K σ 2 2 = 0 ⇒ − σ 1 + K σ 1 2 + K σ 2 2 = 0 ⇒ K ( σ 1 2 + σ 2 2 ) = σ 1 2 ⇒ K = σ 1 2 σ 1 2 + σ 2 2 (3) \frac{\partial{\sigma_{\hat{z}}^2}}{\partial{K}} = 0 \Rightarrow -2(1-K)\sigma_1^2 + 2K\sigma_2^2=0 \\ \ \\ \qquad \ \ \Rightarrow -\sigma_1 + K\sigma_1^2 + K\sigma_2^2 = 0 \\ \ \\ \Rightarrow K(\sigma_1^2 + \sigma_2^2) = \sigma_1^2 \ \\ \ \\ \Rightarrow K = \frac{\sigma_1^2}{\sigma_1^2 + \sigma_2^2} \quad \ \ \ \ \tag{3} ∂K∂σz^2=0⇒−2(1−K)σ12+2Kσ22=0 ⇒−σ1+Kσ12+Kσ22=0 ⇒K(σ12+σ22)=σ12 ⇒K=σ12+σ22σ12 (3)
将式(3)带入式(1)中,可得:
z ^ = z 1 + σ 1 2 σ 1 2 + σ 2 2 ( z 2 − z 1 ) = z 1 + σ 1 2 z 2 σ 1 2 +