卡尔曼滤波器在嵌入式控制系统中的应用.doc
《卡尔曼滤波器在嵌入式控制系统中的应用.doc》由会员分享,可在线阅读,更多相关《卡尔曼滤波器在嵌入式控制系统中的应用.doc(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流卡尔曼滤波器在嵌入式控制系统中的应用.精品文档.嵌入式控制系统要用卡尔曼滤波器来观测进程中的变量,以便实现进程控制。本文将介绍卡尔曼滤波器设计和实现的基本原理,然后以汽车导航问题为实例,说明汽车位置控制过程中,如何利用卡尔曼滤波器这个有效工具对汽车的当前位置进行可靠的估计。 卡尔曼滤波器最初是专为飞行器导航而研发的,目前已成功应用在许多领域中。卡尔曼滤波器主要用来预估那些只能被系统本身间接或不精确观测的系统状态。 许多工程系统和嵌入式系统都需要滤波。例如收到受噪音干扰的无线通讯信号时,良好的滤波算法在保留有用信息的同时,还可以从电磁信号中消除
2、噪音。又如在电源电压中,未受干扰的电源是那些为了消除不期望波动而进行线电压过滤的电源设备,如果不消除这些波动,将会缩短电子设备(如计算机和打印机)的寿命。 卡尔曼滤波器适用于观测进程中的变量,从数学角度看,卡尔曼滤波器可估计线性系统的状态。卡尔曼滤波器不仅能在实践中发挥很好的作用,而且在理论上也颇引人注目,因为在各种滤波器中,卡尔曼滤波器的估计误差最小。嵌入式控制系统经常需要使用卡尔曼滤波器,因为要控制一个进程,首先必须精确地估计进程中的变量。 本文将介绍卡尔曼滤波器设计和实现的基本原理。文章首先引入卡尔曼滤波器算法并用该算法解决汽车导航问题。为了控制汽车的位置,首先必须对汽车的当前位置进行可
3、靠的估计。卡尔曼滤波器正是具备这项功能的有效工具。线性系统 为了用卡尔曼滤波器消除信号中的噪音,被测量的进程必须能用线性系统描述。许多物理进程,如路上行驶的车辆、围绕地球轨道运转的卫星、由绕组电流驱动的电机轴或正弦射频载波信号,均可用线性系统来近似。线性系统是指能用如下两个方程描述的简单进程: 状态方程: 输出方程: 在上述方程中,A、B和C均为矩阵,k是时间系数,x称为系统状态,u是系统的已知输入,y是所测量的输出。w和z表示噪音,其中变量w称为进程噪音,z称为测量噪音,它们都是向量,因此包含多个元素。x中包含系统当前状态的所有信息,但它不能被直接测量。因此要测量向量y,y是受到噪音z干扰的
4、系统状态x的函数。我们可以利用y获取x的估计,但不一定必须藉由y的测量值来获得x的估计,因为y受到了噪音的干扰。 例如在沿直线运动的汽车模型中,其状态由汽车的位置p和速度v构成。输入u是控制加速度,而输出y则是测量位置。假定每隔T秒时间都能改变加速度并测量汽车的位置,根据物理学基本定律,速度v将由下述方程控制: 也就是说,下一时刻(T秒之后)的速度将等于当前速度加上控制加速度与T的乘积。但前面的方程并未给出vk+1时刻的精确值,因为实际上该速度将受到阵风及其它意外噪音的干扰。这些速度噪音是随时间变化的随机变量,因此下述方程能更好地反映v的实际情况: 其中(方程17)表示速度噪音。类似地,可以推
5、导出位置p的方程: 其中(方程18)表示位置噪音。下式提出了由位置和速度构成的状态向量x: 最后,由于测量输出是汽车的位置,可以得到线性系统的状态方程如下: zk表示由仪器误差等因素带来的测量噪音。如果希望藉由反馈系统控制汽车,则需要得到位置p和速度v的精确估计,换句话说,即需要对状态x进行估计。卡尔曼滤波器正是状态估计的有效工具。卡尔曼滤波器的原理和算法 假定线性系统的模型如前所述,我们希望利用测量得到的y来估计系统x的状态。由于系统的行为遵循其状态方程,而且可以获得系统的位置测量,那么如何确定状态x的最佳估计呢?我们需要能对实际状态进行精确估计的预估器,尽管并不能直接测量该状态。那么预估器
6、又应当满足哪些准则呢?显然必须满足以下两个条件。 首先,状态估计的平均值应等于实际状态的平均值。换言之,我们并不希望估计出现这样或那样的偏差。在数学上,人们总希望估计的期望值应等于状态的期望值。 其次,我们希望状态估计与实际状态之间的偏差尽可能小。也就是说,不仅希望状态估计的平均值等于实际状态的平均值,而且希望预估器的状态估计与实际状态之间的偏差尽可能达到最小。在数学上,人们总希望预估器的误差方差尽可能最小。 卡尔曼滤波器正是能满足以上两条准则的预估器,但卡尔曼滤波器解决方案也必须满足特定的噪音条件。在系统模型中,w表示进程噪音,而z表示测量噪音。因此,必须假定w和z的平均值均为0且w与z不相
7、关。这样,在任何时刻k、wk和xk均为不相关的随机变量,而噪音协方差矩阵Sw和Sz分别为: 进程噪音协方差: 测量噪音协方差: 其中wT和zT分别表示随机噪音向量w和z的转置,E()表示期望值。 现在就可以开始研究卡尔曼滤波器方程了。首先,可以选择不同的等价方程来描述卡尔曼滤波器,其中一种表述如下: 卡尔曼滤波器方程由3个方程组成,每个方程都包含矩阵运算。在上述方程中,a-1表示矩阵求逆,而aT上表示矩阵转置。K矩阵称为卡尔曼增益,而P矩阵表示估计误差的协方差。 上述状态估计方程相当直观。方程中用来推导k + 1时刻状态估计的第一项正好等于A与k时刻状态估计的乘积加上B与k时刻已知输入的乘积。
8、如果不再进行测量,那么该值就是系统的状态估计。换言之,状态估计可以像系统模型中的状态向量一样传递至后续时刻。方程中第二项称为校正项,表示在测量条件下,用于对传递的状态估计进行修正的校正量。 K方程的校验表明:测量噪音较大,Sz也将较大,因此K值应当较小,而且在计算下一时刻的测量值y时,不应过分信赖该值;另一方面,测量噪音较小,Sz也将较小,这样K值应当较大,而且在计算下一时刻的测量值时,可以充分信赖该值。 汽车导航应用实例 现在考虑先前提出的汽车导航问题。汽车沿直线行驶,位置测量的误差为10英尺(一个标准偏差);命令加速度是常数,其值为1英尺/秒2;加速度噪音为0.2英尺/秒2 (一个标准偏差
9、);位置测量的周期为0.1秒(T=0.1)。那么如何得到运动汽车位置的最佳估计?由于存在较大的测量噪音,可以肯定计算结果比测量值更好。因为T=0.1,表征系统的线性模型可用本文提出的系统建模方法推导得到: 因为测量噪音的标准偏差为10英尺,Sz矩阵可简单地取值为100。 现在推导Sw矩阵。因为位置与加速度的0.005倍成正比并且加速度噪音为0.2英尺/秒2,因此位置噪音的偏差为(0.005)2(0.2) 2= 10-6。类似地,因为速度与加速度的0.1倍成正比,因此速度噪音的偏差为(0.1)2(0.2)2=410-4。最后,位置噪音和速度噪音的协方差等于位置噪音的标准方差与速度噪音的标准方差的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卡尔 滤波器 嵌入式 控制系统 中的 应用
限制150内