Kalman Filter 公式及推导

1.介绍

卡尔曼滤波的本质是参数化的贝叶斯模型,通过对下一时刻系统的初步状态估计(即状态的先验估计)以及测量得出的反馈相结合,最终得到该时刻较为准确的的状态估计(即状态的后验估计)。

其核心思想即为预测+测量反馈

 Kalman fliter是线性滤波器

 

2.经典的5个公式:

状态预测

 

“小帽子”表示估计,“ - ”表示用上一时刻的量估计而来的,
F 是状态转移矩阵,表示怎么由上一状态量怎么推测当前时刻状态;

B是控制矩阵,表示控制量u怎么作用当前状态。

所有推测都包含噪声,所有噪声都假定为高斯白噪声,噪声越大不确定性越大,用协方差矩阵来表示不确定性。


主对角线上表示两个维度的方差,反对角线上表示两维度的协方差kalman filter中所有不确定性的描述都要用协方差矩阵。


噪声协方差矩阵的传递

每一时刻的协方差用P表示,协方差矩阵在每个时刻间传递

             

协方差矩阵Q表示P预测时的不确定性。


备注1噪声协方差矩阵的推导

协方差矩阵的性质:

观察矩阵

                       

v表示测量误差(噪声),观测噪声的协方差矩阵:R

测量矩阵H可以表示多种测量方式,这也体现了kalman filter的数据融合的特性


状态更新

                          

括号里表示实际测量值与预测值之间的残差,为什么预测值要乘上观测矩阵H?因为让测量值和观测值维度一致,可以相减。

K为卡尔曼增益

           

定性分析:

1.权衡预测协方差P和观测协方差R的大小来决定相信预测模型多一点还是相信观测模型多一点

2.把残差的表现形式从观察域变到状态域(即让残差的维度与前者相同,可以相加)


噪声协方差矩阵的更新

            

这个值是留给下一次迭代用的


备注2卡尔曼增益和协方差矩阵推导:

测量值与估计值之间的误差为:

由公式(2)(3)可得

     

此处有个小错误,应该是-K,结果是对的。

协方差矩阵为:

    

因为为向量,所以要加转置

同理可得:

      

所以对展开得到:

     

因为协方差矩阵的对角线元素就是方差,而方差表示的就是噪声的能量,所以求的方差最小,则噪声也越小,所以求迹tr

    

对未知量K求导为零的值,则是方差和最小的对应的K

   

上式中的P越大,则K越大,从实际上P越大表示噪声越大估计值越不准确,所以需要测量值来修正,则K需越大

带入式中的:

  


公式(1)(2)表示预测,公式(3)(4)(5)用来更新


3.子:小车位置与速度


    


参考:1.卡尔曼滤波器的原理以及在matlab中的实现


           2.http://blog.csdn.net/u012211419/article/details/49821393


转载请注明出处


卡尔曼滤波是一种用于通过融合多个传感器测量数据来估计物体状态的优化算法。它在估计中考虑了系统的动态模型以及传感器的测量噪声,能够在噪声和不确定性环境下提供最优的状态估计。 卡尔曼滤波的原理可以通过以下步骤进行推导: 1. 假设系统是线性的,可以用以下状态方程描述:x(k)=Ax(k-1)+Bu(k)+w(k),其中x(k)是状态向量,A是状态转移矩阵,B是输入控制矩阵,u(k)是控制向量,w(k)是系统过程噪声。 2. 假设测量数据是线性的,可以用以下观测方程描述:z(k)=Hx(k)+v(k),其中z(k)是观测向量,H是观测矩阵,v(k)是测量噪声。 3. 假设状态和测量噪声都是高斯分布,即w(k)~N(0,Q),v(k)~N(0,R),其中Q是系统过程噪声协方差矩阵,R是测量噪声协方差矩阵。 4. 初始化卡尔曼滤波器的状态估计值和协方差矩阵。 5. 递归执行以下步骤: a. 预测步骤:根据当前状态估计值和模型方程,计算预测状态和预测协方差矩阵。即x^- = Ax+Bu,P^- = APA^T + Q。 b. 更新步骤:根据测量值和观测方程,计算卡尔曼增益、估计当前状态和协方差矩阵。即K = P^-HT(HP^-HT + R)^-1,x = x^- + K(z - Hx^-),P = (I - KH)P^-。 6. 返回估计的状态。 卡尔曼滤波是通过不断更新状态估计值和协方差矩阵来提供最优状态估计的。预测步骤利用系统的动态模型来预测下一个状态,更新步骤则将预测值和测量值进行融合,根据测量值的准确性来修正预测值。通过迭代执行预测和更新步骤,卡尔曼滤波能够提供最优的状态估计值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值