##概述
推导卡尔曼滤波算法中的卡尔曼增益表达式
##模型
状态方程:
x
k
+
1
=
Φ
k
+
1
x
k
+
w
k
x_{k+1}= \Phi_{k+1}x_k +w_k
xk+1=Φk+1xk+wk
测量方程:
z
k
=
H
k
x
k
+
v
k
z_k = H_k x_k+v_k
zk=Hkxk+vk
并假定:
E
[
x
0
]
=
μ
0
x
E
[
w
k
]
=
0
∀
k
E
[
v
k
]
=
0
∀
k
c
o
v
{
w
k
,
w
j
}
=
Q
k
δ
k
j
c
o
v
{
v
k
,
v
j
}
=
R
k
δ
k
j
c
o
v
{
x
0
,
x
0
}
=
P
0
c
o
v
{
w
k
,
v
j
}
=
0
∀
k
c
o
v
{
x
0
,
w
k
}
=
0
∀
k
c
o
v
{
x
0
,
v
j
}
=
0
∀
k
\begin{aligned} \\ & E[x_0] = \mu_0^x\\ & E[w_k] =0\ \forall k \\ & E[v_k] =0\ \forall k \\ & cov\{w_k,w_j\}=Q_k\delta_{kj}\\ & cov\{v_k,v_j\}=R_k\delta_{kj}\\ & cov\{x_0,x_0\}=P_0\\ & cov\{w_k,v_j\}=0 \ \forall k\\ & cov\{x_0,w_k\}=0 \ \forall k\\ & cov\{x_0,v_j\}=0 \ \forall k\\ \end{aligned} \\
E[x0]=μ0xE[wk]=0 ∀kE[vk]=0 ∀kcov{wk,wj}=Qkδkjcov{vk,vj}=Rkδkjcov{x0,x0}=P0cov{wk,vj}=0 ∀kcov{x0,wk}=0 ∀kcov{x0,vj}=0 ∀k
##推导
根据上述条件将推导以下方程:
- 状态推断
x ^ k + 1 − = Φ k + 1 x ^ k \hat{x}_{k+1}^- = \Phi_{k+1}\hat{x}_k x^k+1−=Φk+1x^k - 协方差推断
P k + 1 − = Φ k + 1 P k Φ k + 1 T + Q k P_{k+1}^- =\Phi_{k+1}P_k\Phi_{k+1}^T+Q_k Pk+1−=Φk+1PkΦk+1T+Qk - 卡尔曼增益计算
K k + 1 = P k + 1 − H k + 1 T ( H k + 1 P k + 1 − H k + 1 T + R k + 1 ) − 1 K_{k+1} = P_{k+1}^-H_{k+1}^T( H_{k+1}P_{k+1}^-H_{k+1}^T+R_{k+1}) ^{-1} Kk+1=Pk+1−Hk+1T(Hk+1Pk+1−Hk+1T+Rk+1)−1 - 状态更新
x ^ k + 1 = x ^ k + 1 − + K k + 1 ( z k + 1 − H k + 1 x ^ k + 1 − ) \hat{x}_{k+1} =\hat{x}_{k+1}^- + K_{k+1} ( z_{k+1} - H_{k+1}\hat{x}_{k+1}^-) x^k+1=x^k+1−+Kk+1(zk+1−Hk+1x^k+1−) - 协方差更新
P k + 1 = P k + 1 − − K k + 1 H k + 1 P k + 1 − P_{k+1} = P_{k+1}^- - K_{k+1}H_{k+1}P_{k+1}^- Pk+1=Pk+1−−Kk+1Hk+1Pk+1−
令:在k+1步可以得到一个k步的无偏差估计,误差项 x ~ k = x ^ k − x k \widetilde{x}_k = \hat{x}_k -x_k x k=x^k−xk的均值为0,协方差为 P k P_k Pk;在k步时的测量值 z k z_k zk为: z k = H k x k + v k z_k= H_k x_k+v_k zk=Hkxk+vk
下面尝试使 x ^ k + 1 \hat{x}_{k+1} x^k+1和 x ^ k \hat{x}_k x^k以如下形式建立联系
x ^ k + 1 = K k + 1 ′ x ^ k + K k + 1 z k + 1 \hat{x}_{k+1} = K'_{k+1}\hat{x}_k+K_{k+1}z_{k+1} x^k+1=Kk+1′x^k+Kk+1zk+1
###Step.1
由式
x
^
k
+
1
=
K
k
+
1
′
x
^
k
+
K
k
+
1
z
k
+
1
\hat{x}_{k+1} = K'_{k+1}\hat{x}_k+K_{k+1}z_{k+1}
x^k+1=Kk+1′x^k+Kk+1zk+1得:
x
^
k
+
1
−
x
k
+
1
=
K
k
+
1
′
x
^
k
+
K
k
+
1
z
k
+
1
−
x
k
+
1
\hat{x}_{k+1}-x_{k+1} =K'_{k+1}\hat{x}_k+K_{k+1}z_{k+1} - x_{k+1}
x^k+1−xk+1=Kk+1′x^k+Kk+1zk+1−xk+1
将式
z
k
=
H
k
x
k
+
v
k
z_k= H_k x_k+v_k
zk=Hkxk+vk 带入上式得:
x
^
k
+
1
−
x
k
+
1
=
K
k
+
1
′
x
^
k
+
K
k
+
1
H
k
+
1
x
k
+
1
+
v
k
+
1
−
x
k
+
1
=
K
k
+
1
′
x
^
k
+
K
k
+
1
H
k
+
1
x
k
+
1
+
v
k
+
1
−
x
k
+
1
−
K
k
+
1
′
x
k
+
K
k
+
1
′
x
k
\begin{aligned}\hat{x}_{k+1}-x_{k+1} \\ &=K'_{k+1}\hat{x}_k+K_{k+1} H_{k+1} x_{k+1}+v_{k+1} - x_{k+1}\\ &=K'_{k+1}\hat{x}_k+K_{k+1} H_{k+1} x_{k+1}+v_{k+1} - x_{k+1}-K'_{k+1}x_k+ K'_{k+1}x_k \\ \end{aligned}
x^k+1−xk+1=Kk+1′x^k+Kk+1Hk+1xk+1+vk+1−xk+1=Kk+1′x^k+Kk+1Hk+1xk+1+vk+1−xk+1−Kk+1′xk+Kk+1′xk
化简得:
x ^ k + 1 − x k + 1 = K k + 1 ′ ( x ^ k − x k ) + ( K k + 1 H k + 1 Φ k + 1 − Φ k + 1 + K k + 1 ′ ) x k + ( K k + 1 H k + 1 − I ) w k + 1 + K k + 1 v k \begin{aligned}\hat{x}_{k+1}-x_{k+1} \\ = &K'_{k+1}( \hat{x}_k-x_k)+( K_{k+1}H_{k+1}\Phi_{k+1}-\Phi_{k+1}+K'_{k+1}) x_k\\ &+( K_{k+1}H_{k+1}-I) w_{k+1} +K_{k+1}v_k\\ \end{aligned} x^k+1−xk+1=Kk+1′(x^k−xk)+(Kk+1Hk+1Φk+1−Φk+1+Kk+1′)xk+(Kk+1Hk+1−I)wk+1+Kk+1vk
由
E
[
x
^
k
+
1
−
x
k
+
1
]
=
0
E[\hat{x}_{k+1}-x_{k+1}]=0
E[x^k+1−xk+1]=0易知:
E
[
x
^
k
+
1
−
x
k
+
1
]
=
[
K
k
+
1
H
k
+
1
Φ
k
+
1
−
Φ
k
+
1
+
K
k
+
1
′
]
E
[
x
k
]
=
0
E[\hat{x}_{k+1}-x_{k+1}] = [ K_{k+1}H_{k+1}\Phi_{k+1}-\Phi_{k+1}+K'_{k+1}]E[x_k] = 0
E[x^k+1−xk+1]=[Kk+1Hk+1Φk+1−Φk+1+Kk+1′]E[xk]=0
K
k
+
1
H
k
+
1
Φ
k
+
1
−
Φ
k
+
1
+
K
k
+
1
′
=
0
K_{k+1}H_{k+1}\Phi_{k+1}-\Phi_{k+1}+K'_{k+1} = 0
Kk+1Hk+1Φk+1−Φk+1+Kk+1′=0
表明:
K
k
+
1
′
=
(
I
−
K
k
+
1
H
k
+
1
)
Φ
k
+
1
K'_{k+1}= ( I-K_{k+1}H_{k+1}) \Phi_{k+1}
Kk+1′=(I−Kk+1Hk+1)Φk+1
结论:
x
^
k
+
1
=
(
I
−
K
k
+
1
H
k
+
1
)
Φ
k
+
1
x
^
k
+
K
k
+
1
z
k
+
1
\hat{x}_{k+1} = ( I-K_{k+1}H_{k+1}) \Phi_{k+1}\hat{x}_k+K_{k+1}z_{k+1}
x^k+1=(I−Kk+1Hk+1)Φk+1x^k+Kk+1zk+1
或:
x
^
k
+
1
=
Φ
k
+
1
x
^
k
+
K
k
+
1
(
z
k
+
1
−
H
k
+
1
Φ
k
+
1
x
^
k
)
\hat{x}_{k+1} = \Phi_{k+1}\hat{x}_k+K_{k+1}( z_{k+1}-H_{k+1}\Phi_{k+1}\hat{x}_k)
x^k+1=Φk+1x^k+Kk+1(zk+1−Hk+1Φk+1x^k)
###Step.2
建立使误差项
x
~
k
+
1
=
x
^
k
+
1
−
x
k
+
1
\widetilde{x}_{k+1} = \hat{x}_{k+1} -x_{k+1}
x
k+1=x^k+1−xk+1的协方差矩阵
P
k
+
1
P_{k+1}
Pk+1的迹最小的
K
k
+
1
K_{k+1}
Kk+1的表达式
####A.
由
x
~
k
+
1
−
=
x
^
k
+
1
−
−
x
k
+
1
\widetilde{x}_{k+1}^- = \hat{x}_{k+1}^- -x_{k+1}
x
k+1−=x^k+1−−xk+1:
x
~
k
+
1
−
=
x
^
k
+
1
−
−
x
k
+
1
=
Φ
k
+
1
x
^
k
−
Φ
k
+
1
x
k
+
w
k
+
1
\widetilde{x}_{k+1}^- = \hat{x}_{k+1}^- -x_{k+1} = \Phi_{k+1}\hat{x}_k-\Phi_{k+1} x_k+w_{k+1}
x
k+1−=x^k+1−−xk+1=Φk+1x^k−Φk+1xk+wk+1
x
~
k
+
1
−
=
x
^
k
+
1
−
−
x
k
+
1
=
Φ
k
+
1
(
x
^
k
−
x
k
)
+
w
k
+
1
\widetilde{x}_{k+1}^- = \hat{x}_{k+1}^- -x_{k+1} = \Phi_{k+1}( \hat{x}_k- x_k)+w_{k+1}
x
k+1−=x^k+1−−xk+1=Φk+1(x^k−xk)+wk+1
式中
x
^
k
+
1
−
−
x
k
+
1
\hat{x}_{k+1}^- -x_{k+1}
x^k+1−−xk+1的协方差为
P
k
+
1
−
P_{k+1}^-
Pk+1−,
x
^
k
−
x
k
\hat{x}_k- x_k
x^k−xk的协方差为
P
k
P_k
Pk,
w
k
+
1
w_{k+1}
wk+1的协方差为
Q
k
+
1
Q_{k+1}
Qk+1。
则可推出方程2
P
k
+
1
−
=
E
{
x
~
k
+
1
−
x
~
k
+
1
−
T
}
=
Φ
k
+
1
E
{
(
x
~
k
−
x
k
)
(
x
~
k
−
x
k
)
T
}
Φ
k
+
1
T
+
E
{
w
k
+
1
w
k
+
1
T
}
=
Φ
k
+
1
P
k
Φ
k
+
1
T
+
Q
k
+
1
\begin{aligned}\\ P_{k+1}^- &=E\{\widetilde{x}_{k+1}^-\widetilde{x}_{k+1}^{-T}\} \\ &=\Phi_{k+1}E\{(\widetilde{x}_k-x_k)(\widetilde{x}_k-x_k)^T\}\Phi_{k+1}^T+E\{w_{k+1}w_{k+1}^T\}\\ &=\Phi_{k+1} P_k\Phi_{k+1}^T+Q_{k+1}\\ \\ \end{aligned}
Pk+1−=E{x
k+1−x
k+1−T}=Φk+1E{(x
k−xk)(x
k−xk)T}Φk+1T+E{wk+1wk+1T}=Φk+1PkΦk+1T+Qk+1
####B.
由Step.1中:
x
^
k
+
1
=
Φ
k
+
1
x
^
k
+
K
k
+
1
(
z
k
+
1
−
H
k
+
1
Φ
k
+
1
x
^
k
)
\hat{x}_{k+1} = \Phi_{k+1}\hat{x}_k+K_{k+1}( z_{k+1}-H_{k+1}\Phi_{k+1}\hat{x}_k)
x^k+1=Φk+1x^k+Kk+1(zk+1−Hk+1Φk+1x^k)
和$ \hat{x}{k+1}^- = \Phi{k+1}\hat{x}_k$得:
x
^
k
+
1
=
x
^
k
+
1
−
+
K
k
+
1
(
z
k
+
1
−
H
k
+
1
x
^
k
+
1
−
)
\hat{x}_{k+1} = \hat{x}_{k+1}^- +K_{k+1}( z_{k+1}-H_{k+1}\hat{x}_{k+1}^- )
x^k+1=x^k+1−+Kk+1(zk+1−Hk+1x^k+1−)
带入
x
~
k
+
1
=
x
^
k
+
1
−
x
k
+
1
\widetilde{x}_{k+1} = \hat{x}_{k+1} -x_{k+1}
x
k+1=x^k+1−xk+1中化简得:
x
~
k
+
1
=
[
I
−
K
k
+
1
H
k
+
1
]
x
~
k
+
1
−
−
K
k
+
1
v
k
+
1
\widetilde{x}_{k+1} = [I-K_{k+1}H_{k+1}]\widetilde{x}_{k+1}^- -K_{k+1}v_{k+1}
x
k+1=[I−Kk+1Hk+1]x
k+1−−Kk+1vk+1
等式两端同时取期望:
P
k
+
1
=
E
[
x
~
k
+
1
x
~
k
+
1
T
]
=
[
I
−
K
k
+
1
H
k
+
1
]
P
k
+
1
−
[
I
−
K
k
+
1
H
k
+
1
]
T
+
K
k
+
1
R
k
+
1
K
k
+
1
T
\begin{aligned}\\ P_{k+1}\\ &= E[\widetilde{x}_{k+1} \widetilde{x}_{k+1}^T]\\ &=[I-K_{k+1}H_{k+1}]P_{k+1}^-[I-K_{k+1}H_{k+1}]^T+K_{k+1}R_{k+1}K_{k+1}^T \\ \end{aligned}
Pk+1=E[x
k+1x
k+1T]=[I−Kk+1Hk+1]Pk+1−[I−Kk+1Hk+1]T+Kk+1Rk+1Kk+1T
####C.
推导
K
k
+
1
K_{k+1}
Kk+1的表达式使
P
k
+
1
P_{k+1}
Pk+1的迹最小
使用
P
P
P代替
P
k
+
1
−
P_{k+1}^-
Pk+1−,
K
K
K代替
K
k
+
1
K_{k+1}
Kk+1,
R
R
R代替
R
k
+
1
R_{k+1}
Rk+1得:
P
k
+
1
=
(
I
−
K
H
)
P
(
I
−
K
H
)
T
+
K
R
K
T
P_{k+1}= (I-KH)P(I-KH)^T+KRK^T
Pk+1=(I−KH)P(I−KH)T+KRKT
P
k
+
1
=
P
−
K
H
P
−
P
H
T
K
T
+
K
H
P
H
T
+
K
R
K
T
P_{k+1}=P-KHP-PH^TK^T+KHPH^T+KRK^T
Pk+1=P−KHP−PHTKT+KHPHT+KRKT
由
P
=
P
T
P=P^T
P=PT,
(
P
H
T
K
T
)
T
=
K
H
P
(PH^TK^T)^T=KHP
(PHTKT)T=KHP,
T
r
(
P
H
T
K
T
)
=
T
r
(
K
H
P
)
Tr(PH^TK^T)=Tr(KHP)
Tr(PHTKT)=Tr(KHP):
T
r
P
k
+
1
=
T
r
P
−
2
T
r
K
H
P
+
T
r
K
(
H
P
H
T
)
K
T
+
T
r
K
R
K
T
TrP_{k+1}=TrP-2TrKHP+TrK(HPH^T)K^T+TrKRK^T
TrPk+1=TrP−2TrKHP+TrK(HPHT)KT+TrKRKT
δ
T
r
P
k
+
1
δ
K
=
−
2
P
H
T
+
2
K
H
P
H
T
+
2
K
\frac{\delta TrP_{k+1}}{\delta K} = -2PH^T+2KHPH^T+2K
δKδTrPk+1=−2PHT+2KHPHT+2K
令
δ
T
r
P
k
+
1
δ
K
\frac{\delta TrP_{k+1}}{\delta K}
δKδTrPk+1为零最后推出卡尔曼增益
K
K
K的表达式
K
=
P
H
T
(
H
P
H
T
+
R
)
−
1
K = PH^T(HPH^T+R)^{-1}
K=PHT(HPHT+R)−1
可证明达到的极值为最小值(reference Gelb, pg. 109)
最后简化下式
P
k
+
1
P_{k+1}
Pk+1,将
K
K
K带入
P
k
+
1
P_{k+1}
Pk+1表达式中可推出:
P
k
+
1
=
(
I
−
K
k
+
1
H
k
+
1
)
P
k
+
1
−
P_{k+1}=(I-K_{k+1}H_{k+1})P_{k+1}^-
Pk+1=(I−Kk+1Hk+1)Pk+1−