x2=conv(h,x); y1=filter(h,1,x2); subplot(2,1,2); stem(n,y1);
xlabel('时间序号n');ylabel('振幅');title('由滤波生成的输出');grid;
用卷积得到的输出2010振幅0-10-2002468时间序号n由滤波生成的输出101214200100振幅0-10002468时间序号n101214
图16
Q2.33考虑差分方程y[n]=x[n]-4x[n-1]+3x[n-2]+1.7y[n-1]-y[n-2],,描述的离散时间系统。修改程序P2.8,计算并画出上述系统的冲激响应。运行程序如下,结果如图17; clf;
num=[1 -4 3];den=[1 -1.7 1]; N=200;
h=impz(num,den,N+1); parsum=0; for k=1:N+1;
parsum=parsum+abs(h(k)); if abs(h(k))<10^(-5),break,end end n=0:N; stem(n,h)
xlabel('时间序号n');ylabel('振幅'); disp('值=');disp(abs(h(k))); 计算结果: 值=
2.0321
2.521.510.5振幅0-0.5-1-1.5-2-2.5020406080100120时间序号n140160180200图17
Q2.3修改程序P2.9,将输入序列改变成扫频正弦序列(长度为301、最低频率为0、最高频率为0.5)。运行程序如下,结果如图18; clf;
n=0:300;
x1=cos(2*pi*0.0*n); x2=cos(2*pi*0.5*n); x=x1+x2;
num1=[0.5 0.27 0.77]; y1=filter(num1,1,x); den2=[1 -0.53 0.46]; num2=[0.45 0.5 0.45]; y2=filter(num2,den2,x); subplot(2,1,1);
plot(n,y1);axis([0 50 0 2]); ylabel('振幅');
title('系统#1的输出');grid; subplot(2,1,2);
plot(n,y2);axis([0 50 0 2]);
xlabel('时间序号n');ylabel('振幅'); title('系统#2的输出');grid;
系统#1的输出21.5振幅10.5005101520253035404550系统#2的输出21.5振幅10.50051015202530时间序号n35404550图18