离散傅里叶变换(DFT)

上传人:n**** 文档编号:50737840 上传时间:2018-08-10 格式:PPT 页数:68 大小:1.32MB
返回 下载 相关 举报
离散傅里叶变换(DFT)_第1页
第1页 / 共68页
离散傅里叶变换(DFT)_第2页
第2页 / 共68页
离散傅里叶变换(DFT)_第3页
第3页 / 共68页
离散傅里叶变换(DFT)_第4页
第4页 / 共68页
离散傅里叶变换(DFT)_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《离散傅里叶变换(DFT)》由会员分享,可在线阅读,更多相关《离散傅里叶变换(DFT)(68页珍藏版)》请在金锄头文库上搜索。

1、一、DFT的定义 设x(n)是一个长度为M的有限长序列, 则定义x(n) 的N点离散傅里叶变换为 X(k)的离散傅里叶逆变换为 式中, ,N称为DFT变换区间长度,7.3 离散傅里叶变换(DFT)Date1二、DFT和Z变换的关系 设序列x(n)的长度为N, 其Z变换和DFT分别为:比较上面二式可得关系式(3.1.3)式表明序列x(n)的N点DFT是x(n)的Z变换在单位圆上 的N点等间隔采样; (3.1.4)式则说明X(k)为x(n)的傅里叶变 换X(ej)在区间0,2 上的N点等间隔采样。Date2 实际上, 任何周期为N的周期序列 都可以看 作长度为N的有限长序列x(n)的周期延拓序列,

2、 即为了以后叙述方便, 将(3.1.5)式用如下形式表示: 三、DFT的隐含周期性均为整数 有限长序列x(n)的离散傅里叶变换X(k),正好是x(n)的 周期延拓序列x(n)N的离散傅里叶级数系数 的主值序列,即Date3图 3.1.2 有限长序列及其周期延拓 Date47.3 离散傅里叶变换(DFT) 定义DFT:用类似于例7.9中的方法,可把(7.3)式写成矩阵乘法运算。Xk=xn*Wnk其中,xn为序列行向量,Wnk是一 NN 阶方阵,而 称为旋转因子。Wnk 的MATLAB表示: Wnk = WN.(0:N-1* 0:N-1)Date5用矩阵乘法计算N点DFT的程序如下: MATLAB

3、程序q73a.m %用矩阵乘法计算N点DFT clear;close all xn=input(请输入序列x= ); N = length(xn); % n=0:N-1; k=n; nk=n*k; % 生成NN方阵 WN=exp(-j*2*pi/N); % 旋转因子 Wnk=WN.nk; % 产生旋转因子矩阵 Xk=xn*Wnk; % 计算N点DFT这种方法计算DFT概念清楚、编程简单,但占用内存大、运行 速度低,所以不实用。MATLAB基础部分提供了fft、ifft、fft2、 ifft2等等快速计算傅里叶变换的函数,使DFT的运算速度量提高了若 干数量级,在后面的例题中均直接调用这些函数。

4、Date6例7.15 序列的离散傅立叶变换 求复正弦序列 余弦序列 正弦序列的离散傅立叶变换,分别按N =16和N =8进行计算。 绘出幅频特性曲线, 进行比较讨论。 解:直接产生序列x1n、x2n和x3n,调用fft函数求解 Date7%第七章例7.15程序q715 % DFT计算 clear;close all N=16;N1=8; %产生序列x1(n),计算DFTx1(n) n=0:N-1; x1n=exp(j*pi*n/8); %产生x1(n) X1k=fft(x1n,N); %计算N点DFTx1(n) Xk1=fft(x1n,N1); %计算N1点DFTx1(n) %产生序列x2(n

5、),计算DFTx2(n) x2n=cos(pi*n/8); X2k=fft(x2n,N); %计算N点DFTx2(n) Xk2=fft(x2n,N1); %计算N1点DFTx1(n) %产生序列x3(n),计算DFTx3(n) x3n=sin(pi*n/8); X3k=fft(x3n,N); %计算N点DFTx3(n) Xk3=fft(x3n,N1); %计算N1点DFTx1(n) Date8%绘图 subplot(2,3,1);stem(n,abs(X1k),.); title(16点 DFTx1(n); xlabel(k);ylabel(|X1(k)|) subplot(2,3,2);st

6、em(n,abs(X2k),.); title(16点 DFTx2(n); xlabel(k);ylabel(|X2(k)|) subplot(2,3,3);stem(n,abs(X3k),.); title(16点 DFTx3(n); xlabel(k);ylabel(|X3(k)|) k=0:N1-1; subplot(2,3,4);stem(k,abs(Xk1),.); title(8点 DFTx1(n); xlabel(k);ylabel(|X1(k)|) subplot(2,3,5);stem(k,abs(Xk2),.); title(8点 DFTx2(n); xlabel(k);y

7、label(|X2(k)|) subplot(2,3,6);stem(k,abs(Xk3),.); title(8点 DFTx3(n); xlabel(k);ylabel(|X3(k)|) Date9 在截取16点时,得到的是完整的余弦波形;而截取8点时 ,得到的是半截的余弦波形,当然有大量的谐波成分。Date10例7.16 验证N点DFT的物理意义(1)绘出幅频曲线和相频曲线。(2)计算并图示x(n)的8点DFT。(3)计算并图示x(n)的16点DFT。解: 序列x(n)的点DFT的物理意义是 在0,2上进行点等间隔采样。程序先密集采样,绘制出幅频曲线图。然后再分别做8点和16 点DFT来验

8、证这个采样关系。 程序略。Date11图7.16 离散傅里叶变换与傅里叶变换的采样关系Date12频域采样定理 频域采样是指对有限长序列的傅氏变换在频域离散 化得到X(k)的过程。 本节讨论两个基本问题:a:频域采样(DFT)不失真的条件,即由 X (k)不失 真地恢复x(n)的条件b:用X (k)表示X (z)和 的插值公式(内插公式)Date13图3-3-1 时域恢复示意图 结论:若序列长度为L,频域采样点数(DFT的长度) 为N,且LN,则频域采样后可不失真地恢复原序列 ;但若LN,则频域采样后不能不失真地恢复原序列 。Date14例7.17 频域与时域采样对偶性 (1)产生三角波序列

9、(2)对M = 40,计算x(n)的64点DFT,并图示x(n)和X(k) = DFTx(n),k = 0, 1, , 63。 (3)对(2)中所得X(k)在 0,2 上进行32点抽样得 (4)求 的32点IDFT,即 (5)绘出 的波形图,评述它与x(n)的关系。Date15 % 第七章例7.17程序q717 % 时域与频域采样的对偶性验证 clear;close all M=40;N=64;n=0:M; %产生M长三角波序列x(n) xa=0:floor(M/2); xb= ceil(M/2)-1:-1:0; xn=xa,xb; Xk=fft(xn,64);%64点FFTx(n) X1k=

10、Xk(1:2:N);%隔点抽取Xk得到X1(K) x1n=ifft(X1k,N/2);%32点IFFTX1(k)得到x1(n) nc=0:3*N/2;% 取97点为观察区 xc=x1n(mod(nc,N/2)+1);%x1(n)的周期延拓序列 subplot(3,2,1);stem(n,xn,.) title(40点三角波序列x(n);xlabel(n);ylabel(x(n)Date16 k=0:N-1; subplot(3,2,3);stem(k,abs(Xk),.) title(64点DFTx(n);xlabel(k);ylabel(|X(k)|) k=0:N/2-1; subplot(

11、3,2,4);stem(k,abs(X1k),.) title(X(k)的隔点抽取);xlabel(k);ylabel(|X1(k)|) n1=0:N/2-1; subplot(3,2,2);stem(n1,x1n,.) title(32点IDFTX1(k);xlabel(n);ylabel(x1(n) subplot(3,1,3);stem(nc,xc,.) title(x1(n)的周期延拓序列 );xlabel(n);ylabel(x(mod(n,32) set(gcf,color,w)Date17Date18 由于频域在0,2上的采样点数N(N = 32)小 于x(n)的长度M(M =

12、40),所以,产生时域混叠现 象,不能由X1(k)恢复原序列x(n)。只有满足NM时 ,可由频域采样X1(k)得到原序列x(n)。 这就是频域采样定理。对NM的情况,请读者自己编程验证。Date19用DFT计算线性卷积0kL-1则由时域循环卷积定理有Y(k)=DFTy(n)=X1(k)X2(k), 0kL-1如果Date20 由此可见, 循环卷积既可在时域直接计算, 也可以按 照图3.4.1所示的计算框图, 在频域计算。 由于DFT有快速算 法FFT, 当N很大时, 在频域计算的速度快得多, 因而常用 DFT(FFT)计算循环卷积。 图 3.4.1 用DFT计算循环卷积 Date21 在实际应

13、用中,需要计算两个序列的线性卷积, 与计算循环卷积一样, 为了提高运算速度, 也希望用 DFT(FFT)计算线性卷积。 而DFT只能直接用来计算循环卷积, 为此导出线卷积和循环卷积之间的关系以及循环卷积与 线性卷积相等的条件。 假设h(n)和x(n)都是有限长序列, 长度分别是N和M。 它们的线性卷积和循环卷积分别表示如下: (3.4.1 ) (3.4.2) Date22 其中,LmaxN, M, 所以对照式(3.4.1)可以看出, 上式中 (3.4.3 ) 即(3.4.3)式说明,yc(n)等于yl(n)以L为周期的周期延拓序列的主 值序列。 yl(n)长度为N+M-1,只有当循环卷积长度L

14、 N+M- 1时,yl(n)以L为周期进行周期延拓才无混叠现象。Date23图 3.4.2 线性卷积与循环卷积 Date24 利用DFT进行线性卷积的步骤如下: 1.将序列x(n)和h(n)补零延长,使其长度 2.做x(n)和h(n)的长为L点的DFT得到X(k)和H(k),求它们的 积Y(k)=X(k)H(k) 3.求Y(k)的IDFT并取前 N1 点获得线性卷积的结果为LN1=N+M-1 y(n)=IDFTY(k),0nN1 Date25图 3.4.3 用DFT计算线性卷积框图 Date26例7.18 快速卷积快速卷积就是根据DFT的循环卷积性质,将时域 卷积转换为频域相乘,最后再进行IDFT得到时域卷 积序列y(n)。其中时域和频域之间的变换均用FFT实 现,所以使卷积速度大大提高。框图如下: L点FFTL点FFTL 点 IFFTDate27 % 第七章例7.18程序q718 % 快速卷积计算 clear;close all xn=input(请输入x(n)序列:xn= 书上用 sin(0.4*1:15); hn=input(请输入h(n)长度:hn= 书上用 0.9.(1:20); M=length(xn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号