卡尔曼滤波学习

  在我总结Kalman filtering之前请允许我发泄一下,网上的各版本的卡尔曼滤波方程的变量字母真是多,而范例却全都是同一个测量气温的简单例子,单纯看书的话公式自己又推不出来,真是日了狗了。  好了,说到卡尔曼滤波,我对卡尔曼滤波的初步理解就是(反正这句话也是抄的,看看就好了,我其实也不懂):根据当前时刻的观测值、上一时刻的预测值及预测误差,计算得到当前的最优量去预测下一刻的量。至于对...
摘要由CSDN通过智能技术生成

  在我总结Kalman filtering之前请允许我发泄一下,网上的各版本的卡尔曼滤波方程的变量字母真是多,而范例却全都是同一个测量气温的简单例子,单纯看书的话公式自己又推不出来,真是日了狗了。

  好了,说到卡尔曼滤波,我对卡尔曼滤波的初步理解就是(反正这句话也是抄的,看看就好了,我其实也不懂):根据当前时刻的观测值、上一时刻的预测值及预测误差,计算得到当前的最优量去预测下一刻的量。至于对卡尔曼滤波意义理解的话可以在知乎上搜一下,有个测猪体重的例子感觉十分生动。公式推导的话智商过低的本人也是推不出来的,所以在此仅希望帮助大家学会运用,如果帮得上的话。

 

  首先,我们引入一个离散控制过程的系统。该系统可用一个线性随机微分方程来描述:

          X(k)=AX(k-1)+BU(k)+W(k)

          Z(k)=HX(k)+V(k)

  X(k)是k时刻的系统状态,U(k)是k时刻对系统的控制量。A和B是系统参数,对于多模型系统,他们为矩阵。Z(k)是k时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵。W(k)和V(k)分别表示过程和测量的噪声。他们被假设成高斯白噪声,他们的协方差分别是Q,R。由于系统中一般不太有控制量,所以B这个参数一般为0,也就是没有U(K)。

 

  以下是编程需要的五个卡尔曼滤波的迭代方程:

首先利用系统的过程模型来预测系统下一状态,设在k时刻的系统状态为x(k),则可以根据系统模型,由上一状态预测出现在状态:

X(k|k-1)=AX(k-1|k-1)+Bu(k).....................(1)

其中x(k|k-1)是上一时刻的状态对现在时刻状态的预测,x(k-1|k-1)是上一时刻状态的最优结果, u(k)为现在时刻状态的控制量。

主要看一下X(k|k-1)这样的变量到底代表什么

系统的状态已经更新,现在需要更新系统的误差估计协方差矩阵,用p(k|k-1)表示误差估计协方差矩阵:

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值