数字信号处理上机实验答案(第三版-第十章)解读.docx
第十章上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。实验一系统响应及系统稳定性。实验二时域采样与频域采样。实验三用FFT对信号作频谱分析。实验四HR数字滤波器设计及软件实现。实验五FIR数字滤波器设计与软件实现实验六应用实验一一数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四HR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。10.1 实验一:系统响应及系统稳定性1 .实验目的(1)掌握求系统响应的方法。(2)掌握时域离散系统的时域特性。(3)分析、观察及检验系统的稳定性。2 .实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的网。系统的稳态输出是指当“8时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。注意在以下实验中均假设系统的初始状态为零。3 .实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filler函数或COnV函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。(2)给定一个低通滤波器的差分方程为y()=0.05x(n)+0.05x(z-1)+0.9y(n-l)输入信号再()=&()x2(n)=u(n)a)分别求出系统对项()=%()和5)=5)的响应序列,并画出其波形。b)求出系统的单位冲响应,画出其波形。(3)给定系统的单位脉冲响应为hl(h)=Rl0(n)A2伽)=(n)+2.53(-1)+2.55(-2)+(t-3)用线性卷积法分别求系统h(n)和hKn)对项()=4()的输出响应,并画出波形。(4)给定一谐振器的差分方程为y(n)=1.8237-1)-0.9801y(n-2)+b0x(n)-b0x(n-2)令=1/100.49,谐振器的谐振频率为0.4rad.a)用实验方法检查系统是否稳定。输入信号为5)时,画出系统输出波形。b)给定输入信号为x(n)=sin(0.014)+sin(0.4)求出系统的输出响应,并画出其波形。4 .思考题(1)如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应?如何求?(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面第一个实验结果进行分析说明。5 .实验报告要求(1)简述在时域求系统响应的方法。(2)简述通过实验判断系统稳定性的方法。分析上面第三个实验的稳定输出的波形。(3)对各实验所得结果进行简单分析和解释。(4)简要回答思考题。(5)打印程序清单和要求的各信号波形。6 0.1.2实验程序清单%实验1:系统响应及系统稳定性closeall;c!earall%=内容1:调用filter解差分方程,由系统对U(II)的响应判断稳定性=A=l,-0.9;B=0,05,0.05;%系统差分方程系数向量B和Axln=l1111111zeros(l,50);%产生信号xl(n)=R8(n)x2n=ones(l,128);%产生信号x2(n)=u(n)hn=impz(B,A,58);%求系统单位脉冲响应h(n)subplot(2,2J);y='h(n)'tstem(hn,y);%调用函数tstem绘图title(,(a)系统单位脉冲响应h(n),);boxonyln=filter(B,A,xln);%求系统对Xl(Il)的响应yl(n)subplot(2,2,2)5y=,yl(n),5tstem(yln,y);title(*(b)系统对R8(n)的响应yl(n)');boxony2n=filter(B,A,x2n);%求系统对x2(n)的响应y2(n)subplot(2,2,4)5y='y2(n),5tstem(y2n,y);title(,(c)系统对II(II)的响应y2(n),);boxon%=内容2:调用conv函数计算卷积=xln=l1111111;%产生信号xl(n)=R8(n)hln=ones(l,10)zeros(l,10);h2n=l2.52.51ZerOS(1,10);y21n=conv(hln,xln);y22n=conv(h2n,xln);fgure(2)subpIot(2,2J);y=,hl(n)'tstem(hln,y);%调用函数tstem绘图title(,(d)系统单位脉冲响应hl(n)');boxonsubplot(2,2,2)5y='y21(n),5tstem(y21n,y);title(,(e)hl(n)与R8(n)的卷积y21(n),)oxonSUbPlOt(2,2,3);y='h2(nY;tstem(h2n,y);%调用函数tstem绘图title(f)系统单位脉冲响应h2(n),);boxonsubplot(2,2,4)5y='y22(n),5tstem(y22n,y);title(,(g)h2(n)与R8(n)的卷积y22(n),)oxon%=-内容原谐振器分析=un=ones(1,256);%产生信号u(n)n=0:255;xsin=sin(0.014*n)+sin(0.4*n);%产生正弦信号A=l,-1.8237,0.9801;B=l/100.49,0,-1/10049;%系统差分方程系数向量B和Ay31n=filter(B,A,un);%谐振器对U(Il)的响应y31(n)y32n=filter(B,A,xsin);%谐振器对u(n)的响应y31(n)figure(3)subplot(2,l,l)5y='y31(n),5tstem(y31n,y);title(*(h)谐振器对U(II)的响应y31(n)');boxonsubplot(2,l,2)5y='y32(n),5tstem(y32n,y);title(,(i)谐振对正弦信号的响应y32(n),)oxon7 0.1.3实验程序运行结果及分析讨论程序运行结果如图10.1.1所示。实验内容(2)系统的单位冲响应、系统对项()=4()和的响应序列分别如图(a)、(b)和(C)所示;实验内容(3)系统h(n)和h2(n)对x5)=45)的输出响应分别如图(e)和(g)所示;实验内容(4)系统对()和x()=Sin(0.014)+Sin(0.4)的响应序列分别如图(h)和所示。由图(h)可见,系统对5)的响应逐渐衰减到零,所以系统稳定。由图可见,系统对x5)=Sin(0.014)+Sin(0.4?)的稳态响应近似为正弦序列Sin(0.4"),这一结论验证了该系统的谐振频率是0.4rado(a)系统单位脉冲响应h(n)(b)系统对R8的响应y1(n)(C)系统对u(n)的响应y2(n)(d)系统单位脉冲响应h1(n)(e) h1(n) R8的卷积 y21(n)系统单位脉冲响应统(n)n(g)h2(n)与 R8(n)的卷积 y22(n)(h)谐振器对u(n)的响应y31(n)0.04_ 0.02¾0-0.02(i)谐振器对正弦信号的响应y32(n)图10.L18 0.1.4简答思考题(1)如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应。对输入信号序列分段;求单位脉冲响应h(n)与各段的卷积;将各段卷积结果相加。具体实现方法有第三章介绍的重叠相加法和重叠保留法。<2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号的剧烈变化将被平滑,由实验内容(1)结果图10.1.1(a).(b)和(C)可见,经过系统低通滤波使输入信号5()、内5)=45)和X2O?)=5)的阶跃变化变得缓慢上升与下降。10.2 实验二时域采样与频域采样10.2.1 实验指导1 .实验目的时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。2 .实验原理与方法时域采样定理的要点是:a)对模拟信号/(/)以间隔T进行时域等间隔理想采样,形成的采样信号的频谱%(/。)是原模拟信号频谱Xa(JQ)以采样角频率。$(。,=2乃/T)为周期进行周期延拓。公式为:月,(JC)=FTlXa=J力X.(JC-初CS)b)采样频率。S必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。理想采样信号月Q)和模拟信号Xa之间的关系为:£“(,)=X“(r)£b(一T)11=-00对上式进行傅立叶变换,得到:XJ)=口/Y(t-nT)e-jitdt"=Y在上式的积分号内只有当/=时,才有非零值,因此:£(4)=£乙(仃)"X/I=-OO上式中,在数值上/57)=戈5),再将G=OT代入,得到:Xa(j)=£尤()"加上式的右边就是序列的傅立叶变换X(ej),即戈式C)=X(e"")<y=T上式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量用QT代替即可。频域采样定理的要点是:a)对信号x(n)的频谱函数X(e)在O,2上等间隔采样N点,得到XN(八)=X(/)L%,Z=(U2,NT则N点IDFnXN(幻得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列,公式为:(w)=IDFnXN伏加=lx(n+iN)Rv(n)J=-COb)由上式可知,频域采样点数N必须大于等于时域离散信号的长度M(即NNM),才能使时域不产生混叠,则N点IDFnXN(幻得到的序列/()就是原序列x(n),即XNS)=X。如果N>M,XNS)比原序列尾部多N-M个零点;如果N<M,z则XNS)=IDFnXN(公发生了时域混叠失真,而且5)的长度N也比x(n)的长度M短,因此。XN5)与x(n)不相同。在数字信号处理的应用中,只要涉及时域或者频域采样,都必须服从这两个采样理论的要点。对比上面叙述的时域采样原理和频域采样原理,得到一个有用的结论,这两个采样理论具有对偶性:"时域采样频谱周期延拓,频域采样时域信号周期延拓”。因此放在一起进行实验。3 .实验内容及步骤(1)时域采样理论的验证。给定模拟信号,ZQ)=AeySin(COr)NQ)式中A=444.128,=502,o=50211rads,它的幅频特性曲线如图10.2.1图10.2.1的幅频特性曲线现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。安照乙的幅频特性曲线,选取三种采样频率,即尸S=Ik%,300Hz,200%。观测时间选TP=50ZS。为使用DFT,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用x1(n),x2(n),马()表示。x(n)=xanT)=Aeasin(QonT)w(7?T)因为采样频率不同,得到的当5),x2(n),与()的长度不同,长度(点数)用公式N=,XK计算。选FFT的变换点数为M=64,序列长度不够64的尾部加零。rAX()=FFTx(),=0,1,2,3,-MI2万式中代表的频率为k=空k.M要求:编写实验程序,计算M5)、/5)和与()的幅度特性,并绘图显示。观察分析频谱混叠失真。(2)频域采样理论的验证。给定信号如下:n+10"13x(n)=<27-w14H26O其它编写程序分别对频谱函数Xd)=FTx(三)在区间0,2上等间隔采样32和16点,得到X32(幻和毛6(幻:XMk)=Xd)2尸,k=OJ2,310=-k32*6/)=X(0)2*,2=0,1215折k16再分别对*32(幻和Xg(%)进行32点和16点IFFT,得到刍2()和玉6():32(77)=IFFTlX32a)32,"=0,1,2,31X16(M)=IFF11X16a)16,=0,1,2,15分别画出X(e"”)、X32(Z)和XW(Q的幅度谱,并绘图显示Mn)、如()和再6伽)的波形,进行对比和分析,验证总结频域采样理论。提示:频域采样用以下方法容易变程序实现。直接调用MATLAB函数fft计算X32U)=FFTLx()J32就得到Xd)在0,2的32点频率域采样抽取X32(幻的偶数点即可得到X("")在0,2划的16点频率域采样X16(&),即XS(Q=X32(2女),无=0,1,2,15。当然也可以按照领域采样理论,先将信号Mn)以16为周期进行周期延拓,取其主值区(16点),再对其进行16点DFT(FFT),得到的就是X(e"")在0,2泪的16点频率域采样X.6(k).1.1.1 :如果序列x(n)的长度为M,希望得到其频谱X(e%)在0,2m上的N点等间隔采样,当N<M时,如何用一次最少点数的DFT得到该频谱采样?1.1.2 告及要求a)运行程序打印要求显示的图形,。b)分析比较实验结果,简述由实验得到的主要结论c)简要回答思考题d)附上程序清单和有关曲线。1.1.3 实验程序清单1时域采样理论的验证程序清单%时域采样理论验证程序exp2a.mTp=64l000;%观察时间Tp=64微秒%产生M长采样序列x(n)%Fs=100OiT=IZFs;Fs=1000;T=l/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*2A0.5;omega=pi*50*2A0.5;XnI=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);%M点FFTxnt)yn='xa(nT)subplot(3,2,1);tstem(xnt,yn);%调用自编绘图函数tstem绘制序列图boxon;title('(a)Fs=1000Hz,);k=O:M-l;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk);title('(a)T*FTxa(nT),Fs=1000Hz,);XlabeICf(Hz)YylabelC幅度');axis(O,Fs,O,l.2*max(abs(Xk)%=%Fs=300Hz和Fs=200Hz的程序与上面Fs=100OHz完全相同。2领域采样理论的验证程序清单%频域采样理论验证程序exp2b.mM=27;N=32;n=0:M;%产生M长三角波序列x(n)xa=0:floor(M/2);xb=Ceil(M-1:-1:0;xn=xa,xbl;Xk=fft(xn,1024);%1024点FFTx(n),用于近似序列x(n)的TFX32k=fft(xn32);%32点FFTx(n)x32n=ifft(X32k);%32点IFFTX32(k)得到x32(n)X16k=X32k(l:2:N);%隔点抽取X32k得到X16(K)xl6n=ifft(X16k,N2);%16点IFFTX16(k)得到x!6(n)subplot(3,2,2)stem(n,xn,.,)jboxonlitle(1(b)三角波序列x(n),)jxlabel('n,)jylabel('x(n),)axis(0,32,0,20)k=0:1023;wk=2*k/1024;%subplot(3,2,1);plot(wk,abs(Xk);title('(a)FTx(n)l');xlabel('omegaApi');ylabel('|X(eAjAomega)r);axis(0,l,0,200)k=0:N/2-l;subplot(3,2,3);stem(k,abs(X16k),'.");boxontitle(,(c)16点频域采样');XIabel('k');ylabel('|X_6(k)|');axis(0,8,0,200)nl=0:N/2-l;SUbPlot(3,2,4);Stem(n1,x16n,'.");boxontitle(,(d)16点IDFTX_6(k)D;XIabeICn');ylabel('x_6(n)');axis(0,32,0,20)k=O:N-l;subplot(3,2,5);stem(k,abs(X32k),'.");boxontitle(,(e)32点频域采样);XIabel(k);ylabelC|X_3_2(k);axis(0,16,0,200)nl=O:N-l;SUbPlOl(3,2,6);SIem(nl,x32n,'.');boxontitle(,(D32点IDFnX_3_2(k)T);XlabeI('n');ylabel('x_3_2(n)');axis(0,32,0,20)1.1.4 实验程序运行结果1时域采样理论的验证程序运行结果exp2a.m如图10.3.2所示。由图可见,采样序列的频谱的确是以采样频率为周期对模拟信号频谱的周期延拓。当采样频率为1000HZ时频谱混叠很小;当采样频率为300HZ时,在折叠频率150HZ附近频谱混叠很严重:当采样频率为200Hz时,在折叠频率IlOHZ附近频谱混叠更很严重。.(a) Fs=IOOOHznf(Hz)图10.2.22时域采样理论的验证程序exp2b.m运行结果如图10.3.3所示。200(a)Fx(n)l1X0.5伯点频域采样¾ 100X2010(b)三角波序列Xm),mill200100032点频域采样920100 0102030n0102030n (d) 16点 IDFTpq(k)图10.3.30)32 点 IDFT风2的该图验证了频域采样理论和频域采样定理。对信号x(n)的频谱函数X(N")在0,2记上等间隔采样N=16时,N点IDFnXN(幻得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列:5)=IDFnXN伏加=+W)区v()I="OO由于N<M,所以发生了时域混叠失真,因此。XN5)与x(n)不相同,如图图10.3.3(C)和(d)所示。当N=32时,如图图10.3.3(C)和(d)所示,由于N>M,频域采样定理,所以不存在时域混叠失真,因此。XN()与x(n)相同。1.1.5 简答思考题先对原序列x(n)以N为周期进行周期延拓后取主值区序列,XnW=£x(n+iN)RN(n)f=-OO再计算N点DFT则得到N点频域采样:XN(八)=DFT5加=X(0)2,A:=0,1,2,N-Id>=-k10.3实验三:用FFT对信号作频谱分析10.3.1 实验指导1 .实验目的学习用FFr对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。2 .实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2rN,因此要求2N<D.可以根据此式选择FFT的变换区间N。误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。3 .实验步骤及内容(1)对以下序列进行谱分析。xl(h)=R4(h)n+1,0“3“2()=,8-,4n<7O,其它n4一,0"3n-3,4"70,其它n选择FFT的变换区间N为8和16两种情况进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。(2)对以下周期序列进行谱分析。/、X4(7?)=COS-7?X5()=COS(Rz4)÷cos(n/8)选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。(3)对模拟周期信号进行谱分析x6(t)=cosSrt+Cosl6t+cos20R选择采样频率以=64也,变换区间N=I6,32,64三种情况进行谱分析。分别打印其幅频特性,并进行分析和讨论。4 .思考题(1)对于周期序列,如果周期不知道,如何用FFT进行谱分析?(2)如何选择FFT的变换区间?(包括非周期信号和周期信号)(3)当N=8时,当5)和七5)的幅频特性会相同吗?为什么?N=16呢?5 .实验报告要求(1)完成各个实验任务和要求。附上程序清单和有关曲线。(2)简要回答思考题。10.3.2 实验程序清单%第10章实验3程序exp3.m%用FFT对信号作频谱分析clearalkcloseall驳;内容(1)=xln=ones(l,4);%产生序列向量xl(n)=R4(n)M=8;xa=l:(M;Xb=(M/2):-1:1:x2n=xa,xb;%产生长度为8的三角波序列x2(n)x3n=xb,xa;Xlk8=fft(xln.8);Xlkl6=fft(xln,16);X2k8=fft(x2n.8);X2kl6=fft(x2n,16);X3k8=fft(x3n.8);X3kl6=fft(x3n,16);%计算XIn的8点DFT%计算Xln的16点DFT%计算Xln的8点DFT%计算Xln的16点DFT%计算XIn的8点DFT%计算Xln的16点DFT%以下绘制幅频特性曲线subplot(2,2,l);msiem(Xlk8);%绘制8点DFT的幅频特性图IitleC(Ia)8点DFTx(n)D;XIabeI(匕/丸)了汕呢幅度');axis(0,2.0.1.2*max(abs(X1k8)subplot(2,2,3);msiem(XIk16);%绘制16点DFT的幅频特性图Iitlef(Ib)16点DFTx(n)D;XIabeI('3/*ylabel('幅度');axis(0,2,0,1.2*max(abs(X1k16)figuresubplot(2,2,1)zmstem(X2k8);%绘制8点DFT的幅频特性图title(,(2a)8点DFTx-2(n)')jxlabel(,/');ylabel。幅度');axis(0,2.0,1.2*max(abs(X2k8)subplot(2,2,2);mstem(X2k16);%绘制16点DFT的幅频特性图tide(,(2b)16点DFTx_2(n)'):XIabeI("/n上ylabel('幅度');axis(0,2.0,1.2*max(abs(X2k16)subplo(2,2,3);mstem(X3k8);%绘制8点DFT的幅频特性图title(,(3a)8点DFTx_3(n)D;XIabeles/jt)ylabd('幅度');axis(0,2,0,1.2*max(abs(X3k8)subplot(2,2,4);msiem(X3k16);%绘制16点DFT的幅频特性图title('(3b)16点DFTx-3(n)ixlabel('/);ylabdC幅度上axis(0,2.0,1.2*max(abs(X3k16)%实验内容周期序列谱分析=N=8;n=0:N-l;%FFT的变换区间N=8x4n=cos(pi*n4);x5n=cos(pi*n4)+cos(pi*n8);X4k8=fft(x4n);X5k8=fft(x5n);N=16;n=0:N-l;%计算x4n的8点DFT%FFT的变换区间N=16%计算x5n的8点DFTx4n=cos(pi*n4);x5n=cos(pi*n4)+cos(pi*n8);X4kl6=fft(x4n);%计算x4n的16点DFTX5kl6=fft(x5n);%计算x5n的16点DFTfiguresubplot(2,2,1);mstem(X4k8);%绘制8点DFT的幅频特性图tide(,(4a)8点DFTx_4(n)');XlabeI(匕/人ylabd('幅度'):axis(0,2.0,1.2*max(abs(X4k8)subplo(2,2,3);mstem(X4k16);%绘制16点DFT的幅频特性图title(,(4b)16点DFTx_4(n)');Xlabel('3/%ylabel(,幅度为axis(0,2.0,1.2*max(abs(X4k16)subplot(2,2,2);msiem(X5k8);%绘制8点DFT的幅频特性图iitle(,(5a)8点DFTx_5(n)D;XlabeI(匕/五)汕呢幅度');axis(0,2.0,1.2*max(abs(X5k8)subplot(2,2.4);msiem(X5k16);%绘制16点DFT的幅频特性图title(,(5b)16点DFTx.5(n),)ixlabel(,/MylabelC幅度上axis(0,2.0,1.2*max(abs(X5k16)%实验内容(3)模拟周期信号谱分析=figure(4)Fs=64;T=l/Fs;N=16;n=0:N-l;%FFT的变换区间N=16x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(l)16点采样X6kl6=fft(x6nT);%计算x6nT的16点DFTX6k16=fftshift(X6kl6);%将零频率移到频谱中心Tp=N*T;F=lfTp;%频率分辨率Fk=-N/2:N/2-l;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)subplot(3J,l);stem(fk,abs(X6kl6),7);boxon%绘制8点DFT的幅频特性图title(,(6a)16点IDFTx_6(nT)'):XIabeI('f(Hz)ylabel('幅度');axis(-N*F2-1,N*F2-1,0.1.2*max(abs(X6k16)N=32;n=0:N-l;%FFT的变换区间N=16x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)32点采样X6k32=fft(x6nT);%计算x6nT的32点DFTX6k32=fftshift(X6k32);%将零频率移到频谱中心Tp=NfF=IfTp;%频率分辨率Fk=-N/2:N/2-l;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)subplot(3,1,2);stem(fk,abs(X6k32);.');boxon%绘制8点DFT的幅频特性图title(,(6b)32点IDFnX_6(nT);XIabeI('f(Hz)')ylabel('幅度');axis(-N*F2-l.N*F2-1,0,1.2*max(abs(X6k32)N=64;n=0:N-l;%FFT的变换区间N=16x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)64点采样X6k64=fft(x6nT);%计算x6nT的64点DFTX6k64=fftshift(X6k64);%将零频率移到频谱中心TP=N*T;F=l"p;%频率分辨率Fk=-N/2:N/2-l;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)subplot(3,1,3);stem(fk,abs(X6k64);.');boxon%绘制8点DFT的幅频特性图title(,(6a)64点IDFnX_6(nT)H);XIabeIef(HZ);ylabel(,幅度上axis(-N*F2-l,N*F2-l,0,1.2*max(abs(X6k64)10.3.3 实验程序运行结果实验3程序exp3.m运行结果如图10.3.1所示。(1b)16.DFx1(n)Ol0山一山(2a) 8点 DFTx2(n)(2b)16DF2(n)j量rr(3b)16点 DFTlX3(n)J0.511.52(3a) 8点 DFT(x3(n)10(6b) 32点 IDFTx6(nT)l-30-20-100102030f(Hz)(Ba) 64点 IDFTMSDll200-30-201010.3.1KHz) 图程序运行结果分析讨论:请读者注意,用DFT(或FFT)分析频谱,绘制频谱图时,最好将X(k)的自变量k换算成对应的频率,作为横坐标便于观察频谱。¾=k,Z=(M,2,N1N为了便于读取频率值,最好关于口归一化,即以切/乃作为横坐标。1、实验内容(1)图(Ia)和(Ib)说明()=凡()的8点DFT和16点DFT分别是为()的频谱函数的8点和16点采样;因为不()=工2(+3)84(),所以,不()与马()的8点DFT的模相等,如图(2a)和(3a)。但是,当N=16时,£()与()不满足循环移位关系,所以图(2b)和(3b)的模不同。2、实验内容(2),对周期序列谱分析,、兀%()=CoS-的周期为8,所以N=8和N=16均是其周期的整数倍,得到正确的单4一频率正弦波的频谱,仅在0.25冗处有1根单一谱线。如图(4b)和(4b)所示。X5(n)=COS(R2/4)+COS(4/8)的周期为16,所以N=8不是其周期的整数倍,得到的频谱不正确,如图(5a)所示。N=16是其一个周期,得到正确的频谱,仅在0.25和0.125克处有2根单一谱线,如图(5b)所示。3、实验内容(3),对模拟周期信号谱分析x6(t)=cosSt+cosl6t+cos20RZU)有3个频率成分,<=AHz,f2=SHz,f3=IOHzo所以天的周期为o.5so采样频率4=64z=16<=8力=6.4力。变换区间n=16时,观察时间Tp=16T=0.25s,不是4(E)的整数倍周期,所以所得频谱不正确,如图(6a)所示。变换区间N=32,64时,观察时间Tp=0.5s,1s,是4Q)的整数周期,所以所得频谱正确,如图(6b)和(6c)所示。图中3根谱线正好位于4”Z,8"Z/O/Z处。变换区间N=64时频谱幅度是变换区间N=32时2倍,这种结果正好验证了用DFT对中期序列谱分析的理论。注意:(D用DFT(或FFn对模拟信号分析频谱时,最好将X(k)的自变量k换算成对应的模拟频率fk,作为横坐标绘图,便于观察频谱。这样,不管变换区间N取信号周期的几倍,画出的频谱图中有效离散谐波谱线所在的频率值不变,如图(6b)和(6c)所示。F11fk=k=k=-kyZ=O,1,2,TV-IIiNNTTP(2)本程序直接画出采样序列N点DFT的模值,实际上分析频谱时最好画出归一化幅度谱,这样就避免了幅度值随变换区间N变化的缺点。本实验程序这样绘图只要是为了验证了用DFT对中期序列谱分析的理论。10.3.4 简答思考题思考题(1)和(2)的答案请读者在教材3.?节找,思考题(3)的答案在程序运行结果分析讨论已经详细回答。