自适应滤波器的MATLAB实现.doc_第1页
自适应滤波器的MATLAB实现.doc_第2页
自适应滤波器的MATLAB实现.doc_第3页
自适应滤波器的MATLAB实现.doc_第4页
自适应滤波器的MATLAB实现.doc_第5页
免费预览已结束,剩余91页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录一 论文正文1自适应滤波(1)2 LMS自适应滤波器(2)2.1 LMS算法(2)2.2 LMS算法的基本过程(2)2.3 LMS算法的具体步骤(3)2.4 LMS自适应滤波器的结构原理(3)3 LMS滤波器的仿真与实现(4)3.1 LMS算法参数分析(4)3.2 MATLAB实现(4)4自适应滤波器的应用实例(5)4.1 系统辨识(5)4-2 自适应干扰抵消(8)5结论(12)参考文献(14)谢辞(15)二 附录1 论文(设计)任务书(16)2 论文(设计)中期检查报告(18)3 指导教师指导记录表(19)4 论文(设计)结题报告(20)5 成绩评定及答辩评议表(22)6 论文(设计)答辩过程记录(24)基于LMS自适应滤波器的MATLAB实现摘要:近几十年里,数字信号处理技术取得了飞速发展,特别是在自适应信号处理方面,通过内部参数的最优化来自动调节系统特性并以其计算简单,收敛速度快等许多优点而被广泛使用。 本论文主要研究了自适应滤波器的基本结构和原理,然后介绍了最小均方误差算法(LMS算法),并完成了一种基于MATLAB平台的自适应LMS自适应滤波器的设计通过仿真,实现了LMS自适应滤波算法,并从结果得知步长和滤波器的阶数是滤波器中很重要的两个参数,并通过修改它们证实了这一点,其中步长影响着收敛时间,而且阶数的大小也会大大地影响自适应滤波器的性能。关键字:自适应滤波器;MATLAB;LMS;仿真The realization with LMS self-adaptive filter based on MATLABAbstract:In recent decades,digital signal processing technology has achieved Rapid developments,especially in the area of adaptive signal processing.Digital signal processing technology can regulate system festures automatically with optimazation of inner parameter and was widely applicated because of its advangtages of simple calculation ,fast convergence and so on.This paper introduces the structure and theprinciple of the adaptive filter, and then introduces the LMS algorithm, at the same time, it has completed the design of adaptive LMS filter based on MATLAB platform and realized to decrease noise in signal processing.Through the simulations, it realize the algorithmof adaptive LMS. Moreover, can understand there exist two very important parameters, step-size and filter order(M) through the results. It also demonstrate that how the step-size affects the convergence rate toward the unknown system, and how the filter order(M) affects the performance of adaptive filter by changing these two parameters.Key words: Adaptive Filter;MATLAB; LMS; Simulation目 录1自适应滤波(1)2 LMS自适应滤波器(2)2.1 LMS算法(2)2.2 LMS算法的基本过程(2)2.3 LMS算法的具体步骤(3)2.4 LMS自适应滤波器的结构原理(3)3 LMS滤波器的仿真与实现(4)3.1 LMS算法参数分析(4)3.2 MATLAB实现(4)4自适应滤波器的应用实例(5)4.1 系统辨识(5)4-2 自适应干扰抵消(8)5结论(12)参考文献(14)谢辞(15)II1 自适应滤波自适应滤波是研究一类结构和参数可以改变或调整的系统。这种系统能够根据与外界环境的接触来改善自身的信号处理性能,成为自适应系统。这类系统可以自动适应信号传送变化的环境和要求,无需知道信号的结构和先验知识,亦无须精确设计信号处理系统的结构和参数。自适应系统是一类时变的非线性系统,一般分为开环自适应和闭环自适应两种类型。开环自适应系统的工作原理:对输入信号或 环境特性进行测量,用测量到的信息形成公式或算法,并用以调整自适应系统本身;而闭环自适应系统还利用系统调整所得的有关知识去优化系统的某种性能,因此这类系统是带有性能反馈的自适应系统。开环与闭环自适应系统的原理框图如图1和图2所示。从图中可以看出:开环自适应系统的自适应算法仅由输入信号确定;而闭环自适应系统的自适应算法不仅取决于输入信号,而且还与输出结果有关,是由而这共同确定的。 图1 开环自适应系统 图2 闭环自适应系统2 LMS自适应滤波器2.1 LMS算法最小均方误差(LMS)算法具有计算量小、易于实现等优点,因此,在实践中被广泛应用。LMS算法的基本思想是调整滤波器自身的参数,使滤波器的输出信号与期望输出信号之间的均方误差最小,并使系统输出为有用信号的最佳估计。实质上,LMS可以看成是一种随机梯度或者随机逼近算法,可以写成如下的基本迭代方程: 2-1其中,为步长因子,是控制稳定性和收敛速度的参量。从上式可以看出,该算法结构简单、计算量小且稳定性好,但固定步长的LMS算法在收敛速度、跟踪速率及权失调噪声之间的要求相互制约。为了克服这一缺点,人们提出了各种变步长的LMS改进算法,主要是采用减小均方误差或者以某种规则基于时变步长因子来跟踪信号的时变,其中有归一化LMS算法(NLMS)、梯度自适应步长算法、自动增益控制自适应算法、符号一误差LMS算法、符号一数据LMS算法、数据复用LMS算法等。2.2 LMS算法的基本过程 LMS算法一般包括滤波过程和自适应过程,这两个过程一起工作组成一个反馈环。x(n)为输入信号,y(n)为输出信号,d(n)为期望信号或参考信号,e(n)是d(n)和y(n)的误差信号,自适应滤波器的滤波系数受误差信号e(n)控制,根据e(n)的值和自适应算法自动调整。推到如下:假设x(n)是一长度为M的序列,有: 2-2 误差信号e(n)为d(n)与y(n)的差,即, ,选择这个滤波器系数使平方误差和最小。因此有: 2-3这个平方误差和是这个滤波器系数的二次函数。因此,对于滤波器系数h(k)的最小化就会产生一组线性方程。为了求解这组方程组,有很多种算法,LMS算法是其中的一种。2.3 LMS算法的具体步骤LMS算法基本上是一种递推算法,它用任意选择的h(k)的初始值作为开始,然后将每一新的输入样本x(n)输入到这个自适应FIR滤波器,计算相应的输出y(n),形成误差信号e(n)=d(n)一y(n),并按方程 2-4更新滤波器系数,这里称为步长参数,x(n-k)是输入信号在时间n位于滤波器的第k个样本,而e(n)x(n-k)是对第k个滤波器系数的一个梯度负值的近似(估计)。2.4 LMS自适应滤波器的结构原理 自适应滤波是在部分信号特征未知的条件下,根据某种最佳准则,从已知的部分信号特征所决定的初始条件出发,按某种自适应算法进行递推,在完成一定次数的递推之后,以统计逼近的方式收敛于最佳解。当输入信号的统计特性未知,或者输入信号的统计特性变化时。自适应滤波器能够自动地迭代调节自身的滤波器参数以满足某种准则的要求,从而实现最优滤波。因此,自适应滤波器具有自我调节和跟踪能力。在非平稳环境中,自适应滤波在一定程度上也可以跟踪信号的变化。图3为自适应滤波的原理框图。 图3 自适应滤波原理3 LMS滤波器的仿真与实现3.1 LMS算法参数分析传统的LMS算法是最先由统计分析法导出的一种实用算法它是自适应滤波器的基础。通过Matlab仿真对LMS算法中各参数的研究,总结出其对算法的影响。现针对时域LMS算法的各参数进行一些讨论。(1)步长 步长是表征迭代快慢的物理量。由LMS算法可知:该量越大,自适应时间越小,自适应过程越快,但它引起的失调也越大,当其大于1max时,系统发散;而该值越小,系统越稳定,失调越小,但自适应过程也相应加长。因此,对步长的选择应从整个系统要求出发,在满足精度要求的前提下,尽量减少自适应时间。(2)级数 自适应滤波器的级数应与噪声通道的传递函数F(z)的阶数一致。事实上,只有在二者相等时,自适应滤波器传递函数才有可能等于F(z),以实现噪声抵消。而当其级数小于F (z)的阶数时,参考通道的噪声将无法与输入通道的噪声抵消,故会引起最小均方差增大;当其级数大于F(z)的阶数时,过多的级数则会引起失调的增大。因此,只有当滤波器的级数等于F(z)的阶数时,自适应滤波器的性能才能达到最佳。(3)信噪比 当信噪比升高时,LMS算法的性能将急剧恶化。故可采用频域LMS算法来克服时域LMS算法的性能局限。 3.2 MATLAB实现 MATLAB有专门的函数ADAPTLMS实现自适应滤波,ADAPTLMS函数的用法为: 3-1其中y为滤波器的输出信号,x为滤波器的输入信号,d为期望信号,e为误差信号,s为包含自适应滤波器信息的结构体,可用函数INITLMS初始化。函数INITLMS的用法为: 3-2其中h0为滤波器系数的初始值,是一个长度为滤波器阶数的向量可为0;Mu为步长参数。 4 自适应滤波器的应用实例4.1 系统辨识现要识别一个未知的线性系统,这个未知系统可以是一个全零点系统,也可以是一个零极点系统。该未知系统可用一个长度为N的FIR滤波器近似(建模,见图4)。为了构造这个问题,未知系统FIR模型并联级联,并由一个长度输入序列x(n)激励。如果代表模型的输出,而代表未知系统的输出,误差序列。如果能将平方误差和减到最小,就得到了一组线性方程组,因此,可用LMS算法来对FIR模型的自适应,使得它的输出近似为该未知系统的输出,仿真源程序和仿真结果如下:图4 系统辨识方框图仿真源程序如下:时域程序:x=0.1*randn(1,500) ;%输入信号x(n)b=fir1(31,0.5); %构建待辨识的未知FIR系统d=filter(b,1,x) ;%期望信号d(n)w0=zeros(1,32) ;%自适应滤波器系数的初始化mu=0.8;%LMS步长参数s=initlms(w0,mu) ;%初始化s信息结构体y,e,s=adaptlms(x,d,s) ;%自适应滤波stem(b.,s.coeffs.) ;%画出识别的系统和未知参数频域程序:mu=0.8s=initlms(w0,mu)y1,e1,s1=adaptlms(x,d,s)B=fft(b)B1=abs(B)plot(B1)hold onS=fft(s1.coeffs)S1=abs(S)plot(S1)mu=0.6s=initlms(w0,mu)y2,e2,s2=adaptlms(x,d,s)S=fft(s2.coeffs)S2=abs(S)plot(S2)hold onmu=0.2s=initlms(w0,mu)y3,e3,s3=adaptlms(x,d,s)S=fft(s3.coeffs)S3=abs(S)plot(S3)仿真结果如下:时域波形图:图5 系统辨识时域仿真图图6 系统辨识误差仿真图频域波形图:图7 系统辨识频域仿真图由上图可得到:图中参数步长不同,得到的图形有较大差别,就时域图来说:随着步长的增大,误差变小。就频域图来说:随着步长的增大,辨识出的系统更接近未知系统,即步长越大,系统辨识性能越好。4-2 自适应干扰抵消自适应抵消是以噪声干扰为处理对象,将它们抑制掉或进行非常的衰减,以提高信号传递和接收的信噪比质量。图8为自适应干扰抵消器的基本结构,期望响应d(n)是有用信号s(n)与干扰信号之和,即,是与相关的另一个干扰,自适应滤波器将调整自己的参数,以使其输出成为的最佳估计,误差即为对有用信号的最佳估计,干扰就得到一定的抵消。图8自适应抵消方框图仿真源程序如下:时域程序:N=500;noise=sin(2*pi*0.015*0:N-1)+0.5*cos(2*pi*0.008*0:N-1);%干扰信号d=noise;nvar=0.5;s=nvar*randn(1,N);%有用信号n=s+noise;%受到干扰的有用信号 M=32;%自适应滤波器的阶数 mu=0.2;%LMS步长参数 S=initnlms(zeros(1,M),mu);%初始化s信息结构体 y1,e1,S1=adaptnlms(n,d,S);%自适应滤波器 stem(y1,d);%画出干扰信号及其估计信号stem(e1) ;%画出误差信号频域程序:D=fft(d)DD=abs(D)plot(DD)hold onY1=fft(y1) ;%求出输出信号的傅里叶变换YY1=abs(Y1) ;%求出输出信号频域的模值plot(YY1) ;%画出输出信号hold on M=64 mu=0.2 S=initnlms(zeros(1,M),mu) y2,e2,S2=adaptnlms(n,d,S)Y2=fft(y2)YY2=abs(Y2)plot(YY2) ;%画出输出信号hold on M=16 mu=0.2 S=initnlms(zeros(1,M),mu) y3,e3,S3=adaptnlms(n,d,S)Y3=fft(y3)YY3=abs(Y3)plot(YY3) ;%画出输出信号仿真结果如下:时域波形图:图9自适应抵消时域仿真图频域波形图:当保持自适应滤波器的步长不变,改变自适应滤波器的阶数M,分别改为64和16,经过MATLAB仿真,得到的频域波形图如图10所示:图10输出信号的频域图(阶数不同)当保持自适应滤波器的阶数M不变,改变自适应滤波器的步长mu,分别改为0.6和1.0,经过MATLAB仿真,得到的频域波形图如图11所示:图11输出信号的频域图(步长不同)由以上仿真图可得到:步长和阶数的不同对于滤波器的滤波效果有较大影响。就时域图来说:图9可以看出,期望响应d和经滤波器滤波后的实际输出y相差较小,几乎重叠,即达到了抵消的目的。就频域图来说:其中图10步长相同,阶数不同,收敛速度和阶数的变化方向是一致的,同增同减,即阶数越大,收敛速度越大,输出信号的响应也越接近期望信号的响应,而稳态误差变化方向是相反的;其中图11阶数相同,步长不同,随着步长的增大,滤波效果变差而均方误差的稳态减小,但是当步长参数较小时,收敛速度则会降低,并且阶数的变化要比步长的变化对系统的影响大。小结:通过以上两实例可以得到:步长增大,对于系统辨识来说性能越好(图9),对于自适应相互抵消来说滤波效果变差(图9),但二者中的稳态误差随着步长的增大而减小,总体来说步长影响着滤波器的收敛时间,而收敛时间与稳态误差的变换是矛盾的。阶数越大对于滤波器来说是提高了滤波器的性能,但是随着阶数的增大,滤波器的成本也响应的增大,软件仿真的时间较长。所以对于不同的问题,要选取合适的滤波器,阶数不能太大,步长合适,以使其达到最佳的效果。 5 结论本文基于LMS算法,通过MATLAB软件,对自适应滤波器进行了仿真。重点介绍了LMS算法,自适应滤波原理以及通过MATLAB编程对自适应抵消、系统辨识进行了模拟。自适应滤波是研究一类结构和参数可以改变或调整的系统,MATLAB有专门的函数ADAPTLMS实现自适应滤波,在此函数的格式中要求有包含自适应滤波器信息的结构体s,MATLAB提供了专门的初始化函数:INITLMS。在这两个函数的基础上完成对自适应滤波器实现的编程。本文要求的是基于LMS算法,最小均方误差(LMS)算法具有计算量小、易于实现等优点,因此,在实践中被广泛应用。LMS算法的基本思想是调整滤波器自身的参数,使滤波器的输出信号与期望输出信号之间的均方误差最小,并使系统输出为有用信号的最佳估计。在理解了LMS算法的前提下,完成了本次论文的写作。滤波器对于现在通信来说非常重要,自适应滤波器对于输入为随机信号的系统完成了滤波,是滤波器发展中重要的一节。通过本次论文的写作,使我充分了解了滤波器的滤波原理和当前滤波器的发展。参考文献1高西全,丁玉美.数字信号处理.西安:西安电子科技大学出版社,2008.82飞思科技产品研发中心.MATLAB7辅助信号处理技术与应用.北京:电子工业出版社,2005.3 3赵春晖,张朝柱,李刚.自适应信号处理.哈尔滨工业大学出版社,20064楼顺天,刘小东,李博菡.基于MATLAB7.x的系统分析与设计-信号处理.西安电子科技 大学出版社,2005.5 5郑阿奇,曹戈.MATLAB实用教程.电子工业出版社,2007.8目 录一 论文正文1自适应滤波(1)2 LMS自适应滤波器(2)2.1 LMS算法(2)2.2 LMS算法的基本过程(2)2.3 LMS算法的具体步骤(3)2.4 LMS自适应滤波器的结构原理(3)3 LMS滤波器的仿真与实现(4)3.1 LMS算法参数分析(4)3.2 MATLAB实现(4)4自适应滤波器的应用实例(5)4.1 系统辨识(5)4-2 自适应干扰抵消(8)5结论(12)参考文献(14)谢辞(15)二 附录1 论文(设计)任务书(16)2 论文(设计)中期检查报告(18)3 指导教师指导记录表(19)4 论文(设计)结题报告(20)5 成绩评定及答辩评议表(22)6 论文(设计)答辩过程记录(24)基于LMS自适应滤波器的MATLAB实现摘要:近几十年里,数字信号处理技术取得了飞速发展,特别是在自适应信号处理方面,通过内部参数的最优化来自动调节系统特性并以其计算简单,收敛速度快等许多优点而被广泛使用。 本论文主要研究了自适应滤波器的基本结构和原理,然后介绍了最小均方误差算法(LMS算法),并完成了一种基于MATLAB平台的自适应LMS自适应滤波器的设计通过仿真,实现了LMS自适应滤波算法,并从结果得知步长和滤波器的阶数是滤波器中很重要的两个参数,并通过修改它们证实了这一点,其中步长影响着收敛时间,而且阶数的大小也会大大地影响自适应滤波器的性能。关键字:自适应滤波器;MATLAB;LMS;仿真The realization with LMS self-adaptive filter based on MATLABAbstract:In recent decades,digital signal processing technology has achieved Rapid developments,especially in the area of adaptive signal processing.Digital signal processing technology can regulate system festures automatically with optimazation of inner parameter and was widely applicated because of its advangtages of simple calculation ,fast convergence and so on.This paper introduces the structure and theprinciple of the adaptive filter, and then introduces the LMS algorithm, at the same time, it has completed the design of adaptive LMS filter based on MATLAB platform and realized to decrease noise in signal processing.Through the simulations, it realize the algorithmof adaptive LMS. Moreover, can understand there exist two very important parameters, step-size and filter order(M) through the results. It also demonstrate that how the step-size affects the convergence rate toward the unknown system, and how the filter order(M) affects the performance of adaptive filter by changing these two parameters.Key words: Adaptive Filter;MATLAB; LMS; Simulation目 录1自适应滤波(1)2 LMS自适应滤波器(2)2.1 LMS算法(2)2.2 LMS算法的基本过程(2)2.3 LMS算法的具体步骤(3)2.4 LMS自适应滤波器的结构原理(3)3 LMS滤波器的仿真与实现(4)3.1 LMS算法参数分析(4)3.2 MATLAB实现(4)4自适应滤波器的应用实例(5)4.1 系统辨识(5)4-2 自适应干扰抵消(8)5结论(12)参考文献(14)谢辞(15)II1 自适应滤波自适应滤波是研究一类结构和参数可以改变或调整的系统。这种系统能够根据与外界环境的接触来改善自身的信号处理性能,成为自适应系统。这类系统可以自动适应信号传送变化的环境和要求,无需知道信号的结构和先验知识,亦无须精确设计信号处理系统的结构和参数。自适应系统是一类时变的非线性系统,一般分为开环自适应和闭环自适应两种类型。开环自适应系统的工作原理:对输入信号或 环境特性进行测量,用测量到的信息形成公式或算法,并用以调整自适应系统本身;而闭环自适应系统还利用系统调整所得的有关知识去优化系统的某种性能,因此这类系统是带有性能反馈的自适应系统。开环与闭环自适应系统的原理框图如图1和图2所示。从图中可以看出:开环自适应系统的自适应算法仅由输入信号确定;而闭环自适应系统的自适应算法不仅取决于输入信号,而且还与输出结果有关,是由而这共同确定的。 图1 开环自适应系统 图2 闭环自适应系统2 LMS自适应滤波器2.1 LMS算法最小均方误差(LMS)算法具有计算量小、易于实现等优点,因此,在实践中被广泛应用。LMS算法的基本思想是调整滤波器自身的参数,使滤波器的输出信号与期望输出信号之间的均方误差最小,并使系统输出为有用信号的最佳估计。实质上,LMS可以看成是一种随机梯度或者随机逼近算法,可以写成如下的基本迭代方程: 2-1其中,为步长因子,是控制稳定性和收敛速度的参量。从上式可以看出,该算法结构简单、计算量小且稳定性好,但固定步长的LMS算法在收敛速度、跟踪速率及权失调噪声之间的要求相互制约。为了克服这一缺点,人们提出了各种变步长的LMS改进算法,主要是采用减小均方误差或者以某种规则基于时变步长因子来跟踪信号的时变,其中有归一化LMS算法(NLMS)、梯度自适应步长算法、自动增益控制自适应算法、符号一误差LMS算法、符号一数据LMS算法、数据复用LMS算法等。2.2 LMS算法的基本过程 LMS算法一般包括滤波过程和自适应过程,这两个过程一起工作组成一个反馈环。x(n)为输入信号,y(n)为输出信号,d(n)为期望信号或参考信号,e(n)是d(n)和y(n)的误差信号,自适应滤波器的滤波系数受误差信号e(n)控制,根据e(n)的值和自适应算法自动调整。推到如下:假设x(n)是一长度为M的序列,有: 2-2 误差信号e(n)为d(n)与y(n)的差,即, ,选择这个滤波器系数使平方误差和最小。因此有: 2-3这个平方误差和是这个滤波器系数的二次函数。因此,对于滤波器系数h(k)的最小化就会产生一组线性方程。为了求解这组方程组,有很多种算法,LMS算法是其中的一种。2.3 LMS算法的具体步骤LMS算法基本上是一种递推算法,它用任意选择的h(k)的初始值作为开始,然后将每一新的输入样本x(n)输入到这个自适应FIR滤波器,计算相应的输出y(n),形成误差信号e(n)=d(n)一y(n),并按方程 2-4更新滤波器系数,这里称为步长参数,x(n-k)是输入信号在时间n位于滤波器的第k个样本,而e(n)x(n-k)是对第k个滤波器系数的一个梯度负值的近似(估计)。2.4 LMS自适应滤波器的结构原理 自适应滤波是在部分信号特征未知的条件下,根据某种最佳准则,从已知的部分信号特征所决定的初始条件出发,按某种自适应算法进行递推,在完成一定次数的递推之后,以统计逼近的方式收敛于最佳解。当输入信号的统计特性未知,或者输入信号的统计特性变化时。自适应滤波器能够自动地迭代调节自身的滤波器参数以满足某种准则的要求,从而实现最优滤波。因此,自适应滤波器具有自我调节和跟踪能力。在非平稳环境中,自适应滤波在一定程度上也可以跟踪信号的变化。图3为自适应滤波的原理框图。 图3 自适应滤波原理3 LMS滤波器的仿真与实现3.1 LMS算法参数分析传统的LMS算法是最先由统计分析法导出的一种实用算法它是自适应滤波器的基础。通过Matlab仿真对LMS算法中各参数的研究,总结出其对算法的影响。现针对时域LMS算法的各参数进行一些讨论。(1)步长 步长是表征迭代快慢的物理量。由LMS算法可知:该量越大,自适应时间越小,自适应过程越快,但它引起的失调也越大,当其大于1max时,系统发散;而该值越小,系统越稳定,失调越小,但自适应过程也相应加长。因此,对步长的选择应从整个系统要求出发,在满足精度要求的前提下,尽量减少自适应时间。(2)级数 自适应滤波器的级数应与噪声通道的传递函数F(z)的阶数一致。事实上,只有在二者相等时,自适应滤波器传递函数才有可能等于F(z),以实现噪声抵消。而当其级数小于F (z)的阶数时,参考通道的噪声将无法与输入通道的噪声抵消,故会引起最小均方差增大;当其级数大于F(z)的阶数时,过多的级数则会引起失调的增大。因此,只有当滤波器的级数等于F(z)的阶数时,自适应滤波器的性能才能达到最佳。(3)信噪比 当信噪比升高时,LMS算法的性能将急剧恶化。故可采用频域LMS算法来克服时域LMS算法的性能局限。 3.2 MATLAB实现 MATLAB有专门的函数ADAPTLMS实现自适应滤波,ADAPTLMS函数的用法为: 3-1其中y为滤波器的输出信号,x为滤波器的输入信号,d为期望信号,e为误差信号,s为包含自适应滤波器信息的结构体,可用函数INITLMS初始化。函数INITLMS的用法为: 3-2其中h0为滤波器系数的初始值,是一个长度为滤波器阶数的向量可为0;Mu为步长参数。 4 自适应滤波器的应用实例4.1 系统辨识现要识别一个未知的线性系统,这个未知系统可以是一个全零点系统,也可以是一个零极点系统。该未知系统可用一个长度为N的FIR滤波器近似(建模,见图4)。为了构造这个问题,未知系统FIR模型并联级联,并由一个长度输入序列x(n)激励。如果代表模型的输出,而代表未知系统的输出,误差序列。如果能将平方误差和减到最小,就得到了一组线性方程组,因此,可用LMS算法来对FIR模型的自适应,使得它的输出近似为该未知系统的输出,仿真源程序和仿真结果如下:图4 系统辨识方框图仿真源程序如下:时域程序:x=0.1*randn(1,500) ;%输入信号x(n)b=fir1(31,0.5); %构建待辨识的未知FIR系统d=filter(b,1,x) ;%期望信号d(n)w0=zeros(1,32) ;%自适应滤波器系数的初始化mu=0.8;%LMS步长参数s=initlms(w0,mu) ;%初始化s信息结构体y,e,s=adaptlms(x,d,s) ;%自适应滤波stem(b.,s.coeffs.) ;%画出识别的系统和未知参数频域程序:mu=0.8s=initlms(w0,mu)y1,e1,s1=adaptlms(x,d,s)B=fft(b)B1=abs(B)plot(B1)hold onS=fft(s1.coeffs)S1=abs(S)plot(S1)mu=0.6s=initlms(w0,mu)y2,e2,s2=adaptlms(x,d,s)S=fft(s2.coeffs)S2=abs(S)plot(S2)hold onmu=0.2s=initlms(w0,mu)y3,e3,s3=adaptlms(x,d,s)S=fft(s3.coeffs)S3=abs(S)plot(S3)仿真结果如下:时域波形图:图5 系统辨识时域仿真图图6 系统辨识误差仿真图频域波形图:图7 系统辨识频域仿真图由上图可得到:图中参数步长不同,得到的图形有较大差别,就时域图来说:随着步长的增大,误差变小。就频域图来说:随着步长的增大,辨识出的系统更接近未知系统,即步长越大,系统辨识性能越好。4-2 自适应干扰抵消自适应抵消是以噪声干扰为处理对象,将它们抑制掉或进行非常的衰减,以提高信号传递和接收的信噪比质量。图8为自适应干扰抵消器的基本结构,期望响应d(n)是有用信号s(n)与干扰信号之和,即,是与相关的另一个干扰,自适应滤波器将调整自己的参数,以使其输出成为的最佳估计,误差即为对有用信号的最佳估计,干扰就得到一定的抵消。图8自适应抵消方框图仿真源程序如下:时域程序:N=500;noise=sin(2*pi*0.015*0:N-1)+0.5*cos(2*pi*0.008*0:N-1);%干扰信号d=noise;nvar=0.5;s=nvar*randn(1,N);%有用信号n=s+noise;%受到干扰的有用信号 M=32;%自适应滤波器的阶数 mu=0.2;%LMS步长参数 S=initnlms(zeros(1,M),mu);%初始化s信息结构体 y1,e1,S1=adaptnlms(n,d,S);%自适应滤波器 stem(y1,d);%画出干扰信号及其估计信号stem(e1) ;%画出误差信号频域程序:D=fft(d)DD=abs(D)plot(DD)hold onY1=fft(y1) ;%求出输出信号的傅里叶变换YY1=abs(Y1) ;%求出输出信号频域的模值plot(YY1) ;%画出输出信号hold on M=64 mu=0.2 S=initnlms(zeros(1,M),mu) y2,e2,S2=adaptnlms(n,d,S)Y2=fft(y2)YY2=abs(Y2)plot(YY2) ;%画出输出信号hold on M=16 mu=0.2 S=initnlms(zeros(1,M),mu) y3,e3,S3=adaptnlms(n,d,S)Y3=fft(y3)YY3=abs(Y3)plot(YY3) ;%画出输出信号仿真结果如下:时域波形图:图9自适应抵消时域仿真图频域波形图:当保持自适应滤波器的步长不变,改变自适应滤波器的阶数M,分别改为64和16,经过MATLAB仿真,得到的频域波形图如图10所示:图10输出信号的频域图(阶数不同)当保持自适应滤波器的阶数M不变,改变自适应滤波器的步长mu,分别改为0.6和1.0,经过MATLAB仿真,得到的频域波形图如图11所示:图11输出信号的频域图(步长不同)由以上仿真图可得到:步长和阶数的不同对于滤波器的滤波效果有较大影响。就时域图来说:图9可以看出,期望响应d和经滤波器滤波后的实际输出y相差较小,几乎重叠,即达到了抵消的目的。就频域图来说:其中图10步长相同,阶数不同,收敛速度和阶数的变化方向是一致的,同增同减,即阶数越大,收敛速度越大,输出信号的响应也越接近期望信号的响应,而稳态误差变化方向是相反的;其中图11阶数相同,步长不同,随着步长的增大,滤波效果变差而均方误差的稳态减小,但是当步长参数较小时,收敛速度则会降低,并且阶数的变化要比步长的变化对系统的影响大。小结:通过以上两实例可以得到:步长增大,对于系统辨识来说性能越好(图9),对于自适应相互抵消来说滤波效果变差(图9),但二者中的稳态误差随着步长的增大而减小,总体来说步长影响着滤波器的收敛时间,而收敛时间与稳态误差的变换是矛盾的。阶数越大对于滤波器来说是提高了滤波器的性能,但是随着阶数的增大,滤波器的成本也响应的增大,软件仿真的时间较长。所以对于不同的问题,要选取合适的滤波器,阶数不能太大,步长合适,以使其达到最佳的效果。 5 结论本文基于LMS算法,通过MATLAB软件,对自适应滤波器进行了仿真。重点介绍了LMS算法,自适应滤波原理以及通过MATLAB编程对自适应抵消、系统辨识进行了模拟。自适应滤波是研究一类结构和参数可以改变或调整的系统,MATLAB有专门的函数ADAPTLMS实现自适应滤波,在此函数的格式中要求有包含自适应滤波器信息的结构体s,MATLAB提供了专门的初始化函数:INITLMS。在这两个函数的基础上完成对自适应滤波器实现的编程。本文要求的是基于LMS算法,最小均方误差(LMS)算法具有计算量小、易于实现等优点,因此,在实践中被广泛应用。LMS算法的基本思想是调整滤波器自身的参数,使滤波器的输出信号与期望输出信号之间的均方误差最小,并使系统输出为有用信号的最佳估计。在理解了LMS算法的前提下,完成了本次论文的写作。滤波器对于现在通信来说非常重要,自适应滤波器对于输入为随机信号的系统完成了滤波,是滤波器发展中重要的一节。通过本次论文的写作,使我充分了解了滤波器的滤波原理和当前滤波器的发展。参考文献1高西全,丁玉美.数字信号处理.西安:西安电子科技大学出版社,2008.82飞思科技产品研发中心.MATLAB7辅助信号处理技术与应用.北京:电子工业出版社,2005.3 3赵春晖,张朝柱,李刚.自适应信号处理.哈尔滨工业大学出版社,20064楼顺天,刘小东,李博菡.基于MATLAB7.x的系统分析与设计-信号处理.西安电子科技 大学出版社,2005.5 5郑阿奇,曹戈.MATLAB实用教程.电子工业出版社,2007.8目 录一 论文正文1自适应滤波(1)2 LMS自适应滤波器(2)2.1 LMS算法(2)2.2 LMS算法的基本过程(2)2.3 LMS算法的具体步骤(3)2.4 LMS自适应滤波器的结构原理(3)3 LMS滤波器的仿真与实现(4)3.1 LMS算法参数分析(4)3.2 MATLAB实现(4)4自适应滤波器的应用实例(5)4.1 系统辨识(5)4-2 自适应干扰抵消(8)5结论(12)参考文献(14)谢辞(15)二 附录1 论文(设计)任务书(16)2 论文(设计)中期检查报告(18)3 指导教师指导记录表(19)4 论文(设计)结题报告(20)5 成绩评定及答辩评议表(22)6 论文(设计)答辩过程记录(24)基于LMS自适应滤波器的MATLAB实现摘要:近几十年里,数字信号处理技术取得了飞速发展,特别是在自适应信号处理方面,通过内部参数的最优化来自动调节系统特性并以其计算简单,收敛速度快等许多优点而被广泛使用。 本论文主要研究了自适应滤波器的基本结构和原理,然后介绍了最小均方误差算法(LMS算法),并完成了一种基于MATLAB平台的自适应LMS自适应滤波器的设计通过仿真,实现了LMS自适应滤波算法,并从结果得知步长和滤波器的阶数是滤波器中很重要的两个参数,并通过修改它们证实了这一点,其中步长影响着收敛时间,而且阶数的大小也会大大地影响自适应滤波器的性能。关键字:自适应滤波器;MATLAB;LMS;仿真The realization with LMS self-adaptive filter based on MATLABAbstract:In recent decades,digital signal processing technology has achieved Rapid developments,especially in the area of adaptive signal processing.Digital signal processing technology can regulate system festures automatically with optimazation of inner parameter and was widely applicated because of its advangtages of simple calculation ,fast convergence and so on.This paper introduces the structure and theprinciple of the adaptive filter, and then introduces the LMS algorithm, at the same time, it has completed the desig

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论