卡爾曼滤波器在嵌入式控制系统中的应用.docVIP

卡爾曼滤波器在嵌入式控制系统中的应用.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
卡爾曼滤波器在嵌入式控制系统中的应用

嵌入式控制系统要用卡尔曼滤波器来观测进程中的变量,以便实现进程控制。本文将介绍卡尔曼滤波器设计和实现的基本原理,然后以汽车导航问题为实例,说明汽车位置控制过程中,如何利用卡尔曼滤波器这个有效工具对汽车的当前位置进行可靠的估计。 卡尔曼滤波器最初是专为飞行器导航而研发的,目前已成功应用在许多领域中。卡尔曼滤波器主要用来预估那些只能被系统本身间接或不精确观测的系统状态。 许多工程系统和嵌入式系统都需要滤波。例如收到受噪音干扰的无线通讯信号时,良好的滤波算法在保留有用信息的同时,还可以从电磁信号中消除噪音。又如在电源电压中,未受干扰的电源是那些为了消除不期望波动而进行线电压过滤的电源设备,如果不消除这些波动,将会缩短电子设备(如计算机和打印机)的寿命。 卡尔曼滤波器适用于观测进程中的变量,从数学角度看,卡尔曼滤波器可估计线性系统的状态。卡尔曼滤波器不仅能在实践中发挥很好的作用,而且在理论上也颇引人注目,因为在各种滤波器中,卡尔曼滤波器的估计误差最小。嵌入式控制系统经常需要使用卡尔曼滤波器,因为要控制一个进程,首先必须精确地估计进程中的变量。 本文将介绍卡尔曼滤波器设计和实现的基本原理。文章首先引入卡尔曼滤波器算法并用该算法解决汽车导航问题。为了控制汽车的位置,首先必须对汽车的当前位置进行可靠的估计。卡尔曼滤波器正是具备这项功能的有效工具。 线性系统 为了用卡尔曼滤波器消除信号中的噪音,被测量的进程必须能用线性系统描述。许多物理进程,如路上行驶的车辆、围绕地球轨道运转的卫星、由绕组电流驱动的电机轴或正弦射频载波信号,均可用线性系统来近似。线性系统是指能用如下两个方程描述的简单进程: 状态方程: 输出方程: 在上述方程中,A、B和C均为矩阵,k是时间系数,x称为系统状态,u是系统的已知输入,y是所测量的输出。w和z表示噪音,其中变量w称为进程噪音,z称为测量噪音,它们都是向量,因此包含多个元素。x中包含系统当前状态的所有信息,但它不能被直接测量。因此要测量向量y,y是受到噪音z干扰的系统状态x的函数。我们可以利用y获取x的估计,但不一定必须藉由y的测量值来获得x的估计,因为y受到了噪音的干扰。 例如在沿直线运动的汽车模型中,其状态由汽车的位置p和速度v构成。输入u是控制加速度,而输出y则是测量位置。假定每隔T秒时间都能改变加速度并测量汽车的位置,根据物理学基本定律,速度v将由下述方程控制: 也就是说,下一时刻(T秒之后)的速度将等于当前速度加上控制加速度与T的乘积。但前面的方程并未给出vk+1时刻的精确值,因为实际上该速度将受到阵风及其它意外噪音的干扰。这些速度噪音是随时间变化的随机变量,因此下述方程能更好地反映v的实际情况: 其中(方程17)表示速度噪音。类似地,可以推导出位置p的方程: 其中(方程18)表示位置噪音。下式提出了由位置和速度构成的状态向量x: 最后,由于测量输出是汽车的位置,可以得到线性系统的状态方程如下: zk表示由仪器误差等因素带来的测量噪音。如果希望藉由反馈系统控制汽车,则需要得到位置p和速度v的精确估计,换句话说,即需要对状态x进行估计。卡尔曼滤波器正是状态估计的有效工具。 卡尔曼滤波器的原理和算法 假定线性系统的模型如前所述,我们希望利用测量得到的y来估计系统x的状态。由于系统的行为遵循其状态方程,而且可以获得系统的位置测量,那么如何确定状态x的最佳估计呢?我们需要能对实际状态进行精确估计的预估器,尽管并不能直接测量该状态。那么预估器又应当满足哪些准则呢?显然必须满足以下两个条件。 首先,状态估计的平均值应等于实际状态的平均值。换言之,我们并不希望估计出现这样或那样的偏差。在数学上,人们总希望估计的期望值应等于状态的期望值。 其次,我们希望状态估计与实际状态之间的偏差尽可能小。也就是说,不仅希望状态估计的平均值等于实际状态的平均值,而且希望预估器的状态估计与实际状态之间的偏差尽可能达到最小。在数学上,人们总希望预估器的误差方差尽可能最小。 卡尔曼滤波器正是能满足以上两条准则的预估器,但卡尔曼滤波器解决方案也必须满足特定的噪音条件。在系统模型中,w表示进程噪音,而z表示测量噪音。因此,必须假定w和z的平均值均为0且w与z不相关。这样,在任何时刻k、wk和xk均为不相关的随机变量,而噪音协方差矩阵Sw和Sz分别为: 进程噪音协方差: 测量噪音协方差: 其中wT和zT分别表示随机噪音向量w和z的转置,E(?)表示期望值。 现在就可以开始研究卡尔曼滤波器方程了。首先,可以选择不同的等价方程来描述卡尔曼滤波器,其中一种表述如下: 卡尔曼滤波器方程由3个方程组成,每个方程都包含矩阵运算。在上述方程中,a-1表示矩阵求逆,而aT上表

文档评论(0)

s4as2gs2cI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档