卡尔曼滤波实例

卡尔曼滤波实例 卡尔曼滤波算法原理?

卡尔曼滤波算法原理?

卡尔曼滤波算法原理?

卡尔曼 滤波 这是一种高效率 递归 滤波 器 ( 自回归 滤波 器 ),它能从一系列的不完整和包括 噪声 的 测量 中,估计 动态系统 的状态。

卡尔曼 滤波 一个典型的例子是通过观察序列(可能有偏差)来预测物体的位置,从一组有限的例子中包含噪声。 坐标 及 速度 。许多工程应用(例如 雷达 、 计算机视觉 )它可以在中国找到。与此同时,卡尔曼 滤波 也是 控制理论 以及 控制系统 这是项目中的一个重要课题。

卡尔曼滤波算法原理?

第一,引入离散控制系统。该系统可以使用线性随机微分方程(

LinearStochasticDifferenceequation)来描述:

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)分别表示过程和测量的噪声。它们被假设为高斯白噪声 (WhiteGaussianNoise),他们的covariance分别是Q,R(在这里,我们假设它们不会随着系统状态的改变而改变)。

卡尔曼滤波器是满足上述条件的最佳信息处理器(线性随机微分系统,工艺和测量均为高斯白噪声)。让我们用它们来结合它们。covariances对系统的最优输出进行估算(类似于上一节温度的例子)。

首先,我们应该使用系统的过程模型来预测下一个状态的系统。假设当前的系统状态是k,在系统模型的基础上,可以根据系统的前一状态来预测状态:

X(k|k-1)=AX(k-1|k-1) BU(k)………..(1)

式(1)中,X(k|k-1)利用上一种状态预测结果,X(k-1|k-第一,是前一种状态的最佳结果,U(k)对于当前状态的控制量,如果没有控制量,可以是0。

到目前为止,我们的系统结果已经更新,但是,相应的,X(k|k-1)的covariance还没有更新。我们用P表示covariance:

P(k|k-1)=AP(k-1|k-1)A’ Q(2)

式(2)中,P(k|k-1)是X(k|k-1)对应的covariance,P(k-1|k-1)是X(k-1|k-1)对应的covariance,A’

表示A的转矩矩阵,Q这是一个系统过程covariance。公式1,2是卡尔曼滤波器5个公式中的前两个,即对系统的预测。

现在我们有了当前状态的预测结果,然后我们收集当前状态的测量值。结合预测值和测量值,我们可以获得当前状态。(k)最优估算值X(k|k):

X(k|k)=X(k|k-1) Kg(k)(Z(k)-HX(k|k-1))(3)

Kg为卡尔曼增益(KalmanGain):

Kg(k)=P(k|k-1)H’/(HP(k|k-1)H’ R)(4)

到目前为止,我们已经得到了k状态下最好的估计值。X(k|k)。但为了让卡尔曼滤波器继续运行,直到系统过程结束,我们必须在k状态下更新。X(k|k)的covariance:

P(k|k)=(I-Kg(k)H)P(k|k-1)(5)

对于单模型单测量,其中I为1的矩阵,I=1。当系统进入时k 1状态时,P(k|k)这是公式(2)P(k-1|k-1)。通过这种方式,算法可以自回归运算。

基本上描述了卡尔曼滤波器算法的原理,公式1、2、3、4、5是他的五个基本公式。按照这五个公式,计算机程序很容易实现。