卡尔曼滤波原理(四)噪声相关或有色条件下的Kalman滤波

一、系统噪声与量测噪声相关的Kalman滤波

1、模型

函数模型
{ X k = Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 Z k = H k X k + V k \left\{\begin{array}{l}\boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k}\end{array}\right. { Xk=Φk/k1Xk1+Γk1Wk1Zk=HkXk+Vk
随机模型
{ E [ W k ] = 0 , E [ W k W j T ] = Q k δ k j E [ V k ] = 0 , E [ V k V l T ] = R k δ k j E [ W k V j T ] = S k δ k j \left\{\begin{array}{l}\mathrm{E}\left[\boldsymbol{W}_{k}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{W}_{k} \boldsymbol{W}_{j}^{\mathrm{T}}\right]=\boldsymbol{Q}_{k} \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{V}_{k}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{V}_{k} \boldsymbol{V}_{l}^{\mathrm{T}}\right]=\boldsymbol{R}_{k} \delta_{k j} \\ {\color{red}\mathrm{E}\left[\boldsymbol{W}_{k} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\boldsymbol{S}_{k} \delta_{k j}}\end{array}\right. E[Wk]=0,E[WkWjT]=QkδkjE[Vk]=0,E[VkVlT]=RkδkjE[WkVjT]=Skδkj

2、通过改写状态方程去相关

多了相关矩阵 S k δ k j \boldsymbol{S}_{k} \delta_{k j} Skδkj,想假设相关就必须有这个相关矩阵。

表示这个矩阵挺困难的,所以实际处理时,即使有一定相关,也直接把它当成不相关处理。

从理论上分析,它们相关,可以通过对状态方程进行改写,处理成不相关形式:
X k = Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 + J k − 1 ( Z k − 1 − H k − 1 X k − 1 − V k − 1 ) = ( Φ k / k − 1 − J k − 1 H k − 1 ) X k − 1 + J k − 1 Z k − 1 + ( Γ k − 1 W k − 1 − J k − 1 V k − 1 ) = Φ k / k − 1 ∗ X k − 1 + J k − 1 Z k − 1 + W k − 1 ∗ \begin{aligned} \boldsymbol{X}_{k} & =\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}+\boldsymbol{J}_{k-1}{\color{green}\left(\boldsymbol{Z}_{k-1}-\boldsymbol{H}_{k-1} \boldsymbol{X}_{k-1}-\boldsymbol{V}_{k-1}\right) }\\ & =\left(\boldsymbol{\Phi}_{k / k-1}-\boldsymbol{J}_{k-1} \boldsymbol{H}_{k-1}\right) \boldsymbol{X}_{k-1}+\boldsymbol{J}_{k-1} \boldsymbol{Z}_{k-1}+\left(\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}-\boldsymbol{J}_{k-1} \boldsymbol{V}_{k-1}\right) \\ & =\boldsymbol{\Phi}_{k / k-1}^{*} \boldsymbol{X}_{k-1}+{\color{brown}\boldsymbol{J}_{k-1} \boldsymbol{Z}_{k-1}}+\boldsymbol{W}_{k-1}^{*}\end{aligned} Xk=Φk/k1Xk1+Γk1Wk1+Jk1(Zk1Hk1Xk1Vk1)=(Φk/k1Jk1Hk1)Xk1+Jk1Zk1+(Γk1Wk1Jk1Vk1)=Φk/k1Xk1+Jk1Zk1+Wk1
绿色部分实质上等于 0 0 0 J k − 1 J_{k-1} Jk1 是一个待定系数矩阵。由此得到一个新的状态方程,此状态方程含有输入 J k − 1 Z k − 1 {\color{brown}\boldsymbol{J}_{k-1} \boldsymbol{Z}_{k-1}} Jk1Zk1 ,即把上一时刻的量测当做已知的输入。现在的问题是:系数矩阵 J k − 1 J_{k-1} Jk1 取什么值合适?

我们是希望通过对状态方程进行改写,处理成不相关形式,也就是说要找到一个系数矩阵 J k − 1 J_{k-1} Jk1 使 E [ W k ∗ V j T ] \mathrm{E}\left[\boldsymbol{W}_{k}^{*} \boldsymbol{V}_{j}^{\mathrm{T}}\right] E[WkVjT] 等于 0 0 0 ,即:
E [ W k ∗ ] = E [ Γ k − 1 W k − 1 − J k − 1 V k − 1 ] = 0 E [ W k ∗ ( W j ∗ ) T ] = ( Γ k Q k Γ k T + J k R k J k T − Γ k S k J k T − J k S k T Γ k T ) δ k j E [ W k ∗ V j T ] = ( Γ k S k − J k R k ) δ k j ⟹ J k = Γ k S k R k − 1 \begin{array}{l}\mathrm{E}\left[\boldsymbol{W}_{k}^{*}\right]=\mathrm{E}\left[\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}-\boldsymbol{J}_{k-1} \boldsymbol{V}_{k-1}\right]=\mathbf{0} \\ \mathrm{E}\left[\boldsymbol{W}_{k}^{*}\left(\boldsymbol{W}_{j}^{*}\right)^{\mathrm{T}}\right]=\left(\boldsymbol{\Gamma}_{k} \boldsymbol{Q}_{k} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}+\boldsymbol{J}_{k} \boldsymbol{R}_{k} \boldsymbol{J}_{k}^{\mathrm{T}}-\boldsymbol{\Gamma}_{k} \boldsymbol{S}_{k} \boldsymbol{J}_{k}^{\mathrm{T}}-\boldsymbol{J}_{k} \boldsymbol{S}_{k}^{\mathrm{T}} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}\right) \boldsymbol{\delta}_{k j} \\ \mathrm{E}\left[\boldsymbol{W}_{k}^{*} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\left(\boldsymbol{\Gamma}_{k} \boldsymbol{S}_{k}-\boldsymbol{J}_{k} \boldsymbol{R}_{k}\right) \delta_{k j} \Longrightarrow {\color{red}\boldsymbol{J}_{k}=\boldsymbol{\Gamma}_{k} \boldsymbol{S}_{k} \boldsymbol{R}_{k}^{-1}}\end{array} E[Wk]=E[Γk1Wk1Jk1Vk1]=0E[Wk(Wj)T]=(ΓkQkΓkT+JkRkJkTΓkSkJkTJkSkTΓkT)δkjE[WkVjT]=(ΓkSkJkRk)δkjJk=ΓkSkRk1
把系数矩阵 J k − 1 J_{k-1} Jk1 带回,得到新的系统噪声方差阵:
Q k ∗ = E [ W k ∗ ( W j ∗ ) T ] = ( Γ k Q k Γ k T − J k S k T Γ k T ) δ k j = ( Γ k Q k Γ k T − J k R k R k − 1 S k T Γ k T ) δ k j = ( Γ k Q k Γ k T − J k R k J k T ) δ k j \begin{aligned} \boldsymbol{Q}_{k}^{*} & =\mathrm{E}\left[\boldsymbol{W}_{k}^{*}\left(\boldsymbol{W}_{j}^{*}\right)^{\mathrm{T}}\right]=\left(\boldsymbol{\Gamma}_{k} \boldsymbol{Q}_{k} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}-\boldsymbol{J}_{k} \boldsymbol{S}_{k}^{\mathrm{T}} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}\right) \delta_{k j} \\ & =\left(\boldsymbol{\Gamma}_{k} \boldsymbol{Q}_{k} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}-\boldsymbol{J}_{k} \boldsymbol{R}_{k} \boldsymbol{R}_{k}^{-1} \boldsymbol{S}_{k}^{\mathrm{T}} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}\right) \boldsymbol{\delta}_{k j}=\left(\boldsymbol{\Gamma}_{k} \boldsymbol{Q}_{k} \boldsymbol{\Gamma}_{k}^{\mathrm{T}}-\boldsymbol{J}_{k} \boldsymbol{R}_{k} \boldsymbol{J}_{k}^{\mathrm{T}}\right) \delta_{k j}\end{aligned} Qk=E[Wk(Wj)T]=(ΓkQkΓkTJkSkTΓkT)δkj=(ΓkQkΓkTJkRkRk1SkTΓkT)δkj=(ΓkQkΓkTJkRkJkT)δkj

3、噪声相关条件下Kalman滤波公式汇总

新函数模型
{ X k = Φ k / k − 1 ∗ X k − 1 + J k − 1 Z k − 1 + W k − 1 ∗ Z k = H k X k + V k \left\{\begin{array}{l}\boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1}^{*} \boldsymbol{X}_{k-1}+\boldsymbol{J}_{k-1} \boldsymbol{Z}_{k-1}+\boldsymbol{W}_{k-1}^{*} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k}\end{array}\right. { Xk=Φk/k1Xk1+Jk1Zk1+Wk1Zk=HkXk+Vk
其中:
J k − 1 = Γ k − 1 S k − 1 R k − 1 − 1 Φ k / k − 1 ∗ = Φ k / k − 1 − J k − 1 H k − 1 Q k − 1 ∗ = Γ k − 1 Q k − 1 Γ k − 1 T − J k − 1 R k − 1 J k − 1 T \begin{array}{l} \boldsymbol{J}_{k-1}=\boldsymbol{\Gamma}_{k-1} \boldsymbol{S}_{k-1} \boldsymbol{R}_{k-1}^{-1} \quad \\\boldsymbol{\Phi}_{k / k-1}^{*}=\boldsymbol{\Phi}_{k / k-1}-\boldsymbol{J}_{k-1} \boldsymbol{H}_{k-1} \\ \boldsymbol{Q}_{k-1}^{*}=\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}-\boldsymbol{J}_{k-1} \boldsymbol{R}_{k-1} \boldsymbol{J}_{k-1}^{\mathrm{T}} \end{array} Jk1=Γk1Sk1Rk11Φk/k1=Φk/k1Jk1Hk1Qk1=Γk1Qk1Γk1TJk1Rk1Jk1T
新随机模型
{ E [ W k ∗ ] = 0 , E [ W k ∗ ( W j ∗ ) T ] = Q k ∗ δ k j E [ V k ] = 0 , E [ V k V j T ] = R k δ k j E [ W k ∗ V j T ] = 0 \left\{\begin{array}{lc}\mathrm{E}\left[\boldsymbol{W}_{k}^{*}\right]=\mathbf{0}, & \mathrm{E}\left[\boldsymbol{W}_{k}^{*}\left(\boldsymbol{W}_{j}^{*}\right)^{\mathrm{T}}\right]=\boldsymbol{Q}_{k}^{*} \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{V}_{k}\right]=\mathbf{0}, & \mathrm{E}\left[\boldsymbol{V}_{k} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\boldsymbol{R}_{k} \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{W}_{k}^{*} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\mathbf{0} & \end{array}\right. E[Wk]=0,E[Vk]=0,E[WkVjT]=0E[Wk(Wj)T]=QkδkjE[VkVjT]=Rkδkj
滤波公式
{ X ^ k / k − 1 = Φ k / k − 1 ∗ X ^ k − 1 + J k − 1 Z k − 1 P k / k − 1 = Φ k / k − 1 ∗ P k − 1 ( Φ k / k − 1 ∗ ) T + Q k − 1 ∗ K k k = P k / k − 1 T H k T ( H k P k / k − 1 H k T + R k ) − 1 X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) P k = ( I − K k H k ) P k / k − 1 \left\{\begin{array}{l} \hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1}^{*} \hat{\boldsymbol{X}}_{k-1}+\boldsymbol{J}_{k-1} \boldsymbol{Z}_{k-1} \\ \boldsymbol{P}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1}^{*} \boldsymbol{P}_{k-1}\left(\boldsymbol{\Phi}_{k / k-1}^{*}\right)^{\mathrm{T}}+\boldsymbol{Q}_{k-1}^{*} \\ \boldsymbol{K}_{k k}=\boldsymbol{P}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}\left(\boldsymbol{H}_{k} \boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k}\right)^{-1} \\ \hat{\boldsymbol{X}}_{k}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right) \\ \boldsymbol{P}_{k}=\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right) \boldsymbol{P}_{k / k-1} \end{array}\right. X^k/k1=Φk/k1X^k1+Jk1Zk1Pk/k1=Φk/k1Pk1(Φk/k1)T+Qk1Kkk=Pk/k1THkT(HkPk/k1HkT+Rk)1X^k=X^k/k1+Kk(ZkHkX^k/k1)Pk=(IKkHk)Pk/k1

二、系统噪声有色时的Kalman滤波

有色噪声含义非常广,并不是任何有色噪声都可以处理,能建模成状态方程形式的有色噪声才能处理。

1、模型

函数模型
{ X k = Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 Z k = H k X k + V k \left\{\begin{array}{l}\boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k}\end{array}\right. { Xk=Φk/k1Xk1+Γk1Wk1Zk=HkXk+Vk
将噪声分成白噪声 W w , k W_{w,k} Ww,k 和有色噪声 W c , k W_{c,k} Wc,k
Γ k W k = [ Γ w , k Γ c , k ] [ W w , k W c , k ] \boldsymbol{\Gamma}_{k} \boldsymbol{W}_{k}=\left[\begin{array}{ll} \boldsymbol{\Gamma}_{w, k} & \boldsymbol{\Gamma}_{c, k} \end{array}\right][\begin{array}{l} \boldsymbol{W}_{w, k} \\ \boldsymbol{W}_{c, k} \end{array}] ΓkWk=[Γw,kΓc,k][Ww,kWc,k]
当然,有色噪声和白噪声之间不相关:
E [ W w , k W w , j T ] = Q w , k δ k j , E [ W w , k W c , j T ] = 0 \mathrm{E}\left[\boldsymbol{W}_{w, k} \boldsymbol{W}_{w, j}^{\mathrm{T}}\right]=\boldsymbol{Q}_{w, k} \delta_{k j}, \quad \mathrm{E}\left[\boldsymbol{W}_{w, k} \boldsymbol{W}_{c, j}^{\mathrm{T}}\right]=\mathbf{0} E[Ww,kWw,jT]=Qw,kδkj,E[Ww,kWc,jT]=0

2、将有色噪声建模成状态方程形式

当前时刻的有色噪声 W c , k W_{c,k} Wc,k 等于上一时刻的有色噪声 W c , k − 1 W_{c,k-1} Wc,k1 ,乘噪声的状态转移矩阵 Π k / k − 1 {\Pi}_{k / k-1} Πk/k1 ,再加上一个新的系统白噪声 ζ k − 1 {\zeta}_{k-1} ζk1
W c , k = Π k / k − 1 W c , k − 1 + ζ k − 1 \boldsymbol{W}_{c, k}=\boldsymbol{\Pi}_{k / k-1} \boldsymbol{W}_{c, k-1}+\boldsymbol{\zeta}_{k-1} Wc,k=Πk/k1Wc,k1+ζk1
状态增广新模型
{ [ X k W c , k ] = [ Φ k / k − 1 Γ c , k − 1 0 Π k / k − 1 ] [ X k − 1 W c , k − 1 ] + [ Γ w , k − 1 0 0 I ] [ W w , k − 1 ζ k − 1 ] Z k = [ H k 0 ] [ X k W c , k ] + V k \left\{\begin{array}{l}{\left[\begin{array}{c}\boldsymbol{X}_{k} \\ \boldsymbol{W}_{c, k}\end{array}\right]=\left[\begin{array}{cc}\boldsymbol{\Phi}_{k / k-1} & \boldsymbol{\Gamma}_{c, k-1} \\ \mathbf{0} & \boldsymbol{\Pi}_{k / k-1}\end{array}\right]\left[\begin{array}{c}\boldsymbol{X}_{k-1} \\ \boldsymbol{W}_{c, k-1}\end{array}\right]+\left[\begin{array}{cc}\boldsymbol{\Gamma}_{w, k-1} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{I}\end{array}\right]\left[\begin{array}{c}\boldsymbol{W}_{w, k-1} \\ \boldsymbol{\zeta}_{k-1}\end{array}\right]} \\ \boldsymbol{Z}_{k}=\left[\begin{array}{ll}\boldsymbol{H}_{k} & \mathbf{0}\end{array}\right]\left[\begin{array}{c}\boldsymbol{X}_{k} \\ \boldsymbol{W}_{c, k}\end{array}\right]+\boldsymbol{V}_{k}\end{array}\right. [XkWc,k]=[Φk/k10Γc,k1Πk/k1][Xk1Wc,k1]+[Γw,k100I][Ww,k1ζk1]Zk=[Hk0][XkWc,k]+Vk

3、系统噪声有色时的Kalman滤波公式汇总

新模型
{ [ X k W c , k ] = [ Φ k / k − 1 Γ c , k − 1 0 Π k / k − 1 ] [ X k − 1 W c , k − 1 ] + [ Γ w , k − 1 0 0 I ] [ W w , k − 1 ζ k − 1 ] Z k = [ H k 0 ] [ X k W c , k ] + V k \left\{\begin{array}{l}{\left[\begin{array}{c}\boldsymbol{X}_{k} \\ \boldsymbol{W}_{c, k}\end{array}\right]=\left[\begin{array}{cc}\boldsymbol{\Phi}_{k / k-1} & \boldsymbol{\Gamma}_{c, k-1} \\ \mathbf{0} & \boldsymbol{\Pi}_{k / k-1}\end{array}\right]\left[\begin{array}{c}\boldsymbol{X}_{k-1} \\ \boldsymbol{W}_{c, k-1}\end{array}\right]+\left[\begin{array}{cc}\boldsymbol{\Gamma}_{w, k-1} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{I}\end{array}\right]\left[\begin{array}{c}\boldsymbol{W}_{w, k-1} \\ \zeta_{k-1}\end{array}\right]} \\ \boldsymbol{Z}_{k}=\left[\begin{array}{ll}\boldsymbol{H}_{k} & \mathbf{0}\end{array}\right]\left[\begin{array}{c}\boldsymbol{X}_{k} \\ \boldsymbol{W}_{c, k}\end{array}\right]+\boldsymbol{V}_{k}\end{array}\right. [XkWc,k]=[Φk/k10Γc,k1Πk/k1][Xk1Wc,k1]+[Γw,k100I][Ww,k1ζk1]Zk=[Hk0][XkWc,k]+Vk
若简记:
X k a = [ X k W c , k ] , Φ k / k − 1 a = [ Φ k / k − 1 Γ c , k − 1 0 Π k / k − 1 ] , Γ k a = [ Γ w , k 0 0 I ] , W k a = [ W w , k ζ k ] , H k a = [ H k 0 ] \boldsymbol{X}_{k}^{a}=\left[\begin{array}{c} \boldsymbol{X}_{k} \\ \boldsymbol{W}_{c, k} \end{array}\right], \boldsymbol{\Phi}_{k / k-1}^{a}=\left[\begin{array}{cc} \boldsymbol{\Phi}_{k / k-1} & \boldsymbol{\Gamma}_{c, k-1} \\ \mathbf{0} & \boldsymbol{\Pi}_{k / k-1} \end{array}\right], \boldsymbol{\Gamma}_{k}^{a}=\left[\begin{array}{cc} \boldsymbol{\Gamma}_{w, k} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{I} \end{array}\right], \boldsymbol{W}_{k}^{a}=\left[\begin{array}{c} \boldsymbol{W}_{w, k} \\ \boldsymbol{\zeta}_{k} \end{array}\right], \boldsymbol{H}_{k}^{a}=\left[\begin{array}{ll} \boldsymbol{H}_{k} & \mathbf{0} \end{array}\right] Xka=[XkWc,k],Φk/k1a=[Φk/k10Γc,k1Πk/k1],Γka=[Γw,k00I],Wka=[Ww,kζk],Hka=[Hk0]
则有:
{ X k a = Φ k / k − 1 a X k − 1 a + Γ k − 1 a W k − 1 a Z k = H k a X k a + V k \left\{\begin{array}{l}\boldsymbol{X}_{k}^{a}=\boldsymbol{\Phi}_{k / k-1}^{a} \boldsymbol{X}_{k-1}^{a}+\boldsymbol{\Gamma}_{k-1}^{a} \boldsymbol{W}_{k-1}^{a} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k}^{a} \boldsymbol{X}_{k}^{a}+\boldsymbol{V}_{k}\end{array}\right. { Xka=Φk/k1aXk1a+Γk1aWk1aZk=HkaXka+Vk
其中:
{ E [ W k a ] = 0 , E [ W k a ( W j a ) T ] = Q k a δ k j = diag ⁡ ( Q w , k Q c , k ) δ k j E [ V k ] = 0 , E [ V k V j T ] = R k δ k j E [ W j a V k T ] = 0 \quad\left\{\begin{array}{l}\mathrm{E}\left[\boldsymbol{W}_{k}^{a}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{W}_{k}^{a}\left(\boldsymbol{W}_{j}^{a}\right)^{\mathrm{T}}\right]=\boldsymbol{Q}_{k}^{a} \delta_{k j}=\operatorname{diag}\left(\boldsymbol{Q}_{w, k} \boldsymbol{Q}_{c, k}\right) \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{V}_{k}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{V}_{k} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\boldsymbol{R}_{k} \boldsymbol{\delta}_{k j} \\ \mathrm{E}\left[\boldsymbol{W}_{j}^{a} \boldsymbol{V}_{k}^{\mathrm{T}}\right]=\mathbf{0}\end{array}\right. E[Wka]=0,E[Wka(Wja)T]=Qkaδkj=diag(Qw,kQc,k)δkjE[Vk]=0,E[VkVjT]=RkδkjE[WjaVkT]=0
后面直接用Kalman滤波方程就可以了

三、量测噪声有色时的Kalman滤波方程

GNSS量测噪声,考虑当前和上一历元有相关性,可以当做有色噪声处理

函数模型
{ X k = Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 Z k = H k X k + V k \left\{\begin{array}{l}\boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k}\end{array}\right. { Xk=Φk/k1Xk1+Γk1Wk1Zk=HkXk+Vk

1、状态增广法

将量测噪声分成有色的 V c , k {V}_{c, k} Vc,k 和无色的 V w , k {V}_{w, k} Vw,k 两部分, V c , k {V}_{c, k} Vc,k 表示成状态方程:
V k = [ Θ w , k Θ c , k ] [ V w , k V c , k ] E [ V w , k V w , j T ] = R w , k δ k j , E [ V w , k V c , j T ] = 0 V c , k = Ψ c , k / k − 1 V c , k − 1 + ς k − 1 E [ ς k ] = 0 , E [ ς k ς j T ] = R c , k δ k j \begin{array}{l} \boldsymbol{V}_{k}=\left[\begin{array}{ll} \boldsymbol{\Theta}_{w, k} \boldsymbol{\Theta}_{c, k} \end{array}\right]\left[\begin{array}{l} \boldsymbol{V}_{w, k} \\ \boldsymbol{V}_{c, k} \end{array}\right] \\ \mathrm{E}\left[\boldsymbol{V}_{w, k} \boldsymbol{V}_{w, j}^{\mathrm{T}}\right]=\boldsymbol{R}_{w, k} \delta_{k j}, \quad \mathrm{E}\left[\boldsymbol{V}_{w, k} \boldsymbol{V}_{c, j}^{\mathrm{T}}\right]=\mathbf{0} \\ {\color{green}\boldsymbol{V}_{c, k}=\boldsymbol{\Psi}_{c, k / k-1} \boldsymbol{V}_{c, k-1}+\boldsymbol{\varsigma}_{k-1}} \quad \mathrm{E}\left[\boldsymbol{\varsigma}_{k}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{\varsigma}_{k} \boldsymbol{\varsigma}_{j}^{\mathrm{T}}\right]=\boldsymbol{R}_{c, k} \boldsymbol{\delta}_{k j} \end{array} Vk=[Θw,kΘc,k][Vw,kVc,k]E[Vw,kVw,jT]=Rw,kδkj,E[Vw,kVc,jT]=0Vc,k=Ψc,k/k1Vc,k1+ςk1E[ςk]=0,E[ςkςjT]=Rc,kδkj
状态增广:
[ X k V c , k − 1 ] = [ Φ k / k − 1 0 0 Ψ c , k − 1 / k − 2 ] [ X k − 1 V c , k − 2 ] + [ Γ k − 1 0 0 I ] [ W k − 1 ς k − 2 ] \left[\begin{array}{c}\boldsymbol{X}_{k} \\ \boldsymbol{V}_{c, k-1}\end{array}\right]=\left[\begin{array}{cc}\boldsymbol{\Phi}_{k / k-1} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{\Psi}_{c, k-1 / k-2}\end{array}\right]\left[\begin{array}{c}\boldsymbol{X}_{k-1} \\ \boldsymbol{V}_{c, k-2}\end{array}\right]+\left[\begin{array}{cc}\boldsymbol{\Gamma}_{k-1} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{I}\end{array}\right]\left[\begin{array}{c}\boldsymbol{W}_{k-1} \\ \boldsymbol{\varsigma}_{k-2}\end{array}\right] [XkVc,k1]=[Φk/k100Ψc,k1/k2][Xk1Vc,k2]+[Γk100I][Wk1ςk2]
新的量测方程为:
Z k = H k X k + Θ w , k V w , k + Θ c , k ( Ψ c , k / k − 1 V c , k − 1 + ς k − 1 ) = [ H k Θ c , k Ψ c , k / k − 1 ] [ X k V c , k − 1 ] + ( Θ w , k V w , k + Θ c , k ς k − 1 ) \begin{aligned} \boldsymbol{Z}_{k} & =\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{\Theta}_{w, k} \boldsymbol{V}_{w, k}+\boldsymbol{\Theta}_{c, k}\left(\boldsymbol{\Psi}_{c, k / k-1} \boldsymbol{V}_{c, k-1}+\varsigma_{k-1}\right) \\ & =\left[\begin{array}{ll} \boldsymbol{H}_{k} & \boldsymbol{\Theta}_{c, k} \boldsymbol{\Psi}_{c, k / k-1} \end{array}\right]\left[\begin{array}{c} \boldsymbol{X}_{k} \\ \boldsymbol{V}_{c, k-1} \end{array}\right]+\left(\boldsymbol{\Theta}_{w, k} \boldsymbol{V}_{w, k}+\boldsymbol{\Theta}_{c, k} \varsigma_{k-1}\right) \end{aligned} Zk=HkXk+Θw,kVw,k+Θc,k(Ψc,k/k1Vc,k1+ςk1)=[HkΘc,kΨc,k/k1][XkVc,k1]+(Θw,kVw,k+Θc,kςk1)
若记:
X k a = [ X k V c , k − 1 ] , Φ k / k − 1 a = [ Φ k / k − 1 0 0 Ψ c , k − 1 / k − 2 ] , Γ k a = [ Γ k 0 0 I ] , W k a = [ W k ς k − 1 ] H k a = [ H k Θ c , k Ψ c , k / k − 1 ] , V k a = Θ w , k V w , k + Θ c , k ς k − 1 \boldsymbol{X}_{k}^{a}=\left[\begin{array}{c}\boldsymbol{X}_{k} \\ \boldsymbol{V}_{c, k-1}\end{array}\right], \boldsymbol{\Phi}_{k / k-1}^{a}=\left[\begin{array}{cc}\boldsymbol{\Phi}_{k / k-1} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{\Psi}_{c, k-1 / k-2}\end{array}\right], \boldsymbol{\Gamma}_{k}^{a}=\left[\begin{array}{cc}\boldsymbol{\Gamma}_{k} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{I}\end{array}\right], \boldsymbol{W}_{k}^{a}=\left[\begin{array}{c}\boldsymbol{W}_{k} \\ \boldsymbol{\varsigma}_{k-1}\end{array}\right]\\ \boldsymbol{H}_{k}^{a}=\left[\begin{array}{ll} \boldsymbol{H}_{k} & \boldsymbol{\Theta}_{c, k} \boldsymbol{\Psi}_{c, k / k-1} \end{array}\right], \boldsymbol{V}_{k}^{a}=\boldsymbol{\Theta}_{w, k} \boldsymbol{V}_{w, k}+\boldsymbol{\Theta}_{c, k} \boldsymbol{\varsigma}_{k-1} Xka=[XkVc,k1],Φk/k1a=[Φk/k100Ψc,k1/k2],Γka=[Γk00I],Wka=[Wkςk1]Hka=[HkΘc,kΨc,k/k1],Vka=Θw,kVw,k+Θc,kςk1
得到新的函数模型:
{ X k a = Φ k / k − 1 a X k − 1 a + Γ k − 1 a W k − 1 a Z k = H k a X k a + V k a \left\{\begin{array}{l}\boldsymbol{X}_{k}^{a}=\boldsymbol{\Phi}_{k / k-1}^{a} \boldsymbol{X}_{k-1}^{a}+\boldsymbol{\Gamma}_{k-1}^{a} \boldsymbol{W}_{k-1}^{a} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k}^{a} \boldsymbol{X}_{k}^{a}+\boldsymbol{V}_{k}^{a}\end{array}\right. { Xka=Φk/k1aXk1a+Γk1aWk1aZk=HkaXka+Vka
新的随机模型:
{ E [ W k a ] = 0 , E [ W k a ( W j a ) T ] = Q k a δ k j = diag ⁡ ( Q k R c , k − 1 ) δ k j E [ V k a ] = 0 , E [ V k a ( V j a ) T ] = R k ( Q w , k R w , k Q w , k T + Q c , k R c , k Q c , k T ) δ k j E [ W j a V k T ] = diag ⁡ ( 0 R c , k − 1 Q c , k T ) δ k j \quad\left\{\begin{array}{l}\mathrm{E}\left[\boldsymbol{W}_{k}^{a}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{W}_{k}^{a}\left(\boldsymbol{W}_{j}^{a}\right)^{\mathrm{T}}\right]=\boldsymbol{Q}_{k}^{a} \delta_{k j}=\operatorname{diag}\left(\boldsymbol{Q}_{ k}\quad \boldsymbol{R}_{c, k-1}\right) \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{V}_{k}^a\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{V}_{k}^a(\boldsymbol{V}_{j}^a)^{\mathrm{T}}\right]=\boldsymbol{R}_{k} \boldsymbol{(Q_{w,k}R_{w,k}Q_{w,k}^T+Q_{c,k}R_{c,k}Q_{c,k}^T) \delta_{k j}} \\ \mathrm{E}\left[\boldsymbol{W}_{j}^{a} \boldsymbol{V}_{k}^{\mathrm{T}}\right]=\operatorname{diag}\left(0 \quad \boldsymbol{R}_{c, k-1} \boldsymbol{Q}_{c, k}^T\right) \delta_{k j} \end{array}\right. E[Wka]=0,E[Wka(Wja)T]=Qkaδkj=diag(QkRc,k1)δkjE[Vka]=0,E[Vka(Vja)T]=Rk(Qw,kRw,kQw,kT+Qc,kRc,kQc,kT)δkjE[WjaVkT]=diag(0Rc,k1Qc,kT)δkj
得出的系统噪声和量测噪声相关,之后还需要再去相关

2、量测求差法

如果前后时刻相关,两时刻间差分消去相关性

{ X k = Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 Z k = H k X k + V k \left\{\begin{array}{l} \boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k} \end{array}\right. { Xk=Φk/k1Xk1+Γk1Wk1Zk=HkXk+Vk

假设 ψ k / k − 1 {\color{red}\boldsymbol{\psi}_{k / k-1}} ψk/k1 为相邻两时刻噪声转移矩阵, ξ k − 1 \boldsymbol{\xi}_{k-1} ξk1 为量测的激励噪白声
V k = ψ k / k − 1 V k − 1 + ξ k − 1 E [ ξ k ] = 0 , E [ ξ k ξ j T ] = R ξ , k δ k j \boldsymbol{V}_{k}={\color{red}\boldsymbol{\psi}_{k / k-1}} \boldsymbol{V}_{k-1}+\boldsymbol{\xi}_{k-1}\\ \mathrm{E}\left[\boldsymbol{\xi}_{k}\right]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{\xi}_{k} \boldsymbol{\xi}_{j}^{\mathrm{T}}\right]=\boldsymbol{R}_{\xi, k} \delta_{k j} Vk=ψk/k1Vk1+ξk1E[ξk]=0,E[ξkξjT]=Rξ,kδkj
前后相邻量测求差
Z k − ψ k / k − 1 Z k − 1 = [ H k ( Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 ) + ( ψ k ∣ k − 1 V k − 1 + ξ k − 1 ) ] − ψ k / k − 1 ( H k − 1 X k − 1 + V k − 1 ) = ( H k Φ k / k − 1 − ψ k ∣ k − 1 H k − 1 ) X k − 1 + ( H k Γ k − 1 W k − 1 + ξ k − 1 ) \begin{aligned} \boldsymbol{Z}_{k}-{\color{red}\boldsymbol{\psi}_{k / k-1}} \boldsymbol{Z}_{k-1} & =\left[\boldsymbol{H}_{k}\left(\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}\right)+\left({\color{red}\boldsymbol{\psi}_{k \mid k-1}} \boldsymbol{V}_{k-1}+\boldsymbol{\xi}_{k-1}\right)\right]-{\color{red}\boldsymbol{\psi}_{k / k-1}}\left(\boldsymbol{H}_{k-1} \boldsymbol{X}_{k-1}+\boldsymbol{V}_{k-1}\right) \\ & =\left(\boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1}-\boldsymbol{\psi}_{k \mid k-1} \boldsymbol{H}_{k-1}\right) \boldsymbol{X}_{k-1}+\left(\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}+\boldsymbol{\xi}_{k-1}\right) \end{aligned} Zkψk/k1Zk1=[Hk(Φk/k1Xk1+Γk1Wk1)+(ψkk1Vk1+ξk1)]ψk/k1(Hk1Xk1+Vk1)=(HkΦk/k1ψkk1Hk1)Xk1+(HkΓk1Wk1+ξk1)
得到新的量测噪声 H k Γ k − 1 W k − 1 + ξ k − 1 \boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}+\boldsymbol{\xi}_{k-1} HkΓk1Wk1+ξk1 为白噪声

简记
Z k ∗ = Z k − ψ k / k − 1 Z k − 1 H k ∗ = H k Φ k ∣ k − 1 − ψ k ∣ k − 1 H k − 1 V k ∗ = H k Γ k − 1 W k − 1 + ξ k − 1 X k ∗ = X k − 1 , Φ k / k − 1 ∗ = Φ k − 1 / k − 2 , Γ k ∗ = Γ k − 1 , W k ∗ = W k − 1 \begin{array}{l} \boldsymbol{Z}_{k}^{*}=\boldsymbol{Z}_{k}-\boldsymbol{\psi}_{k / k-1} \boldsymbol{Z}_{k-1}\\ \boldsymbol{H}_{k}^{*}=\boldsymbol{H}_{k} \boldsymbol{\Phi}_{k \mid k-1}-\boldsymbol{\psi}_{k \mid k-1} \boldsymbol{H}_{k-1} \\ \boldsymbol{V}_{k}^{*}=\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}+\boldsymbol{\xi}_{k-1}\\ \boldsymbol{X}_{k}^{*}=\boldsymbol{X}_{k-1}, \boldsymbol{\Phi}_{k / k-1}^{*}=\boldsymbol{\Phi}_{k-1 / k-2}, \boldsymbol{\Gamma}_{k}^{*}=\boldsymbol{\Gamma}_{k-1}, \boldsymbol{W}_{k}^{*}=\boldsymbol{W}_{k-1} \end{array} Zk=Zkψk/k1Zk1Hk=HkΦkk1ψkk1Hk1Vk=HkΓk1Wk1+ξk1Xk=Xk1,Φk/k1=Φk1/k2,Γk=Γk1,Wk=Wk1
得到新的函数模型:
{ X k ∗ = Φ k / k − 1 ∗ X k − 1 ∗ + Γ k − 1 ∗ W k − 1 ∗ Z k ∗ = H k ∗ X k ∗ + V k ∗ \left\{\begin{array}{l}\boldsymbol{X}_{k}^{*}=\boldsymbol{\Phi}_{k / k-1}^{*} \boldsymbol{X}_{k-1}^{*}+\boldsymbol{\Gamma}_{k-1}^{*} \boldsymbol{W}_{k-1}^{*} \\ \boldsymbol{Z}_{k}^{*}=\boldsymbol{H}_{k}^{*} \boldsymbol{X}_{k}^{*}+\boldsymbol{V}_{k}^{*}\end{array}\right. { Xk=Φk/k1Xk1+Γk1Wk1Zk=HkXk+Vk
新的随机模型:
{ E [ W k ∗ ] = 0 , E [ W k ∗ ( W j ∗ ) ⊤ ] = Q k − 1 δ k j E [ V k ∗ ] = 0 , E [ V k ⊤ ( V j ∗ ) T ] = ( H k Γ k − 1 Q k − 1 I k − 1 ⊤ H k ⊤ + R ξ k − 1 ) δ k j E [ W k ∗ ( V j ∗ ) ⊤ ) T ] = Q k − 1 I k − 1 T H k ⊤ δ k j \quad\left\{\begin{array}{ll}\mathrm{E}\left[W_{k}^{*}\right]=0,\quad \mathrm{E}\left[W_{k}^{*}\left(W_{j}^{*}\right)^{\top}\right]=Q_{k-1} \delta_{k j} \\ \mathrm{E}\left[V_{k}^{*}\right]=0, \quad \mathrm{E}\left[V_{k}^{\top}\left(V_{j}^{*}\right)^{\mathrm{T}}\right]=\left(\boldsymbol{H}_{k} \Gamma_{k-1} Q_{k-1} I_{k-1}^{\top} H_{k}^{\top}+\boldsymbol{R}_{\xi k-1}\right) \delta_{k j} \\ {\color{red}\left.\mathrm{E}\left[W_{k}^{*}\left(V_{j}^{*}\right)^{\top}\right)^{\mathrm{T}}\right]=\boldsymbol{Q}_{k-1} I_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\top} \delta_{k j}}\end{array}\right. E[Wk]=0,E[Wk(Wj)]=Qk1δkjE[Vk]=0,E[Vk(Vj)T]=(HkΓk1Qk1Ik1Hk+Rξk1)δkjE[Wk(Vj))T]=Qk1Ik1THkδkj
得出的系统噪声和量测噪声相关,之后还需要再去相关

猜你喜欢

转载自blog.csdn.net/daoge2666/article/details/131056944
今日推荐