卡尔曼滤波的概率解释

本文详细介绍了卡尔曼滤波算法,包括其基本前提、数学推导和与其他方法(如递推最小二乘估计RLS、隐马尔可夫模型、最大似然估计)的比较。卡尔曼滤波是一种在高斯噪声中对状态进行最优估计的线性递推算法,适用于状态不可直接观测但可以通过观测值推断的情况。
摘要由CSDN通过智能技术生成

前言

由于概率论要求有个结课论文,加上之前学习了下简单的Kalman滤波,发现还有很多有意思的内容不太理解,于是水了这么篇文章。

Kalman滤波

卡尔曼滤波算法需要满足两个前提,另外还有一个隐含的前提:
系统为有限维的线性系统,如果系统非线性,可以用扩展卡尔曼滤波算法(EKF)进行最优估计。
噪声服从高斯分布,即高斯白噪声。
系统在k时刻的状态只与k-1时刻状态和当前输入有关(马尔可夫性)。
卡尔曼滤波算法的过程如下,首先定义 F k F_k Fk为状态转移矩阵,体现k-1时刻对k时刻的影响; G k G_k Gk为控制输入矩阵,表示控制输入对于状态的影响; w k w_k wk为过程噪声矩阵,其服从均值为0,协方差矩阵为 Q k Q_k Qk的高斯分布。
那么从k-1时刻估计k时刻,可以使用下式进行估计,   x k \ x_k  xk为状态变量在k时刻的真值:
x k = F k x k − 1 + G k u k + w k                               ( 1 − 1 ) {x_k=F}_kx_{k-1}+G_ku_k+w_k\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1-1) xk=Fkxk1+Gkuk+wk                             (11)
那么我们观测的先验估计为, x k ∣ k − 1 x_{k|k-1} xkk1为状态变量x根据k-1时刻对k时刻的估计值:
x k ∣ k − 1 = F k x k − 1 ∣ k − 1 + G k u k + w k                  ( 1 − 2 ) {x_{k|k-1}=F}_kx_{k-1|k-1}+G_ku_k+w_k\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1-2) xkk1=Fkxk1k1+Gkuk+wk                (12)
定义k时刻的观测量 z k z_k zk,观测矩阵 H k H_k Hk表示状态空间到观测空间的映射, v k v_k vk为观测噪声矩阵,同样为服从均值为0,协方差矩阵为 R k R_k Rk的观测噪声矩阵。那么对于从k时刻的观测估计状态量有:
z k = H k x k + v k                                       ( 1 − 3 ) z_k=H_kx_k+v_k\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1-3) zk=Hkxk+vk                                     (13)
预测过程的误差可使用协方差矩阵 P k ∣ k − 1 P_{k|k-1} Pkk1表示,有 P k ∣ k − 1 = C o v (   x k ∣ k − 1 , x k ∣ k − 1 ) P_{k|k-1}= {Cov(\ x}_{k|k-1},x_{k|k-1}) Pkk1=Cov( xkk1,xkk1) ,可以写为:
P k ∣ k − 1 = F k P k − 1 ∣ k − 1 F k t + Q k                          ( 1 − 4 )   {P_{k|k-1}=F}_kP_{k-1|k-1}{F_k}^t+Q_k\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1-4)\ Pkk1=FkPk1k1Fkt+Qk                        (14) 
推导过程如下:
KaTeX parse error: Expected group after '\bigm' at end of input: …_k)\ +Q_k\bigm
利用协方差矩阵的性质有:
  = F k C o v (   x k − 1 ∣ k − 1 , F k x k ∣ k − 1 ) + 0 + Q k =   F k [ C o v ( F k x k ∣ k − 1 , x k ∣ k − 1 ) ] T + Q k =   F k [ F k C o v ( x k ∣ k − 1 ) ] T + Q k =   F k P k − 1 ∣ k − 1 F k t + Q k {\ =F_kCov(\ x}_{k-1|k-1},F_kx_{k|k-1})+0+Q_k \\ {=\ F}_k\left[Cov\left(F_kx_{k|k-1},x_{k|k-1}\right)\right]^T+Q_k\\ =\ F_k\left[F_kCov\left(x_{k|k-1}\right)\right]^T+Q_k\\ =\ F_kP_{k-1|k-1}{F_k}^t+Q_k  =FkCov( xk1k1,Fkxkk1)+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值