实验2 离散傅里叶变换(DFT)
一、实验目的
(1)加深对离散傅里叶变换(DFT)基本概念的理解。
(2)了解有限长序列傅里叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时间傅里叶变换(DTFT)的联系。
(3)掌握用MATLAB语言进行离散傅里叶变换和逆变换的方法。
傅里叶变换公式原理
二、实验内容
1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT)
2.有限长序列DFT与周期序列DFS的联系
3.有限长序列DFT与离散时间傅里叶变换DTFT的联系
三、实验环境
      MATLAB7.0 
四、实验原理
1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT)
在实际中常常使用有限长序列。如果有限长序列信号为x(n),则该序列的离散傅里叶变换对可以表示为
            (2-1)
        (2-2)
从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。式中,即仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。
由有限长序列的傅里叶变换和逆变换定义可知,DFT和DFS的公式非常相似,因此在程序编写上也基本一致。
2-1 已知x(n)=[0,1,2,3,4,5,6,7],求x(n)的DFT和IDFT。要求:
(1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]图形。
(2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较。
解 MATLAB程序如下: 
>> title('|X(k)|');
运行结果如图2-1所示。
图2-1 例2-1有限长序列的傅里叶变换和逆变换结果
从得到的结果可见,与周期序列不同的是,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N点的离散序列。
2.有限长序列DFT与周期序列DFS的联系
将周期序列的傅里叶级数变换与有限长序列离散傅里叶变换对(式(2-1)和式(2-2))进行比较,可以看出两者的区别仅仅是将周期序列换成了有限长序列。
2-2 已知周期序列的主值x(n)=[0,1,2,3,4,5,6,7],求x(n)周期重复次数为4次时的DFS。要求:
  (1)画出原主值和信号周期序列信号。
  (2)画出序列傅里叶变换对应的的图形。
解 MATLAB程序如下:
运行结果如图2-2所示。
图2-2 例2-2周期序列的傅里叶级数(DFS)结果
由这个周期序列的实验我们可以看出,与例2-1相比,有限长序列x(n)可以看成是周期序列的一个周期;反之,周期序列可以看成是有限长序列x(n)以N为周期的周期延拓。频域上的情况也是相同的。从这个意义上说,周期序列只有有限个序列值有意义。
3.有限长序列DFT与离散时间傅里叶变换DTFT的联系
离散时间傅里叶变换(DTFT)是指信号在时域上为离散的,而在频域上则是连续的。
如果离散时间非周期信号为x(n),则它的离散傅里叶变换对(DTFT)表示为
其中X(ejw)称为信号序列的频谱。将频谱表示为.|X(ejw)|称为序列的幅度谱, 称为序列的相位谱。
从离散时间傅里叶变换的定义可以看出,信号在时域上是离散的、非周期的,而在频域上则是连续的、周期性的。
与有限长序列相比,X(ejw)仅在单位圆上取值,X(k)是在单位圆上N个等间距的点上取值。因
此,连续谱X(ejw)可以由离散谱X(k)经插值后得到。
为了进一步理解有限长序列的傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)的联系,我们举例说明离散时间傅里叶变换的使用方法和结果。
2-3 求x(n)=[0,1,2,3,4,5,6,7],0≤n≤7的DTFT,将(-2p,2p)区间分成500份。要求:
(1)画出原信号。
(2)画出由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱arg[X(ejw)]图形。
MATLAB程序如下:
运行结果如图2-3所示。
图2-3 例2-3离散时间傅里叶变换(DTFT)的结果
由图2-3与DFT的结果图2-1相比可以看出,两者有一定的差别。主要原因在于,该例进行DTFT时,X(ejw)在单位圆上取250个点进行分割;而图2-1进行DFT时,X(k)是在单位圆上N=8的等间距点上取值,X(k)的序列长度与X(ejw)相比不够长。
例2-4 仍然用x(n)=[0,1,2,3,4,5,6,7],将x(n)的有限长序列后面补足至N=100,求其DFT,并与例2-3进行比较。
解  将例2-1程序的前2行改为
  N=100;
  xn=[0,1,2,3,4,5,6,7,zeros(1,N-8)];
则|X(k)|和arg[X(k)]的图形接近由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱arg[X(ejw)]的图形,如图2-4所示。注意,此图对应[0,2p]区间。
MATLAB程序如下:
运行结果如图2-4所示。
图2-4 增长有限长序列的长度得到|X(k)|和arg[X(k)]
五、实验内容
1. 已知有限长序列x(n)=[765432],求x(n)DFTIDFT。要求:
①画出序列傅里叶变换对应的|X(k)|argX(k)]的图形。
  ②画出原信号与傅里叶逆变换IDFTX(k)]的图形进行比较。
解:
运行结果:
2. 已知周期序列的主值x(n)=[765432],求x(n)周期重复次数为3次时的DFSIDFS。要求:
①画出原信号序列的主值和周期序列的图形。
②画出序列傅里叶变换对应的的图形。
解:
3. 求x(n)=[7,6,5,4,3,2],0≤n≤5的DTFT,将(-2p,2p)区间分成500份。要求:
①求出原信号。
②画出由离散时间傅里叶变换求得的幅度谱X(ejw)和相位谱arg[X(ejw)]的图形。
③求有限长序列x(n)=[7,6,5,4,3,2],N=100时的DFT,并与DTFT的结果进行比较。
运行结果:
4. 讨论序列补零及增加数据长度对信号频谱的影响
(1) 求出序列x(n)=cos(0.48 n)+cos(0.52 n)基于有限个样点n=10的频谱
(2) 求n=100时,取x(n)的前10个,后90个设为零,得到x(n)的频谱
(3) 增加x(n)有效的样点数,取100个样点得到x(n)的频谱

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。