基于离散卡尔曼滤波的信号估计

合集下载

基于卡尔曼滤波算法的上证50指数预测

基于卡尔曼滤波算法的上证50指数预测

基于卡尔曼滤波算法的上证50指数预测卡尔曼滤波(Kalman Filter)是一种常用的状态估计算法,被广泛应用于时间序列预测、机器人导航、航空航天等领域。

本文将基于卡尔曼滤波算法,对上证50指数进行预测。

一、卡尔曼滤波原理卡尔曼滤波是一种递归滤波算法,它能够根据当前的状态估计值和观测值,预测未来的状态,并通过不断迭代更新来提高预测的准确性。

卡尔曼滤波算法基于一个基本假设,即系统的状态变量可以用一个线性的随机过程来描述,观测值是由状态变量和观测噪声构成的。

卡尔曼滤波算法由两个步骤组成:预测步骤和更新步骤。

预测步骤用于根据当前的状态估计值和状态转移模型,预测下一时刻的状态;更新步骤用于根据观测值和观测模型,结合预测值进行状态估计的修正。

二、上证50指数预测模型上证50指数是中国证券市场的重要指标之一,代表了上海证券交易所中市值较大的50只股票的整体走势。

为了预测上证50指数的未来走势,我们需要建立一个适合的预测模型。

我们可以将上证50指数的收盘价视为状态变量,用卡尔曼滤波算法进行预测。

假设上证50指数的状态转移模型是一个线性的动态系统,即:x(k) = F * x(k-1) + w(k-1)x(k)表示第k时刻的状态向量,F是状态转移矩阵,w(k-1)是过程噪声。

观测模型可以表示为:z(k) = H * x(k) + v(k)z(k)表示第k时刻的观测值,H是观测矩阵,v(k)是观测噪声。

三、上证50指数预测流程1. 初始化:设定初始状态估计值x(0)和初始误差协方差阵P(0);2. 预测步骤:根据状态转移模型和过程噪声,预测当前时刻的状态估计值x^-(k)和误差协方差阵P^-(k);3. 更新步骤:根据观测值和观测噪声,结合预测值进行状态估计的修正,计算当前时刻的状态估计值x(k)和误差协方差阵P(k);4. 重复步骤2和步骤3,直到预测出未来一段时间的上证50指数走势。

四、上证50指数预测实例为了验证卡尔曼滤波算法在预测上证50指数中的有效性,我们通过收集过去一段时间的上证50指数数据,建立卡尔曼滤波模型并进行预测。

最优估计之线性离散系统卡尔曼滤波

最优估计之线性离散系统卡尔曼滤波
T {[I K k H k ]Pk |k 1[ I K k H k ]T K k Rk K k
T E~ xk|k 1vk 0, Evk ~ xkT|k 1 0
T E~ xk | k ~ xkT|k [ I K k H k ]Pk |k 1[ I K k H k ]T K k Rk K k
6.2 直观推导法
推导基本步骤:预测,校正。

预测/时间更新(利用系统方程对状态及观测做一步预测):
ˆk |k 1 k ,k 1 x ˆk 1|k 1 E[ wk 1 ] 0 x
KF公式1: 状态预测 KF公式2: 观测预测
E[vk ] 0
ˆ k |k 1 ˆk |k 1 H k x z


T T E{[I K k H k ]~ xk |k 1 ~ xkT|k 1[ I K k H k ]T K k vk vk Kk K v ~ x T [ I K H ]T [ I K H ]~ x vT K T } k k k |k 1 k k k k k |k 1 k k
最优估计
第6章 线性离散系统卡尔曼滤波

线性离散系统卡尔曼滤波器的推导 带有控制项和测量系统偏差时的卡尔曼滤波器 系统干扰和测量噪声相关时的卡尔曼滤波器 有色噪声下的卡尔曼滤波器 卡尔曼滤波器稳定性和鲁棒性 线性离散系统的最优预测与平滑
6.1 引 言


维纳滤波的不足: (1) 要求随机过程是平稳的,要求太强; (2) 以单入单出系统推导出的,难以推广到高维的情况; (3) 维纳-霍夫方程很难求解,在工程上难以实现; (4) 是批处理方法,不能满足在线快速处理大量数据的需要。 1960年卡尔曼(Kalman)将状态空间分析方法引入滤波 理论,得到时域上的递推滤波算法,即卡尔曼滤波。 而且可以递推实现。

卡尔曼滤波器介绍 --- 最容易理解

卡尔曼滤波器介绍 --- 最容易理解

10.6 卡尔曼滤波器简介本节讨论如何从带噪声的测量数据把有用信号提取出来的问题。

通常,信号的频谱处于有限的频率范围内,而噪声的频谱则散布在很广的频率范围内。

如前所述,为了消除噪声,可以把 FIR滤波器或IIR滤波器设计成合适的频带滤波器,进行频域滤波。

但在许多应用场合,需要进行时域滤波,从带噪声的信号中提取有用信号。

虽然这样的过程其实也算是对信号的滤波,但所依据的理论,即针对随机信号的估计理论,是自成体系的。

人们对随机信号干扰下的有用信号不能“确知”,只能“估计”。

为了“估计”,要事先确定某种准则以评定估计的好坏程度。

最小均方误差是一种常用的比较简单的经典准则。

典型的线性估计器是离散时间维纳滤波器与卡尔曼滤波器。

对于平稳时间序列的最小均方误差估计的第一个明确解是维纳在1942年2月首先给出的。

当时美国的一个战争研究团体发表了一个秘密文件,其中就包括维纳关于滤波问题的研究工作。

这项研究是用于防空火力控制系统的。

维纳滤波器是基于最小均方误差准则的估计器。

为了寻求维纳滤波器的冲激响应,需要求解著名的维纳-霍夫方程。

这种滤波理论所追求的是使均方误差最小的系统最佳冲激响应的明确表达式。

这与卡尔曼滤波(Kalman filtering)是很不相同的。

卡尔曼滤波所追求的则是使均方误差最小的递推算法。

在维纳进行滤波理论研究并导出维纳-霍夫方程的十年以前,在1931年,维纳和霍夫在数学上就已经得到了这个方程的解。

对于维纳-霍夫方程的研究,20世纪五十年代涌现了大量文章,特别是将维纳滤波推广到非平稳过程的文章甚多,但实用结果却很少。

这时正处于卡尔曼滤波问世的前夜。

维纳滤波的困难问题,首先在上世纪五十年代中期确定卫星轨道的问题上遇到了。

1958年斯韦尔林(Swerling)首先提出了处理这个问题的递推算法,并且立刻被承认和应用。

1960年卡尔曼进行了比斯韦尔林更有意义的工作。

他严格地把状态变量的概念引入到最小均方误差估计中来,建立了卡尔曼滤波理论。

基于卡尔曼滤波技术的医疗检测信号最优估计算法研究

基于卡尔曼滤波技术的医疗检测信号最优估计算法研究
( H ) H +( G ) G =J ,
Hi ( Hi ) T Hi ( Gi ) 【 G
… ,
( 8 )
T ] = ∞.

( 9 )
通过滤波层可将多层信号同时进行分解 , 将信号 “分成 3 层, 其分解变换为

T ¨

( 1 0 )
Hi 一 2 HL 一 Ht
检 测 信 号 的最 优 估 计 .
关键词 : 医疗 ; 估计 ; 小波 变换 ; 分 解
中 图分 类 号 : T P 2 7 4 文献标志码 : A 文章 编 号 : 1 6 7 4— 3 3 0 X( 2 0 1 3) 0 1 —0 0 7 1 — 0 4
医疗领域 的信号处理主要是利用多种医疗设备检测信号进行病理评估 , 如脑 电图、 心电图的检测信号. 由传感器采集人体 的生物电信号 , 经过信息融合后进行评估 , 这样 比单由专家通过 目测标注更能提高检测效 果. 本研究所介绍的算法以标准的卡尔曼滤波为基础, 通过递归方式由离散小波变换滤波层实现对检测信号
的最优估 计 .
1 信 号 的分 解 和 估 计
1 . 1 离散 小波变 换
在分 辨尺度 +1上 , 对 给定 的标 量信 号序 列 ( i +1 , )∈l 2 ( z) ( n ∈Z) , 通过脉 冲 响应为 h ( n )的低
通滤波器可以获得在低分辨率上的信号
( , n ) =∑h ( 2 n 一 ) ( i + 1 , ) , ( , n )∈ L ,
对于有限长度信号序列 , 常以算子形式来描述小波变换. 在分辨尺度计 1 上, 长度为 M的信号序列为

[ ( i +1 , k—M +1 ) , ( i +1 , k—M +2 ) , …, ( i +1 , 后 ) ] .

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

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

卡尔曼滤波简介及其算法实现代码卡尔曼滤波算法实现代码(C,C++分别实现)卡尔曼滤波器简介近来发现有些问题很多人都很感兴趣。

所以在这里希望能尽自己能力跟大家讨论一些力所能及的算法。

现在先讨论一下卡尔曼滤波器,如果时间和能力允许,我还希望能够写写其他的算法,例如遗传算法,傅立叶变换,数字滤波,神经网络,图像处理等等。

因为这里不能写复杂的数学公式,所以也只能形象的描述。

希望如果哪位是这方面的专家,欢迎讨论更正。

卡尔曼滤波器– Kalman Filter1.什么是卡尔曼滤波器(What is the Kalman Filter?)在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。

跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。

1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。

1957年于哥伦比亚大学获得博士学位。

我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。

如果对这编论文有兴趣,可以到这里的地址下载:/~welch/media/pdf/Kalman1960.pdf。

简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。

对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。

他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。

近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。

2.卡尔曼滤波器的介绍(Introduction to the Kalman Filter)为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。

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

卡尔曼滤波的基本原理及应用
卡尔曼滤波作为一种数值估计优化方法,与应用领域的背 景结合性很强。 因此在应用卡尔曼滤波解决实际问题时,重要 的不仅仅是算法的实现与优化问题,更重要的是利用获取的领 域知识对被认识系统进行形式化描述, 建立起精确的数学模 型,再从这个模型出发,进行滤波器的设计与实现工作。
滤波器实际实现时, 测量噪声协方差 R 一般可以观测得 到,是滤波器的已知条件。 它可以通过离线获取一些系统观测 值计算出来。 通常,难确定的是过程激励噪声协方差的 Q 值, 因为我们无法直接观测到过程信号。一种方法是通过设定一个 合适的 Q,给过程信号“注入”足够的不确定性来建立一个简单 的可以产生可接受结果的过程模型。 为了提高滤波器的性能, 通常要按一定标准进行系数的选择与调整。
在上面式中,各量说明如下:
(14) (15)
A:作用在 Xk-1 上的 n×n 状态变换矩阵 B:作用在控制向量 Uk-1 上的 n×1 输入控制矩阵 H:m×n 观测模型矩阵, 它把真实状态空间映射成观测空 间 Pk-:为 n×n 先验估计误差协方差矩阵 Pk:为 n×n 后验估计误 差 协 方差 矩 阵 Q:n×n 过 程 噪 声 协 方 差 矩 阵 R:m×m 过 程 噪 声
4 结束语
采用伪线性卡尔曼滤波算法,在参数估计的收敛速度和收 敛精度上有明显的改善,在很大程度上克服了非线性问题线性 化时 ,线性化误差导致的不良结果 。 通过伪量测变量的引入 ,对 量测矩阵进行重新构造, 使得系统量测矩阵是量测角的函数, 并且具有线性形式。 该算法降低了对模型精度的要求,改进了 扩展卡尔曼滤波的发散问题,具有较好的稳定性,在一定的误
· 34 ·
软件导刊
2009 年
这种情形的一种解法,同 Talyer 级数类似,面对非线性关系时, 我们可以通过求过程方程和量测方程的偏导 来 线 性化 , [4、5] 并 计算当前估计量。 不同于基本卡尔曼滤波(KF)过程,扩展卡尔 曼 滤 波 (EKF)过 程 中 的 因 子 矩 阵 (A,W,H,K)是 时 刻 变 化 的 , 因此加下标 k(k 表示 k 时刻)以示标记。 扩展滤波器 (EKF)的 基本工作步同基本滤波器的工作步一样,两者的主要区别在于 非线性情形下需要进行线性化处理,且因子矩阵一般都随时间 变化(与时刻 k 有关)。 但是值得注意的是,经线性变换后系统 噪声及量测噪声不再服从高斯分布。

基于卡尔曼滤波的SOC与SOH联合估计算法

基于卡尔曼滤波的SOC与SOH联合估计算法

基于卡尔曼滤波的SOC与SOH联合估计算法摘要:电池荷电状态(SOC)和电池健康状态(SOH)是电池管理系统(BMS)中最为重要的环节,其直接影响了电池的功能性和安全性。

但实际应用中SOC和SOH估计受多重因素影响,导致其估计精度不高。

本文基于经典的“开路电压查表法+安时积分法”和“等效循环法”,将卡尔曼滤波算法应用于改进开路电压查表法,同时结合容量增量法,共同辅助修正等效循环。

有效的提高了SOC和SOH的精度。

关键字:SOCSOHBMS电池卡尔曼滤波算法容量增量法1.引言随着社会对汽车环保和安全性的关注,各种新型能源汽车应运而生。

正如燃油车的油表一样,用户需要准确的知道电池荷电状态(SOC)和健康状态(SOH)。

电池SOC和SOH估计与众多因素存在非常复杂的关联[1]。

国内外的研究人员提出了很多的估计理论,主要包括开路电压法[2]、安时积分法、卡尔曼滤波法[3]、容量增量法[4]等等。

本文以安时积分为基础,通过卡尔曼滤波算法优化开路电压查表值[5],以校正累计误差,更新电池的实时SOC。

并配合容量增量法修正电池实时最大容量,最终达到同时提高SOH和SOC精度的目标。

2.算法逻辑由安时积分确定出SOC1,根据查表法确定出SOC2,经过卡尔曼滤波后确定出SOC3[6],通过把SOC1与SOC3进行算法融合,最终计算出真实的SOC4值。

根据卡尔曼滤波辨识出的内阻,确定SOH1[7],根据累计充放电容量和IC容量增量图,确定出真实循环圈数,最终得出SOH2的数值。

根据加权,最终获得SOH3的值。

根据SOH3的数值,计算出当前的额定容量。

后续SOC计算,以当前额定容量为基准。

3.试验及仿真数据分析3.1SOC估计如图1所示,经过EKF滤波后,在SOC在10%-90%,已有效限制了跳变工况发生,缓解了抖动对查表校正时的影响。

图1 基于实测数据的仿真结果图2 SOC数据对比图如图2所示,仅依靠安时积分是无法与测试SOC值,进行很好的拟合,随着循环次数的增加,其误差会逐渐增大。

卡尔曼滤波器介绍

卡尔曼滤波器介绍

卡尔曼滤波器介绍摘要在1960年,卡尔曼出版了他最著名的论文,描述了一个对离散数据线性滤波问题的递归解决方法。

从那以后,由于数字计算的进步,卡尔曼滤波器已经成为广泛研究和应用的主题,特别在自动化或协助导航领域。

卡尔曼滤波器是一系列方程式,提供了有效的计算(递归)方法去估计过程的状态,是一种以平方误差的均值达到最小的方式。

滤波器在很多方面都很强大:它支持过去,现在,甚至将来状态的估计,而且当系统的确切性质未知时也可以做。

这篇论文的目的是对离散卡尔曼滤波器提供一个实际介绍。

这次介绍包括对基本离散卡尔曼滤波器推导的描述和一些讨论,扩展卡尔曼滤波器的描述和一些讨论和一个相对简单的(切实的)实际例子。

1 离散卡尔曼滤波器在1960年,卡尔曼出版了他最著名的论文,描述了一个对离散数据线性滤波问题的递归解决方法[Kalman60]。

从那以后,由于数字计算的进步,卡尔曼滤波器已经成为广泛研究和应用的主题,特别在自动化或协助导航领域。

第一章讲述了对卡尔曼滤波器非常“友好的”介绍[Maybeck79],而一个完整的介绍可以在[Sorenson70]找到,也包含了一些有趣的历史叙事。

更加广泛的参考包括Gelb74;Grewal93;Maybeck79;Lewis86;Brown92;Jacobs93]. 被估计的过程卡尔曼滤波器卡用于估计离散时间控制过程的状态变量n x ∈ℜ。

这个离散时间过程由以下离散随机差分方程描述: 111k k k k x Ax bu w ---=++ (1.1)测量值m z ∈ℜ,k k k z Hx v =+ (1.2) 随机变量k w 和k v 分别表示过程和测量噪声。

他们之间假设是独立的,正态分布的高斯白噪: ()~(0)p w N Q, (1.3) ()~(0)p v N R , (1.4)在实际系统中,过程噪声协方差矩阵Q 和观测噪声协方差矩阵R 可能会随每次迭代计算而变化。

但在这儿我们假设它们是常数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

k ,k 1
图 2.1 离散卡尔曼滤波的信号模型
2.2 离散卡尔曼滤波的递推算法
离散卡尔曼滤波是系统状态矢量的一种递推估计。 为了能从 k=1 时刻开始递 推计算,需要确定初始状态的滤波值 s0 和初始状态滤波的均方误差阵 M 0 。 初始状态滤波值 s0 的确定应使状态滤波的均方误差


1.2 研究现状
经典卡尔曼滤波是一种时域滤波方法,算法采用递推形式,数据存储量小, 运算速度快。 但是经典卡尔曼滤波在实际应用中同样受到限制。卡尔曼滤波最优 算法是建立在系统动态函数模型能够准确表达系统的运动状况和随机模型能够 准确表达系统测量误差分布的假设基础上,从而能够得到其最优估计。然而在很 多动态模型中,系统并非线性的,因此人们提出了扩展卡尔曼滤波。包括:扩维 无迹卡尔曼滤波,自适应卡尔曼滤波等。 扩 维 无 迹 卡 尔 曼 滤 波 (Unscented Kalman Filter,UKF), 它 是 在 以 无 迹 变 换 (Unscented Transformation,UT)为基础,借用卡尔曼线性滤波框架而建立起来的。 它 直接利用非线性状态方程来估算状态向量的概率密度函数。但是,简单的 UKF 在
考虑脉冲噪声产生概率 p 分别为 0.05、0.075、0.1,计算不同 p 下的均方误 差。程序采用循环 100 次取平均得到均方误差值,如表所示
表 3.1 不同概率 p 下的均方误差
概率 p 0.05 0.075 0.01
均方误差 mse 1.6682 2.6257 3.2982
从表中的结果可知, 脉冲噪声的产生概率越高,则估计信号波形与原始信号 波形的均方误差值越大。
基于离散卡尔曼滤波的信号波形估计
一、 背景介绍
1.1 研究背景
在实际中, 我们所观测的信号都是受到噪声干扰的。 如何尽可能地抑制噪声, 而把有用信号分离出来,是信号处理中经常遇到的问题。 二次世界大战期间,由于军事的需要,首先由数学家维纳提出的。维纳滤波 需要设计维纳滤波器, 它的求解要求知道随机信号的统计特性,即相关函数和功 率谱密度,得到的结果是封闭的解。但是维纳滤波的限制是,它仅适用于一维平 稳随机信号,这是由于采用频率设计方法造成的。 20 世纪 50 年代,随着空间技术的发展,为了解决多输入、多输出非平稳随 机信号的估计问题,卡尔曼于 1960 年采用状态方程和观测方程描述系统的信号 模型,提出了离散状态估计的一组地推公式,即卡尔曼滤波公式。其基本思想是 以最小均方误差为最佳估计准则, 采用信号与噪声的状态空间模型利用前一时刻 的估计值和当前时刻的观测值来更新对状态变量的估计, 求出当前时刻的估计值。 算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差 的估计。 由于卡尔曼滤波采用的递推算法非常适合计算机处理,所以现已广泛应 用于包括信号处理、图像处理、雷达目标跟踪、模式识别等许多领域,并取得了 很好效果。
1.3 本文主要内容
本文的主要研究思路和结构如下: 第 1 章主要介绍了卡尔曼滤波的研究背景、分析其研究现状。 第 2 章主要介绍了经典卡尔曼滤波理论和算法设计过程, 包括卡尔曼滤波的 主要特点和性质,时间更新方程和测量更新方程,卡尔曼滤波的递推算法等。 第 3 章则是基于 MATLAB 的软件仿真分析, 主要讨论了有脉冲噪声和无脉冲 噪声的信号波形估计,并讨论了估计波形的最小均方误差(mse)和脉冲噪声出 现概率得到关系。

2.4 离散卡尔曼滤波的特点
离散卡尔曼滤波具有如下主要特点: (1) 离散卡尔曼滤波的信号模型是由状态方程和观测方程描述的;状态转移 矩阵 k ,k 1 、观测矩阵 H k 和控制矩阵 k 1 可以是时变的;扰动噪声矢量 wk 1 、观 测噪声矢量 nk 的协方差矩阵 Cwk1 和 Cnk 也是时变的。因此,离散卡尔曼滤波适用
3.1 无脉冲噪声时的信号估计图
仿真设定 SNR=10dB,噪声为加性高斯白噪声,误差常量为 106 。其仿真结 果图如下所示
图 3.1 无脉冲噪声时的三信号波形图
图中,绿色波形为信号和噪声的合成波形,红色波形为信号估计波形,蓝色 波形为原始信号波形。可以观察到,相较于绿色的合成波形,红色的估计波形对 于原始信号的估计有了很大的提高。

k k1 时,根据过往直到此刻的量测值来估计目前的状态,则对 xki / k 的

估计称为滤波。这就是卡尔曼滤波器,主要用于实时控制随机系统。 (2) k k1 时,根据过往直到此刻的量测值来预测将来的状态,则对 xki / k 的估 计称为预测。这就是卡尔曼预测器,主要用于预测并实时控制随机系统。 (3) k k1 时, 根据过往直到此刻的量测值来估计过往的历史状态, 则对 xki / k 的估计称为平滑。这就是卡尔曼平滑器,主要通过分析实验数据来评估系统。 在以上的这三类问题中,预测为滤波的前提,而滤波为平滑的前提。这个关 系在卡尔曼滤波方程中也有所体现。
于矢量的非平稳随机过程的状态估计。 (2)离散卡尔曼滤波的状态估计采用递推估计算法,数据存储量少,运算 量小,特别是避免了高阶矩阵的求逆问题,提高了运算效率。 (3)由于离散卡尔曼滤波的增益矩阵 K k 与观测数据无关,所以有可能离线 算出,从而减少实时的在线计算量,提高了实时处理能力。 ( 4 )离散卡尔曼滤波不尽能够同时得到状态滤波值 sk 和状态一步预测值
二、 原理简述
2.1 系统模型
离散卡尔曼滤波的信号模型是由离散的状态方程和观测方程组成的。 其是建 立在线性代数和隐马尔可夫模型(Hidden Markov Model)上。其基本系统可以用 一个马尔可夫链表示, 该马尔可夫链建立在一个被高斯噪声干扰的线性算子上的。 系统的状态可以用一个元素为实数的向量表示。随着离散时间的增加,这个算子 就会作用在当前状态上,产生一个新的状态,并也会带入一些噪声,同时系统的 一些已知的控制信息也会被加入。同时,另一个受噪声干扰的线性算子产生出这 些隐含状态的可见输出。设离散时间系统在������������ 时刻(以下简称 k 时刻)的状态是 由 M 个状态变量构成的 M 维状态矢量������������ 来描述的,则其状态方程表示为 sk k ,k 1sk 1 k 1wk 1 (2-1) 在离散卡尔曼滤波的信号模型中,上式称为离散状态方程。其中Φ������,������−1是系 统从 k-1 时刻到 k 时刻的 M*M 一步状态转移矩阵, ������������−1 是 k-1 时刻系统受到的 L 维扰动噪声矢量,Γ������−1是 k-1 时刻反映扰动噪声矢量对系统状态矢量影响程度的 M*L 控制矩阵。 另外建立其观测方程为


(2-5)

即选择初始时刻状态矢量的均值作为初始状态滤波值 s0 。
因为
s0 s0 s0 s0 s0

(2-6)
所以,初始状态滤波的均方误差阵为
M0 E[(s0 s0 )(s0 s0 )T ]
(2-7)
在确定初始值之后,利用离散卡尔曼滤波的时间更新方程和测量更新方程, 可以完成系统的更新。 时间更新方程负责及时向前推算当前状态变量和误差协方 差估计的值, 以便为下一个时间状态构造先验估计。测量更新方程负责反馈—— 也就是说, 它将先验估计和新的测量变量结合以构造改进的后验估计。时间更新 方程也可视为预估方程, 测量更新方程可视为校正方程。最后的估计算法成为一 种具有数值解的预估-校正算法。 离散卡尔曼滤波的时间更新方程为
_
Kk Mk H T (HM k H T R)1
(2-10)
其中, K k 是 k 时刻的卡尔曼增益矩阵, H 是观测矩阵, R 则代表协方差矩 阵。卡尔曼增益用于对之后的测量方程进行更新。 离散卡尔曼滤波的测量更新方程为
_ _
x k x k K ( zk H x k )
xk H k sk nk (2-2)
式中, ������������ 是 k 时刻的 N 维观测信号矢量, ������������ 是 k 时刻的 N*M 观测矩阵, ������������ 是 k 时刻的 N 维观测噪声矢量。
系统模型图如下所示:
nk
Hk
sk
k 1

z 1

xk
(2-11)
Mk (I Kk H )Mk
(2-12)
测量更新方程的更新值用于在卡尔曼滤波中为下一次迭代设置初始值。 所以, 离散卡尔曼滤波是以不断的预测-修正的递推方式进行的。
离散卡尔曼滤波的状态一步预测框图如下所示:
图 2.2 离散卡尔曼滤波的一步预测框图
2.3 离散卡尔曼滤波的预测、滤波和平滑
_ _
xk A xk 1 Buk 1
(2-8) (2-9)
M k AM k1 AT Q
_
其中, x k 是后验状态估计, x k 1 是上一时刻的状态估计, uk 1 为噪声估计,A 为状态转移矩阵,B 为系统控制矩阵。 M k 是 k 时刻的均方误差矩阵。 离散卡尔曼滤波的卡尔曼增益为
卡尔曼滤波问题就是基于到时刻 k 的观测量 ( zk , zk 1 ,..., z1 ) ,求状态 xk 的最优 估值 xki / k ,根据 zk 、和 xk 在时间上存在的不同对应关系,可以将其分为卡尔曼滤 波器、预测器或平滑器。假定 zk 是在时间段 [k0 , k1 ] 内获得的量测值, xki / k 为变量 的状态估计值,则 (1)
面对系统中的噪声影响较大时不能得到精确的滤波结果, 改进的无迹卡尔曼滤波 算法则是在初始状态中引入过程噪声和测量噪声,使得采样点也包括了这些噪声, 这样在状态预测和更新过程中,噪声的影响就能够在非线性系统中进行传输和估 计,使得滤波信号更好地接近真实值,尤其是当信号的系统噪声和观测噪声影响较 大时。 自适应卡尔曼滤波(AKF)具有自适应特性非常适合动态系统滤波而受到广 泛重视, 因此在采用卡尔曼滤波处理动态测量数据时,一般都要考虑采取适当的 自适应滤波方法来解决这一问题。
相关文档
最新文档