基于MATLAB的自适应滤波算法的研究Word下载.docx
《基于MATLAB的自适应滤波算法的研究Word下载.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的自适应滤波算法的研究Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
在本文中,我们主要是设计稳健的自适应算法来调整其系数[4]。
随着超大规模集成电路(VLSI)技术的迅速进步以及自适应滤波技术理论的研究和发展,自适应滤波在噪化信号的检测增强、噪音干扰的抵消、波形编码的线性预测,雷达声纳系统的阵列处理和波束形成、通信系统的自适应均衡、图象自适应压缩编码、图象的自适应增强复原、图象识别的自适应分割以及未知系统的自适应参数辨识等方面获得了广泛的应用。
鉴于自适应滤波器具有自学习、自跟踪、对参数经常变化的动态系统有较好控制效果的特性,我们有必要对其进行深入的研究,特别是对自适应滤波器新算法的研究。
本论文主要阐述了基于自适应算法设计自适应滤波器的基本过程,研究最小均方算法(LMS算法),完成基于LMS算法的自适应滤波器的设计过程。
在设计过程中,在将一无法预知信号与噪声的特性的信号输入自适应滤波器,滤波器根据信号的特性,随时更改参数,以达到滤波器设计的最优化。
利用Matlab仿真软件实现LMS自适应滤波算法,并从仿真结果得知步长因子是自适应滤波器中很重要的参数,以及滤波器的阶数和采样数等,对自适应滤波器降噪以及收敛性能的影响[5]。
2.2国内外研究现状
最早的对于自适应滤波器的研究可以追述到20世纪50年代。
它是在维纳滤波,Kalman滤波等线性滤波基础上发展起来的一种最佳滤波方法。
作为其中一项重大突破的数字滤波器,在20世纪60年代中期形成了它的完整而正规的理论。
人们根据传统数字滤波器的概念,即根据给定的频率特性指标(低通、高通、带通或带阻,或别的形状的特性参数)来设计并实现数字滤波器外,还深入研究了维纳滤波器和卡尔曼滤波器的数字实现问题。
维纳滤波器是根据有用信号和干扰噪声的统计特性(自相关函数或功率谱),以线性最小均方误差估计准则所设计的最佳滤波器,它能最大程度的滤除干扰噪声,提取有用信号。
但是,当信号的统计特性偏离设计条件时,它就不再是最佳的了,这使其滤波器在实际应用中受得了限制。
由于空间技术的发展,出现了卡尔曼滤波理论,即利用状态变量模型对非平稳,多输入多输出随机序列作最优估计。
现在,卡尔曼滤波器以成功的应用到许多领域,它既可对平稳的和非平稳的随机信号作线性最优滤波,也可作非线性滤波。
但卡尔曼滤波器也有其局限性,在设计时,必须知道产生输入过程的系统的状态方程,即要求对信号和噪声的统计特性有先验知识,但在实际中,我们往往难以预知这些统计特性,因此,实现不了真正的最佳滤波[6]。
早在1795年,为了测定行星运动轨道,高斯(K.Gauss)就提出了最小二乘估计法。
二十世纪40年代,Weiner和Kolmogorov相继独立地提出了维纳滤波理论。
但维纳滤波方法是一种频域方法,而且滤波器是非递推的,不便于实时应用。
V.kucera于1979年提出了现代维纳滤波方法[13]。
用该方法通过求解Diophantine方程可以直接得到可实现的和显式的维纳滤波器,并可处理多维信号和非平稳随机信号。
卡尔曼(R.E.Kalman)于1960年提出的卡尔曼滤波(KalmanFiltering)理论,标志着现代滤波理论的建立。
卡尔曼滤波方法是一种时域方法,对于具有高斯分布噪声的线性系统,可以得到系统状态的递推最小均方差估计(ReeursiveMinimumMean-SquareEstimation,即RMS)。
卡尔曼滤波首次将现代控制理论中的状态空间思想引入最优滤波理论,用状态方程描述系统动态模型,用观测方程描述系统观测模型,并可处理时变系统、非平稳信号。
由于卡尔曼滤波采用递推计算,因此非常适宜于用计算机来实现。
但同时卡尔曼滤波需要知道系统的精确数学模型,并假设系统为线性的,噪声信号也必须为噪声统计特性已知的高斯噪声,并且由于要计算Riccati方程,对高维系统计算量较大[4]。
Windrow等于1967年提出的自适应滤波系统的参数能自动的调整而达到最优状况,而且在设计时,只需要很少的或根本不需要任何关于信号与噪声的先验统计知识。
这种滤波器的实现差不多像维纳滤波器那样简单,而滤波器性能几乎如卡尔曼滤波器一样好。
自适应滤波器与普通滤波器不同,它的冲激响应或滤波参数是随外部环境的变化而变化的,经过一段自动调节的收敛时间达到最佳滤波的要求。
自适应滤波器本身有一个重要的自适应算法,这个算法可以根据输入、输出及原参量信号按照一定准则修改滤波参量,以使它本身能有效的跟踪外部环境的变化。
因此,自适应数字系统具有很强的自适应、自动跟踪能力和算法简单易实现性等特点。
自适应数字滤波器和维纳滤波器一样,都是符合某种准则的最佳滤波器。
维纳滤波器的参数是固定的,适用于平稳随机信号的最佳滤波,但要设计这种滤波器,必须要求输入信号是平稳的,且具有信号和噪声统计分布规律的先验知识。
在实际中,常常无法知道这些先验知识,且统计特性还会变化,因此实现最佳滤波是困难的。
2.3主要研究工作
本文在研究自适应滤波理论的基础上,对几种重要的自适应算法进行了理论分析,研究了它们在自适应滤波技术中的应用,并进行了模拟仿真试验,对算法的性能进行了分析。
本文的研究工作主要包括以下几个方面:
第一章:
前言。
第二章:
介绍自适应滤波研究的目的和意义、国内外发展现状、论文主要工作等。
第三章:
介绍自适应滤波原理和结构方面的基础知识。
第四章:
介绍实现滤波的各种自适应滤波算法,对广泛使用的LMS和RLS算法
的性能进行了分析和比较,最后选定最佳方案进行滤波器的设计。
第五章:
介绍了MATLAB软件的相关内容,并实现自适应滤波算法在MATLAB上编程和运行。
第六章:
对全文工作内容的总结。
3自适应滤波器
3.1自适应滤波原理
从输入信号中滤出噪声和干扰以提取有用信息的过程称为滤波,相应的装置称为滤波器。
如果滤波器的输入和输出均为离散信号,称该滤波器为数字滤波器。
当滤波器的输出信号为输入端的线性函数时,该滤波器称为线性滤波器,否则就称为非线性滤波器[9]。
一个典型的数字滤波器的框图如图1所示。
设输入信号为x(n),输出信号为y(n)。
该数字滤波器可用以下差分方程来表示:
(2.1)式中ai,bi称为滤波器系数。
当bi=0时,式(2.1)变为:
(2.2)
如果ai=0,bi≠0时,则称为全极点滤波器或递归滤波器。
由式(2.2),可知数字滤波器的传递函数为:
(2.3)其单位冲击响应函数为:
(2.4)
滤波器是电子设备的一个常用的基本部件,人们对其已进行了广泛的研究。
滤波器研究的一个基本问题就是:
如何设计和建立最佳或最优的滤波器。
所谓最佳滤波器是指能够根据某一最佳准则进行设计的滤波器。
20世纪40年代,维纳奠定了关于最佳滤波器研究的基础。
假定线性滤波器的输入为有用信号和噪声信号之和,两者均为广义平稳过程且已知它们的二阶统计特性,根据最小均方误差准则,维纳求得了最佳线性滤波器的参数。
这种滤波器被称为维纳滤波器。
维纳滤波器获得了极其广泛的应用。
在维纳研究的基础上,人们还研究了根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。
但人们发现,在一定条件下,这些最佳滤波器与维纳滤波器是等价的。
因而,讨论最优线性滤波器时,一般均以维纳滤波器作为参考。
要实现维纳滤波,就要求:
输入信号是广义平稳的;
输入信号的统计特征是已知的。
根据其他最佳准则的滤波器亦有同样要求然而,由于输入过程取决于外界的信号、干扰环境,这种统计特性常常是未知的、变化的,因而不能满足上述两个要求。
由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用FIR和IIR两种具有固定滤波系数的滤波器无法实现最优滤波。
在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。
滤波器研究的一个基本问题是:
如何建立最佳或最优的滤波器。
根据最小均方误差准则,20世纪40年代维纳求得了最佳线性滤波器的参数,这种滤波器称为维纳滤波器。
然而,只有对信号和噪声的统计特性先验已知的情况下,维纳滤波器才能获得最优滤波。
遗憾的是在实际应用中,常常无法得到这些统计特性的先验知识,或者统计特性是随时间变化的。
因此用维纳滤波器实现不了最优滤波。
在这种情况下,自适应滤波能够提供卓越的滤波性能。
所谓自适应滤波器,就是利用前一时刻己获得的滤波器参数的结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。
所谓的自适应滤波[11],就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。
自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。
自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理。
自适应滤波器具有“自我调节”和“跟踪”能力。
自适应滤波器可以分为线性自适应滤波器和非线性自适应滤波器。
非线性自适应滤波器包括Vofterra滤波器和基于神经网络的自适应滤波器。
非线性自适应滤波器具有更强的信号处理能力。
但是,由于非线性自适应滤波器的计算较复杂,实际用得最多的仍然是线性自适应滤波器。
3.2自适应滤波器的结构
图2自适应滤波器的一般结构
自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。
一般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。
自适应滤波器的结构采用FIR或IIR结构均可,由于IIR滤波器存在稳定性问题,因此一般采用FIR滤波器作为自适应滤波器的结构[15]。
如图2示出了自适应滤波器的一般结构。
W(n)是自适应滤波器在时刻n的权矢量,用
表示n时刻输入信号矢量,
表示n时刻N阶自适应滤波器的权系数,d(n)是期望信号,e(n)是误差信号,v(n)是主端输入干扰信号。
根据自适应滤波算法优化准则
的不同,自适应滤波算法可以分为两类最基本的算法:
最小均方误差(LMS)算法和递推最小二乘(RLS)算法。
基于最小均方误差准则,LMS算法使滤波器的输出信号与期望输出信号之间的均方误差
最小。
基于最小二乘准则,RLS算法决定自适应滤波器的权系数向量W(n)使估计误差的加权平方和最小。
其中
为遗忘因子,且
。
由此两准则衍生出许多不同的自适应滤波算法。
自适应滤波算法广泛应用于系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测、自适应天线阵等诸多领域中。
自适应滤波器的特点是:
滤波器的参数可以自动的按照某种准则调整到最佳滤波;
实现时,不需要任何关于信号和噪声的先验统计知识,尤其当输入统计特性变化时,自适应滤波器都能调整自身的参数来满足最佳滤波的需要。
常常将这种输入统计特性未知,调整自身的参数到最佳的过程称为“学习过程”将输入信号统计特性变化时,调整自身的参数到最佳的过程称为“跟踪过程”,因此自适应滤波器具有学习和跟踪的性能。
实际上自适应滤波器可以用许多不同结构来实现。
结构的选取会影响到处理的计算复杂度(即每次迭代的算术操作数目),还会对达到期望性能标准所需的迭代次数产生影响。
从根本上讲,主要有两类自适应数字滤波器结构,即有限长冲激响应(FIR,finite-durationimpulseresponse)滤波器和无限长冲激响应(IIR,infinite-durationimpulseresponse)滤波器。
FIR滤波器通常利用非递归结构来实现,而IIR滤波器则利用递归结构来实现。
下面将分别介绍两种滤波器,即FTR与IIR滤波器的结构:
1、自适应FIR滤波器结构:
应用最广泛的自适应FIR滤波器结构是横向滤波器,也称为抽头延烬线,它利用正规直接形式实现全零点传输函数,而不采用反馈环节。
对于这种结构,输出信号是滤波器系数的线性组合,它产生具有唯一最优解的二次均方误差函数。
2、自适应IIR滤波器结构:
自适应IIR滤波器采用的最多的结构是标准直接形式结构,因为它的实现和分析都很简单。
然而,采用递归自适应滤波器会存在一些内在的问题,而且收敛速度很慢。
为了克服这些问题,一些研究已提出了不同的结构形式。
4方案论证
4.1LMS算法
4.1.1算法简介
由Widrow和Hoff提出的最小均方误差(LMS)算法,因为其具有计算量小、易于实现等优点而在实践中被广泛采用。
典型的应用领域有系统识别、信号处理和自适应控制。
LMS算法的基本原理是基于最速下降法,即沿着权值的梯度估值的负方向进行搜索,达到权值最优,实现均方误差最小意义下的自适应滤波。
初始收敛速度、时变系统跟踪能力及稳态失调是衡量自适应滤波算法优劣的三个重要的技术指标。
由于主输入端不可避免地存在干扰噪声,自适应滤波算法将产生参数失调噪声。
干扰噪声越大,则引起的失调噪声就越大。
减小步长因子召可降低自适应滤波算法的稳态失调,提高算法的收敛精度[17]。
4.1.2原理介绍
最小均方(LMS)自适应算法就是一种以期望响应和滤波输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。
LMS算法是一种梯度最速下降方法,其显著的特点是它的简单性。
这算法不需要计算相应的相关函数,也不需要进行矩阵运算。
由图3给出LMS算法滤波器的基本结构。
自适应滤波器最普通的应用就是横向结构。
滤波器的输出信号y(n)是
(4.1)
T表示转置矩阵,n是时间指针,N是滤波器次数。
这个例子就是有限脉冲响应滤波器的形式,为x(n)和w(n)两个矩阵卷积。
这种自适应算法使用误差信号
(4.2)
为了方便起见,将上述式子表示为向量形式,则式(4.1)表示为:
(4.3)
误差序列可写为
(4.4)
其中d(n)是期望信号,y(n)是滤波器的输出。
使用输入向量x(n)和e(n)来更新自适应滤波器的最小化标准的相关系数。
显然,自适应滤波器控制机理是用误差序列e(n)按照某种准则和算法对其系数{wi(n)},i=1,2,…,N进行调节的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波状态。
本节所用的标准是最小均方误差(MSE)。
(4.5)
E[]表示算子期望。
假如公式中的y(n)被式(4.3)取代,式(4.5)就可以表示为
(4.6)
是N*N自相关矩阵,是输入信号的自相关矩阵。
是N*1互相关向量,也指出了期望信号d(n)和输入信号向量x(n)的互相关矢量。
由式(4.6)可见,自适应滤波器的代价函数是延迟线抽头系数的二次函数。
当矩阵R和矢量P己知时,可以由权系数矢量w直接求其解。
最优解
最小化MSE,源自解这个公式
(4.7)
将式(4.6)对w求其偏导数,并令其等于零,假设矩阵R满秩(非奇异),可得代价函数最小的最佳滤波系数
(4.8)
这个解称为维纳解,即最佳滤波系数值。
因为均方误差(MSE)函数是滤波系数w的二次方程,由此形成一个多维的超抛物面,这好像一个碗状曲面又具有唯一的碗底最小点,通常称之为自适应滤波器的误差性能曲面。
当滤波器工作在平稳随机过程的环境下,这个误差性能曲面就具有固定边缘的恒定形状。
自适应滤波系数的起始值{wi(0)},i=1,2,…,N是任意值,位于误差性能曲面上某一点,经过自适应调节过程,使对应于滤波系数变化的点移动,朝碗底最小点方向移动,最终到达碗底最小点,实现了最佳维纳滤波。
自适应过程是在梯度矢量的负方向接连的校正滤波系数的,即在误差性能曲面的最陡下降法方向移动和逐步校正滤波系数,最终到达均方误差为最小的碗底最小点,获得最佳滤波或准最优工作状态。
广泛使用的LMS算法是一种选择性算法适应采样和采样基础。
这个方法可以避免复杂的计算。
LMS算法是最陡下降法,在这个算法中,向量w(n+1)通过改变对最小均方误差性能的负梯度比例来增强。
对于LMS算法梯度
通过假设平方误差e2(n)作为式(4.8)的MSE来预测。
因此,梯度预测可以单一化表示为:
(4.9)
在实际应用中,2u经常用来代替u。
瞬间梯度预测产生的Widrow-HoffLMS算法,w(n)为自适应滤波器在n时刻的滤波系数或权矢量。
按照最陡下降法调节滤波系数,则在n+1时刻的滤波系数或权矢量w(n+l)可以用下列简单递归关系来计算:
(4.10)
u是自适应步长来控制稳定性和收敛率。
这种瞬时估计是无偏的,因为它的期望值E[]等于最陡下降法的梯度矢量。
以任意初始向量w(0)来开始,向量w(n)集中在最佳解决方法w0,假如选择u
(4.11)
为矩阵R的最大特征值,受限制于
(4.12)
Tr[·
]为指示矩阵的轨迹,
是平均输入功率。
对于自适应信号处理应用,最重要的实际考虑是收敛速度,决定滤波器跟踪不稳定型号的能力。
总体来说,权向量要获得收敛只有当最缓慢的权集中一点。
这个最慢的时间
(4.13)
这个指出时间连续相反的以u的比例收敛,并且依靠输入矩阵的自相关特征值。
具有全异的特征值,规定时间是受最慢模式的限制。
以梯度预测为基础的自适应导致噪声矩阵的权向量,因此会有性能的损失。
这个自适应处理的噪声导致稳态权向量随意的改变为最适宜的权向量。
稳态权向量的精度通过超额的最小均方误差来测量。
这个LMS算法超过EMS的是
(4.14)
是MSE在稳态的最小值。
式(4.13)和(4.14)产生LMS算法基本协定:
为了在稳态获得高精度(低超额MSE),需要u的最小值,但是也会降低收敛率。
后面会有进一步关于LMS算法特征的讨论。
对于N维更新
是常数,误差信号e(n)乘以u得到
这个常数首先计算,然后乘以x(n)来更新w(n)。
自适应LMS算法如同最陡下降法,利用时间n=0的滤波系数矢量为任意的起始值w(0),然后开始LMS算法的计算。
4.2RLS算法论述
4.2.1算法简介
最小二乘(RLS)法是一种典型的有效的数据处理方法。
由著名学者高斯在1795年提出,他认为,根据所获得的观测数据来推断未知参数时,未知参数最可能的值是这样一个数据,即它使各项实际观测值和计算值之间的差的平方乘以度量其精度的数值以后的和为最小。
这就是著名的最小二乘法[18]。
前面所研究的自适应滤波算法根据的最佳准则为最小均方误差准则。
自适应算法的目标在于,使滤波器输出与需要信号的误差的平方的统计平均值最小。
这个准则根据输入数据的长期统计特性寻求最佳滤波。
然而,我们通常己知的仅是一组数据,因而只能对长期统计特性进行估计或近似。
LMS算法、格形梯度算法都是这样。
而最小二乘算法就是能直接根据一组数据寻求最佳解。
换句话说,根据最小均方误差准则得到的是对一类数据的最佳滤波器,而根据最小二乘法得到的是对一组已知数据的最佳滤波器。
对同一类数据来说,最小均方误差准则对不同的数据组导出同样的“最佳”滤波器;
而最小二乘法对不同的数据组导出不同的“最佳”滤波器。
因而常说最小二乘法导出的最佳滤波器是“精确”的。
递推最小二乘法(RLS)是最小二乘法的一类快速算法。
RLS自适应滤波器有横向式和格式两种形式。
格式滤波器提供较多的信息,它给出直到某一最大阶次为止的所有各阶滤波器,并且由于隐含着施密特正交化而具有良好的数值性能,但是需要较大的计算量。
横向滤波器则以快速见长。
这两种形式各有其适用的场合。
4.2.2原理介绍
递推最小二乘(RLS)算法是一种在自适应迭代的每一步都要求最优的迭代算法,滤波器输出信号y(n)等于输入信号x(n)与冲激响应序列wi(n)的卷积和,即
n=1,2,…,N(4.15)
误差信号
由此可以得到自适应横向滤波器按最小均方准则设计的代价函数
(4.16)
式中,d(i)与y(i)分别为自适应滤波器的期望相应于输出信号。
e(i)为误差信号。
其目的在于确保滤波器能够忘记“过去的”的数据以确保算法适用于非平稳的环境,n为可变的数据长度。
由上式得到
(4.17)
式中M=N
为了简短地表示滤波器地代价函数,将上示中有关项定义为以下参数:
1、确定性相关函数表示输入信号在抽头k与抽头m之间两信号的相关性,即
k,m=0,1,…,M-1(4.18)
2、确定性相互关系函数表示期望响应与在抽头k输入信号之间的互相关性,即
k=0,1,…,M-1(4.19)
3、期望响