离散时间系统的时域特性分析(数字信号处理实验1答案)
二
clf; n=0:299;
程序框图
x=cos(20*pi*n/256)+cos(200*pi*n/256); num=[0.5 0.27 0.77]; den=[1 0 0]; y=filter(num,den,x); subplot(2,1,1); plot(n,x);
xlabel('时间信号n'); ylabel('信号幅度'); title('输入信号'); subplot(2,1,2); plot(y);
xlabel('时间信号n'); ylabel('信号幅度'); title('输出信号');
clf; n=0:299;
x=cos(20*pi*n/256)+cos(200*pi*n/256); num=[0.45 0.5 0.45]; den=[1 -0.53 0.46]; y=filter(num,den,x);
subplot(2,1,1); plot(n,x);
xlabel('时间信号n'); ylabel('信号幅度'); title('输入信号'); subplot(2,1,2); plot(y);
xlabel('时间信号n'); ylabel('信号幅度'); title('输出信号');
n=40;
num=[0.5 0.27 0.77]; den=[1 0 0]; y=impz(num,den,n); stem(y);
xlabel('时间信号n'); ylabel('信号幅度'); title('冲激响应'); grid;
n=40;
num=[0.45 0.5 0.45]; den=[1 -0.53 0.46]; y=impz(num,den,n); stem(y);
xlabel('时间信号n'); ylabel('信号幅度'); title('冲激响应'); grid;
n=0:60; a=2; b=3;
x1=cos(20*pi*n/256); x2=cos(200*pi*n/256); x=a*x1+b*x2; num=[0.45 0.5 0.45]; den=[1 -0.53 0.46];
y1=filter(num,den,x1); y2=filter(num,den,x2); y=filter(num,den,x); yt=a*y1+b*y2; subplot(2,1,1); stem(n,y); ylabel('信号幅度'); subplot(2,1,2); stem(n,yt); ylabel('信号幅度');
n=0:60; D=10; a=1; b=1;
x=a*cos(20*pi*n/256)+b*cos(200*pi*n/256); xd=[zeros(1,D) x]; num=[0.45 0.5 0.45]; den=[1 -0.53 0.46]; ic=[0 0];
y=filter(num,den,x,ic); yd=filter(num,den,xd,ic); N=length(y); d=y-yd(1+D:N+D); subplot(3,1,1); stem(n,y); ylabel('信号幅度'); title('输出y[n]'); grid;
subplot(3,1,2);
stem(n,yd(1:length(y))); ylabel('信号幅度'); subplot(3,1,3); stem(n,d);
xlable('时间序号n'); ylable('信号幅度'); title('差值信号'); grid;