由于现实世界中随机噪声无处不在,使得基于确定性信号处理方法获得的结果缺乏理论基础,因而基于统计量的信号处理方法获得了越来越多的研究和应用。从统计角度出发,对混有随机噪声的随机过程进行处理的过程,通常称为估计;而从某种意义上,使得估计结果最接近被估计量的真值,则称为最优估计。显然,这里的最优是有特定意义的,即从不同的角度出发,都可以称为最优,但各个最优结果之间可能会有一定的差异。Kalman滤波就属于一种最优估计算法,即在线性、无偏和最小方差意义下,其估计结果是最优的。由于Kalman滤波算法适合于多输入、多输出线性系统的状态估计,自1960年提出后,迅速成功地应用于Appollo登月飞行器的组合导航系统中,随后在导航、天文、模式识别、金融、气象和统计等涉及随机信号处理的领域得到了广泛应用。
因此,在很多课程中都涉及到Kalman滤波的内容,例如在图像处理中;而在组合导航领域中,由于Kalman滤波内容极为重要,研究人员将Kalman滤波内容作为主要内容,撰写了很多教材,为读者提供了扎实掌握Kalman滤波原理和应用方法的基础。但是,目前的相关教材存在比较突出的问题,包括:①
理论性过强,使得初学者容易陷入复杂推导的困境中,不利于对基本原理的快速掌握和对重要内容的循序渐进的学习;② 部分内容陈旧,未将Kalman滤波相关最新成果包括在内,学习的时效性不强;③ 缺乏编程指导,算法实现过程是理解和掌握算法的关键,但是,目前的大部分教材均未提供相关例程,不利于初学者理解和掌握相关算法,以及后续的应用。
针对这些问题,笔者以初学者为对象,编写了这本从入门到精通的Kalman滤波算法理论和应用方法的教材,在加强基本原理讲解的同时,配备了适当的例题,解释和示范有关原理和方法;针对大部分滤波算法,基于MATLAB语言,配备了示范编程代码,为初学者提供可以执行的算法程序,以加深对有关算法的理解,后续也可以基于这些例程进行更复杂的应用编程。
本教材主要包括如下几个部分:
① 绪论和相关基础部分。这部分由第1~3章组成,其中:第1章主要介绍估计的定义和Kalman滤波的发展历史,建立最优估计的基本概念;第2章主要介绍本教材用到的向量、矩阵和随机过程等相关的数学知识,为后续的算法学习奠定数学基础;第3章主要介绍线性系统的相关内容,主要包括建模方法、离散化方法、可观性、可控性和误差传播方程等,是Kalman滤波建模的基础。
② Kalman滤波算法部分。这部分由第4~8章组成,其中:第4章主要介绍包括最小二乘算法、最小方差算法、极大似然算法、极大验后算法和Wiener滤波等主要的最优估计算法,建立了最优估计算法的总体架构;第5章主要介绍离散Kalman滤波算法和连续Kalman滤波算法,并给出了离散Kalman滤波算法的基本应用方法;第6章主要介绍当不满足标准Kalman滤波算法条件时的解决方法,其中包括有色噪声建模和白化处理、序贯处理、信息滤波、平方根滤波和次优滤波等,这些处理方法是Kalman滤波算法走向应用的关键;第7章介绍Kalman滤波算法性能分析的方法,包括次优协方差分析、灵敏度分析、误差预算、稳定性分析和可观测度分析等,是进行算法性能评估和设计的关键;第8章主要介绍几种典型非线性滤波算法,包括扩展Kalman滤波算法、基于Unscented变换的Kalman滤波算法和粒子滤波算法,是进行非线性滤波的基础。
③ Kalman滤波算法在组合导航中的应用部分。这部分内容在第9章中进行了详细介绍,其中以捷联惯性导航系统和卫星导航系统的组合为例,对惯性导航解算、状态建模、量测建模和滤波算法构建等进行了全面介绍,并给出了编程示范。
在本教材中,每章均配备了一定量的习题,供读者课后巩固有关知识点。在有关算法介绍部分,对大部分算法配备了例程,读者可以参考有关程序编制自己的算法程序。本书免费配备程序源代码、课件和部分习题答案,可通过关注公众号北航理工图书回复2843获取下载地址。详见封底。
本教材在编写过程中得到了硕士生高意峰和武雨霞的大力帮助,在此深表感谢!
北京航空航天大学出版社联合MATLAB中文论坛( http://www.ilovematlab.cn)为本书设立了在线交流版块,地址: http://www.ilovematlab.cn/forum-272-1.html,欢迎广大读者在此交流。
由于作者水平有限,教材中难免有不当之处,欢迎读者批评指正,勘误地址:http://www.ilovematlab.cn/thread-562064-1-1.html。
作 者
2018年11月