浅谈卡尔曼滤波器


卡尔曼的简单由来

  kalman滤波器是以鲁道夫.E.卡尔曼(Rudolph E. Kalman)命名的。早在1960年。卡尔曼访问NASA时,发现该滤波方法可以很好的解决轨道预测的问题。自此以后,相继有学者提出施密特扩展滤波器、信息滤波器以及很多Bierman, Thornton 开发的平方根滤波器的变种等滤波器,来完善估计理论。

卡尔曼滤波器的概括

  先从信号成分来分析,物理界有很多成分,如电流信息,震动频率等物理量都可以用信号量来表示。从自然界获取的信号量一般含有一些干扰信号,可以将其认为是噪音信号。我们滤波器作用便是提取信号中的有用成分,过滤掉噪音信号。卡尔曼滤波器不同于频率滤波器,它是一种迭代滤波器,并且带有时间信息。

kalman的模型方程:量测方程和状态方程

先说下状态方程

xk=Axk1+vk

   xk 是在时刻 k 的状态量, vk k 时刻的噪音信息。状态公式表示的状态量之间的迭代关系。时刻 k 的状态量只跟前一时刻有关系。与之前的任意时刻是无关的。
  
量测方程:
zk=Hxk+wk

   z 是量测信息,可以理解为我们能获得信息,比如传感器的测量信息。量测信息与状态之间有关系.
我们从系统角度来看这两个方程。对于一个系统而言。我们只能有效获得外部的物理量,却不能有效的得到系统内部属性。利用内部的物理量之间的相互关系,建立有准确的状态方程模型,在通过系统外部的观测量来计算出内部系统的状态量。kalman滤波器的思想就是通过外部观测量来估算内部状态量的信息。
  以一个简单例子来说明下,什么是量测方程,什么是状态方程。一个在水平面上移动的小车。我们需要知道他的速度,加速度信息。但我们现在只有位移传感器。我们假设状态量xk(xk是一个 1n 维的vector,包括这所有你求的所有状态量),设状态量包括位移,速度,以及加速度等状态量。我们的观测量即为位移。因为短时间的位移可以通过传感器测量。
我们可以建立方程为:
xk=Axk1+vk

A=
100dt10000

   x 是一个三维向量,分别为位移量,速度量以及加速度量。这里建模的将小车认为是一个匀速过程。所以速度量是不变的。位移量等于前一个时刻位移加上速度乘间隔时间的值即为现在时刻的位移量。
量测方程:
zk=Hxk+wk

H=|100|
  因为我们只用传感器测量了位移的变化,则只能得到如上的H矩阵。
  也许你会疑问,难道这样就可以将得到最终的小车状态吗,其实也不一定,建模的准确性也影响了滤波器性能。我们例子中限定认为小车运行状态是匀速的,实际生活中,我们可能很难知道小车的运动状态。小加速度变化的物体我们可以用匀速来表征它。当然取决取对物体运动状态的了解,合理建模才能知道物体运动状态。

卡尔曼滤波器求解过程:

  说完量测方程和状态方程之后,我们来说说kalman的求解过程与思路。滤波器分为两个过程,预测和更新。
状态预测:

xk/k1=Axk1

Pk/k1=APk1AT+Q

   已知前一时刻的状态来预测现在时刻的状态,不涉及观测量。 P x的协方差。表示一种不准确性。 Q v方差矩阵。
时间更新
   预测过程中。利用模型获得了预测值,但其值不是状态值的准确值。因为建模的准确性以及噪音的影响,都导致了模型的不准确性,只能通过我们观察获得的值来反馈更新它。
xk=xk/k1+k(zkHxk/k1)         (1)

k=Pk/k1HT(HPk/k1HT+R)1     (2)

Pk=(IkH)Pk/k1              (3)

  公式(1)的时间更新:利用预测过程的预测值,来预测量测值: Hxk/k1 。测量获得值来减去预测量测值,可以知道预测值与实际估计值的偏差。再用一个补偿因子k来补偿获得最终的估计状态值 xk 。R为 w <script type="math/tex" id="MathJax-Element-27">w</script>的方差。公式(2)和(3)的推导可以参照秦永元——《卡尔曼滤波与组合导航》以及《多信息融合》等书籍。

  1. 噪音序列v和w
      生活中的噪音有很多,但kalman滤波器中的噪音是高斯白噪音,白噪音噪音信息是与信号序列是不相关的,白噪音信息是满足高斯分布的。噪音信息在时间序列表达式不确定的,是一种非平稳随机过程的。但噪音信息可以利用方差来表示,如高精度激光在参数中会标注噪音方差,陀螺仪有的会标注噪音方差,而有的时刻会标注功率谱密度值,也可以利用功率谱求得方差。但现实生活中因为方差不是确定的,获得给定的方差不是准确的,需要自己来确定参数。但也有自适应kalman滤波器,即在求解过程来估算Q和R。

  2. 观测性
      kalman滤波器其实可以理解是一种观测器。不可观滤波器是不能用的,无法估算出状态值。建立的方程就是不准确的,例如飞行器,只能获知空间x和y轴的的位移量侧值,z轴不可知。则该方程的z轴的状态可能是不可观测的。
      介绍了一下简单kalman滤波器(线性时不变的),下次有时间在说下贝叶斯滤波器,从概率论角度认识估计理论和kalman滤波器与粒子滤波。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值