实验报告课程:数字信号处理专业班级:学生姓名:学号:年月日2.1对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。输入x[n]的哪个分量被该离散时间系统抑制?%程序P2_1%一个M点滑动平均滤波器的仿真%产生输入信号n=0:100;s1=cos(2*pi*0.05*n);%一个低频正弦s2=cos(2*pi*0.47*n);%一个高频正弦x=s1+s2;%M点滑动平均滤波器的实现M=input('滤波器所需的长度=');num=ones(1,M);y=filter(num,1,x)/M;clf;subplot(2,2,1);plot(n,s1);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('低频正弦');subplot(2,2,2);plot(n,s2);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('高频正弦');subplot(2,2,3);plot(n,x);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输入信号');subplot(2,2,4);plot(n,y);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输出信号');axis;图形显示如下:答:输入部分nx的高频成分nx2成分被抑制了。2.3对滤波器长度M和正弦信号s1[n]和s2[n]的频率取其他值,运行程序P2.1,算出结果。n=0:100;s1=cos(2*pi*0.02*n);s2=cos(2*pi*0.46*n);x=s1+s2;%M点滑动平均滤波器的实现M=input('滤波器所需的长度=');num=ones(1,M);y=filter(num,1,x)/M;clf;figure,subplot(2,2,1);plot(n,s1);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('低频正弦');subplot(2,2,2);plot(n,s2);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('高频正弦');subplot(2,2,3);plot(n,x);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输入信号');subplot(2,2,4);plot(n,y);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输出信号');axis;num=[1,-ones(1,M-1)];y=filter(num,1,x)/M;figure,subplot(2,2,1);plot(n,s1);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('低频正弦');subplot(2,2,2);plot(n,s2);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('高频正弦');subplot(2,2,3);plot(n,x);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输入信号');subplot(2,2,4);plot(n,y);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输出信号');axis;图形显示如下:答:运行结果如下图,可以看出输出信号保留了输入信号x[n]的高频分量,即保留了s2[n]分量,低频部分s1[n]被抑制了。2.5用不同频率的正弦信号作为输入信号,计算每个输入信号的输出信号。输出信号是如何受到输入信号频率的影响的?从数学上对你的结论加以证明。%程序P2_2%产生一个正弦输入信号clf;n=0:200;f=input('Pleaseinputthevalueoff:')x=cos(2*pi*f*n);%计算输出信号x1=[x00];%x1[n]=x[n+1]x2=[0x0];%x2[n]=x[n]x3=[00x];%x3[n]=x[n-1]y=x2.*x2-x1.*x3;y=y(2:202);%画出输入和输出信号subplot(2,1,1)plot(n,x)xlabel('时间序列n');ylabel('振幅');title('输入信号')subplot(2,1,2)plot(n,y)xlabel('时间信号n');ylabel('振幅');title('输出信号');分别取F=0.05,F=0.47,F=0.5以及F=0,仿真结果如下所示:证明:设输入信号为nnxcos2,则1cos11nnx以及1cos2nnx则.sinsinsinsincossinsincoscoscossinsincoscossinsincoscoscos222222222223122nnnnnnnnnnnxnxnxny答:从图形中可以看出,输入频率越大,输出信号值越小。最后都逐渐趋于0。2.7运行程序P2.3,对由加权输入得到的y[n]在与相同权系数下输出y1[n]和y2[n]相加得到的yt[n]进行比较,这两个序列是否相等?该系统是线性系统么?clf;n=0:40;a=2;b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;num=[2.24032.49082.2403];den=[1-0.40.75];ic=[00];y1=filter(num,den,x1,ic);y2=filter(num,den,x2,ic);y=filter(num,den,x,ic);yt=a*y1+b*y2;d=y-yt;subplot(3,1,1)stem(n,y);ylabel('振幅');title('加权输入:a\cdotx_{1}[n]+b\cdotx_{2}[n]的输出');subplot(3,1,2)stem(n,yt);ylabel('这幅');title('加权输出:a\cdoty_{1}[n]+b\cdoty_{2}[n]');subplot(3,1,3)stem(n,d);xlabel('时间序号n');ylabel('振幅');title('差信号');图形显示如下:答:该仿真结果说明这两个序列相等,该系统是线性系统。2.9当初始条件非零时重做习题Q2.7。令ic=[1020];则仿真结论如下所示:答:该仿真结果说明这两个序列不相等,该系统不是线性系统。2.11假定另一个系统为y[n]=x[n]x[n-1],修改程序P2.3,计算这个系统的输出序列y1[n],y2[n]和y[n]。比较y[n]和yt[n]。这两个序列是否相等?该系统是线性系统吗?n=0:40;a=2;b=-3;x11=[0cos(2*pi*0.1*n)0];x12=[00cos(2*pi*0.1*n)];x21=[0cos(2*pi*0.4*n)0];x22=[00cos(2*pi*0.4*n)];y1=x11.*x12;y2=x21.*x22;yt=a*y1+b*y2;y=(a*x11+b*x21).*(a*x12+b*x22);d=y-yt;subplot(3,1,1)stem([0n0],y);ylabel('振幅');title('加权输入:a\cdotx_{1}[n]+b\cdotx_{2}[n]的输出');subplot(3,1,2)stem([0n0],yt);ylabel('这幅');title('加权输出:a\cdoty_{1}[n]+b\cdoty_{2}[n]');subplot(3,1,3)stem([0n0],d);xlabel('时间序号n');ylabel('振幅');title('差信号');图形显示如下:答:这两个序列不相等,该系统不是线性系统。2.13采用三个不同的延时变量D的值重做习题Q2.12。D=2;D=6;D=12;显示图形如下:答:该系统是时不变系统,满足y[n-D]=yd[n]。2.15在非零的初始条件下重做习题Q2.12,该系统是时不变系统吗?clf;n=0:40;D=10;a=3.0;b=-2;x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);xd=[zeros(1,D)x];num=[2.24032.49082.2403];den=[1-0.40.75];ic=[510];y=filter(num,den,x,ic);yd=filter(num,den,xd,ic);d=y-yd(1+D:41+D);subplot(3,1,1)stem(n,y);ylabel('Õñ·ù');title('Êä³öy[n]');grid;subplot(3,1,2)stem(n,yd(1:41));ylabel('Õñ·ù');title('ÓÉÓÚÑÓʱÊäÈëx[n-10]µÄÊä³ö');grid;subplot(3,1,3)stem(n,d);xlabel('ʱ¼äÐòºÅn');ylabel('Õñ·ù');title('²îÖµÐźÅ');grid;图形显示如下:答:该仿真结果说明该系统是时变系统。2.17考虑另一个系统:y[n]=nx[n]+x[n-1],修改程序P2.4,以仿真上面的系统并确定该系统是否为时不变系统。clf;n=0:40;D=10;a=3.0;b=-2;x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);xd=[zeros(1,D)x];nd=0:length(xd)-1;y=(n.*x)+[0x(1:40)];yd=(nd.*xd)+[0xd(1:length(xd)-1)];d=y-yd(1+D:41+D);subplot(3,1,1)stem(n,y);ylabel('振幅');title('输出y[n]');grid;subplot(3,1,2)stem(n,yd(1:41));ylabel('振幅');title('由于延时输入x[n-10]的输出');grid;subplot(3,1,3)stem(n,d);xlabel('时间序号n');ylabel('振幅');title('差值信号');grid;图形显示如下:答:从仿真结果看,该系统是时变系统。2.19运行程序P2.5,生成式(2.15)所给的离散系统的冲激响应。clf;N=40;num=[2.24032.49082.2403];den=[1-0.40.75];y=impz(num,den,N);%画出冲激相应stem(y);xlabel('时间序号n');ylabel('振幅');title('冲激响应');grid;图形显示如下:2.21利用filter命令编写一个MATLB程序,生成式(2.17)给出的因果线性时不变系统的冲激响应,计算并画出前40个的样本。把你的结果和习题Q2.20中得到的结果相比较。clf;N=40;num=[0.9-0.450.350.002];den=[1.00.71-0.46-0.62];%input:unitpulsex=[1zeros(1,N-1)];%outputy=filter(num,den,x);%Plottheimpulseresponse%NOTE:thetimeaxiswillbeWRONG;h[0]will%beplottedatn=1;butthiswillagree