文档详情

数字信号处理实验 matlab版 离散傅里叶变换(DFT).doc

发布:2018-08-19约6.2千字共10页下载文档
文本预览下载声明
实验12 离散傅里叶变换(DFT) (完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢) XXXX学号姓名处XXXX 一、实验目的 (1)加深对离散傅里叶变换(DFT)基本概念的理解。 (2)了解有限长序列傅里叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时间傅里叶变换(DTFT)的联系。 (3)掌握用MATLAB语言进行离散傅里叶变换和逆变换的方法。 二、实验内容 1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT) 2.有限长序列DFT与周期序列DFS的联系 3.有限长序列DFT与离散时间傅里叶变换DTFT的联系 三、实验环境 MATLAB7.0 四、实验原理 1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT) 在实际中常常使用有限长序列。如果有限长序列信号为x(n),则该序列的离散傅里叶变换对可以表示为 (12-1) (12-2) 从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。式中,即仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。 由有限长序列的傅里叶变换和逆变换定义可知,DFT和DFS的公式非常相似,因此在程序编写上也基本一致。 例12-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)|); 运行结果如图12-1所示。 图12-1 例12-1有限长序列的傅里叶变换和逆变换结果 从得到的结果可见,与周期序列不同的是,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N点的离散序列。 2.有限长序列DFT与周期序列DFS的联系 将周期序列的傅里叶级数变换对(式(11-1)和式(11-2))与有限长序列离散傅里叶变换对(式(12-1)和式(12-2))进行比较,可以看出两者的区别仅仅是将周期序列换成了有限长序列。 例12-2 已知周期序列的主值x(n)=[0,1,2,3,4,5,6,7],求x(n)周期重复次数为4次时的DFS。要求:   (1)画出原主值和信号周期序列信号。   (2)画出序列傅里叶变换对应的和的图形。 解 MATLAB程序如下: xn=[0,1,2,3,4,5,6,7]; N=length(xn); n=0:4*N-1;k=0:4*N-1; xn1=xn(mod(n,N)+1); %即xn1=[xn,xn,xn,xn] Xk=xn1*exp(-j*2*pi/N).^(n*k); %离散傅里叶变换 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)可以看成是周期序列的一个周期
显示全部
相似文档