文档库 最新最全的文档下载
当前位置:文档库 › 自适应卡尔曼滤波方法及其在容错组合导航系统的系统级故障检测中的应用

自适应卡尔曼滤波方法及其在容错组合导航系统的系统级故障检测中的应用

自适应卡尔曼滤波方法及其在容错组合导航系统的系统级故障检测中的应用
自适应卡尔曼滤波方法及其在容错组合导航系统的系统级故障检测中的应用

自适应卡尔曼滤波方法及其在容错组合导航系统的系统级

故障检测中的应用

张海涛;詹艳梅;秦永元

【期刊名称】《中国惯性技术学报》

【年(卷),期】2001(009)004

【摘要】提出了采用自适应加权和卡尔曼滤波相结合的自适应滤波方法进行组合导航系统级故障检测的新思路,该方法不仅可以判断出故障是否出现,而且可以对故障量的值进行跟踪估计,在估计的同时可以判断故障值出现在哪一个量测通道中.SINS/GPS组合导航系统故障检测和隔离的系统仿真结果验证了本算法的有效性.

【总页数】6页(15-20)

【关键词】故障检测和隔离;自适应滤波;卡尔曼滤波

【作者】张海涛;詹艳梅;秦永元

【作者单位】西北工业大学自动控制系,;西北工业大学航海工程学院,;西北工业大学自动控制系,

【正文语种】中文

【中图分类】U666.12

【相关文献】

1.组合导航系统卡尔曼滤波衰减因子自适应估计算法研究 [J], 耿延睿; 崔中兴

2.自适应联邦卡尔曼滤波在机器人组合导航系统中的应用研究 [J], 吕建新; 周翟和; 伏家杰; 张倩云

3.一种自适应卡尔曼滤波组合导航定位方法 [J], 于婷; 徐爱功; 付心如; 谢洋洋;

卡尔曼滤波算法总结

Kalman_Filter(float Gyro,float Accel) { Angle+=(Gyro - Q_bias) * dt; Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; Pdot[1]= - PP[1][1]; Pdot[2]= - PP[1][1]; Pdot[3]=Q_gyro; PP[0][0] += Pdot[0] * dt; PP[0][1] += Pdot[1] * dt; PP[1][0] += Pdot[2] * dt; PP[1][1] += Pdot[3] * dt; Angle_err = Accel - Angle; PCt_0 = C_0 * PP[0][0]; PCt_1 = C_0 * PP[1][0]; E = R_angle + C_0 * PCt_0; K_0 = PCt_0 / E; K_1 = PCt_1 / E; t_0 = PCt_0; t_1 = C_0 * PP[0][1]; PP[0][0] -= K_0 * t_0; PP[0][1] -= K_0 * t_1; PP[1][0] -= K_1 * t_0; PP[1][1] -= K_1 * t_1; Angle += K_0 * Angle_err; Q_bias += K_1 * Angle_err; Gyro_x = Gyro - Q_bias; } 首先是卡尔曼滤波的5个方程: -=--+(1)先验估计 X k k AX k k Bu k (|1)(1|1)() -=--+(2)协方差矩阵的预测(|1)(1|1)' P k k AP k k A Q

汽车导航系统的诊断与修复

学习情境4 汽车信息娱乐系统的诊断与修复 学习单元4.1 汽车导航系统的诊断与修复 学习要求 认识汽车导航系统的组成及工作原理,掌握汽车导航系统故障的的诊断与修复方法,能够排除汽车导航系统的故障。 随着汽车工业的发展,道路交通中“有路行不通”的问题越来越严重,同时,汽车在生疏地带行驶时,会迷失方向。为此,世界各国先后开发了各式各样的导向行驶系统,即汽车导航系统,如图4-1-1所示。汽车导航系统具有导航、防盗、调度、监测报警等功能。 图4-1-1 汽车导航系统 4.1.1汽车导航系统的认识 1.汽车导航系统的特点 (1)由于导航系统采用了检测精度高、工作稳定性较好的角速度传感器,能实现实时位置测定。 (2)装备CD—ROM只读存储器,采用声控进行导航,使系统具有自动检索功能。 (3)采用GPS(Global Positioning System)全球定位系统及先进的检测手段和传播技术,引入了具有自动修正车辆位置的地图匹配技术,实现了自动修正车辆位置的功能。 (4)导航系统正在实现与地面交通管理网络的联机,成为“汽车一道路一人一环境一交通管理”系统中的重要组成部分,加快了未来交通向智能化发展的速度。 2.汽车导航系统的功能 (1)具有路线检索功能 该系统可以实时获得汽车自身所在位置和目的地的坐标,以及全部行驶的直线距离、速度、时间及前进方向。还可以直接输入地名、经纬度、电话号码等进行路线检索,快捷地提供一条到达目的地的最佳路线。 (2)具有瞬时再检索功能

当最佳路线行不通时,系统可以进行瞬时自动再检索,重新提供出新的行车路线。因为该功能是在行驶中进行的,要求检索快速,所以CPU应具有高速运算能力。 (3)提供丰富的菜单和记录功能 为捡索方便,整个系统必须建立十分丰富的地名索引,可以用街道、胡同、门牌号数、电话号码检索。大约应记录1000万件住所地名,30万人口以上城市的电子地图应分十层表示。电话号码可根据不同局号、类别应记录l 100万件以上,还应留有用户自行设置电话号码的地址空间,供用户随时调用存取。 (4)可以新增兴趣点 由于城市处于不断的建设和发展中,新的建筑物和道路会不断增多,这就需要能够不断更新电子地图,可以将新的目标点或路线增加到电子地图上。这些新增的兴趣点与原有点一样,均可套用电子地图的各项功能。 (5)提供实时语音提示 为使驾驶员事先了解行驶中前方路面变化情况,系统应在适当时刻作出语音提示,一般道路在 300~700m之前,高速公路按当前行驶速度在2000m、1000m、500m之前,分别向驾驶员说明前方路面情况及可更改的方向、十字交叉路口名称、高速公路分支点、进出口、禁止左拐、禁止驶人的单行线等提示,同时可进行中英文两种语音切换。配备语音识别单元,可以实现语音检索,例如用会话形式呼出“××区××街道××胡同”,电子地图上立即显示出汽车位置、到达目的地的时间、前进方向等信息。 (6)提供交叉路口全画面的扩大图 系统通过开窗程序自动表示交叉路口全画面,扩大十字路口路周围建筑物和交通标志,这是汽车导航中的一项最主要功能。凡行驶在十字路口前300m处,高速公路进出口前300m处,系统自动显示扩大了的十字路口附近的全画面图,指示汽车位置、交叉点的名称、到交叉点的距离、拐弯后的道路名称及方向等。 (7)具有扩展功能 系统设有多种扩展接口,可以与交通管理部门、邮电部门、建筑部门的VICS、A TIS、IIS联网,以便及时了解路面车辆情况。 VICS专门收集和处理各方面交通信息和停车场空缺的信息,并不断生成新的信息,通过多路调频发射、一般道路上设置的远红外光标的发射和高速公路上设置的无线电波光标发射这三种手段提供道路实时交通信息,然后由VISC专用接收机接收,在电子地图上分三层显示,第一层用文字表示,第二层用图形表示,第三层用图形表示。地图画面上用红色和橙色线路的亮灭表示道路的堵塞和拥挤状况,用绿色线路表示通畅的路线。帮助行驶车辆回避堵塞和拥挤的路段,实现自动选择道路和无阻挡行驶。交通信息通信系统框图如图4-1-2所示。

卡尔曼滤波算法(C--C++两种实现代码)

卡尔曼滤波算法实现代码 C++实现代码如下: ============================kalman.h================= =============== // kalman.h: interface for the kalman class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__IN CLUDED_) #define AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__INCLU DED_ #if _MSC_VER > 1000 #pragma once #endif// _MSC_VER > 1000 #include #include "cv.h" class kalman { public: void init_kalman(int x,int xv,int y,int yv); CvKalman* cvkalman; CvMat* state; CvMat* process_noise; CvMat* measurement; const CvMat* prediction; CvPoint2D32f get_predict(float x, float y);

kalman(int x=0,int xv=0,int y=0,int yv=0); //virtual ~kalman(); }; #endif// !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C 0__INCLUDED_) ============================kalman.cpp=============== ================= #include "kalman.h" #include /* tester de printer toutes les valeurs des vecteurs*/ /* tester de changer les matrices du noises */ /* replace state by cvkalman->state_post ??? */ CvRandState rng; const double T = 0.1; kalman::kalman(int x,int xv,int y,int yv) { cvkalman = cvCreateKalman( 4, 4, 0 ); state = cvCreateMat( 4, 1, CV_32FC1 ); process_noise = cvCreateMat( 4, 1, CV_32FC1 ); measurement = cvCreateMat( 4, 1, CV_32FC1 ); int code = -1;

卡尔曼滤波简介及其算法实现代码

卡尔曼滤波简介及其算法实现代码 卡尔曼滤波算法实现代码(C,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.wendangku.net/doc/3a2455912.html,/~welch/media/pdf/Kalman1960.pdf。 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 (Introduction to the Kalman Filter) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就

几种卡尔曼滤波算法理论

自适应卡尔曼滤波 卡尔曼滤波发散的原因 如果卡尔曼滤波是稳定的,随着滤波的推进,卡尔曼滤波估计的精度应该越来越高,滤波误差方差阵也应趋于稳定值或有界值。但在实际应用中,随着量测值数目的增加,由于估计误差的均值和估计误差协方差可能越来越大,使滤波逐渐失去准确估计的作用,这种现象称为卡尔曼滤波发散。 引起滤波器发散的主要原因有两点: (1)描述系统动力学特性的数学模型和噪声估计模型不准确,不能直接真实地反映物理过程,使得模型与获得的量测值不匹配而导致滤波发散。这种由于模型建立过于粗糙或失真所引起的发散称为滤波发散。 (2)由于卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差将逐渐积累。如果计算机字长不够长,这种积累误差很有可能使估计误差方差阵失去非负定性甚至失去对称性,使滤波增益矩阵逐渐失去合适的加权作用而导致发散。这种由于计算舍入误差所引起的发散称为计算发散。 针对上述卡尔曼滤波发散的原因,目前已经出现了几种有效抑制滤波发散的方法,常用的有衰减记忆滤波、限定记忆滤波、扩充状态滤波、有限下界滤波、平方根滤波、和自适应滤波等。这些方法本质上都是以牺牲滤波器的最优性为代价来抑制滤波发散,也就是说,多数都是次优滤波方法。 自适应滤波 在很多实际系统中,系统过程噪声方差矩阵Q和量测误差方差阵R事先是不知道的,有时甚至连状态转移矩阵 或量测矩阵H也不能确切建立。如果所建立的模型与实际模型不符可能回引起滤波发散。自适应滤波就是这样一种具有抑制滤波发散作用的滤波方法。在滤波过程中,自适应滤波一方面利用量测值修正预测值,同时也对未知的或不确切的系统模型参数和噪声统计参数进行估计修正。自适应滤波的方法很多,包括贝叶斯法、极大似然法、相关法与协方差匹配法,其中最基本也是最重要的是相关法,而相关法可分为输出相关法和新息相关法。 在这里只讨论系统模型参数已知,而噪声统计参数Q和R未知情况下的自适应滤波。由于Q和R等参数最终是通过增益矩阵K影响滤波值的,因此进行自适应滤波时,也可以不去估计Q和R等参数而直接根据量测数据调整K就可以了。

导航传感器故障检测策略

第36卷第7期 2002年7月 上海交通大学学报 JO U RN A L O F SHA N GHA I JIA O T O NG U N IV ERSIT Y Vol.36No.7 J ul.2002  收稿日期:2001-01-08 作者简介:徐力平(1956-),男,江苏溧阳人,博士生,主要从事导 航及控制研究. 文章编号:1006-2467(2002)07-0966-04 导航传感器故障检测策略 徐力平, 赵忠华, 张炎华 (上海交通大学信息检测技术及仪器系,上海200030) 摘 要:为了提高故障检测灵敏度,分析了通常的故障检测中难以兼顾虚警概率和漏检概率的原因和船舶组合导航系统故障检测过程中噪声与故障对检测量的影响.根据船舶组合导航系统故障检测的特点,提出了以模糊逻辑和指数加权平均处理检测量和阈值的故障检测策略,并用实船航行数据仿真.该策略对未知输入等干扰不敏感而对故障敏感,且可根据故障的大小自动调节检测时间的长短.对不易检测的小故障,自动延长检测时间以利用更多的信息从而提高检测的正确率;对于较大的故障,自动缩短检测时间从而减少检测延时和累积误差,起到了自适应检测时间窗的作用.关键词:故障检测;模糊逻辑;指数加权平均中图分类号:T P 18 文献标识码:A Navigation Sensor Failure Detecting Tactic X U L i -p ing , ZH A O Zhong -hua , ZH A N G Yan -hua (Dept.of Infor matio n M easurement Technolog y and Instrument, Shang hai Jiaotong Univ.,Shanghai 200030,China) Abstract :A cer tain kind o f failure detecting tactic based on fuzzy log ic and ex ponent-weighted average w as brought forw ard in order to im pro ve failure detection w ith high noises.And sim ulation w as per for med w ith real stabilized gy rocompass readings dur ing a voy age.The failur e detection tactic is sensitivie to er-rors other than disturbance such as system's unknow n input .Fur thermo re ,the tactic may adjust the leng th o f detection time adaptively.When the erro r mag nitude is small and interm ixed with noises,the tactic incr eases the detectio n tim e to m ake use of mo re inform ation,w hich results in hig her pro bability of co rrect detection .When the erro r magnitude is big ger ,the tactic decreases the detection tim e ,consequent-ly the detecting delay is decreased and the erro r accumulatio n is r educed .Key words :failur e detection;fuzzy logic;ex ponent-w eig hted average 就检测过程看,影响检测正确性的原因是检测量无故障时的条件概率密度曲线与有故障时的条件概率密度曲线有交迭造成的.通常的检测方法是设定一个阈值,当检测量大于该阈值时判定为有故障;否则,判定为无故障.因而,若无故障时检测量落入大于该阈值的范围则出现虚警,若有故障时检测量落入小于该阈值的范围则导致漏检. 检测量无故障时的条件概率密度曲线与有故障时的条件概率密度曲线有部分交迭是由检测量中的噪声引起的.由于未知输入、海况等强干扰,导航系统中存在大幅度噪声使条件概率密度曲线交迭严重.检测量是由估计误差(E e )构成的.就未知输入等干扰噪声与故障造成的E e 的表现形式看,导航传感器本身的噪声一般为非平稳随机过程,其造成的E e 通常很小,无故障时出现的突出的大幅值E e 往往是未知输入及其他强干扰引起的,这些大幅值E e 通常不是连续出现的.而传感器发生故障时通常是连续

卡尔曼滤波的基本原理及应用

卡尔曼滤波的基本原理及应用卡尔曼滤波在信号处理与系统控制领域应用广泛,目前,正越来越广泛地应用于计算机应用的各个领域。为了更好地理解卡尔曼滤波的原理与进行滤波算法的设计工作,主要从两方面对卡尔曼滤波进行阐述:基本卡尔曼滤波系统模型、滤波模型的建立以及非线性卡尔曼滤波的线性化。最后,对卡尔曼滤波的应用做了简单介绍。 卡尔曼滤波属于一种软件滤波方法,其基本思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。 最初的卡尔曼滤波算法被称为基本卡尔曼滤波算法,适用于解决随机线性离散系统的状态或参数估计问题。卡尔曼滤波器包括两个主要过程:预估与校正。预估过程主要是利用时间更新方程建立对当前状态的先验估计,及时向前推算当前状态变量和误差协方差估计的值,以便为下一个时间状态构造先验估计值;校正过程负责反馈,利用测量更新方程在预估过程的先验估计值及当前测量变量的基础上建立起对当前状态的改进的后验估计。这样的一个过程,我们称之为预估-校正过程,对应的这种估计算法称为预估-校正算法。以下给出离散卡尔曼滤波的时间更新方程和状态更新方程。 时间更新方程: 状态更新方程: 在上面式中,各量说明如下: A:作用在X k-1上的n×n 状态变换矩阵 B:作用在控制向量U k-1上的n×1 输入控制矩阵 H:m×n 观测模型矩阵,它把真实状态空间映射成观测空间 P k-:为n×n 先验估计误差协方差矩阵 P k:为n×n 后验估计误差协方差矩阵 Q:n×n 过程噪声协方差矩阵 R:m×m 过程噪声协方差矩阵 I:n×n 阶单位矩阵K k:n×m 阶矩阵,称为卡尔曼增益或混合因数 随着卡尔曼滤波理论的发展,一些实用卡尔曼滤波技术被提出来,如自适应滤波,次优滤波以及滤波发散抑制技术等逐渐得到广泛应用。其它的滤波理论也迅速发展,如线性离散系统的分解滤波(信息平方根滤波,序列平方根滤波,UD 分解滤波),鲁棒滤波(H∞波)。 非线性样条自适应滤波:这是一类新的非线性自适应滤波器,它由一个线性组合器后跟挠性无记忆功能的。涉及的自适应处理的非线性函数是基于可在学习

一种卡尔曼滤波自适应算法概要

- 23 - 一种卡尔曼滤波自适应算法 黄波郑新星刘凤伟 (中船重工750试验场,云南昆明 650051

【摘要】自适应滤波是指随着外部信号的变化,滤波器能够自我调节滤波参数,使得滤波器的某一性能指标达到最优。文章以卡尔曼滤波理论为基础,给出一种新的自适应卡尔曼滤波算法。 【关键词】数字信号处理;卡尔曼滤波器;MATLAB 【中图分类号】TP391【文献标识码】A【文章编号】1008-1151(201203-0023-02 An adaptive Algorithm on Kalman Filtering Abstruct:Adaptive-filtering means the filter could adjust filtration parameters by itself and make some performance index optimal when the external signals vary. This paper will give a new Kalman filter algorithm whose base is Kalman filter theory. Key word: Digital Signal Processing;Kalman Filter;MATLAB 1 引言 自适应滤波理论是20世纪60年代开始发展起来的。它 是现代信号处理技术的重要组成部分,对复杂信号的处理具 有独特的功能。自适应卡尔曼滤波算法在很多理论和工程实 践中都取得了广泛的应用[1][2][3]。卡尔曼滤波理论的建立的 标志是1960年卡尔曼发表的用递归的方法解决离散数据线 性滤波问题的论文。在那之后,得益于数字计算技术的进步, 卡尔曼滤波器就成为了推广研究和应用的主题,并且在自主 或协助导航领域取得了长足的发展[4][5]。常见的自适应滤波器

基于AR模型参数的导航系统故障检测

基于AR 模型参数的导航系统故障检测 金天,丁东方,丛丽 (北京航空航天大学电子信息工程学院,北京100191) 摘要:为了解决导航系统中小幅值突变故障难以检测的问题,提出了一种基于AR 模型参数的故障检测算法。该方法利用AR 模型参数变化来进行实时故障检测。文中通过仿真实验,完成了对该算法性能的分析验证。结果表明,该算法能够有效的进行故障诊断,不仅对大的突变故障具有良好的检测效果,对小幅值突变故障也有较好的检测效果。关键词:AR 模型;参数;故障检测;导航系统中图分类号:V240.2 文献标识码:A 文章编号:1674-6236(2014)15-0168-03 Navigation system failure detection based on AR model parameters JIN Tian ,DING Dong 鄄fang ,CONG Li (School of Electronic and Information Engineering ,Beihang University ,Beijing 100191,China ) Abstract:In order to solve the navigation system failure is difficult to detect small amplitude mutation problem ,we propose a model based on AR Parameter fault detection algorithms.The method uses the AR model parameters for real 鄄time fault detection.Text through simulation experiments completed analysis of the performance of the algorithm validation.The results show that the algorithm can effectively carry out fault diagnosis ,not only for large mutations detected fault has a good effect on the value of mutations fault has slightly better detection results.Key words:AR mode ;parameter ;fault detection ;navigation system 收稿日期:2013-09-27 稿件编号:201309212 基金项目:国家自然科学基金资助项目(61101077) 作者简介:金天(1981—),男,上海人,副教授。研究方向:卫星导航、无线电导航、组合导航技术、软件无线电和软件接收机技术。 随着导航技术的发展,系统的可靠性成为普遍关注的研究热点,为了保证系统的可靠性,必须对系统进行实时的故障检测和隔离(FDI )。70年代开始,很多学者对FDI 进行了研究,其中应用较为广泛的是基于模型的FDI 方法[1-4],该方法通过设置一定的观测器来检测系统是否存在故障,比较有代表意义的是3δ检验和残差χ2检验,然而两种算法对一些大的突变故障具有良好的检测效果,但对一些小于10δ的小幅值突变故障检测效果不是太理想[5-6]。为此,鉴于两种检测存在的问题,文中提出了一种利用AR 模型参数变化来进行故障诊断的算法,其模型简单,计算量小,工程中也便于实现,同时它不仅对大的突变故障具有良好的检测效果,对一些小于10δ的小幅值突变故障也有较好的检测效果。 1AR 模型参数估计原理 对于时间序列{X t }t =1,2,…N ,AR (n )模型的表达式为 X t =准1X t -1+准2X t -2+…+准n X t -n +a t ,a t ~NID (0,σ2a )(1) 参数估计方法就是按照一定的方法估计出准1,准2,…准n ,这n 个参数,其中n 为AR 模型的阶数。a t 为均值为0,方差为σ2a 的白噪声。AR 模型参数估计一般采用最小二乘算法进行精估计[7-8]。 由于GPS 伪距新息数据是连续的时间序列,可以进行AR 建模,当其连续的时间序列中某些数据发生故障时,将改 变系统的动态特性从而影响伪距新息序列的特性,使得其不再具有白噪声特性,均值不再为零,另外其方差阵也将偏离滤波理论值,从而导致AR 模型参数发生变化,因此可以利用 AR 模型参数的变化进行这类系统的故障检测,即这类系统 的故障检测问题就转化为如何尽可能快地检测AR 模型参数的改变。 2基于AR 模型参数变化的导航系统故障检测模型 基于AR 模型参数变化的导航系统故障检测模型如图2 所示。 其基本思路为:确定AR 模型阶数为n ,时间序列个数为 m ,可得到n 个参数分别为准1,准2,…准n ,。利用N 组GPS 正常 电子设计工程 Electronic Design Engineering 第22卷Vol.22第15期No.152014年8月Aug.2014 图1 仿真系统模型框图 Fig.1 The simulation diagram of the system model -168-

Kalman滤波算法

Kalman 滤波算法 姓名:刘金强 专业:控制理论与控制工程 学号:2007255 ◆实验目的: (1)、掌握klman 滤波实现的原理和方法 (2)、掌握状态向量预测公式的实现过程 (3)、了解Riccati 差分方程实现的过程和新息的基本性质和过程的计算 ◆实验要求: 问题: F=[a1,a2,a3],其中a1=[1.0 0 0]的转置,a2=[0.3 1.0 0]的转置,a3=[0.1 0.2 0.4]的转置,x(0)=[3,-1,2]的转置;C=[b1,b2,b3],其中b1=[0.3 0.5]的转置,b2=[1,0.4]的转置,b3=[0.8 -0.7]的转置;V1(n)=[0 0 n1(n)sin(0.1n)]的转置,V2(n)=[n2(n) n3(n)];n1(n)为均值为零,方差为1的均匀分布白噪声;n2(n),n3(n)为均值为0,方差为0.1的均匀分布白噪声,n1(n),n2(n),n3(n)相互独立,试用卡尔曼滤波器算法估计x^(n). ◆实验原理: 初始条件: 1?(1)x =E{x(1)} K(1,0)=E{[x(1)- (1)x ][x(1)- (1)H x ]},其中(1)x =E{x(1)} 输入观测向量过程: 观测向量序列={y(1),…………y(n)} 已知参数: 状态转移矩阵F(n+1,n) 观测矩阵C(n) 过程噪声向量的相关矩阵1()Q n 观测噪声向量的相关矩阵2()Q n 计算:n=1,2,3,………………. G(n)=F(n+1,n)K(n,n+1) ()H C n 12[()(,1)()()]H C n K n n C n Q n --+ Kalman 滤波器是一种线性的离散时间有限维系统。Kalman 滤波器的估计性能是:它使滤波后的状态估计误差的相关矩阵P(n)的迹最小化。这意味着,kalman 滤波器是状态向量x(n)的线性最小方差估计。 ◆实验结果: ◆程序代码: (1)主程序

时间序列分析方法 第3章 kalman滤波

第十三章 卡尔曼滤波 在本章中,我们介绍一种被称为卡尔曼滤波的十分有用的工具。卡尔曼滤波的基本思想是将动态系统表示成为一种称为状态空间表示的特殊情形。卡尔曼滤波是对系统线性投影进行序列更新的算法。除了一般的优点以外,这种算法对计算确切的有限样本预测、计算Gauss ARMA 模型的确切似然函数、估计具有时变参数的自回归模型等,都提供了重要方法。 §13.1 动态系统的状态空间表示 我们已经介绍过一些随机过程的动态表示方法,下面我们在以前的假设基础上,继续分析动态系统的表示方法。 13.1.1 继续使用的假设 假设t y 表示时刻t 观测到的n 维随机向量,一类非常丰富的描述t y 动态性的模型可以利用一些可能无法观测的被称为状态向量(state vector)的r 维向量t ξ表示,因此表示t y 动态性的状态空间表示(state-space representation)由下列方程系统给出: 11+++=t t t v ξF ξ 状态方程(state model) (13.1) t t t w ξH x A y t +'+'= 量测方程(observation model) (13.2) 这里F ,A '和H '分别是阶数为r r ?,k n ?和r n ?的参数矩阵,t x 是1?k 的外生或者前定变量。方程(13.1)被称为状态方程(state model),方程(13.2)被称为量测方程(observation model),1?r 维向量t v 和1?n 维向量t w 都是向量白噪声,满足: ? ??≠=='τττt t E t ,,)(0Q v v (13.3) ? ??≠=='τττt t E t ,,)(0R w w (13.4) 这里Q 和R 是r r ?和n n ?阶矩阵。假设扰动项t v 和t w 对于所有阶滞后都是不相关的,即对所有t 和τ,有: 0w v =')(τ t E (13.5) t x 是外生或者前定变量的假定意味着,在除了包含在121,,,y y y --t t 内的信息以外,t x 没有为s t +ξ和s t +w ( ,2,1,0=s )提供任何新的信息。例如,t x 可以包括t y 的滞后值,也可以包括与τξ和τw (任意τ)不相关的变量。 方程系统中方程(13.1)至方程(13.5)可以表示有限观测值的序列},,,{21T y y y ,这时需要状态向量初始值1ξ。假设1ξ与t v 和t w 的任何实现都不相关: 0ξv =')(1 t E ,对任意T t ,,2,1 = (13.6) 0ξw =')(1 t E ,对任意T t ,,2,1 = (13.7) 状态方程(13.1)表明,t ξ可以表示成为},,,,{321t v v v ξ 的线性函数: 1122221ξF v F v F v F v ξ----+++++=t t t t t t ,T t ,,3,2 = (13.8) 因此,方程(13.6)和方程(13.3)意味着t v 与所有ξ的滞后值都是不相关的: 0ξv =')(τ t E ,1,,2,1 --=t t τ (13.9) 类似地,可以得到: 0ξw =')(τ t E ,T ,,2,1 =τ (13.10)

卡尔曼(kalman)滤波算法特点及其应用

Kalman滤波算法的特点: (1)由于Kalman滤波算法将被估计的信号看作在白噪声作用下一个随机线性系统的输出,并且其输入/输出关系是由状态方程和输出方程在时间域内给出的,因此这种滤波方法不仅适用于平稳随机过程的滤波,而且特别适用于非平稳或平稳马尔可夫序列或高斯-马尔可夫序列的滤波,所以其应用范围是十分广泛的。 (2)Kalman滤波算法是一种时间域滤波方法,采用状态空间描述系统。系统的过程噪声和量测噪声并不是需要滤除的对象,它们的统计特征正是估计过程中需要利用的信息,而被估计量和观测量在不同时刻的一、二阶矩却是不必要知道的。 (3)由于Kalman滤波的基本方程是时间域内的递推形式,其计算过程是一个不断地“预测-修正”的过程,在求解时不要求存储大量数据,并且一旦观测到了新的数据,随即可以算的新的滤波值,因此这种滤波方法非常适合于实时处理、计算机实现。 (4)由于滤波器的增益矩阵与观测无关,因此它可预先离线算出,从而可以减少实时在线计算量。在求滤波器增益矩阵时,要求一个矩阵的逆,它的阶数只取决于观测方程的维数,而该维数通常很小,这样,求逆运算是比较方便的。另外,在求解滤波器增益的过程中,随时可以算出滤波器的精度指标P,其对角线上的元素就是滤波误差向量各分量的方差。 Kalman滤波的应用领域 一般地,只要跟时间序列和高斯白噪声有关或者能建立类似的模型的系统,都可以利用Kalman滤波来处理噪声问题,都可以用其来预测、滤波。Kalman滤波主要应用领域有以下几个方面。 (1)导航制导、目标定位和跟踪领域。 (2)通信与信号处理、数字图像处理、语音信号处理。 (3)天气预报、地震预报。 (4)地质勘探、矿物开采。 (5)故障诊断、检测。 (6)证券股票市场预测。 具体事例: (1)Kalman滤波在温度测量中的应用; (2)Kalman滤波在自由落体运动目标跟踪中的应用; (3)Kalman滤波在船舶GPS导航定位系统中的应用; (4)Kalman滤波在石油地震勘探中的应用; (5)Kalman滤波在视频图像目标跟踪中的应用;

什么是卡尔曼滤波器——基础理解

1.什么是卡尔曼滤波器 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。卡尔曼是一个人的名字。 卡尔曼全名Rudolf Emil Kalman,1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文 《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。 简单来说,卡尔曼滤波器是一个 “optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。

假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位)。假设你对你的经验不是100%的相信,可能会有上下偏差几度。我们把这些偏差看成是高斯白噪声(White Gaussian Noise),也就是这些偏差跟前后时间是没有关系的而且符合高斯分配(Gaussian Distribution)。另外,我们在房间里放一个温度计,但是这个温度计也不准确的,测量值会比实际值偏差。我们也把这些偏差看成是高斯白噪声。(所谓高斯白噪声中的高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。这是考查一个信号的两个不同方面的问题。 高斯白噪声:如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。) 好了,现在对于某一分钟我们有两个有关于该房间的温度值:你根据经验的预测值(系统的预测值)和温度计的值(测量值)。下面我们要用这两个值结合他们各自的噪声来估算出房间的实际温度值。 假如我们要估算k时刻的是实际温度值。首先你要根据k-1时刻的温度值,来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平

卡尔曼滤波的原理及应用自己总结

卡尔曼滤波的原理以及应用 滤波,实质上就是信号处理与变换的过程。目的是去除或减弱不想要成分,增强所需成分。卡尔曼滤波的这种去除与增强过程是基于状态量的估计值和实际值之间的均方误差最小准则来实现的,基于这种准则,使得状态量的估计值越来越接近实际想要的值。而状态量和信号量之间有转换的关系,所以估计出状态量,等价于估计出信号量。所以不同于维纳滤波等滤波方式,卡尔曼滤波是把状态空间理论引入到对物理系统的数学建模过程中来,用递归方法解决离散数据线性滤波的问题,它不需要知道全部过去的数据,而是用前一个估计值和最近一个观察数据来估计信号的当前值,从而它具有运用计算机计算方便,而且可用于平稳和不平稳的随机过程(信号),非时变和时变的系统的优越性。 卡尔曼滤波属于一种软件滤波方法,概括来说其基本思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。其所得到的解是以估计值的形式给出的。 卡尔曼滤波过程简单来说主要包括两个步骤:状态变量的预估以及状态变量的校正。预估过程是不考虑过程噪声和量测噪声,只是基于系统本身性质并依靠前一时刻的估计值以及系统控制输入的一种估计;校正过程是用量测值与预估量测值之间的误差乘以一个与过程

噪声和量测噪声相关的增益因子来对预估值进行校正的,其中增益因子的确定与状态量的均方误差有关,用到了使均方误差最小的准则。而这一过程中体现出来的递归思想即是:对于当前时刻的状态量估计值以及均方误差预估值实时进行更新,以便用于下一时刻的估计,使得系统在停止运行之前能够源源不断地进行下去。 下面对于其数学建模过程进行详细说明。 1.状态量的预估 (1)由前一时刻的估计值和送给系统的可控制输入来预估计当前时刻状态量。 X(k|k-1)=A X(k-1|k-1)+B U(k) 其中,X(k-1|k-1)表示前一时刻的估计值,U(k)表示系统的控制输入,X(k|k-1)表示由前一时刻估计出来的状态量的预估计值,A表示由k-1时刻过渡到k时刻的状态转移矩阵,B表示控制输入量与状态量之间的一种转换因子,这两个都是由系统性质来决定的。 (2)由前一时刻的均方误差阵来预估计当前时刻的均方误差阵。 P(k|k-1)=A P(k-1|k-1)A’+Q 其中,P(k-1|k-1)是前一时刻的均方误差估计值,A’代表矩阵A 的转置,Q代表过程噪声的均方误差矩阵。该表达式具体推导过程如下: P(k|k-1)=E{[Xs(k|k)-X(k|k-1)][Xs(k|k)-X(k|k-1)]’}------ 其中Xs(k|k)=A Xs(k-1|k-1)+B U(k)+W(k-1)表示当前时刻的实际值,Xs(k-1|k-1)表示前一时刻的实际值,可以看出与当前时刻的预估计值

卡尔曼滤波算法及MATLAB实现

基于matlab的卡尔曼信号滤波设计 卡尔曼滤波的基本思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。 语音信号在较长时间内是非平稳的,但在较短的时间内的一阶统计量和二阶统计量近似为常量,因此语音信号在相对较短的时间内可以看成白噪声激励以线性时不变系统得到的稳态输出。假定语音信号可看成由一AR模型产生: 时间更新方程: 测量更新方程: K(t)为卡尔曼增益,其计算公式为: 其中 、分别为过程模型噪声协方差和测量模型噪声协方差,测量协方差可以通过观测得到, 则较难确定,在本实验中则通过与两者比较得到。 由于语音信号短时平稳,因此在进行卡尔曼滤波之前对信号进行分帧加窗操作,在滤波之后对处理得到的信号进行合帧,这里选取帧长为256,而帧重叠个数为128; 下图为原声音信号与加噪声后的信号以及声音信号与经卡尔曼滤波处理后的信号:

原声音信号与加噪声后的信号 原声音信号与经卡尔曼滤波处理后的信号 MATLAB程序实现如下: %%%%%%%%%%%%%%%%%基于LPC全极点模型的最大后验概率估计法,采用卡尔曼滤波%%%%%%%%%%%%%% clear; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%加载声音数据%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% loadvoice.mat y=m1(2,:); x=y+0.08*randn(1,length(y)); %%%%%%%%%%%%%%%原声音信号和加噪声后的信号%%%%%%%%%%%%%%% figure(1); subplot(211);plot(m1(1,:),m1(2,:));xlabel('时间');ylabel('幅度');title('原声音信号'); subplot(212);plot(m1(1,:),x);xlabel('时间');ylabel('幅度');title('加噪声后的信号');

相关文档