您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > LMS计算机练习报告
LMS计算机练习传统的宽带信号中抑制正弦干扰的方法是采用陷波器(notchfilter),为此我们需要精确知道干扰正弦的频率.然而当干扰正弦频率是缓慢变化时,且选频率特性要求十分尖锐时,则最好采用自适应噪声抵消的方法.下图是用一个二阶FIR的LMS自适应滤波器消除正弦干扰的一个方案。1)借助MATLAB画出误差性能曲面和误差性能曲面的等值曲线;2)写出最陡下降法,LMS算法的计算公式;3)用MATLAB产生方差为0.05,均值为0白噪音S(n),并画出其中一次实现的波形图;4)根据2)中的公式,并利用3)中产生的S(n),在1)中的误差性能曲面的等值曲线上叠加画出采用最陡下降法,LMS法时H(n)的在叠代过程中的轨迹曲线。5)用MATLAB计算并画出LMS法时随时间n的变化曲线(对应S(n)的某一次的一次实现)和e(n)波形;某一次实现的结果并不能从统计的角度反映实验的结果的正确性,为得到具有统计特性的实验结果,可用足够多次的实验结果的平均值作为实验的结果。用MATLAB计算并画出LMS法时J(n)的100次实验结果的平均值随时间n的变化曲线。6)用MATLAB计算并在1)中的误差性能曲面的等值曲线上叠加画出LMS法时100次实验中的H(n)的平均值的轨迹曲线;7)对以上实验结果给出一些你认为有价值的讨论。(在实验中n=1,,…..N,N的取值根据实验情况确定,一般选取足够大以使算法达到基本收敛,本题作业以电子文档PDF格式提供)1.借助MATLAB画出误差性能曲面和误差性能曲面的等值曲线的程序如下:[h0,h1]=meshgrid(-2:0.1:4,-4:0.1:2);J=0.55+h0.*h0+h1.*h1+2*cos(pi/8)*h1.*h0-sqrt(2)*h0*cos(pi/10)-sqrt(2)*h1*cos(9*pi/40);echoon;v=0:0.1:2;%axis([-44-440100]);figure(1);surf(h0,h1,J);%误差曲面xlabel('h0');)(ny宽带信号+正弦干扰0()()()ynSnNn=+01(),(0)0.052()sin()16102()2sin()16ssSnrNnnNnnppp==+=是均匀分布的白噪音不相关和)(),()(10nNnNnS⊕ADF)(nx)(~ny)(ny)(ne正弦干扰相关成Wideband-1()()xnNn=FIR阶次为2(N=2)PDF文件使用pdfFactoryPro试用版本创建('h1');title('误差性能曲面');figure(2);contour(h0,h1,J,v);%误差曲面等值曲线xlabel('h0');ylabel('h1');title('误差性能曲面等值曲线');误差性能曲面和误差性能曲面等值曲线如下:-2024-4-20201020304050h0误差性能曲面h1PDF文件使用pdfFactoryPro试用版本创建写出最陡下降法,LMS算法的计算公式如下:1)最陡下降法计算公式如下:H(n+1)=H(n)-()12GVnd其中,d取0.4,H(0)=[]34T-。()2()2GxxyxVnRHnr=-=()()()()()()001(0)22(1)101yxxxxxxxxxyxrrrhhrrr⎡⎤⎡⎤⎡⎤-⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦⎣⎦其中,()()15021222sin2sincos16161616xxiikikrkppp=-⎛⎞⎛⎞==⎜⎟⎜⎟⎝⎠⎝⎠∑()()15021212sin2sincos1616101616102yxiikikrkppppp=-⎛⎞⎛⎞⎛⎞⎛⎞=+=+⎜⎟⎜⎟⎜⎟⎜⎟⎝⎠⎝⎠⎝⎠⎝⎠∑()()()()010.92390.6725220.923910.537712.736203.5320GGhVnhV⎛⎞⎛⎞⎛⎞=-⎜⎟⎜⎟⎜⎟⎜⎟⎝⎠⎝⎠⎝⎠-⎛⎞=⎜⎟-⎝⎠()()()()0020000.050.50.55yySSNNEynrrr⎡⎤==+=+=⎣⎦PDF文件使用pdfFactoryPro试用版本创建()()()()()()110011.200100.5711yxxxxxoptxxyxxxxxyxrrrHRrrrr--⎡⎤⎛⎞⎡⎤===⎢⎥⎜⎟⎢⎥-⎣⎦⎢⎥⎝⎠⎣⎦()()2min00.05TToptxxoptyyoptyxJEynHRHrHr⎡⎤=-=-=⎣⎦()()222010101920.552cos2cos2cos81040TTyxxxJnEynrHHRHhhhhhhppp⎡⎤=-+=+++--⎣⎦2)LMS算法公式如下()()()()()()()()111111,0,1,2,TenynHnXnHnHnenXnnd+=+-++=+++=L3.用MATLAB产生方差为0.05,均值为0白噪音S(n),并画出其中一次实现的波形图;n=1:1024;s(n)=sqrt(0.05)*randn(1,length(n));plot(s);axis([01024-11]);title('白噪声是s(n)');一次实现的波形图:01002003004005006007008009001000-1-0.8-0.6-0.4-0.200.20.40.60.81白噪声是s(n)4.根据2)中的公式,并利用3)中产生的S(n),在1)中的误差性能曲面的等值曲线上叠加画出采用最陡下降法,LMS法时H(n)的在叠代过程中的轨迹曲线。1)最陡下降法和LMS法程序:clearall;N=1000;%信号点数k=2;%滤波器的阶数PDF文件使用pdfFactoryPro试用版本创建=0.4;%步长s=sqrt(0.05)*randn(1,N);%原始信号n=1:N;y=s(n)+sin(2*pi*n/16+pi/10);%叠加噪声的参考信号x=sqrt(2)*sin(2*pi*n/16);%输入信号figure(1);subplot(3,1,1);plot(n,s);title('原始宽带信号S(n)');subplot(3,1,2);plot(n,y);title('叠加噪声后输出信号y(n)');subplot(3,1,3);plot(n,x);title('相关噪声后输入信号x(n)');%设置初值并进行两种算法的佚代算法hn=zeros(2,N);%存放最陡下降法的H(n)佚代数据hn(:,1)=[3,-4]';vg=[-2.7362-3.5320]';Rxx=[[10.9239]',[0.92391]'];Ryx=[0.67250.5377]';echooff;fori=1:N-1%最陡下降法的i-1次佚代vg=2*Rxx*hn(:,i)-2*Ryx;hn(:,i+1)=hn(:,i)-1/2*q*vg;end;hm=zeros(2,N);%存放LMS算法的H(n)佚代数据h=[3-4]';hm(:,1)=h;fori=2:Nu=x(i:-1:i-1);en=y(i)-u*h;h=h+q*en*u';hm(:,i)=h;end;%绘制图像[h0,h1]=meshgrid(-2:.1:4,-4:.1:2);J=0.55+h0.*h0+h1.*h1+2*cos(pi/8)*h1.*h0-sqrt(2)*h0*cos(pi/10)-sqrt(2)*h1*cos(9*pi/40);v=0:0.1:2;figure(2);contour(h0,h1,J,v);xlabel('h0');ylabel('h1');PDF文件使用pdfFactoryPro试用版本创建(hn(1,:),hn(2,:),'g');plot(hm(1,:),hm(2,:),'r');title('最陡下降法,LMS法时H(n)的在叠代过程中的轨迹曲线');legend('等值曲线','最陡下降法轨迹','LMS算法1次轨迹','NorthEastOutside');仿真相应图形如下:01002003004005006007008009001000-101原始宽带信号S(n)01002003004005006007008009001000-202叠加噪声后输出信号y(n)01002003004005006007008009001000-202相关噪声后输入信号x(n)PDF文件使用pdfFactoryPro试用版本创建最陡下降法,LMS法时H(n)的在叠代过程中的轨迹曲线-2-101234-4-3-2-1012等值曲线最陡下降法轨迹LMS算法1次轨迹5.用MATLAB计算并画出LMS法时J(n)的100次实验结果的平均值随时间n的变化曲线。clearall;g=100;%统计平均次数N=400;k=2;%滤波器阶数q=0.4;%步长enn=zeros(1,N-k+1);%存放单次实现的J(n)en0=zeros(1,N-k+1);%存放单次实现的e(n)ejn=zeros(1,N-k+1,g);%存放100次实现的J(n)%g次统计实验forj=1:gs=sqrt(0.05)*randn(1,N);%原始信号n=1:N;y=s(n)+sin(2*pi*n/16+pi/10);%叠加噪声后的参考信号x=sqrt(2)*sin(2*pi*n/16);%相关输入信号%设置初值,并进行一次LMS算法佚代算法实现h=[3-4]';fori=k:Nu=x(i:-1:i-1);en=y(i)-u*h;h=h+q*en*u';en0(i-k+1)=en;%保存g次计算的最后一次e(n)enn(i-k+1)=en^2;%保存g次计算的最后一次J(n)ejn(:,i-k+1,j)=en^2;%保存g次实现的J(n)PDF文件使用pdfFactoryPro试用版本创建次实验结束%计算g次实验的统计平均的J(n)fori=1:N-k+1;jn(i)=sum(ejn(1,i,:))/g;end;figure(1);subplot(2,1,1);plot(enn);%单次实现的J(n)title('LMS算法单次实现下J(n)');subplot(2,1,2);plot(en0,'r');title('LMS算法单次实现下e(n)');figure(2);plot(jn);%统计平均下的J(n)title('LMS算法100次实现下平均J(n)');LMS算法单次实现下J(n)及e(n):05010015020025030035040001234LMS算法单次实现下J(n)050100150200250300350400-2-1012LMS算法单次实现下e(n)100次统计平均下的J(n)如下图所示:PDF文件使用pdfFactoryPro试用版本创建(n)6.用MATLAB计算并在1)中的误差性能曲面的等值曲线上叠加画出LMS法时100次实验中的H(n)的平均值的轨迹曲线。100次LMS算法的H(n)的平均轨迹曲线程序:clearall;g=100;%统计平均次数N=1000;%信号点数k=2;%滤波器阶数q=0.4;%步长hh=zeros(2,N,g);%存放g次LMS佚代算法的H(n)%g次统计实验forj=1:gs=sqrt(0.05)*randn(1,N);%原始信号n=1:N;y=s(n)+sin(2*pi*n/16+pi/10);%叠加噪声后的参考信号x=sqrt(2)*sin(2*pi*n/16);%相关输入信号%设置初值hn
本文标题:LMS计算机练习报告
链接地址:https://www.777doc.com/doc-7214004 .html