欢迎来到天天文库
浏览记录
ID:49408118
大小:581.50 KB
页数:10页
时间:2020-03-01
《LMS算法分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于MATLAB的最小均方算法(LMS)仿真与分析实验目地:掌握LMS算法的基本原理和算法中矩阵的构造方法,了解自适应波器原理及性能分析的的方法,对教材中理论知识有直观印象。实验内容:LMS算法的编程仿真。实验仪器:计算机及MATLAB软件。实验时间:2010年12月1日。一、实验原理:LMS算法是自适应滤波器中常用的一种算法,与维纳算法不同的是,其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修止来实现的。因
2、此,理论上讲LMS算法的性能在同等条件下要优于维纳算法,但是LMS算法是在一个初始化值得基础上进行逐步调整得到的,因此,在系统进入稳定之前有…个调整的时间,这个时间受到算法步长因子u的控制,在一定值范围内,增大U会减小调整时间,但超过这个值范围时系统不再收敛,u的最大取值为R的迹。权系数更新公式为:Wi+i=Wi+2gXi依据上述算式,制定LMS滤波器设计实现方法为:(1)设计滤波器的初始化权系数W(0)=0,收敛因子u;(2)计算输入序列经过滤波器后的实际输出值:out(n)=WT(n)*X(n);(3)计算估
3、计误差e(n)=xd(n)-out(n);(1)计算n+1阶的滤波器系数Wn+1=Wn+2*u*e(n)*X(n);(2)重复(2)-⑷过程;二、实验程序及程序的分析:(一)实验程序length=1024*16;%数长N=100;%滤波器的阶数u=0.00001;%步长常数t=0:2*pi/(length-l):2*pi;xd=[sin(2*pi*t)+siri(l0*pi*t)]/2;fori=l:100%期望信号%假设信号输入以前,系统存储器中的值全为0xd(i)=0;endxnoise=sqrt(0.04)
4、:{:randn(l,length);x=xd+xnoise;w=zeros(N,l);fori=l:lengthout(i)=x(i:i+N-l)*w;e(i)=xd(i)-out(i);w=w+2*u*e(i)*x(i:i+N・l)';%叠加噪声的实际输入信号%初始化滤波器的权系数%输岀序列在循环体内部实现,表明其自适应特性%权系数更新endsubplot(4,l,l)plot(out)titled滤波器输出)holdonsubplot(4,l,2)plot(xd)titleC期望信号Jsubplot(4,l
5、,3)plot(x,T)title(输入信号Jsubplot(4丄4)plot(e,g)title('误差变化')(二)程序分析(1)由于滤波器的权系数必须是依据输入序列来更新的,当输入序列未达到X(N)吋,由于部分存储器中没有数值或者造成滤波器输出误差只有length-N个,系数更新达不到耍求,因此耍对输入前的存储器进行赋零初始化。(2)由于自适应滤波器有一个调整时间,因此序列的长度length必须足够长,至少耍大于滤波器的激励时间!否则滤波器输出都是无效数据,滤波器的设计也没有意义!(3)同等阶数条件下,1m
6、s自适应自适应滤波器与维纳滤波器的效果相比,理论上应该自适应滤波器的效果较好,因为它是自适应的,在程序上表现为out的输出在1ms算法中是在循环程序内实现的,而维纳滤波器则是经过输入矩阵与系数相卷积实现的,系数是静态的。三、实验结果及结果分析:(1)信号长度length=1024*16,滤波器的阶数N=100,收敛因子u=0.00001的自适应滤波器仿真结果:滤波黠出滤波器输出信号020004000600080001000012000140001600018000期望信号输入信号IVVvVI丿IIIIIiii02
7、000400060008000100001200014000IM18000误差信号的收敛情况实验结果分析:在本次仿真中,U取值相对较小,因此误差信号收敛速度很慢,同吋滤波器输出信号的调整时间也很长。(2)收敛因子变化对滤波器性能的影响依次取u=0・00001、0.00k0.1考虑系统的性能:(a)u=0.0()001时滤波器输出信号,11111111AI111JAAaAij/i1/1/AAIIf1JAAAA/AAAAAAAAAArAAAAAIvVIAA/VV\jV//vVvVvvWM‘wwv
8、wvvuvwvvUV111iIlli0200040006伽80001000012000140001M1800011=0.00001时误并信号的收敛情况u=O.OOl时误差信号的收敛情况(c)u=O.1时滤波器输出信号u=O.I时误差信号的收敛情况实验结果分析:u=O.OOOOl时,a组图中误差信号的收敛速度很慢,在整个输入讯列中都未完成调整,因此输出序列的开始部分有一个很
此文档下载收益归作者所有