2022-01-24 13:53:07
浏览数 (1)
卡尔曼滤波推导
我们先给出离散时间现行系统的状态、观测方程:
其中,x_k 表示状态矩阵,z_k 表示状态矩阵的观测量,A 表示状态转移矩阵,B 表示输入矩阵,其具体影响状态矩阵,H 表示观测矩阵,omega_{k-1} 表示过程噪声,v_k表示测量噪声。
测量噪声很容易理解,数据采集中都包含噪声,这个噪声就是测量噪声。对于过程噪声,大部分线性时变系统并不严格,具有一定不确定性,会导致状态矩阵有一定偏差,因而存在omega_{k 1} 。两种噪声均建模为高斯白噪声,服从p(omega) in N(0, Q),p(v) in N(0, R) ,为对应的协方差矩阵。Q,R 在此,定义三种状态矩阵的表示方式:
- x_k 表示第k次状态真实值;$
- hat{x}_{k mid k-1} 表示第k-1次测量后对第k次的估计值,即先验状态估计值;
- hat{x}_{k mid k} 表示第k次测量后对第k次的估计值,即后验状态估计值;
先验状态估计值由状态预测方程得到:hat{x}_{k mid k-1}=A*hat{x}_{k-1 mid k-1} B*u_k 后验状态估计值由状态更新方程得到(第二种加法表达式):hat{x}_{k mid k}=hat{x}_{k mid k-1} K(z_k-H*hat{x}_{k mid k-1}) 误差e_{k mid k-1} :
误差e_{k mid k} :
先验协方差:
后验协方差:
卡尔曼代价函数为P_{k mid k} ,即:J=sum_{min } P_{k} ,对K 求导:frac{partial P_{k mid k}}{partial K}=-2left(P_{k mid k-1} H^{T}right) 2 Kleft(H P_{k mid k-1} H^{T} Rright) 令导数为0,可以得卡尔曼增益K 为:K=P_{k mid k-1}H^T(HP_{k mid k-1}H^T R)^{-1} 将其代入公式7中,可得:P_{k mid k}=left(I-K Hright) P_{k mid k-1} 至此,完成所有公式的推导,预测即先验,更新即后验。