
数字信号处理上机实验答案汇总.docx
13页数字信号处理上机实验答案(第三版) 实验1:系统响应及系统稳定性 实验程序清单: close all;clear all %======容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';stem(hn, 'y'); %调用函数tstem绘图 title('(a) 系统单位脉冲响应h(n)'); y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';stem(y1n,'y'); title('(b) 系统对R8(n)的响应y1(n)'); y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';stem(y2n,'y'); title('(c) 系统对u(n)的响应y2(n)'); %===容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n); y22n=conv(h2n,x1n); figure(2) subplot(2,2,1);y='h1(n)';stem(h1n,'y'); %调用函数tstem绘图 title('(d) 系统单位脉冲响应h1(n)'); subplot(2,2,2);y='y21(n)'; stem(y21n,'y'); title('(e) h1(n)与R8(n)的卷积y21(n)'); subplot(2,2,3);y='h2(n)'; stem(h2n, 'y'); %调用函数tstem绘图 title('(f) 系统单位脉冲响应h2(n)'); subplot(2,2,4);y='y22(n)';stem(y22n,'y'); title('(g) h2(n)与R8(n)的卷积y22(n)'); %=========容3:谐振器分析======================== un=ones(1,256); %产生信号u(n) n=0:255; xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号 A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n) y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n) figure(3) subplot(2,1,1);y='y31(n)';stem(y31n,'y'); title('(h) 谐振器对u(n)的响应y31(n)'); subplot(2,1,2);y='y32(n)';stem(y32n,'y'); title('(i) 谐振器对正弦信号的响应y32(n)'); 实验程序运行结果及分析讨论 程序运行结果如图10.1.1所示。
实验容(2)系统的单位冲响应、系统对和的响应序列分别如图(a)、(b)和(c)所示; 实验容(3)系统h1(n)和h2(n)对的输出响应分别如图(e)和(g)所示; 实验容(4)系统对和的响应序列分别如图(h)和(i)所示由图(h)可见,系统对的响应逐渐衰减到零,所以系统稳定由图(i)可见,系统对的稳态响应近似为正弦序列,这一结论验证了该系统的谐振频率是0.4 rad 简答思考题 (1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应①对输入信号序列分段;②求单位脉冲响应h(n)与各段的卷积;③将各段卷积结果相加具体实现方法有第三章介绍的重叠相加法和重叠保留法 (2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号的剧烈变化将被平滑,由实验容(1)结果图10.1.1(a)、(b)和(c)可见,经过系统低通滤波使输入信号、和的阶跃变化变得缓慢上升与下降 实验二时域采样与频域采样(注:本实验程序来自互联网,前半部分运行有误,请同学们自行检察,运行截图是正确的,可作参考) 实验程序清单: 1 时域采样理论的验证程序清单 % 时域采样理论验证程序exp2a.m Tp=64/1000; %观察时间Tp=64微秒 %产生M长采样序列x(n) % Fs=1000;T=1/Fs; Fs=1000;T=1/Fs; M=Tp*Fs;n=0:M-1; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); %M点FFT[xnt)] yn='xa(nT)';subplot(3,2,1); stem(xnt,yn); %调用自编绘图函数stem绘制序列图 box on;title('(a) Fs=1000Hz'); k=0:M-1;fk=k/Tp; subplot(3,2,2);plot(fk,abs(Xk));title('(a) T*FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]) %================================================= % Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz完全相同。
2 频域采样理论的验证程序清单 %频域采样理论验证程序exp2b.m M=27;N=32;n=0:M; %产生M长三角波序列x(n) xa=0:floor(M/2); xb= ceil(M/2)-1:-1:0; xn=[xa,xb]; Xk=fft(xn,1024); %1024点FFT[x(n)], 用于近似序列x(n)的TF X32k=fft(xn,32) ;%32点FFT[x(n)] x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n) X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K) x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n) subplot(3,2,2);stem(n,xn,'.');box on title('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20]) k=0:1023;wk=2*k/1024; % subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]'); xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200]) k=0:N/2-1; subplot(3,2,3);stem(k,abs(X16k),'.');box on title('(c) 16点频域采样');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200]) n1=0:N/2-1; subplot(3,2,4);stem(n1,x16n,'.');box on title('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20]) k=0:N-1; subplot(3,2,5);stem(k,abs(X32k),'.');box on title('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200]) n1=0:N-1; subplot(3,2,6);stem(n1,x32n,'.');box on title('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20]) 实验程序运行结果 1 时域采样理论的验证程序运行结果exp2a.m如图10.3.2所示。
由图可见,采样序列的频谱的确是以采样频率为周期对模拟信号频谱的周期延拓当采样频率为1000Hz时频谱混叠很小;当采样频率为300Hz时,在折叠频率150Hz附近频谱混叠很严重;当采样频率为200Hz 时,在折叠频率110Hz附近频谱混叠更很严重 2 时域采样理论的验证程序exp2b.m运行结果如图10.3.3所示 该图验证了频域采样理论和频域采样定理对信号x(n)的频谱函数X(e jω)在[0,2π]上等间隔采样N=16 X k]得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列: 时, N点IDFT[() N ()IDFT[()][()]()N N N N i x n X k x n iN R n ∞ =-∞==+∑ 由于NM ,频域采样定理,所以不存在时域混叠失真,因此)N x n 与x(n)相同 简答思考题 先对原序列x(n)以N 为周期进行周期延拓后取主值区序列, ()[()]()N N i x n x n iN R n ∞ =-∞=+∑ 再计算N 点DFT 则得到N 点频域采样: 2()DFT[()] =() , 0,1,2,,1j N N N k N X k x n X e k N ωπω===- 实验三:用FFT 对信号作频谱分析 10.3.2 实验程序清单 。












