基于MATLABGUI的Kalman滤波程序 下载本文

内容发布更新时间 : 2024/10/22 16:44:25星期一 下面是文章的全部内容请认真阅读。

目 录

序言 ..................................................................................................... - 1 - 第1章 Kalman滤波理论 ................................................................... - 2 -

1.1 Kalman滤波理论的应用背景 .........................................................................- 2 - 1.2 卡尔曼滤波的基本思想 .................................................................................- 3 - 1.3 卡尔曼滤波理论基础 .....................................................................................- 4 - 1.4 卡尔曼滤波参数的估计和调整 .....................................................................- 5 - 1.5 小结 .................................................................................................................- 7 -

第2章 MATLAB及GUI编程概述 ..................................................... - 8 -

2.1 MATLAB简介 ...................................................................................................- 8 - 2.2 MATLAB_GUI概述 ...........................................................................................- 8 -

第3章 Kalman滤波GUI和程序的设计 ......................................... - 10 -

3.1 Kalman滤波器的应用实例 .......................................................................... - 10 - 3.2 Kalman滤波GUI设计所实现的任务 .......................................................... - 11 - 3.3 GUI界面设计 ................................................................................................ - 11 -

第4章 在MATLAB_GUI下运行程序 .............................................. - 18 -

4.1 通过MATLAB_GUI运行结果 ...................................................................... - 18 - 4.2运行结果分析 ............................................................................................... - 18 -

参考文献 ........................................................................................... - 20 - [1] Kalman R.E.A New Approach to Linear filtering and Prodiction Theory.Trans.ASME.Journal of Basic Eng,1960,82D:35-46. ................ - 20 - [2] ..................................................................................................... - 20 - [4] ..................................................................................................... - 20 - 致 谢 .................................................................... 错误!未定义书签。

序言

最佳线性滤波理论起源于40年代美国科学家Wiener和前苏联科学家Kолмогоров等人的研究工作,后人统称为维纳滤波理论。从理论上说,维纳滤波的最大缺点是必须用到无限过去的数据,不适用于实时处理。为了克服这一缺点,60年代Kalman把状态空间模型引入滤波理论,并导出了一套递推估计算法,后人称之为卡尔曼滤波理论。

1960年, R.E. Kalman 出版了他的著名论文,描述了一个离散线性系统滤波问题的递归的解决方案。Kalman 滤波器是一组数学等式,它提供了一个有效的计算(回归)方法,来估计过程的状态,在这种方法中,将均方差最小化。该滤波器功能非常强大,它支持过去、现在、甚至将来状态的估计,并当模型系统的精确特性未知的情况下进行估计。

卡尔曼滤波器(Kalman Filter)是一个最优化自回归数据处理算法(optimal recursive data processing algorithm)。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。

目前Kalman滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率低,不具有可视图形,不便于参数修改等缺点,而MATLAB_GUI为Kalman滤波器的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可视化、仿真以及设计融合到一个交互式的工作环境中。本文基于MATLAB_GUI对Kalman滤波器进行设计和仿真。

第1章 Kalman滤波理论

1.1 Kalman滤波理论的应用背景

信号是传递和运载信息的时间或空间函数。信号有两类,即确定性信号和随即信号。确定性信号的变化规律是既定的,可以表示为一确定的时间函数或空间函数,具有确定的频谱特性,如阶跃信号、脉宽固定的矩形脉冲信号,正余弦函数等,它们对于指定的某一时刻,可确定一相应的函数值。随即信号没有既定的变化规律,不能给出确定的时间或空间函数,在相同的初始条件和环境条件下,信号每次实现都不一样,如陀螺漂移、惯性导航系统的导航误差、GPS的SA误差、海浪等,随即信号尽管没有确定的频谱特性,但是可以知道它的统计特性,即具有确定的功率谱。

信号在传输与检测过程中不可避免地要受到外来干扰与设备内部噪声的影响,使接收端收到的信号具有随机性。为获取所需信号,排除干扰,就要对信号进行滤波。所谓滤波,是指从混合在一起的诸多信号中提取出所需信号的过程。信号的性质不同,获取的方法就不同,即滤波的手段不同。对于确定性信号,由于其具有确定的频谱特性,可根据各信号所处频带的不同,设置具有相应频率特性的滤波器,如低通滤波器、高通滤波器、带通滤波器及带阻滤波器等,使有用信号无衰减地通过,而干扰信号收到抑制。这类滤波器可用物理的方法实现,即模拟滤波器,亦可用计算机通过算法实现,即数字滤波器。对确定性信号的滤波处理通常称为常规滤波。

随即信号具有确定的功率谱特性,可根据有用信号和干扰信号的功率谱设计滤波器。美国学者维纳(N.Wiener)等人提出了Wiener滤波,它通过做功率谱分解设计滤波器,在对信号做抑制和选通这一点同常规滤波是相似的。由于在频域进行Wiener滤波器设计需要求解维纳-霍普方程,且计算量较大,需要大量的存储空间,妨碍了Wiener滤波的应用。Kalman滤波是卡尔曼于1960年提出的从与被提取信号有关的观测量中通过算法估计出所需信号的一种滤波算法[1]。他把状态空间的概念引入到随即估计理论中,把信号过程视为白噪声作用下的一个线性系统的输出,用状态方程来描述这种输入-输出关心,估计过程中利用系统