《基于Matlab的自适应滤波器的设计及仿真(共13页).docx》由会员分享,可在线阅读,更多相关《基于Matlab的自适应滤波器的设计及仿真(共13页).docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上基于Matlab的自适应滤波器的设计及仿真赵夏爽物理与电子信息学院 电子信息科学与技术 专业学号:指导教师:燕慧英摘要:自适应滤波器的研究是当今信号处理中最活跃的研究课题之一。自适应滤波器因其具有很强的自学习、自跟踪能力和算法的简单易实现性等优越性能,已经在数字通信、工业控制和雷达等领域获得了广泛应用。首先介绍了自适应滤波器的基本理论思想,具体阐述了自适应滤波器的基本原理、算法及设计方法。接着对自适应滤波器的核心算法最小均方误差(LMS)进行介绍和分析,最后基于LMS算法设计自适应滤波器并进行MatLab仿真,仿真结果表明设计的自适应滤波器具有良好的性能和较强的可操作
2、性。关键词:自适应滤波器;LMS算法;matlab仿真Design and Implemeutation of the Auto-adapted FilterZhao xia-shuangCollege of Physics and Electronic Information Electronic Information Science and TechnologyNo: Tutor: YanHui-yingAbstract: The research of adaptive filter is one of the most active research topic in signal
3、processing. Adaptive filter because of its strong self-learning, self tracking ability and simple algorithm of superior performance and easy to implement, has been widely used in digital communication, industrial control and other fields of radar. Firstly introduces the basic theory of adaptive filt
4、er, expounds the basic principle, algorithm and adaptive filter design method. The core algorithm of the adaptive filter - minimum mean square error (LMS) were introduced and analyzed, based on the design of adaptive LMS filter algorithm and MatLab simulation, the simulation results show that the de
5、sign of adaptive filter has good performance and strong operability.Keywords: adaptive filter; LMS algorithm; MATLAB simulation目 录1 引言31.1 国内外研究现状与前景31.2 课题研究的意义和目的42 自适应滤波器理论基础52.1 滤波器的基本概念52.2 自适应滤波器的结构52.3 自适应滤波器原理62.4 自适应滤波器的LMS算法63 自适应滤波器设计及仿真73.1 LMS算法参数分析73.2自适应滤波器的仿真83.2.1 Matlab软件介绍83.2.2 基
6、于LMS算法实现的流程图83.2.3 自适应滤波器的仿真结果及分析94 总结12参考文献121 引言滤波技术是信号处理的一项重要技术,利用这种技术可以抑制信号中的干扰, 获取需要的信息。在数据通信过程中,需要传输的信号是扩展频谱信号, 一方面可能混合有来自另一频带用户的干扰信号,另一方面在宽带信号中可能混有试图破坏检测系统的窄带干扰信号。用于消除上述干扰的滤波器,可以是固定参数,也可以是自调节的参数。如果采用固定参数的设计方法,研制出一种最佳的滤波器,就意味着设计者预先知道了一切可能的输入条件以及系统在这些条件下的响应。但是,实际系统的状态往往随空间和时间的变化而变化。因此,要实现在这种条件下
7、的滤波,必须要求系统的参数能随着条件的变化而自行调整,这样的系统就称为自适应系统。用这种系统对信号进行的加工、变换就是自适应信号处理,一般称为自适应滤波。本文首先讨论了基于最小均方误差(LMS)的自适应滤波器算法,接着阐述了自适应滤波器的设计方法,并运用MATLAB软件进行自适应滤波器的仿真。1.1 国内外研究现状与前景最早的对于自适应滤波器的研究可以追述到20世纪50年代,它是在维纳滤波,Kalman滤波等线性滤波基础上发展起来的一种最佳滤波方法。在20世纪60年代中期形成了它的完整而正规的理论。人们根据传统数字滤波器的概念,即根据给定的频率特性指标来设计并实现数字滤波器外,还深入研究了维纳
8、滤波器和卡尔曼滤波器的数字实现问题。维纳滤波器是根据有用信号和干扰噪声的统计特性,以线性最小均方误差估计准则所设计的最佳滤波器,它能最大程度的滤除干扰噪声,提取有用信号。但是,当信号的统计特性偏离设计条件时,它就不再是最佳的了,这使其滤波器在实际应用中受得了限制。在1967年Windrow提出了自适应滤波系统的参数能自动的调整而达到最优说法,并且在设计的时候,只需很少或根本不需任何关于信号与噪声的先验统计知识。这种滤波器的不仅实现简单,而且器性能非常好。自适应滤波器与普通滤波器不同是因为它的冲激响应或滤波参数会随外部环境的变化而变化,经过一段自动调节的收敛时间达到最佳滤波的要求。自适应滤波器本
9、身一个重要的算法是可以根据输入、输出及原参量信号按照一定准则修改滤波参量,以便有效的跟踪外部环境的变化。因此,自适应数字系统具有很强的自适应、自动跟踪能力和算法简单易实现性等特点。随着超大规模集成电路(VLSI)技术的迅速进步以及自适应滤波技术理论的研究和发展,自适应滤波在噪化信号的检测增强、噪音干扰的抵消、波形编码的线性预测,雷达声纳系统的阵列处理和波束形成、通信系统的自适应均衡、图象自适应压缩编码、图象的自适应增强复原、图象识别的自适应分割以及未知系统的自适应参数辨识等方面获得了广泛的应用。1.2 课题研究的意义和目的自1967年Windrow等人提出自适应滤波器以来,在短短的四十年中,自
10、适应滤波器的发展很快,已广泛地用于系统模型识别,通信信道的自适应均衡,雷达与声纳的波束形成,减少或消除心电图中的周期干扰,噪声中信号的检测、跟踪、增强和线性预测等。近十几年,它在更多的应用场合(如回波消除、信号增强、自适应波速形成、噪声消除以及控制领域等)也取得了成功。数字滤波器和维纳滤波器一样,都是符合某种准则的最佳滤波器。维纳滤波器的参数是固定的,适用于平稳随机信号的最佳滤波,但要设计这种滤波器,必须要求输入信号是平稳的,且具有信号和噪声统计分布规律的先验知识。在实际中,常常无法知道这些先验知识,且统计特性还会变化,因此实现最佳滤波是困难的。鉴于自适应滤波器具有自学习、自跟踪、对参数经常变
11、化的动态系统有较好控制效果的特性,并且随着超大规模集成电路(VLSI)技术的迅速进步自适应滤波技术在后续的技术研发上起着举足轻重的作用,所以我们有必要对其进行深入的研究,特别是对自适应滤波器新算法的研究。2 自适应滤波器理论基础2.1 滤波器的基本概念凡是有能力进行信号处理的装置都可以称为滤波器。在近代电信装备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最复杂要算滤波器了。滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。可以通过基本的滤波器积木块二阶通用滤波器传递函数,推导出最通用的滤波器类型:低通、带通、高通、陷波和椭圆型滤波器。传递函
12、数的参数f0、d、hHP、hBP 和hLP,可用来构造所有类型的滤波器。转降频率f0为s项开始占支配作用时的频率。设计者将低于此值的频率看作是低频,而将高于此值的频率看作是高频,并将在此值附近的频率看作是带内频率。阻尼d用于测量滤波器如何从低频率转变至高频率,它是滤波器趋向振荡的一个指标,实际阻尼值从0至2变化。高通系数hHP是对那些高于转降频率的频率起支配作用的分子的系数。带通系数hBP是对那些在转降频率附近的频率起支配作用的分子的系数。低通系数hLP是对那些低于转降频率的频率起支配作用的分子的系数。设计者只需这5个参数即可定义一个滤波器。2.2 自适应滤波器的结构自适应滤波器的结构有FIR
13、和IIR两种。由于IIR滤波器存在稳定性的问题,因此一般采用FIR滤波器。由于FIR滤波器横向结构的算法具有容易实现和计算量少等优点,在对线性相位要求不严格、收敛速度不是很快的场合,故自适应滤波器采用FIR横向滤波器结构作为自适应滤波器的结构,如图1所示。Z-1Z-1Z-1x(n)x(n-N+1)w0(n)w1(n) w2(n) wN-1(n) y(n)图1 FIR横向滤波器的结构X(n)为自适应滤波器的输入矢量;W(n)是权系数矢量,即自适应滤波器的冲击响应;y(n)为自适应滤波器的输入矢量;n为时间序列;N为滤波器的阶数。2.3 自适应滤波器原理自适应滤波器以输入和输出信号的统计特性的估计
14、为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性。离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。离散域自适应滤波器的输入信号经过自适应处理器后产生输出信号,然后和作为参考的输入信号进行对比,产生误差输出信号,通过设计的自适应滤波算法的反馈调节调整滤波器的参数,最终输出误差信号均方差的最小值。自适应滤波器的算法决定着滤波器参考信号的处理能力,在最佳准则条件下算法能够大大提高其输出信噪比。自适应算法通常可以分为最小均方算法(LMS)和递推最小二乘算法(RLS),LMS算法简单,运算方便,易于实现,但收敛的速度相对较慢,且其速度和输入信号的统计特性直接相关。
15、2.4 自适应滤波器的LMS算法自适应滤波器主要根据其输入的统计特性进行设计的。自适应滤波器的算法则以各种判据条件作为推算基础。通常有两种判据条件:最小均方误差判据和最小二乘方判据。LMS算法是以最小均方误差为判据的最典型的算法,也是一种易于实现,性能稳健,应用广泛的算法。LMS算法最显著的特点是它的简单性,此外它不需要计算有关的相关函数,也不需要矩阵求逆运算。LMS算法是自适应滤波器的基础,是一种随机性递推算法,该算法主要包含下面三个方程:y(k)=(i)x(k-i+1)(滤波器输出)e(k)=d(k)-y(k)(估计误差)w(k+1)=w(k)+2ue(k)x(k-i) (0iM-1)(下
16、一时刻的权)在以上三个式子当中:x为自适应滤波的输入滤波;y为自适应滤波的输出滤波;d为参考信号的滤波;e为误差值;w为权重系数;u为步长;M为自适应滤波器的阶数。步长是表示迭代快慢的物理量,步长越大,其自适应的时间越短,自适应的速度也越快,同时也会引起很大的失调现象,当它大于某一个值时,系统呈现发散状态;步长越小,失调性就越小,系统的稳定性也加强,但是其自适应的时间变得非常长。步长因子受滤波阶数及输入信号功率的影响,在输入某同一信号时,为保持系统收敛性,步长应与滤波阶数成反比,且步长值根据滤波器阶数的变化而做相应变化,这样在信号处理过程中才能取得最佳效果,若滤波器阶数一定,则LMS算法的收敛
17、速度将只受步长的影响,自适应滤波器的级数通常同噪声通道对应的传递函数的阶数保持一致。如果级数大于传递函数的阶数,会造成失调增大,只有当两者数值相等时,才能发挥出自适应滤波器的最佳性能;当自适应滤波器的信噪比增大时,LMS算法的性能将受到很大的影响,在设计时可以采用频域LMS算法来克服这一局限性。3 自适应滤波器设计及仿真3.1 LMS算法参数分析传统的LMS算法具有计算量小、结构简单、易于实现等优点,尤其是这种算法是最先由统计分析法导出的一种实用算法,它是一类自适应滤波器的基础。笔者通过Matlab仿真对LMS算法中各参数做了详细研究,并总结出其对算法的影响。针对时域LMS算法各参数做如下讨论
18、:(1) 步长。步长是表征迭代快慢的物理量。由LMS算法可知: 越大,自适应时间越短,自适应过程越快, 但它引起的失调也越大, 当大于1 /max时, 系统发散; 越小, 系统越稳定,失调越小,但自适应过程也相应加长。因此,步长的选择应从整个系统要求出发, 在满足精度要求的前提下,尽量减少自适应时间 。(2) 级数。自适应滤波器的级数应与噪声通道的传递函数F(z)的阶数一致,只有在二者相等时,自适应滤波器传递函数才有可能等于F(z) ,实现噪声抵消。而当级数小于F(z)的阶数时,参考通道的噪声无法与输入通道的噪声抵消,引起最小均方差增大;当级数大于F(z)的阶数时,过多的级数引起失调的增大。因
19、此,只有当滤波器的级数等于F(z)的阶数时,自适应滤波器的性能才达到最佳 。(3) 信噪比。当信噪比升高时, LMS 算法性能将急剧恶化。这可由频域LMS算法来克服时域LMS算法的性能局限。3.2自适应滤波器的仿真3.2.1 Matlab软件介绍当计算涉及矩阵运算或画图时,利用FOTRRAN和C语言等计算机语言进行程序设计是一项很麻烦得工作,不仅需要对所利用的有关算法有深刻的了解,还需要熟练掌握所用语言的语法和编程技巧,州沙汀ALAB正是为了免除上述局面产生的,它是集命令翻译,科学计算于一身的一套交互软件系统,在MATLAB下,矩阵的运算变得异常的容易,后来又增添了丰富多彩的图形处理及多媒体功
20、能,使得MAI,LAB的应用范围越来越广泛。MATLAB具有强大的语言功能,它允许用户以数学形式的语言编写程序,比BASIC、FOTRRAN和C等语言更接近于书写计算公式的思维方式。它的操作和功能函数指令是以平时计算机和数学书上的简单英文单词表达的。由于它在很长一段时间内是用C语言开发的,它的不多的几个程序流控制语句同语言差别甚微,初学者很容易掌握。当前,MATLAB功能之强大,提供了很多可靠的便利工具,例如:图形绘制,图形处理,数据处理,矩阵运算等。在工具箱上有以M户L1,LAB为基础的实用工具箱。信号分析、振动理论、时序分析于建模、优化设计等领域。较为常见的MATLAB工具箱主要包括:系统
21、辨识工具箱,鲁棒控制工具箱、多变量频率设计工具箱,u分析与综合工具箱、神经网络工具箱、最优化工具箱、信号处理工具箱、模糊推理系统工具箱、小波分析工具箱。因此,MATLAB已成为最流行的软件,广泛地应用于自动控制、图像信号处理、生物医学工程、语言处理、雷达工程。3.2.2 基于LMS算法实现的流程图初始化w(k)读取x(k)和y(k)滤波器输出,y(k)=(i)x(k-i+1)计算误差,e(k)=d(k)-y(k)计算因子,e(k)更新权,w (k+1)=w(k)+2e(k)x(k)3.2.3 自适应滤波器的仿真结果及分析(1)当滤波器的长度M=24时,其波形图如图2所示:图2 滤波器长度为24
22、波形显示界面图从图2中可以看出带有噪声条件下输入的波形图所呈现的规律不如理想条件下输入的波形图明了,清晰。并且可以看出预测信号与实际信号的误差不大。(2)当滤波器的长度M=12时,其波形图如3所示:图3 滤波器长度为12波形显示界面图从图3中可以看出预测信号与实际信号的误差比M=24时要大,从而可以知道滤波器的长度越小预测信号与实际信号的误差越大。(3)当滤波器的长度M=48时,其波形图如图4所示。图4 滤波器长度为48波形显示界面图从图4中可以看出预测信号与实际信号的误差比M=24时要小,几乎接近实际信号,从而可以知道滤波器的长度越大预测信号与实际信号的误差越小。最后可以看出,当它的滤波器长
23、度发生改变的时候,它的理想输入是不变的,噪声的变化也不明显。并且随着滤波器的长度越大,预测信号与实际信号越接近,可见采用最小均方误差(LMS)算法设计出来的自适应滤波器在噪声消除方面具有很好的效果。4 总结本文首先介绍了本课题的研究目的和意义以及对自适应滤波算法研究的现状进行了简单的介绍,然后讲述了自适应滤波器的理论基础,其中对自适应滤波器的工作原理,结构和特点作了详细的描述。同时介绍了自适应算法最小均方(LMS)算法,并且以LMS算法为主要设计方法的设计方案。随后讲述了自适应滤波算法的实现过程。最后基于MATLAB软件进行仿真。虽然本文取得了一些实验结果,但本文所做的工作也只是一些初步研究.
24、很多问题还有待于进一步完善。在今后的工作中,还需要不断地发现,不断的创新。参考文献1 何振亚. 自适应信号处理M.北京: 科学出版社, 2002.2 荣雅君, 杨秋霞. 自适应滤波器的设计及应用J. 河北大学学报, 2003, 23(3): 307-311.3 董长虹主编, 赖志国., 余啸海. MATLAB图像处理与应用M. 国防工业出版社,2004.4 刘益成. 数字信号处理M. 西安: 西安电子科技出版社, 2004.5 施晓红, 周佳编. 精通GUI 图形界面编程M. 北京大学出版社, 2003.6 邹国良. 自适应滤波理论及应用M. 河北: 河北大学出版社, 1997.7 袁俊泉.
25、MATLAB信号处理M. 清华大学出版社, 2002.8 Simon Haykin. 自适应滤波器原理M. 北京: 电子工业出版社, 2003.9 樊昌信, 徐炳祥, 吴成柯. 通信原理M. 北京: 国防工业出版社, 2001.10 朱芳. 用Matlab设计自适应低通滤波器J. 吉林水利学报, 2002, 5(5):35-38.11 韩利竹, 王华. MATLAB电子仿真与应用M. 北京国防工业出版社, 2003.12 Miroslaw D. Lutovac ,Dejan V . Tosic , Brian L . Evans 著, 朱义胜, 董辉等译. 信号处理滤波器设计基于MATLAB和
26、Mathematica设计方法M. 电子工业出版社, 2004.附录:使用MATLAB编程,采用自适应滤波器技术实现语音去噪过程,程序如下:Samles_per_period=40;%周期采样频率N=10*samples_per_period-1;%总采样次数signal=sin(2*pi*0.02*0:N-1);%初始输入信号figure;%作图1 的第一子图subplot(2,1,1);plot(signal);grid;title(自适应滤波器的理想输入);nvar=0.5;%噪声方差noise=nvar*randn(1,N);%噪声信号X=signal+noise;%带加性噪声的输入信
27、号delayX=0 X;%输入信号延时SIGNAL=signal 0;M=32;%滤波器长度mu=0.035;%迭代步长subplot(2,1,2);%作图1 的第二子图plot(delayX);grid;title(自适应滤波器的噪声输入);initial_status=initlms(zeros(1,M),mu);%滤波器设初值Y,e,initial_status=adaptlms(X,SIGNAL,initial_status);%LMS 自适应滤波器输出figure;plot(0:N-1,Y,.,0:N,SIGNAL,k);grid;title(预测信号与实际信号的比较);legend(预测信号,实际信号);专心-专注-专业