输入X[n]的s[n]分量被该离散时间系统抑制。
Q2.2 程序P2.1 中 LTI system 被修改为 y[n] = 0.5(x[n]–x[n–1])后, 输入x[n] = s1[n]+s2[n] 导致的输出为:
Signal #1Signal #222Amplitude0-1-2050Time index nInput Signal100Amplitude110-1-2050Time index nOutput Signal10022Amplitude0-1-2050Time index n100Amplitude110-1-2050Time index n100
对于输入的影响是:该系统现在是一个高通滤波器。它通过高频率的输入分量S2,而不是低频分量输入S1。
Q2.3 clf;
n=0:100;
s1=cos(2*pi*0.04*n); s2=cos(2*pi*0.6*n); x=s1+s2;
M=input('滤波器所需的长度='); num=ones(1,M);
y=filter(num,1,x)/M; subplot(2,2,1); plot(n,s1);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅'); title('信号#1'); subplot(2,2,2); plot(n,s2);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅'); title('信号#2'); 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;
Q2.19
43运行 P2_5 生成的结果如下::
Impulse Response2Amplitude10-1-2-30510152025Time index n303540
Q2.21生成的MATLAB代码如下:
clf; N = 40;
num = [0.9 -0.45 0.35 0.002]; den = [1.0 0.71 -0.46 -0.62]; x = [1 zeros(1,N-1)]; y = filter(num,den,x); stem(y);
xlabel('Time index n'); ylabel('Amplitude'); title('Impulse Response'); grid;
程序产生的40个样本如下所示:
Impulse Response21.51Amplitude0.50-0.5-1-1.50510152025Time index n303540
Q2.28 clf;
h=[3 2 1 -2 1 0 -4 0 3]; x=[1 -2 3 -4 3 2 1]; y=conv(h,x); n=0:14;
subplot(2,1,1); stem(n,y);
xlabel('时间序号n');ylabel('振幅'); title('用卷积得到的输出');grid;
x1=[x zeros(1,8)]; y1=filter(h,1,x1); subplot(2,1,2); stem(n,y1);
xlabel('时间序号n');ylabel('振幅');title('由滤波生成的输出'); grid;
① y[n] 和 y1[n] 的差别为: 它们无差别。
②将x[n]补零后得到 x1[n]作为输入,产生y1[n]的原因是--对于长度N1和N2的两个序列,转化率返回得到的序列长度N1 + N2-1。与此相反,过滤器接受一个输入信号和一个系统规范。返回的结果是相同的长度作为输入信号。因此,为了从转化率和滤波器得到直接比较的结果,有必要供应滤波器的输入已经零填充为长度L(x)+L(h)-1。
Q3.1 程序P3_1计算离散时间傅里叶变换的原始序列为:H(e
j?2?z?1)=; ?11?0.6zpause 命令的作用为:加参数,直接用pause的话,就是程序暂停,直至用户按任意一个按键。如果加参数,比如pause(1.5)就是程序暂停1.5秒。
Q3.2 程序 P3_1 运行结果为: