实验三 离散傅里叶变换(DFT).pdfVIP

  • 519
  • 0
  • 约6.06千字
  • 约 5页
  • 2017-07-11 发布于河南
  • 举报
实验三 离散傅里叶变换(DFT).pdf

实验三 离散傅里叶变换(DFT ) 3.1 实验目的 1)加深对离散傅里叶变换 (DFT )基本概念的理解; 2 )了解有限长序列傅里叶变换(DFT )与周期序列傅里叶级数(DFS )、离散时间傅里叶变换(DTFT ) 的联系; 3 )掌握用MATLAB 语言进行离散傅里叶变换和逆变换的方法。 3.2 实验原理 1)有限长序列的傅里叶变换(DFT )和逆变换(IDFT ) 在实际中常常使用有限长序列。如果有限长序列信号为x (n ) ,则该序列的离散傅里叶变换对可以 表示为 N −1 X (k ) DFT[x (n )] ∑x (n ) Wnk , k 0 1, , ,N =−1 N n 0 1 N −1 −nk ( ) IDFT[ ( )] ( ) W , 0,1, , 1 x n X k X k n N ∑ N  =− N k 0 从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。式中, 即仅在单位圆上N 个等间距的点上取值,这为使用计算机进行处理带来了方便。 由有限长序列的傅里叶变换和逆变换定义可知,DFT 和DFS 的公式非常相似,因此在程序编写上 也基本一致。 例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 程序如下: xn=[0, 1, 2, 3, 4, 5, 6, 7]; %建立信号序列 N=length(xn); n=0: N-1; k=0: N-1; Xk=xn*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(k)|); subplot(2, 2, 4); stem(k, angle(Xk)); %显示arg|X(k)| title(arg|X(k)|); 从运行结果可见,与周期序列不同的是,有限长序列本身是仅有N 点的离散序列,相当于周期序 列的主值部分。因此,其频谱也对应序列的主值部分,是含N 点的离散序列。 2 )有限长序列DFT 与周期序列DFS 的联系 将周期序列的傅里叶级数变换对与有限长序列离散傅里叶变换对进行比较,可以看出两者的区别 ~ 仅仅是将周期序列 nk x (n ) 换成了有限长序列x (n ) 。同时,由于式中的 的周期性,因而有限长序列的 W

文档评论(0)

1亿VIP精品文档

相关文档