卡尔曼滤波

在这一部分,我们就来描述源于Dr Kalman 的卡尔曼滤波器。下面的描述,会涉及一些基本的概念知识,包括概率(Probability ),随机变量(Random Variable ),高斯或正态分配(Gaussian Distribution )还有State-space Model 等等。但对于卡尔曼滤波器的详细证明,这里不能一一描述。

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

X(k)=A X(k-1)+B U(k)+W(k)

再加上系统的测量值:

Z(k)=H X(k)+V(k)

上两式子中,X(k)是k 时刻的系统状态,U(k)是k 时刻对系统的控制量。A 和B 是系统参数,对于多模型系统,他们为矩阵。Z(k)是k 时刻的测量值,H 是测量系统的参数,对于多测量系统,H 为矩阵。W(k)和V(k)分别表示过程和测量的噪声。他们被假设成高斯白噪声(White Gaussian Noise) ,他们的covariance 分别是Q ,R (这里我们假设他们不随系统状态变化而变化)。

对于满足上面的条件(线性随机微分系统,过程和测量都是高斯白噪声) ,卡尔曼滤波器是最优的信息处理器。下面我们来用他们结合他们的covariances 来估算系统的最优化输出(类似上一节那个温度的例子)。

首先我们要利用系统的过程模型,来预测下一状态的系统。假设现在的系统状态是k ,根据系统的模型,可以基于系统的上一状态而预测出现在状态: X(k|k-1)=A X(k-1|k-1)+B U(k) ……….. (1)

式(1)中,X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一状态最优的结果,U(k)为现在状态的控制量,如果没有控制量,它可以为0。 到现在为止,我们的系统结果已经更新了,可是,对应于X(k|k-1)的covariance 还没更新。我们用P 表示covariance :

P(k|k-1)=A P(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)-H X(k|k-1)) ……… (3)

其中Kg 为卡尔曼增益(Kalman Gain):

Kg(k)= P(k|k-1) H’ / (H P(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就是他的5 个基本公式。根据这5个公式,可以很容易的实现计算机的程序。

编辑本段应用实例

在这一部分,我们就来描述源于Dr Kalman 的卡尔曼滤波器。下面的描述,会涉及一些基本的概念知识,包括概率(Probability ),随机变量(Random Variable ),高斯或正态分配(Gaussian Distribution )还有State-space Model 等等。但对于卡尔曼滤波器的详细证明,这里不能一一描述。

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

X(k)=A X(k-1)+B U(k)+W(k)

再加上系统的测量值:

Z(k)=H X(k)+V(k)

上两式子中,X(k)是k 时刻的系统状态,U(k)是k 时刻对系统的控制量。A 和B 是系统参数,对于多模型系统,他们为矩阵。Z(k)是k 时刻的测量值,H 是测量系统的参数,对于多测量系统,H 为矩阵。W(k)和V(k)分别表示过程和测量的噪声。他们被假设成高斯白噪声(White Gaussian Noise) ,他们的covariance 分别是Q ,R (这里我们假设他们不随系统状态变化而变化)。

对于满足上面的条件(线性随机微分系统,过程和测量都是高斯白噪声) ,卡尔曼滤波器是最优的信息处理器。下面我们来用他们结合他们的covariances 来估算系统的最优化输出(类似上一节那个温度的例子)。

首先我们要利用系统的过程模型,来预测下一状态的系统。假设现在的系统状态是k ,根据系统的模型,可以基于系统的上一状态而预测出现在状态: X(k|k-1)=A X(k-1|k-1)+B U(k) ……….. (1)

式(1)中,X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一状态最优的结果,U(k)为现在状态的控制量,如果没有控制量,它可以为0。 到现在为止,我们的系统结果已经更新了,可是,对应于X(k|k-1)的covariance 还没更新。我们用P 表示covariance :

P(k|k-1)=A P(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)-H X(k|k-1)) ……… (3)

其中Kg 为卡尔曼增益(Kalman Gain):

Kg(k)= P(k|k-1) H’ / (H P(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就是他的5 个基本公式。根据这5个公式,可以很容易的实现计算机的程序。

编辑本段应用实例


相关内容

  • 卡尔曼滤波的基本原理及应用
  • 卡尔曼滤波的基本原理及应用 卡尔曼滤波在信号处理与系统控制领域应用广泛,目前,正越来越广泛地应用于计算机应用的各个领域. 为了更好地理解卡尔曼滤波的原理与进行滤波算法的设计工作,主要从两方面对卡尔曼滤波进行阐述:基本卡尔曼滤波系统模型.滤波模型的建立以及非线性卡尔曼滤波的线性化. 最后,对卡尔曼滤波 ...

  • 卡尔曼滤波器及其工程应用_张满生
  • 第27卷第1期2008年3月 计 算 技 术 与 自 动 化ComputingTechnologyandAutomation Vol 27,No 1 Mar.2008 文章编号:1003-6199(2008)01-0136-04 卡尔曼滤波器及其工程应用 张满生1,2,张学庄2 (1.湖南工业大学电 ...

  • 一种新的自适应非线性卡尔曼滤波算法_王秋平
  • 第35卷第7期 光电工程 Vol.35, No.7 2008年7月 Opto-Electronic Engineering July, 2008 文章编号:1003-501X(2008)07-0017-05 一种新的自适应非线性卡尔曼滤波算法 王秋平1,3,陈 娟1,2,王显利4,王习文1,3 ( ...

  • 有色噪声作用下的卡尔曼滤波
  • 第33卷第2期 武汉大学学报・信息科学版 V01.33No.2 2008年2月 GeomaticsandInformationScienceof WuhanUniversity Feb.2008 文章编号:167卜8860(2008)02一0180-03文献标志码:A 有色噪声作用下的卡尔曼滤波 赵 ...

  • 随机信号处理
  • 一种卡尔曼滤波与粒子滤波相结合的非线 性滤波算法 李玉莹 (河北科技大学,河北石家庄050000) 摘要:提出一种基于卡尔曼滤波与粒子滤波的非线性滤波算法.这种方法对于状态变量服从线性变化而观测方程为非线性的动态系统模型具有显著的效果.首先使用粒子滤波对状态变量进行初估计,然后对估计结果进行卡尔曼滤 ...

  • 一种卡尔曼滤波与粒子滤波相结合的非线性滤波算法
  • 子学 报 vol,41 No.1 加13年1月 第!期.. 电 ACl『A ELE嗍NIcA SINIcA J肌. 20i3 ------------------------------------------------------一 一种卡尔曼滤波与粒子滤波相结合的非线性滤波算法 夏楠1,邱天爽 ...

  • 卡尔曼滤波器简介
  • 3 卡尔曼滤波器的简介 3.1 卡尔曼滤波器的概述 卡尔曼滤波器由一系列递归数学公式描述,它们提供了一种高效可计算的方法来估计过程的状态,并使估计均方误差最小.卡尔曼滤波器应用广泛且功能强大,它可以估计信号的过去和当前状态,甚至能估计将来的状态,即使并不知道模型的确切性质. 假设我们要研究的对象是一 ...

  • 卡尔曼滤波与最小二乘法
  • 基于MATLAB 的卡尔曼滤波与最小二乘滤波仿真实验设计 一.实验原理:卡尔曼滤波器是一个最优化自回归数据处理算法,对于解决很大部分的问题,他是最优.效率最高甚至是最有用的,其核心内容就是他的5条公式,具体见实验内容中详细介绍.最小二乘法的核心思想是对于一系列观察值,找出一条最优化曲线使其与每个观察 ...

  • 基于GPS共视的卡尔曼滤波算法分析
  • 摘要:该文首先介绍了GPS共视法的基本原理,然后详细介绍了卡尔曼滤波的产生及其原理,具体分析了该算法在共视中的用处,如何在数据处理中发挥其优势.最后实际验证了异地钟差处理中卡尔曼滤波算法的作用.对GPS共视的进一步研究具有一定的参考价值. 关键词:GPS共视:卡尔曼滤波:异地钟差 中图分类号:TP1 ...

  • 卡尔曼滤波器的设计
  • [摘 要]卡尔曼滤波器是一种线性.递归的估值方法,在多领域,尤其在导航领域得到了非常广泛的应用,当前己成功应用于GPS/INS组合导航,提高了一定的精度.本文利用MATLAB实现卡尔曼滤波器滤波器.仿真结果表明基于MATLAB设计的卡尔曼滤波器的滤波效果良好,观察噪声越小,系统噪声越大,递推次数越多 ...