2020/4/27大连理工大学1第13章信号的统计滤波技术大连理工大学硕士研究生校管课程信号处理与数据分析电子信息与电气工程学部邱天爽2013年12月内容概要•§13.1概述•§13.2维纳滤波技术•§13.3卡尔曼滤波技术•§13.4统计滤波技术的应用举例§13.1概述•信号滤波(filtering)–根据输入信号x(t)在当前时刻和以前时刻的状态估计输出信号。•信号预测(prediction)–根据输入信号x(t)在当前时刻和以前时刻的状态来估计其在未来某个时刻的状态。•信号平滑(smoothing)或插值(interpolation)–滤波器根据x(t)在t时刻以外的数据估计出x(t)在t时刻的数据。2020/4/27大连理工大学42020/4/27大连理工大学5•经典滤波器和现代滤波器–经典滤波器•一般假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频段;•如果有用信号与噪声干扰等无用成分的频谱相互重叠时,经典滤波器就无能为力。–现代滤波器•不依靠信号与噪声的频率差别来进行噪声抑制和信号提取;•依据某些统计最优准则,从带噪声的观测信号中对与有用信号或信号的参数进行估计;•维纳滤波器、卡尔曼滤波器、线性预测器和自适应滤波器等。2020/4/27大连理工大学6•维纳滤波器的概念–是一类线性最优滤波器的统称;–目的是从噪声中提取有用信号。–根据滤波器输出信号与期望信号之差的均方值最小的最小均方误差准则,求得最优线性滤波器的系数()()()xnsnwn()hn()()ynsn2020/4/27大连理工大学7•卡尔曼滤波器的概念–是一种以卡尔曼的名字命名的用于线性时变系统的递归滤波器。–将过去的测量估计误差合并到新的测量误差中来估计将来的误差,可以用包含正交状态变量的微分方程来描述。–卡尔曼滤波器的首次实现是由施密特(Schmidt)完成的。卡尔曼在美国航空航天(NASA)研究中心访问时,发现卡尔曼滤波器对于解决阿波罗计划的轨道预测很有意义,并且后来在阿波罗飞船的导航电脑中实现上使用了这种滤波器。§13.2维纳滤波技术2020/4/27大连理工大学9•思路–设计维纳滤波器的过程,即是在最小均方误差准则下,寻求滤波器的单位脉冲响应,或系统传递函数。()()()xnsnvn()hnˆ()()ynsn2020/4/2710•因果维纳滤波器–设线性离散系统的单位脉冲响应为h(n),若h(n)是因果的,其输入信号x(n)是有用信号s(n)与观测噪声v(n)的线性组合–维纳滤波器的任务是使输出y(n)是s(n)的估计。若h(n)是因果的,则输出的可以看作是由当前时刻的观测值与过去时刻的观测值x(n-1),x(n-2),…,的线性组合来估计的。()()()xnsnvn()()ynsn0()()*()()()mynxnhnhmxnm()()()xnsnvn()hnˆ()()ynsn2020/4/2711•因果维纳滤波器(续)–误差函数的最小均方误差准则表示为:––为了使均方误差达到最小,对上式各h(m),m=0,1,…求偏导,并令导数为0,有–用相关函数表示上式,则得到维纳-霍夫方程的离散形式220[()][(()()())]mEenEsnhmxnm002[()()()()]0,0,1,...[()()]()[()()],0,1,...mmEsnhmxnmxnllEsnxnlhmExnmxnll0()()(),0,1,...xsxxmRlhmRlml2020/4/27大连理工大学12•因果维纳滤波器(续)–从维纳-霍夫方程中解出系统单位脉冲响应h(n),这就是最小均方误差意义上的最优,并得到最小均方误差为opth2020/4/27大连理工大学13•维纳—霍夫方程的求解•(1)有限脉冲响应求解法•设h(n)的序列长度为N,则改写为(6.27)•将式(6.27)对h(m)求导数,并令导数等于0,得:则,有(6.30)10()()*()()()Nmynxnhnhmxnm1220[()][(()()())]NmEenEsnhmxnm10[()()]()[()()],0,1,...,1NmEsnxnlhmExnmxnllN10()()(),0,1,...,1NxsxxmRlhmRlmlN0()()*()()()mynxnhnhmxnm2020/4/27大连理工大学14–于是可以得到N个线性方程,即–写成矩阵形式2020/4/27大连理工大学15•若满足自相关阵是非奇异的,则通过矩阵求逆有•最小均方误差为:•若已知自相关函数和互相关函数,则可以求出最优系统的单位脉冲响应。•若信号和噪声满足互不相关的条件,即•则:1xxxsHRR12min0[()](0)()()NssoptxsmEenRhmRm()xxRm()xsRmopth()()0svvsRmRm2020/4/27大连理工大学162020/4/27大连理工大学172020/4/27大连理工大学18•维纳—霍夫方程的求解•(2)预白化求解法(略)–方法关键是利用预白化滤波器将输入信号x(n)转化为白噪声过程w(n),并进一步求解维纳-霍夫方程–只要求得白化滤波器,就可以实现预白化,并进一步确定对输入信号的最优估计。随机信号x(n)可以看做白噪声激励一个线性系统所产生的响应。()jwwHe2020/4/27大连理工大学19•设该线性系统的z域系统函数为•其中,表示随机信号x(n)自功率谱密度函数的z域形式;和分别对应中极点、零点在单位圆内和单位圆外的部分。•由于的零点和极点均在单位圆内,是一个物理可实现的最小相位系统,1/B(z)也是一个物理可实现的最小相位系统。•把x(n)作为系统的输入,w(n)作为系统的输出,从而实现输入信号x(n)的预白化处理。()Bz21()()()xxwRzBzBz()xxRz()Bz1()Bz()xxRz2020/4/27大连理工大学20•虚线框的部分记为•由图6.3有:1()()()WzXzBz1()()WHzBzopt()hnopt()()()()()WGzHzHzGzBz0()()()()mynsngmwnm2020/4/27大连理工大学21•均方误差为•其中表示的单位脉冲响应•将代入上式,•使均方误差最小,等价于令•于是有220000[()][(()()())](0)2()()()[()()]msswswwmmrEenESngmwnmRGmRmgmgrRmr()gn()Gz2()()2[()]Een()()0wswwRmgm2()(),0wsoptwRmgmm2020/4/27大连理工大学222020/4/27大连理工大学232020/4/27大连理工大学24【例】2020/4/27大连理工大学252020/4/27大连理工大学26•关于维纳滤波的说明–维纳滤波从理论上完美地解决了在最小均方误差条件下的信号最佳估计问题。–但是,从实际应用角度来看,却存在不足:•为了得到维纳滤波器的单位冲激响应,必须知道观测信号的自相关函数与互相关函数。•自相关函数可以利用观测信号进行估计。•互相关函数则需要信号的更多的信息。•即使得到上述两个相关函数,求解维纳—霍夫方程仍是比较复杂的过程。§13.3卡尔曼滤波技术2020/4/27大连理工大学28•卡尔曼–卡尔曼(RudolfE.Kalman),匈牙利数学家;–1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位;–1964—1971年任职斯坦福大学。1971—1992年任佛罗里达大学数学系统理论中心主任。1972起任瑞士苏黎世联邦理工学院数学系统理论中心主任.–2009年获美国国家科学奖章。–卡尔曼滤波器源于他的博士论文和1960年发表的论文《ANewApproachtoLinearFilteringandPredictionProblems》2020/4/27大连理工大学29•卡尔曼滤波器的基本原理–卡尔曼滤波器(Kalmanfilter)可以认为是维纳滤波器的推广;–它不仅可以适用于平稳过程,而且可以适用于非平稳过程;–不仅可以用于线性滤波问题,还可以用于非线性控制问题,甚至可以用于多输入-多输出系统。–其基本特点是在时域内分析,并且应用状态空间分析方法。2020/4/27大连理工大学30•卡尔曼滤波器的进一步说明–受噪声干扰的状态量是个随机量,不可能测得精确值,但可对它进行一系列观测,并依据一组观测值,按某种统计观点对它进行估计。–使估计值尽可能准确地接近真实值,这就是最优估计。真实值与估计值之差称为估计误差。若估计值的数学期望与真实值相等,这种估计称为无偏估计。–卡尔曼提出的递推最优估计理论,采用状态空间描述法,在算法采用递推形式,卡尔曼滤波能处理多维和非平稳的随机过程。2020/4/27大连理工大学31•卡尔曼滤波器的通俗解释–简单来说,卡尔曼滤波器是一个“optimalrecursivedataprocessingalgorithm(最优化自回归数据处理算法)”。–对于解决很大部分的问题,它是最优,效率最高甚至是最有用的。–它的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。–近来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。2020/4/27大连理工大学32•卡尔曼滤波器的通俗解释(2)–为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。–但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。2020/4/27大连理工大学33•卡尔曼滤波器的通俗解释(一个例子)–假设我们要研究的对象是一个房间的温度。–根据经验判断,这个房间的温度是恒定的,也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位)。–假设你对你的经验不是100%的相信,可能会有上下偏差几度。我们把这些偏差看成是高斯白噪声(WhiteGaussianNoise),也就是这些偏差跟前后时间是没有关系的而且符合高斯分布(GaussianDistribution)。–另外,我们在房间里放一个温度计,但是这个温度计也不是绝对准确的,测量值会比真实值有偏差。我们也把这些偏差也看成是高斯白噪声。2020/4/27大连理工大学34•卡尔曼滤波器的通俗解释(例续)–现在对于某一分钟有2个该房间的温度值:(1)你根据经验的预测值(系统的预测值);(2)温度计的值(测量值)。要用这两个值结合其各自的噪声来估算出房间的实际温度值。–若我们要估算k时刻的实际温度值。先要根据k-1时刻的温度值来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是与k-1时刻的一样,例如是23度。–同时该值的高斯噪声的偏差是5度(5这样得到:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,二者的平方相加再开方,就是5,相当于是协方差)。–然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是4度。2020/4/27大连理工大学35•卡尔曼滤波器的通俗解释(例续)–由于我们用于估算k时刻的实际温度有两个温度值,分别是23度(预测值)和25度(测量值)。–究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的covariance来判断。–因为Kg=5^2/(5^2+4^2),所以Kg=0.61,我们可以估算出k时刻的实际温度值是:23+0.61*(25-23)=24.22度。–可