贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波简介贵州贵阳花溪贵州大学电路与系统研究所•背景介绍:•Kalman,匈牙利数学家。•卡尔曼滤波器源于他的博士论文和1960年发表的论文《ANewApproachtoLinearFilteringandPredictionProblems》(线性滤波与预测问题的新方法)。贵州贵阳花溪贵州大学电路与系统研究所估计原理和卡尔曼滤波1.状态估计原理2.为什么要用状态估计理论3.经典控制理论与现代控制理论4.什么是卡尔曼滤波5.卡尔曼滤波器的软硬件实现6.卡尔曼滤波器的应用贵州贵阳花溪贵州大学电路与系统研究所1.状态估计原理状态估计是卡尔曼滤波的重要组成部分。一般来说,根据观测数据对随机量进行定量推断就是估计问题,特别是对动态行为的状态估计,它能实现实时运行状态的估计和预测功能。比如对飞行器状态估计。贵州贵阳花溪贵州大学电路与系统研究所状态估计对于了解和控制一个系统具有重要意义,所应用的方法属于统计学中的估计理论。最常用的是最小二乘估计,线性最小方差估计、最小方差估计、递推最小二乘估计等。其他如风险准则的贝叶斯估计、最大似然估计、随机逼近等方法也都有应用。贵州贵阳花溪贵州大学电路与系统研究所受噪声干扰的状态量是个随机量,不可能测得精确值,但可对它进行一系列观测,并依据一组观测值,按某种统计观点对它进行估计。使估计值尽可能准确地接近真实值,这就是最优估计。真实值与估计值之差称为估计误差。若估计值的数学期望与真实值相等,这种估计称为无偏估计。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼提出的递推最优估计理论,采用状态空间描述法,在算法采用递推形式,卡尔曼滤波能处理多维和非平稳的随机过程。卡尔曼滤波理论的提出,克服了威纳滤波理论的局限性使其在工程上得到了广泛的应用,尤其在控制、制导、导航、通讯等现代工程方面。贵州贵阳花溪贵州大学电路与系统研究所2.为什么要用状态估计理论在许多实际问题中,由于随机过程的存在,常常不能直接获得系统的状态参数,需要从夹杂着随机干扰的观测信号中分离出系统的状态参数。例如,飞机在飞行过程中所处的位置、速度等状态参数需要通过雷达或其它测量装置进行观测,而雷达等测量装置也存在随机干扰,因此在观测到飞机的位置、速度等信号中就夹杂着随机干扰,要想正确地得到飞机的状态参数是不可能的,只能根据观测到的信号来估计和预测飞机的状态,这就是估计问题。贵州贵阳花溪贵州大学电路与系统研究所从观测到的信号中估计出状态的估值,并且希望估值与状态的真值越小越好,即要求有:成立;因此存在最优估计问题,这就是卡尔曼滤波。卡尔曼滤波的最优估计需满足以下三个条件:·无偏性,即估计值的均值等于状态的真值;·估计的方差最小;·实时性。min)()(ˆtxtx贵州贵阳花溪贵州大学电路与系统研究所从以上分析可以看出卡尔曼滤波就是在有随机干扰和噪声的情况下,以线性最小方差估计方法给出状态的最优估计值,卡尔曼滤波是在统计的意义上给出最接近状态真值的估计值。因此卡尔曼滤波在空间技术、测轨、导航、拦截与通讯等方面获得了广泛的应用。贵州贵阳花溪贵州大学电路与系统研究所3.经典控制理论与现代控制理论经典控制理论只适应与单输入—单输出的线性定常系统,研究方法是传递函数。传递函数在本质上是一种频率法,要靠各个频率分量描述信号。因此,频率法限制了系统对整个过程在时间域内进行控制的能力,所以经典控制理论很难实现实时控制。同时,经典控制理论也很难实现最优控制。贵州贵阳花溪贵州大学电路与系统研究所经典控制系统的组成反馈量控制器Gc输入量+-受控对象Go反馈环节H输出量urc控制量偏差n扰动量b贵州贵阳花溪贵州大学电路与系统研究所由于经典控制理论的上述局限性,随着科学技术的发展,特别是空间技术和各类高速飞行器的快速发展,要求控制高速度、高精度的受控对象,控制系统更加复杂,要求控制理论解决多输入多输出、非线性以及最优控制等设计问题。这些新的控制要求经典控制理论是无法解决的。贵州贵阳花溪贵州大学电路与系统研究所现代控制理论是建立在状态空间基础上的,它不用传递函数,而是用状态向量方程作为基本工具,因此可以用来分析多输入—多输出、非线性以及时变复杂系统的研究。现代控制理论本质上是时域法,信号的描述和传递都是在时间域进行,所以现代控制理论具有实现实时控制的能力。由于采用了状态空间法,现代控制理论有利于设计人员根据给定的性能指标设计出最优的控制系统。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波控制系统结构图由于系统的状态x是不确定的,卡尔曼滤波器的任务就是在有随机干扰w和噪声v的情况下给出系统状态x的最优估算值,它在统计意义下最接近状态的真值x,从而实现最优控制u()的目的。xˆxˆ贵州贵阳花溪贵州大学电路与系统研究所4.什么是卡尔曼滤波:卡尔曼滤波是美国工程师Kalman在线性最小方差估计的基础上,提出的在数学结构上比较简单的而且是最优线性递推滤波方法,具有计算量小、存储量低,实时性高的优点。特别是对经历了初始滤波后的过渡状态,滤波效果非常好。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计,求出现在时刻的估计值。它适合于实时处理和计算机运算。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波的实质是由量测值重构系统的状态向量。它以“预测—实测—修正”的顺序递推,根据系统的量测值来消除随机干扰,再现系统的状态,或根据系统的量测值从被污染的系统中恢复系统的本来面目。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波特点:卡尔曼滤波是解决状态空间模型估计与预测的有力工具之一,它不需存储历史数据,就能够从一系列的不完全以及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,因此不需要记录观测或者估计的历史信息。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波器与大多数我们常用的滤波器不同之处,在于它是一种纯粹的时域滤波器,不需要像低通滤波器等频域滤波器那样,需要在频域设计再转换到时域实现。贵州贵阳花溪贵州大学电路与系统研究所5.卡尔曼滤波器的软硬件实现目前,卡尔曼滤波器已经有很多不同的实现形式。卡尔曼最初提出的形式现在一般称为简单卡尔曼滤波器。除此以外,还有施密特扩展卡尔曼滤波器,信息滤波器以及平方根滤波器。最常见的卡尔曼滤波器是锁相环,采用FPGA硬件可以实现卡尔曼滤波器。贵州贵阳花溪贵州大学电路与系统研究所硬件实现:卡尔曼滤波器有良好的滤波效果,但由于其计算量大,当采样率高时,一个采样周期内难以完成计算,且计算机的字长有限,使计算中舍入误差和截断误差积累、传递,造成数值不稳定,因此用MCU和DSP难以实现。FPGA可以实现并行计算,它有多个乘法器和累加器并行处理数据,采用FPGA实现的卡尔曼滤波器,由于输入和输出数据计算同时进行,因此可以大大提高滤波速度。贵州贵阳花溪贵州大学电路与系统研究所一般,数字滤波器的FPGA实现是用VHDL或VerilogHDL等硬件描述语言通过编写底层代码实现。这种编程方式效率低,难度大。利用Altera公司FPGA的DSP开发工具DSPBuilder设计卡尔曼滤波器,比基于硬件描述语言的设计,周期更短,设计更容易。贵州贵阳花溪贵州大学电路与系统研究所基于现场可编程逻辑门阵列FPGA器件和模数转换器设计的数据采集系统为硬件平台,进行算法设计。基于模块化设计思想,设计时钟分频模块、AD转换芯片的FPGA控制模块和卡尔曼滤波模块。卡尔曼滤波模块采用DSPBuilder设计,转换成硬件描述语言VHDL后,应用软件Modelsim、QuartusII进行仿真并完成硬件验证。贵州贵阳花溪贵州大学电路与系统研究所软件实现:許多物理进程,如路上行驶的車辆、围绕地球轨道运转的卫星、由绕组电流驱动的电机轴或正弦射頻載波信号,均可用线性系统來近似。线性系统是指能用如下两个方程描述的简单进程:状态方程:输出方程:贵州贵阳花溪贵州大学电路与系统研究所在上述方程中,A、B和C均为矩陣,k是時間系数,x称为系統状态,u是系統的已知輸入,y是所測量的輸出。w和z表示噪音,其中变量w称为进程噪音,z称为測量噪音,它們都是向量。则卡尔曼滤波的算法流程为:贵州贵阳花溪贵州大学电路与系统研究所1.预估计X(k)^=F(k,k-1)·X(k-1)2.计算预估计协方差矩阵3.C(k)^=F(k,k-1)×C(k)×F(k,k-1)'+T(k,k-1)×Q(k)×T(k,k-1)'4.Q(k)=U(k)×U(k)'5.计算卡尔曼增益矩阵6.K(k)=C(k)^×H(k)'×[H(k)×C(k)^×H(k)'+R(k)]^(-1)7.R(k)=N(k)×N(k)'贵州贵阳花溪贵州大学电路与系统研究所8.更新估计9.X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^]10.计算更新后估计协防差矩阵11.C(k)~=[I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]‘+K(k)×R(k)×K(k)’12.X(k+1)=X(k)13.C(k+1)=C(k)14.重复以上步骤该算法可用C语言编程,在计算机上实现。贵州贵阳花溪贵州大学电路与系统研究所6.卡尔曼滤波器的应用卡尔曼滤波器最初是专为飞行器导航而研发的,目前已成功应用在許多领域中。卡尔曼滤波器主要用来預估那些只能被系统本身間接或不精確观測的系统状态。許多工程系统和嵌入式系统都需要卡尔曼滤波。贵州贵阳花溪贵州大学电路与系统研究所比如,在雷达中,人们感兴趣的是跟踪目标,但目标的位置,速度,加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计。贵州贵阳花溪贵州大学电路与系统研究所卡尔曼滤波器应用领域:·自动驾驶仪·动态定位系统·经济学,特别是宏观经济学,时间序列模型,以及计量经济学·惯性引导系统·雷达跟踪器·卫星导航系统贵州贵阳花溪贵州大学电路与系统研究所谢谢!贵州大学2008年11月24日