协方差更新方程

协方差更新方程为:

Pn,n=(IKnH)Pn,n1(IKnH)T+KnRnKnT
式中:
Pn,n 是当前状态估计的协方差矩阵
Pn,n1 是前一时刻对当前状态的预测的协方差矩阵
Kn 是卡尔曼增益
H 是观测矩阵
Rn 是测量噪声的协方差矩阵
I 是单位阵(一个 n×n 且仅有对角元素为1、其余元素均为0的方阵)

协方差更新方程推导

本节给出协方差更新方程的推导。一些读者可能觉得叙述过于细节化了,但这对其他还不熟悉的人来说很有帮助。

如果对推导不感兴趣,你可以跳到下一章

我用下面四个公式来进行推导:

公式编号 公式 注释
1 x^n,n=x^n,n1+Kn(znHx^n,n1) 状态更新方程
2 zn=Hxn+vn 测量方程
3 Pn,n=E(enenT)=E((xnx^n,n)(xnx^n,n)T) 估计协方差
4 Rn=E(vnvnT) 测量协方差

我们以卡尔曼增益 Kn 为自变量来推导当前估计的协方差 Pn,n.

注解
x^n,n=x^n,n1+Kn(znHx^n,n1) 状态更新方程
x^n,n=x^n,n1+Kn(Hxn+vnHx^n,n1) 代入测量方程
en=xnx^n,n 测量误差
en=xnx^n,n1Kn(Hxn+vnHx^n,n1) 代入 x^n,n
en=xnx^n,n1KnHxnKnvn+KnHx^n,n1 展开
en=xnx^n,n1KnH(xnx^n,n1)Knvn 围绕 (xnx^n,n1) 进行整理
en=(IKnH)(xnx^n,n1)Knvn (xnx^n,n1) 提出来
Pn,n=E(enenT)=E((xnx^n,n)(xnx^n,n)T) 这是估计的协方差(根据协方差方程)
Pn,n=E(((IKnH)(xnx^n,n1)Knvn)××((IKnH)(xnx^n,n1)Knvn)T) 代入 en
Pn,n=E(((IKnH)(xnx^n,n1)Knvn)××(((IKnH)(xnx^n,n1))T(Knvn)T)) 转置号分配进去
Pn,n=E(((IKnH)(xnx^n,n1)Knvn)××((xnx^n,n1)T(IKnH)T(Knvn)T)) 应用矩阵转置性质:(AB)T=BTAT
Pn,n=E((IKnH)(xnx^n,n1)(xnx^n,n1)T(IKnH)T(IKnH)(xnx^n,n1)(Knvn)TKnvn(xnx^n,n1)T(IKnH)T++Knvn(Knvn)T) 展开
Pn,n=E((IKnH)(xnx^n,n1)(xnx^n,n1)T(IKnH)T)E((IKnH)(xnx^n,n1)(Knvn)T)E(Knvn(xnx^n,n1)T(IKnH)T)++E(Knvn(Knvn)T) 应用期望性质:E(X±Y)=E(X)±E(Y)
E((IKnH)(xnx^n,n1)(Knvn)T)=0
E(Knvn(xnx^n,n1)T(IKnH)T)=0
(xnx^n,n1) 是先验估计的误差,它和当前测量噪声 vn 无关。两个不相关的随机变量的积的期望是0.
Pn,n=E((IKnH)(xnx^n,n1)(xnx^n,n1)T(IKnH)T)++E(KnvnvnTKnT) 应用矩阵转置性质:(AB)T=BTAT
Pn,n=(IKnH)E((xnx^n,n1)(xnx^n,n1)T)(IKnH)T++KnE(vnvnT)KnT 应用期望性质:E(aX)=aE(X)
E((xnx^n,n1)(xnx^n,n1)T)=Pn,n1
E(vnvnT)=Rn
Pn,n1 是先验估计的协方差
Rn 是测量协方差
Pn,n=(IKnH)Pn,n1(IKnH)T+KnRnKnT 就得到了协方差更新方程!
上一章 下一章