《数字信号处理第三版上机实验答案》由会员分享,可在线阅读,更多相关《数字信号处理第三版上机实验答案(35页珍藏版)》请在金锄头文库上搜索。
1、第十章上机实验10.1 实验一: 系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。(2)掌握时域离散系统的时域特性。(3)分析、观察及检验系统的稳定性。2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。系统的时域特性指的是
2、系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的19。系统的稳态输出是指当时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳
3、定,达到稳态输出。注意在以下实验中均假设系统的初始状态为零。3实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。(2)给定一个低通滤波器的差分方程为 输入信号 a) 分别求出系统对和的响应序列,并画出其波形。 b) 求出系统的单位冲响应,画出其波形。(3)给定系统的单位脉冲响应为 用线性卷积法分别求系统h1(n)和h2(n)对的输出响应,并画出波形。(4)给定一谐振器的差分方程为 令 ,谐振器的谐振频率为0.4rad。 a) 用实验方法检查系统是否稳定。输入信号为时,画出系统输出波形
4、。 b) 给定输入信号为 求出系统的输出响应,并画出其波形。4思考题(1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求? (2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面 第一个实验结果进行分析说明。5实验报告要求(1)简述在时域求系统响应的方法。(2)简述通过实验判断系统稳定性的方法。分析上面第三个实验的稳定输出的波形。 (3)对各实验所得结果进行简单分析和解释。(4)简要回答思考题。(5)打印程序清单和要求的各信号波形。10.1.2 实验程序清单%实验1:系统响应及系统稳定性x1n=1 1 1 1 1 1
5、1 1;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);title(d)h1n);box onsubplot(2,2,2);y=y21(n);stem(y21n);title(e)h1nR8(n)y21(n);box onsubplot(2,2,3);y=y2(n);stem(h2n);title(f)h2(n);box onsubplot(2,2,4);y=y22(n);s
6、tem(y22n);title(g)h2(n)R8(n)y22(n);box on10.1.3 实验程序运行结果及分析讨论程序运行结果如图10.1.1所示。实验内容(2)系统的单位冲响应、系统对和的响应序列分别如图(a)、(b)和(c)所示;实验内容(3)系统h1(n)和h2(n)对的输出响应分别如图(e)和(g)所示;实验内容(4)系统对和的响应序列分别如图(h)和(i)所示。由图(h)可见,系统对的响应逐渐衰减到零,所以系统稳定。由图(i)可见,系统对的稳态响应近似为正弦序列,这一结论验证了该系统的谐振频率是0.4 rad。10.1.4 简答思考题(1) 如果输入信号为无限长序列,系统的单
7、位脉冲响应是有限长序列,可否用线性卷积法求系统的响应。对输入信号序列分段;求单位脉冲响应h(n)与各段的卷积;将各段卷积结果相加。具体实现方法有第三章介绍的重叠相加法和重叠保留法。 (2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号的剧烈变化将被平滑,由实验内容(1)结果图10.1.1(a)、(b)和(c)可见,经过系统低通滤波使输入信号、和的阶跃变化变得缓慢上升与下降。10.2 实验二 时域采样与频域采样10.2.1 实验指导1. 实验目的 时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要
8、求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。2. 实验原理与方法 时域采样定理的要点是:a) 对模拟信号以间隔T进行时域等间隔理想采样,形成的采样信号的频谱是原模拟信号频谱以采样角频率()为周期进行周期延拓。公式为: b) 采样频率必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的 频谱不产生频谱混叠。 利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。 理想采样信号和模拟信号之间的关系为: 对上式进行傅立叶变换,得到: 在上式的积分号内只有当时,才有非零值,因此: 上式中,在数值上,再将代入,得到: 上式的右边
9、就是序列的傅立叶变换,即 上式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量用代替即可。 频域采样定理的要点是:a) 对信号x(n)的频谱函数X(ej)在0,2上等间隔采样N点,得到则N点IDFT得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列,公式为: b) 由上式可知,频域采样点数N必须大于等于时域离散信号的长度M(即NM),才能使时域不产生混叠,则N点IDFT得到的序列就是原序列x(n),即=x(n)。如果NM,比原序列尾部多N-M个零点;如果NM,z则=IDFT发生了时域混叠失真,而且的长度N也比x(n)的长度M短,因此。与x(n)不相同。
10、 在数字信号处理的应用中,只要涉及时域或者频域采样,都必须服从这两个采样理论的要点。 对比上面叙述的时域采样原理和频域采样原理,得到一个有用的结论,这两个采样理论具有对偶性:“时域采样频谱周期延拓,频域采样时域信号周期延拓”。因此放在一起进行实验。3. 实验内容及步骤(1)时域采样理论的验证。给定模拟信号, 式中A=444.128,=50,=50rad/s,它的幅频特性曲线如图10.2.1 图10.2.1 的幅频特性曲线 现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。 安照的幅频特性曲线,选取三种采样频率,即=1kHz,300Hz,200Hz。观测时间选。 为使用DFT,首先
11、用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用,表示。 因为采样频率不同,得到的,的长度不同, 长度(点数)用公式计算。选FFT的变换点数为M=64,序列长度不够64的尾部加零。X(k)=FFTx(n) , k=0,1,2,3,-,M-1式中k代表的频率为 。要求: 编写实验程序,计算、和的幅度特性,并绘图显示。观察分析频谱混叠失真。(2)频域采样理论的验证。给定信号如下: 编写程序分别对频谱函数在区间上等间隔采样32和16点,得到: 再分别对进行32点和16点IFFT,得到: 分别画出、的幅度谱,并绘图显示x(n)、的波形,进行对比和分析,验证总结频域采样理论。提示:频域采样用
12、以下方法容易变程序实现。 直接调用MATLAB函数fft计算就得到在的32点频率域采样 抽取的偶数点即可得到在的16点频率域采样,即。 当然也可以按照频域采样理论,先将信号x(n)以16为周期进行周期延拓,取其主值区(16点),再对其进行16点DFT(FFT),得到的就是在的16点频率域采样。 4思考题: 如果序列x(n)的长度为M,希望得到其频谱在上的N点等间隔采样,当NM时, 如何用一次最少点数的DFT得到该频谱采样?5. 实验报告及要求a) 运行程序打印要求显示的图形,。 b) 分析比较实验结果,简述由实验得到的主要结论c) 简要回答思考题d) 附上程序清单和有关曲线。10.2.2 实验
13、程序清单1 时域采样理论的验证程序清单clc;Tp=64/1000;Fs=1000;T=1/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*20.5;omega=pi*5020.5;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);yn=xa(nT);subplot(3,2,1);stem(xnt);box on;title(a)Fs=1000Hz);k=0:M-1;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk);title(a)T*FTxa(nT),FS=1000Hz);xlabel(f(Hz);ylabel();axis(0,Fs,0,1.2*max(abs(Xk)%Fs=300HzFS=300;T=1/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*20.5;omega=pi*50*20.5;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);yn=xa(nT);subplot(3,2,3);stem(xnt);box on;title(a)Fs=300Hz);