卡尔曼滤波与状态估计例题python实现
关于卡尔曼滤波的原理这里就不赘述了,很多大佬说的很棒,这里就把网课上看到的例题在这里做一下
巩固一下
卡尔曼滤波的两个步骤
- 预测更新(Predict):
预测状态量:
x ^ = ( t ∣ t − 1 ) = A ~ x ( t − 1 ) + B u ( t ) \hat x=(t|t-1)=\widetilde{A}x(t-1)+Bu(t) x^=(t∣t−1)=A x(t−1)+Bu(t)
预测误差协方差矩阵:
P ( t ∣ t − 1 ) = A P ( t − 1 ) A T + Q P(t|t-1)=AP(t-1)A^T+Q P(t∣t−1)=AP(t−1)AT+Q - 测量更新(Correct):
最优估计状态量:
x ~ ( t ) = x ^ ( t ∣ t − 1 ) + K ( t ) [ z ( t ) − H x ^ ( t ∣ t − 1 ) ] \widetilde{x}(t)=\hat x(t|t-1)+K(t)[z(t)-H\hat x(t|t-1)] x