状态方程:
xk=Axk−1+Buk−1+wk−1
p(w)∼N(0,Q)
测量方程:
yk=Hxk+vk
p(v)∼N(0,R)
预测值:
x^−k=Ax^k−1+Buk−1(1)
预测值与真实值之间的误差协方差:
P−k=APk−1AT+Q(2)
由(1)(2)得到卡尔曼增益:
Kk=P−kHT(HP−kHT+R)−1(3)
由(1)(3)和测量值z就得到估计值:
x^k=x^−k+Kk(zk−Hx^−k)(4)
最后还要计算估计值和真实值之间的误差协方差矩阵,为下次递推做准备:
Pk=(I−KkH)P−k(5)
所以只要给定初值 P0 、 x0 算法就能递归下去