当前位置:文档之家› 卡尔曼滤波在目标跟踪应用仿真研究

卡尔曼滤波在目标跟踪应用仿真研究

卡尔曼滤波在目标跟踪应用仿真研究
卡尔曼滤波在目标跟踪应用仿真研究

Kalman滤波在运动跟踪中建模

目录 一、kalman滤波简介 (1) 二、kalman滤波基本原理 (1) 三、Kalman滤波在运动跟踪中的应用的建模 (3) 四、仿真结果 (6) 1、kalman的滤波效果 (6) 2、简单轨迹的kalman的预测效果 (7) 3、椭圆运动轨迹的预测 (9) 4、往返运动归轨迹的预测 (10) 五、参数的选取 (11) 附录: (13) Matlab程序: (13) C语言程序: (13)

Kalman滤波在运动跟踪中的应用 一、kalman滤波简介 最佳线性滤波理论起源于40年代美国科学家Wiener和前苏联科学家Kолмогоров等人的研究工作,后人统称为维纳滤波理论。从理论上说,维纳滤波的最大缺点是必须用到无限过去的数据,不适用于实时处理。为了克服这一缺点,60年代Kalman把状态空间模型引入滤波理论,并导出了一套递推估计算法,后人称之为卡尔曼滤波理论。卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。它适合于实时处理和计算机运算。 Kalman滤波是卡尔曼(R.E.kalman)于1960年提出的从与被提取信号的有关的观测量中通过算法估计出所需信号的一种滤波算法。他把状态空间的概念引入到随机估计理论中,把信号过程视为白噪声作用下的—个线性系统的输出,用状方程来描述这种输入—输出关系,估计过程中利用系统状态方程、观测方程和白噪声激励(系统噪声和观测噪声)的统计特性形成滤波算法,由于所用的信息都是时域内的量,所以不但可以对平稳的一维随机过程进估计,也可以对非平稳的、多维随机过程进行估汁。 Kalman滤波是一套由计算机实现的实时递推算法.它所处理的对象是随机信号,利用系统噪声和观测噪声的统计特性,以系统的观测量作为滤波器的输入,以所要估计值(系统的状态或参数)作为滤波器的输出,滤波器的输入与输出之间是由时间更新和观测更新算法联系在一起的,根据系统方程和观测方程估计出所有需要处理的信号。所以,Kalman滤波与常规滤波的涵义与方法不同,它实质上是一种最优估计法。 卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法),对于解决很大部分的问题,他是最优,效率最高甚至是最有用的 二、kalman滤波基本原理 Kalman滤波器是目标状态估计算法解决状态最优估计的一种常用方法具有计算量小、存储量低、实时性高的优点。实际应用中,可以将物理系统的运行过程看作是一个状态转换过程,卡尔曼滤波将状态空间理论引入到对物理系统的数学建模过程中来。其基本思想是给系统信号和噪声的状态空间建立方程和观测方程,只用信号的前一个估计值和最近一个观察值就可以在线性无偏最小方差估计准则下对信号的当前值做出最优估计。 设一系统所建立的模型为:

(整理)Kalman滤波在运动跟踪中的建模.

目录一、kalman滤波简介 1 二、kalman滤波基本原理 (1) 三、Kalman滤波在运动跟踪中的应用的建模 (3) 四、仿真结果 (6) 1、kalman的滤波效果 (6) 2、简单轨迹的kalman的预测效果 (7) 3、椭圆运动轨迹的预测 (9) 4、往返运动归轨迹的预测 (10) 五、参数的选取 (11) 附录: (13) Matlab程序: (13) C语言程序: (13)

Kalman滤波在运动跟踪中的应用 一、kalman滤波简介 最佳线性滤波理论起源于40年代美国科学家Wiener和前苏联科学家Kолмогоров等人的研究工作,后人统称为维纳滤波理论。从理论上说,维纳滤波的最大缺点是必须用到无限过去的数据,不适用于实时处理。为了克服这一缺点,60年代Kalman把状态空间模型引入滤波理论,并导出了一套递推估计算法,后人称之为卡尔曼滤波理论。卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。它适合于实时处理和计算机运算。 Kalman滤波是卡尔曼(R.E.kalman)于1960年提出的从与被提取信号的有关的观测量中通过算法估计出所需信号的一种滤波算法。他把状态空间的概念引入到随机估计理论中,把信号过程视为白噪声作用下的—个线性系统的输出,用状方程来描述这种输入—输出关系,估计过程中利用系统状态方程、观测方程和白噪声激励(系统噪声和观测噪声)的统计特性形成滤波算法,由于所用的信息都是时域内的量,所以不但可以对平稳的一维随机过程进估计,也可以对非平稳的、多维随机过程进行估汁。 Kalman滤波是一套由计算机实现的实时递推算法.它所处理的对象是随机信号,利用系统噪声和观测噪声的统计特性,以系统的观测量作为滤波器的输入,以所要估计值(系统的状态或参数)作为滤波器的输出,滤波器的输入与输出之间是由时间更新和观测更新算法联系在一起的,根据系统方程和观测方程估计出所有需要处理的信号。所以,Kalman滤波与常规滤波的涵义与方法不同,它实质上是一种最优估计法。 卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法),对于解决很大部分的问题,他是最优,效率最高甚至是最有用的 二、kalman滤波基本原理 Kalman滤波器是目标状态估计算法解决状态最优估计的一种常用方法具有计算量小、存储量低、实时性高的优点。实际应用中,可以将物理系统的运行过程看作是一个状态转换过程,卡尔曼滤波将状态空间理论引入到对物理系统的数学建模过程中来。其基本思想是给系统信号和噪声的状态空间建立方程和观测方程,只用信号的前一个估计值和最近一个观察值就可以在线性无偏最小方差估计准则下对信号的当前值做出最优估计。 设一系统所建立的模型为:

基于卡尔曼滤波器的雷达目标跟踪

随机数字信号处理期末大作业(报告) 基于卡尔曼滤波器的雷达目标跟踪 Radar target tracking based on Kalman filter 学院(系):创新实验学院 专业:信息与通信工程 学生姓名:李润顺 学号:21424011 任课教师:殷福亮 完成日期:2015年7月14日 大连理工大学 Dalian University of Technology

摘要 雷达目标跟踪环节的性能直接决定雷达系统的安全效能。由于卡尔曼滤波器在状态估计与预测方面具有强大的性能,因此在目标跟踪领域有广泛应用,同时也是是现阶段雷达中最常用的跟踪算法。本文先介绍了雷达目标跟踪的应用背景以及研究现状,然后在介绍卡尔曼滤波算法和分析卡尔曼滤波器性能的基础上,将其应用于雷达目标跟踪,雷达在搜索到目标并记录目标的位置数据,对测量到的目标位置数据(称为点迹)进行处理,自动形成航迹,并对目标在下一时刻的位置进行预测。最后对在一个假设的情境给出基于卡尔曼滤波的雷达目标跟踪算法对单个目标航迹进行预测的MATLAB仿真,对实验的效果进行评估,分析预测误差。 关键词:卡尔曼滤波器;雷达目标跟踪;航迹预测;预测误差;MATLAB仿真 - 1 -

1 引言 1.1 研究背景及意义 雷达目标跟踪是整个雷达系统中一个非常关键的环节。跟踪的任务是通过相关和滤波处理建立目标的运动轨迹。雷达系统根据在建立目标轨迹过程中对目标运动状态所作的估计和预测,评估船舶航行的安全态势和机动试操船的安全效果。因此,雷达跟踪环节工作性能的优劣直接影响到雷达系统的安全效能[1]。 鉴于目标跟踪在增进雷达效能中的重要作用,各国在军用和民用等领域中一直非常重视发展这一雷达技术。机动目标跟踪理论有了很大的发展,尤其是在跟踪算法的研究上,理论更是日趋成熟。在跟踪算法中,主要有线性自回归滤波、两点外推滤波、维纳 α-滤波和卡尔曼滤波,其中卡尔曼滤波算法在目标跟踪滤波、加权最小二乘滤波、β 理论中占据了主导地位。 雷达跟踪需要处理的信息种类多种多样。除了目标的位置信息外,一般还要对目标运动速度进行估计,个别领域中的雷达还要对目标运动姿态进行跟踪。雷达跟踪的收敛速度、滤波精度和跟踪稳定度等是评估雷达跟踪性能的重要参数。因此提高雷达跟踪的精度、收敛速度和稳定度也就一直是改善雷达跟踪性能的重点。随着科技的发展,各类目标的运动性能和材质特征有了大幅度的改善和改变,这就要求雷达跟踪能力要适应目标特性的这种变化。在不断提高雷达跟踪性能的前提下,降低雷达跟踪系统的成本也是现代雷达必须考虑的问题。特别是在民用领域中由于雷达造价不能过高,对目标跟踪进行快收敛性、高精度和高稳定性的改良在硬件上是受到一些制约的,因此雷达跟踪算法的研究就越来越引起学者们的关注。通过跟踪算法的改进来提高雷达的跟踪性能还有相当大的挖掘潜力。考虑到雷达设备的造价,民用雷达的跟踪系统首要的方法就是对于雷达的跟踪算法进行开发。

卡尔曼滤波器在PID控制器中的应用

卡尔曼滤波器在PID控制器中的应用 学生姓名:潘培哲 学号: 12013002347 专业:控制工程 指导教师:李鹏 云南大学信息学院

一、引言 传统的倒立摆系统采用单纯的PID 控制模式,这种控制模式虽然可以在一定程度上满足系统的要求,但是具有精度差,响应时间长,稳定性不高等不足之处.造成这种情况的一个原因是控制信号中含有噪声干扰,噪声干扰会在很大程度上影响系统的性能.另外,除了以上提到的外界干扰外,系统内部也存在干扰,主要包括建模时因抽象和简化而引入的结构干扰以及实际系统中因参数变化而引入的参数干扰.因此,为了提高系统的稳定性,使之具有较短的响应时间和控制精度,本文设计了一种基于卡尔曼滤波器的PID 控制系统,通过卡尔曼滤波器对系统的一些噪声进行滤波处理之后,对系统的随机误差进行了比普通PID 更进一步的补偿,获得了更为精确的系统模型,从而使系统的稳定性和精度以及响应时间都得到了有效的提高.本文以直线小车倒立摆为例,研究了卡尔曼滤波器在倒立摆控制系统中的应用. 二、卡尔曼滤波器原理 在现代随机最优控制和随机信号处理技术中,信号和噪声往往是多维非平稳随机过程,因其时变性,功率谱不固定.在1960年卡尔曼提出了卡尔曼滤波理论,该理论采用时域上的递推算法在计算机上进行数据滤波处理. 对于离散域系统:

离散卡尔曼滤波器递推算法为: 图1 卡尔曼滤波器结构图 三、基于卡尔曼滤波器的PID 控制器工作过程 下面便以直线小车倒立摆为被控对象,来进一步研究卡尔曼滤波技术在倒立摆系统中的应用. 3.1 倒立摆系统的数学模型 对直线小车的倒立摆系统的数学建模. 对于倒立摆系统,由于其本身是自不稳定的非线性系统,实验建模存在一定的困难.但经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程. 对一级倒立摆线性化后得到系统的近似模型如下

卡尔曼滤波器及其简matlab仿真

卡尔曼滤波器及其简matlab仿真

卡尔曼滤波器及其简matlab仿真 一、卡尔曼滤波的起源 谈到信号的分析与处理,就离不开滤波两个字。通常,信号的频谱处于有限的频率范围内,而噪声的频谱则散布在很广的频率范围内,为了消除噪声,可以进行频域滤波。但在许多应用场合,需要直接进行时域滤波,从带噪声的信号中提取有用信号。虽然这样的过程其实也算是对信号的滤波,但其所依据的理论,即针对随机信号的估计理论,是自成体系的。人们对于随机信号干扰下的有用信号不能“确知”,只能“估计”。为了“估计”,要事先确定某种准则以评定估计的好坏程度。 1960年卡尔曼发表了用递归方法解决离散数据线性滤波问题的论文A New Approach to Linear Filtering and Prediction Problems (线性滤波与预测问题的新方法),在这篇文章里一种克服了维纳滤波缺点的新方法被提出来,这就是我们今天称之为卡尔曼滤波的方法。卡尔曼滤波应用广泛且功能强大,它可以估计信号的过去和当前状态甚至能估计将来的状态即使并不知道模型的确切性质。 其基本思想是以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。 对于解决很大部分的问题,它是最优,效率最高甚至是最有用的。它的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 卡尔曼滤波不要求保存过去的测量数据,当新的数据到来时,根据新的数据和前一时刻的储值的估计,借助于系统本身的状态转移方程,按照一套递推公式,即可算出新的估值。卡尔曼递推算法大大减少了滤波装置的存储量和计算量,并且突破了平稳随机过程的限制,使卡尔曼滤波器适用于对时变信号的实时处理。

卡尔曼滤波在目标跟踪中的应用

卡尔曼滤波在目标跟踪中的应用 摘要:机动卡尔曼算法(VD 算法)在扩展卡尔曼滤波诸算法中原理较为简单,目标跟踪效果也较好。 一. 模型建立 (1) 非机动模型(匀速直线运动) 系统模型 )()()1(k GW k X k X +Φ=+ 其中 ?????? ????? ???=)()()()()(k V k y k V k x k X y x ; ? ? ??????????=Φ10001000010001 T T ; ????? ? ? ???? ???=10200102T T G ? ?? ???=)()()(k W k W k W y x ; 0)]([=k W E ; kj T Q j W k W E δ=)]()([ 测量模型为: )()()(k V k HX k Z +=; 其中 ?? ? ???=01000001H )(k V 为零均值,协方差阵为R 白噪声,与)(k W 不相关。 (2) 机动模型 系统模型 );(*)()1(k W G k X k X m m m m m +Φ=+ 其中

?? ? ? ??? ? ?? ??????????=)()()()()()()(k a k a k V k y k V k x k X m y m y m y m m x m m ;??? ???????????? ?????=Φ100 00 00100000100020100000100200 122 T T T T T T m ;??? ???????????????????=10012040020422T T T T G m 0)]([=k W E m , kj m m m Q j W k W E T δ=)]()([ 观测模型与机动模型的相同,只是H 矩阵为m H 。 ?? ? ???=000100000001m H 二.Kalman 滤波算法 作为一般的Kalman 滤波算法其算法可以描述如下: )1/1(?)1/(?--Φ=-k k X k k X T T G k GQ k k P k k P )1()1/)1()1/(-+Φ--Φ=- 1])1/([)1/()(-+--=R H k k HP H k k P k K T T )]1/()()[()1/(?)/(?--+-=k k HX k Z k K k k X k k X )1/()()1/()/(---=k k HP k K k k P k k P 起始估计值为 ()()()()()()()221/?2/2221/x x x y y y z z z T z z z T ????-??????=????????-???? X 起始估计的估计误差为 (2)(1)(2)(1)2(2/2)(2) (1)(2)(1)2x x x x y y y y v v v T u T v v v T u T -?? ??-?? ?+?? =??-?? -???+???? X 起始估计的估计误差协方差矩阵为

卡尔曼滤波器及其简matlab仿真.

卡尔曼滤波器及其简matlab仿真 一、卡尔曼滤波的起源 谈到信号的分析与处理,就离不开滤波两个字。通常,信号的频谱处于有限的频率范围内,而噪声的频谱则散布在很广的频率范围内,为了消除噪声,可以进行频域滤波。但在许多应用场合,需要直接进行时域滤波,从带噪声的信号中提取有用信号。虽然这样的过程其实也算是对信号的滤波,但其所依据的理论,即针对随机信号的估计理论,是自成体系的。人们对于随机信号干扰下的有用信号不能“确知”,只能“估计”。为了“估计”,要事先确定某种准则以评定估计的好坏程度。 1960年卡尔曼发表了用递归方法解决离散数据线性滤波问题的论文A New Approach to Linear Filtering and Prediction Problems(线性滤波与预测问题的新方法),在这篇文章里一种克服了维纳滤波缺点的新方法被提出来,这就是我们今天称之为卡尔曼滤波的方法。卡尔曼滤波应用广泛且功能强大,它可以估计信号的过去和当前状态甚至能估计将来的状态即使并不知道模型的确切性质。 其基本思想是以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。 对于解决很大部分的问题,它是最优,效率最高甚至是最有用的。它的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 卡尔曼滤波不要求保存过去的测量数据,当新的数据到来时,根据新的数据和前一时刻的储值的估计,借助于系统本身的状态转移方程,按照一套递推公式,即可算出新的估值。卡尔曼递推算法大大减少了滤波装置的存储量和计算量,并且突破了平稳随机过程的限制,使卡尔曼滤波器适用于对时变信号的实时处理。 二、卡尔曼滤波的原理

基于卡尔曼滤波的目标跟踪研究_毕业设计

毕业设计 设计题目:基于卡尔曼滤波的目标跟踪研究 姓名 院系信息与电气工程学院 专业电气工程及其自动化 年级 学号 指导教师 2012年4月24 日

独创声明 本人郑重声明:所呈交的毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 此声明的法律后果由本人承担。 作者签名: 二〇一年月日 毕业论文(设计)使用授权声明 本人完全了解鲁东大学关于收集、保存、使用毕业论文(设计)的规定。 本人愿意按照学校要求提交论文(设计)的印刷本和电子版,同意学校保存论文(设计)的印刷本和电子版,或采用影印、数字化或其它复制手段保存论文(设计);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布论文(设计)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定) 论文作者(签名): 二〇一年月日

目录 引言 1.绪论 1.1研究背景 1.1.1卡尔曼滤波提出背景 1.1.2 应用范围 1.2本文研究的主要内容 2 2.初步认识卡尔曼滤波 2 2.1关于卡尔曼 2.2滤波及滤波器问题浅谈 2 2.3 卡尔曼滤波起源及发展 3.估计原理和卡尔曼滤波 2 4.卡尔曼滤波的实现 4.1卡尔曼滤波的基本假设 5 4.2卡尔曼滤波的特点 5 4.3卡尔曼滤波基本公式 6 4.4卡尔曼滤波参数的估计和调整 5.卡尔曼滤波的相关知识 5.1 8 5.2 8 5.3 9 6.卡尔曼滤波器的设计 7.目标跟踪模型的建立 8.结合数学模型进行matlb编程 9.目标跟踪仿真 10.结论11 11.参考文献11 12.致谢12 13 15 16

matlab对卡尔曼滤波的仿真实现

MATLAB 对卡尔曼滤波器的仿真实现 刘丹,朱毅,刘冰 武汉理工大学信息工程学院,武汉(430070) E-mail :liudan_ina@https://www.doczj.com/doc/53687315.html, 摘 要:本文以卡尔曼滤波器原理为理论基础,用MATLAB 进行卡尔曼滤波器仿真、对比卡尔曼滤波器的预测效果,对影响滤波其效果的各方面原因进行讨论和比较,按照理论模型进行仿真编程,清晰地表述了编程过程。 关键词:数字信号处理;卡尔曼滤波器;MATLAB ;仿真过程 中图分类号: TN912.3 1. 引言 随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。数字信号处理已在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中,数字滤波占有极其重要的地位,目前对数字滤波器的设计有多种方法,其中著名的MATLAB 软件包在多个研究领域都有着广泛的应用,它的频谱分析[1]和滤波器的分析设计功能很强,从而使数字信号处理变得十分简单、直观。本文分析了数字滤波器的设计方法,举出了基于MATLAB 软件的信号处理工具在数字滤波器设计中的应用。 2. 卡尔曼滤波基本原理 卡尔曼滤波过程实际上是获取维纳解的递推运算过程[2]。从维纳解导出的卡尔曼滤波器实际上是卡尔曼滤波过程结束后达到稳态的情况,这时Kalman Filtering 的结果与Wiener Solution 是相同的[3]。具体推导如下: )()1|1(?)|(?n Gy n n x f n n x +??= )|(?)()(n n x n x n e ?= 已知由此求c a cG a f F G n e E n ,)1(( ..min )]([)(2?=??→?==ε 由 f G f G ,0??????????=??εε ⑴ )]1|1(?)()[()1|1(?)|(????+??=n n x ac n y n G n n x a n n x 可以是时变的,非平稳的随机信号 ⑵ Q n a n P +?=)1()(2 ε均为正数。 ⑶ ) () ()(2n P C R n CP n G += ⑷ )()](1[)()(n P n CG n G C P n ??== ε )(n G 是个随时间变化的量,每次输入输出,)(n G 就调整一次,并逐渐逼近Kalman Filter 的增益G ,而)1()(?

维纳最速下降法滤波器卡尔曼滤波器设计及Matlab仿真

信息融合大作业 ——维纳最速下降法滤波器,卡尔曼滤波器设计及Matlab仿真 1.滤波问题浅谈 估计器或滤波器这一术语通常用来称呼一个系统,设计这样的系统是为了从含有噪声的数据中提取人们感兴趣的,接近规定质量的信息。由于这样一个宽目标,估计理论应用于诸如通信、雷达、声纳、导航、地震学、生物医学工程、 金融工程等众多不同的领域。例如,考虑一个数字通信系统,其基本形式由发

射机、信道和接收机连接组成。发射机的作用是把数字源(例如计算机)产生的0、1符号序列组成的消息信号变换成为适合于信道上传送的波形。而由于符号间干扰和噪声的存在,信道输出端收到的信号是含有噪声的或失真的发送信号。接收机的作用是,操作接收信号并把原消息信号的一个可靠估值传递给系统输出端的某个用户。随着通信系统复杂度的提高,对原消息信号的还原成为通信系统中最为重要的环节,而噪声是接收端需要排除的最主要的干扰,人们也设计出了针对各种不同条件应用的滤波器,其中最速下降算法是一种古老的最优化技术,而卡尔曼滤波器随着应用条件的精简成为了普适性的高效滤波器。2.维纳最速下降算法滤波器 2.1 最速下降算法的基本思想 考虑一个代价函数,它是某个未知向量的连续可微分函数。函数 将的元素映射为实数。这里,我们要寻找一个最优解。使它满足如下条件 (2.1) 这也是无约束最优化的数学表示。 特别适合于自适应滤波的一类无约束最优化算法基于局部迭代下降的算法: 从某一初始猜想出发,产生一系列权向量,使得代价函数在算法的每一次迭代都是下降的,即 其中是权向量的过去值,而是其更新值。 我们希望算法最终收敛到最优值。迭代下降的一种简单形式是最速下降法,该方法是沿最速下降方向连续调整权向量。为方便起见,我们将梯度向量表示为

MATLAB 对卡尔曼滤波器的仿真实现

XXXXX学院 《电子信息系统仿真》课程设计届电子信息工程专业班级 题目卡尔曼滤波器的设计与仿真 姓名学号 指导教师职称 二О1年月日

MATLAB 对卡尔曼滤波器的仿真实现 课程设计目的:曼滤波器原理为理论基础,用MATLAB进行卡尔曼滤波器仿真、对比卡尔曼滤波器的预测效果,对影响滤波其效果的各方面原因进行讨论和比较,按照理论模型进行仿真编程,清晰地表述了编程过程。 关键词:数字信号处理;卡尔曼滤波器;MATLAB;仿真过程 2.卡尔曼滤波基本原理 卡尔曼滤波过程实际上是获取维纳解的递推运算过程。从维纳解导出的卡尔曼滤波器实际上是卡尔曼滤波过程结束后达到稳态的情况,这时Kalman Filtering的结果与Wiener 我们总结出卡尔曼的五个核心方程: X(k|k-1)=A X(k-1|k-1)+B U(k) (1) P(k|k-1)=A P(k-1|k-1) A?+Q (2) X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1)) (3) Kg(k)= P(k|k-1) H? / (H P(k|k-1) H? + R) (4) P(k|k)=(I-Kg(k) H)P(k|k-1) (5) 计算滤波估计的流程图如图所示:

图(1) 可以看出,滤波过程是以不断地“预测—修正”的递推方式进行计算,先进行预测值计算,再根据观测值得到的新信息和kalman 增益(加权项),对预测值进行修正。由滤波值可以得到预测,又由预测可以得到滤波,其滤波和预测相互作用,并不要求存储任何观测数据,可以进行实时处理。 3.程序设计 卡尔曼滤波器给出了一个应用状态变量概念的公式。而且,不同于其他的递归滤波器结构,它只需要记住一步的估计结果。考虑过程噪声和测量噪声两个随机变量的状态模型称为随机状态模型。 用下面两个方程描述离散状态模型: 1)过程方程:x(k +1) = Ax(k) + Bu(k) + w(k) 其中,w(k)是由于过程模型的不确定性而产生的模型噪声,它可能是最难量化的参数。 2)输出方程:y(k) = Cx(k) + v(k) 其中,v(k)是测量噪声。 3)过程状态估计

基于Matlab的卡尔曼滤波算法仿真设计

基于Matlab的卡尔曼滤波算法仿真 1.卡尔曼滤波器原理 卡尔曼滤波是解决以均方误差最小为准则的最佳线性滤波问题,它根据前一个估计值和最近一个观察数据来估计信号的当前值。它是用状态方程和递推方法进行估计的,而它的解是以估计值(常常是状态变量的估计值)的形式给出其信号模型是从状态方程和量测方程得到的。 卡尔曼滤波号和噪声是用状态方程和测量方程来表示的。因此设计卡尔曼滤波器要求已知状态方程和测量方程。它不需要知道全部过去的数据,采用递推的方法计算,它既可以用于平稳和不平稳的随机过程,同时也可以应用解决非时变和时变系统,因而它比维纳过滤有更广泛的应用。 卡尔曼几个重要公式: s?(n|n) = a s?(n-1|n-1) + G n [x(n) –ac s?(n-1|n-1)] (1) P(n) = a2ξ(n-1) + Q (2) G n = ??(?) ?+?2?(?) (3) ξ(n) = ? ??? = (1 – cG n )P(n) (4) 这组方程的递推计算过程如图1所示。 图1. 卡尔曼滤波器递推运算流程图

卡尔曼滤波过程实际上是获取维纳解的递推运算过程,这一过程从某个初始状态启 动,经过迭代运算,最终到达稳定状态,即维纳滤波状态。递推计算按图1所示进行。假设已经有了初始值s?(0|0)和ξ(0),这样便可由式(2)计算P(1),由式(3)计算G 1 ,由式(4)计算ξ(1),由式(1)计算s?(1|1)。ξ(1)和s?(1|1)便成为下一轮迭代运算的已知数据。在递推运算过程中,随着迭代次数n的增加,ξ(n)将 逐渐下降,知道最终趋近于某个稳定值ξ 。这时 ξ(n) = ξ(n - 1)= ξ 为求得这个稳定值,将式(3)和式(2)代入式(4),得到 ξ 02 + (1??2)?+?2? ?2?2 ξ0??? ?2?2 =0 解此方程即可求出ξ 。 2.基于Matlab的卡尔曼滤波器的仿真Matlab代码如下: clear N=200; w(1)=0; x(1)=5; a=1; c=1; %过程噪声 Q1=randn(1,N)*1; %测量噪声 Q2=randn(1,N); %状态矩阵 for k=2:N;x(k)=a*x(k-1)+Q1(k-1);end for k=1:N;Y(k)=c*x(k)+Q2(k);end p(1)=10; s(1)=1; for t=2:N; Rww = cov(Q1(1:t)); Rvv = cov(Q2(1:t)); p1(t)=a.^2*p(t-1)+Rww; %kalman 增益 b(t)=c*p1(t)/(c.^2*p1(t)+Rvv); s(t)=a*s(t-1)+b(t)*(Y(t)-a*c*s(t-1)); p(t)=p1(t)-c*b(t)*p1(t);

卡尔曼滤波在目标跟踪中的应用

卡尔曼滤波在目标跟踪中的应用 [摘要]机动卡尔曼算法(VD 算法)在扩展卡尔曼滤波诸算法中原理较为简单,目标跟踪效 果也较好. 一.模型建立 (1) 非机动模型(匀速直线运动) 系统模型 )()()1(k GW k X k X +Φ=+ 其中 ??????????? ???=)()()()()(k V k y k V k x k X y x ; ? ? ?? ????????=Φ10001000010001T T ; ??????????????=10200102T T G ; ? ? ????=)()()(k W k W k W y x ; 0)]([=k W E ; kj T Q j W k W E δ=)]()([。 测量模型为: )()()(k V k HX k Z +=; 其中 ? ? ? ? ??=01000001H ; )(k V 为零均值,协方差阵为R 白噪声,与)(k W 不相关。 (2) 机动模型 系统模型 );(*)()1(k W G k X k X m m m m m +Φ=+ 其中

?? ? ? ??? ? ?? ??????????=)()()()()()()(k a k a k V k y k V k x k X m y m y m y m m x m m ;??? ???????????? ?????=Φ100 00 0010000010002010000 010*******T T T T T T m ;??? ???????????????????=10012040020422T T T T G m ; 0)]([=k W E m , kj m m m Q j W k W E T δ=)]()([。 观测模型与机动模型的相同,只是H 矩阵为m H , ?? ? ???=000100000001m H 二.kalman 滤波算法 作为一般的kalman 滤波算法其序贯算法可以描述如下: )1/1(?)1/(?--Φ=-k k X k k X T T G k GQ k k P k k P )1()1/)1()1/(-+Φ--Φ=- 1])1/([)1/()(-+--=R H k k HP H k k P k K T T )]1/()()[()1/(?)/(?--+-=k k HX k Z k K k k X k k X )1/()()1/()/(---=k k HP k K k k P k k P 起始估计值为 ()()()()()()()221/?2/2221/x x x y y y z z z T z z z T ?? ??-??????=????????-???? X 起始估计的估计误差为

卡尔曼滤波器算法C写的+很好

卡尔曼滤波器– Kalman Filter 1.什么是卡尔曼滤波器 (What is the Kalman Filter?) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。如果对这编论文有兴趣,可以到这里的地址下载:https://www.doczj.com/doc/53687315.html,/~welch/media/pdf/Kalman1960.pdf。 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algor IT hm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 (Introduction to the Kalman Filter) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位)。假设你对你的经验不是100%的相信,可能会有上下偏差几度。我们把这些偏差看成是高斯白噪声(Wh IT e Gaussian Noise),也就是这些偏差跟前后时间是没有关系的而且符合高斯分配(Gaussian Distribution)。另外,我们在房间里放一个温度计,但是这个温度计也不准确的,测量值会比实际值偏差。我们也把这些偏差看成是高斯白噪声。 好了,现在对于某一分钟我们有两个有关于该房间的温度值:你根据经验的预测值(系统的预测值)和温度计的值(测量值)。下面我们要用这两个值结合他们各自的噪声来估算出房间的实际温度值。 假如我们要估算k时刻的是实际温度值。首先你要根据k-1时刻的温度值,来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平方相加再开方,就是5)。然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是4度。 由于我们用于估算k时刻的实际温度有两个温度值,分别是23度和25度。究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的covariance来判断。因为Kg^2=5^2/(5^2+4^2),所以

相关主题
文本预览
相关文档 最新文档