1、1.1 市场与市场营销市场与市场营销1.2 我国汽车市场的发展与现状我国汽车市场的发展与现状复习思考题复习思考题实验12 离散傅里叶变换(DFT)一、实验目的一、实验目的(1)加深对离散傅里叶变换(DFT)基本概念的理解。(2)了解有限长序列傅里叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时间傅里叶变换(DTFT)的联系。(3)掌握用MATLAB语言进行离散傅里叶变换和逆变换的方法。二、实验原理二、实验原理1.有限长序列的傅里叶变换有限长序列的傅里叶变换(DFT)和逆变换和逆变换(IDFT)在实际中常常使用有限长序列。如果有限长序列信号为x(n),则该序列的离散傅里叶变换对可以表示为(
2、12-1)(12-2)1N,0,1,k,Wx(n)DFTx(n)X(k)1N0nnkN1N,0,1,n,WX(k)N1IDFTX(k)x(n)1N0knkN从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。式中,即仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。由有限长序列的傅里叶变换和逆变换定义可知,DFT和DFS的公式非常相似,因此在程序编写上也基本一致。N2jNeW例例12-1 已知x(n)0,1,2,3,4,5,6,7,求x(n)的DFT和IDFT。要求:(1)画出序列傅里叶变换对应的|X(k)|和argX(k)图形。(2)画出原信号与
3、傅里叶逆变换IDFTX(k)图形进行比较。解解 MATLAB程序如下:xn0,1,2,3,4,5,6,7;%建立信号序列Nlength(xn);n0:N1;k0:N1;Xkxn*exp(j*2*pi/N).(n*k);%离散傅里叶变换x(Xk*exp(j*2*pi/N).(n*k)/N;%离散傅里叶逆变换subplot(2,2,1),stem(n,xn);%显示原信号序列title(x(n);subplot(2,2,2),stem(n,abs(x);%显示逆变换结果title(IDFT|X(k)|);subplot(2,2,3),stem(k,abs(Xk);%显示|X(k)|title(|X
4、(k)|);subplot(2,2,4),stem(k,angle(Xk);%显示arg|X(k)|title(arg|X(k)|);运行结果如图12-1所示。图12-1 例12-1有限长序列的傅里叶变换和逆变换结果从得到的结果可见,与周期序列不同的是,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N点的离散序列。2.有限长序列有限长序列DFT与周期序列与周期序列DFS的联系的联系将周期序列的傅里叶级数变换对(式(11-1)和式(11-2)与有限长序列离散傅里叶变换对(式(12-1)和式(12-2)进行比较,可以看出两者的区别仅仅是将周期序
5、列AKx(n)换成了有限长序列x(n)。同时,由于式中的WnkN的周期性,因而有限长序列的离散傅里叶变换实际上隐含着周期性。例例12-2 已知周期序列的主值x(n)0,1,2,3,4,5,6,7,求x(n)周期重复次数为4次时的DFS。要求:(1)画出原主值和信号周期序列信号。(2)画出序列傅里叶变换对应的|AKX(k)|和argAKX(k)的图形。解解 MATLAB程序如下:xn0,1,2,3,4,5,6,7;Nlength(xn);n0:4*N1;k0:4*N1;xn1xn(mod(n,N)1);%即xn1xn,xn,xn,xnXkxn1*exp(j*2*pi/N).(n*k);%离散傅里
6、叶变换subplot(2,2,1),stem(xn);%显示序列主值title(原主值信号x(n);subplot(2,2,2),stem(n,xn1);%显示周期序列title(周期序列信号);subplot(2,2,3),stem(k,abs(Xk);%显示序列的幅度谱title(|X(k)|);subplot(2,2,4),stem(k,angle(Xk);%显示序列的相位谱title(arg|X(k)|);运行结果如图12-2所示。图12-2 例12-2周期序列的傅里叶级数(DFS)结果由这个周期序列的实验我们可以看出,与例12-1相比,有限长序列x(n)可以看成是周期序列的一个周期;
7、反之,周期序列可以看成是有限长序列x(n)以N为周期的周期延拓。频域上的情况也是相同的。从这个意义上说,周期序列只有有限个序列值有意义。(n)x(n)x3.有限长序列有限长序列DFT与离散时间傅里叶变换与离散时间傅里叶变换DTFT的联系的联系离散时间傅里叶变换(DTFT)是指信号在时域上为离散的,而在频域上则是连续的。如果离散时间非周期信号为x(n),则它的离散傅里叶变换对(DTFT)表示为njjex(n)X(eDTFTx(n)de)X(e21x(n)IDTFTX(ejjj其中X(ejw)称为信号序列的频谱。将频谱表示为|X(ejw)|称为序列的幅度谱,称为序列的相位谱。从离散时间傅里叶变换的
8、定义可以看出,信号在时域上是离散的、非周期的,而在频域上则是连续的、周期性的。)(jje)X(e)X(e)X(earg)(j与有限长序列相比,X(ejw)仅在单位圆上取值,X(k)是在单位圆上N个等间距的点上取值。因此,连续谱X(ejw)可以由离散谱X(k)经插值后得到。为了进一步理解有限长序列的傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)的联系,我们举例说明离散时间傅里叶变换的使用方法和结果。例例12-3 求x(n)0,1,2,3,4,5,6,7,0n7的DTFT,将(2p,2p)区间分成500份。要求:(1)画出原信号。(2)画出由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱
9、argX(ejw)图形。解解 MATLAB程序如下:xn0,1,2,3,4,5,6,7;Nlength(xn);n0:N1;wlinspace(2*pi,2*pi,500);%将2p,2p频率区间分割为500份Xxn*exp(j*n*w);%离散时间傅里叶变换subplot(3,1,1),stem(n,xn,k);ylabel(x(n);subplot(3,1,2),plot(w,abs(X),k);%显示序列的幅度谱axis(2*pi,2*pi,1.1*min(abs(X),1.1*max(abs(X);ylabel(幅度谱);subplot(3,1,3),plot(w,angle(X),k
10、);%显示序列的相位谱axis(2*pi,2*pi,1.1*min(angle(X),1.1*max(angle(X);ylabel(相位谱);运行结果如图12-3所示。由图12-3与DFT的结果图12-1相比可以看出,两者有一定的差别。主要原因在于,该例进行DTFT时,X(ejw)在单位圆上取250个点进行分割;而图12-1进行DFT时,X(k)是在单位圆上N8的等间距点上取值,X(k)的序列长度与X(ejw)相比不够长。图12-3 例12-3离散时间傅里叶变换(DTFT)的结果例例12-4 仍然用x(n)0,1,2,3,4,5,6,7,将x(n)的有限长序列后面补足至N100,求其DFT,
11、并与例12-3进行比较。解解 将例12-1程序的前2行改为N100;xn0,1,2,3,4,5,6,7,zeros(1,N8);则|X(k)|和argX(k)的图形接近由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱argX(ejw)的图形,如图12-4所示。注意,此图对应0,2p区间。图12-4 增长有限长序列的长度得到|X(k)|和argX(k)三、实验任务三、实验任务(1)阅读并输入实验原理中介绍的例题程序,观察输出的图形曲线,理解每一条语句的含义。(2)已知有限长序列x(n)7,6,5,4,3,2,求x(n)的DFT和IDFT。要求:画出序列傅里叶变换对应的|X(k)|和argX(
12、k)的图形。画出原信号与傅里叶逆变换IDFTX(k)的图形进行比较。(3)已知周期序列的主值x(n)7,6,5,4,3,2,求x(n)周期重复次数为3次时的DFS和IDFS。要求:画出原信号序列的主值和周期序列的图形。画出序列傅里叶变换对应的和的图形。(k)X(k)Xarg(4)求x(n)7,6,5,4,3,2,0n5的DTFT,将(2p,2p)区间分成500份。要求:画出原信号。画出由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱argX(ejw)的图形。求有限长序列x(n)7,6,5,4,3,2,N100时的DFT,并与DTFT的结果进行比较。四、实验预习四、实验预习(1)认真阅读实验原理,明确本次实验任务,读懂例题程序,了解实验方法。(2)根据实验任务预先编写实验程序。(3)预习思考题:有限长序列的离散傅里叶变换(DFT)与周期序列的傅里叶级数(DFS)有何联系与区别?有限长序列的离散傅里叶变换(DFT)有何特点?五、实验报告五、实验报告(1)列写调试通过的实验程序,打印或描绘实验程序产生的曲线图形。(2)思考题:回答实验预习思考题。有限长序列的离散傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)有何联系与区别?