离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)之间的联系和区别


一、离散时间傅里叶变换(DTFT)

在时间连续域中,信号一般用带有时间变量的函数表示,系统则用微分方程表示。在频域中,则使用傅里叶变换或拉普拉斯变换表示。
在时间离散域中,信号一般用序列表示,系统则用差分方程表示。在频域中,则使用序列的傅里叶变换或Z变换表示。

时间连续模拟信号的傅里叶变换会得到连续的频域信号。那么时间离散信号(序列)的傅里叶变换呢?

x ( n ) x(n) x(n)是一个长为M的序列,其离散时间傅里叶变换(DTFT)为:
公式(1): X ( e j ω ) = D T F T [ x ( n ) ] = ∑ n = − ∞ ∞ x ( n ) e − j ω n X(e^{j\omega})=DTFT[x(n)]=\sum_{n=-\infty}^{\infty}x(n)e^{-j\omega n} X(e)=DTFT[x(n)]=n=x(n)ejωn

离散时间傅里叶逆变换为:
公式(2): x ( n ) = 1 2 π ∫ − π π X ( e j ω ) e j ω n d ω x(n)=\frac{1}{2\pi}\int_{-\pi}^{\pi}X(e^{j\omega})e^{j\omega n}d\omega x(n)=2π1ππX(e)ejωndω

从公式(1)可以看出时间离散信号的DTFT得到的是连续的频域信号!这也是DTFT最明显的特征。

二、离散傅里叶变换(DFT)

x ( n ) x(n) x(n)是一个长为M的序列,其离散傅里叶变换(DFT)为:
公式(3): X ( k ) = D F T [ x ( n ) ] = ∑ n = 0 N − 1 x ( n ) e − j 2 π N k n , k = 0 , 1 , 2 , . . . , N − 1 X(k)=DFT[x(n)]=\sum_{n=0}^{N-1}x(n)e^{-j \frac{2\pi}{N}kn}, k=0,1,2, ..., N-1 X(k)=DFT[x(n)]=n=0N1x(n)ejN2πkn,k=0,1,2,...,N1

离散傅里叶逆变换为:
公式(4): x ( n ) = I D F T [ X ( k ) ] = 1 N ∑ n = 0 N − 1 X ( k ) e j 2 π N k n , n = 0 , 1 , 2 , . . . , N − 1 x(n)=IDFT[X(k)]=\frac{1}{N}\sum_{n=0}^{N-1}X(k)e^{j \frac{2\pi}{N}kn}, n=0,1,2, ..., N-1 x(n)=IDFT[X(k)]=N1n=0N1X(k)ejN2πkn,n=0,1,2,...,N1

从公式(3)可以看出时间离散信号的DFT得到的是离散的频域信号!

那么对 x ( n ) x(n) x(n)进行DFT得到的 X ( k ) X(k) X(k)和对 x ( n ) x(n) x(n)进行DTFT得到的 X ( e j ω ) X(e^{j\omega}) X(e)之间有什么实际物理关系呢?

公式(5): X ( k ) = X ( e j ω ) ∣ ω = 2 π N k , k = 0 , 1 , 2 , . . . , N − 1 X(k)=X(e^{j\omega})|_{\omega=\frac{2\pi}{N}k},k=0,1,2,...,N-1 X(k)=X(e)ω=N2πk,k=0,1,2,...,N1

因此,从公式(5)可以看出对 x ( n ) x(n) x(n)进行DFT得到的X(k)是对 x ( n ) x(n) x(n)进行DTFT得到的 X ( e j ω ) X(e^{j\omega}) X(e)在区间 [ 0 , 2 π ] [0,2\pi] [02π]上的N点等间隔采样。

由于时域非周期信号的转换到频域会得到周期的频域信号,因此区间 [ 0 , 2 π ] [0,2\pi] [02π]是指频域信号一个周期内的所有频域分量。在实际的通信系统中,区间 [ 0 , 2 π ] [0,2\pi] [02π]对应的是信号采样角频率 ω s = 2 π F s \omega s=2\pi Fs ωs=2πFs的范围。这也正是画频谱时,整个频谱宽度等于采样率 F s Fs Fs

也就是说,对 x ( n ) x(n) x(n)进行DTFT得到的 X ( e j ω ) X(e^{j\omega}) X(e)是一个连续的频域信号,而对 x ( n ) x(n) x(n)进行DFT就相当于在频域,在采样频率范围内,对连续的 X ( e j ω ) X(e^{j\omega}) X(e)进行N点采样。

三、DTFT和DFT区别的例子

例如序列 x ( n ) = [ 0 , 1 , 2 , 3 ] x(n)=[0,1,2,3] x(n)=[0,1,2,3],其DTFT为:
X ( e j ω ) = ∑ n = 0 3 x ( n ) e − j ω n = 1 + e − j ω + e − j ω 2 + e − j ω 3 = 1 − e − j ω 3 1 − e − j ω = e − j ω 3 2 s i n ( ω 3 / 2 ) s i n ( ω / 2 ) X(e^{j\omega})=\sum_{n=0}^{3}x(n)e^{-j\omega n}\\ = 1+e^{-j\omega} +e^{-j\omega 2} +e^{-j\omega 3} \\ =\frac{1-e^{-j\omega 3}}{1-e^{-j\omega}}=e^{\frac{-j\omega 3}{2}}\frac{sin(\omega 3/2)}{sin(\omega/2)} X(e)=n=03x(n)ejωn=1+e+e2+e3=1e1e3=e23sin(ω/2)sin(ω3/2)

其8点DFT为:
X ( k ) = ∑ n = 0 7 x ( n ) e − j 2 π 8 k n = e − j 3 π 8 k s i n ( π 2 k ) s i n ( π 8 k ) , k = 0 , 1 , . . . , 7 X(k)=\sum_{n=0}^{7}x(n)e^{\frac{-j2\pi}{8}kn}=e^{\frac{-j3\pi}{8}k}\frac{sin(\frac{\pi}{2}k)}{sin(\frac{\pi}{8}k)},k=0,1,...,7 X(k)=n=07x(n)e8j2πkn=e8j3πksin(8πk)sin(2πk),k=0,1,...,7

它们对应的时域和频域幅度曲线如下所示:
在这里插入图片描述

原时间离散序列

在这里插入图片描述

DTFT后的频域连续信号

在这里插入图片描述

DFT后的频域离散信号

四、快速傅里叶变换(FFT)

直接计算DFT的计算复杂度和点数N的平方成正比,当N较大时,计算量太大。因此,FFT仅仅是降低DFT计算复杂度的各种快速DFT算法的总称。


总结

本博文介绍了离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)的原理。其中,DTFT最明显的特征是将时域离散信号变换为频域连续信号,DFT是在一个采样角频率范围内对DTFT得到的频域连续信号的等间隔N点采样,而FFT仅仅是在DFT基础上简化复杂度后的各种算法总称。

  • 15
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 好的,我来简单介绍一下: 序列的Z变换是一种将离散时间序列转换为复平面上复变量的函数,其形式为X(z)=sum(x[n]*z^(-n)),其中x[n]是原始信号,z是复平面上的变量。 序列的傅里叶变换DTFT)是一种将离散时间序列转换为连续频域函数的方法,其形式为X(e^(jw))=sum(x[n]*e^(-jwn)),其中x[n]是原始信号,w是频率。 离散傅里叶变换DFT)是一种将有限长离散时间序列转换为有限长离散频率序列的方法,其形式为X[k]=sum(x[n]*e^(-j2pi*n*k/N)),其中x[n]是原始信号,k是频率序列的下标,N是序列长度。 快速傅里叶变换FFT)是一种计算DFT的高效算法,可以在O(N*logN)的时间复杂度内完成DFT计算,其中N是序列长度。 它们之间的关系是:FFT算法是计算DFT的一种高效方式,可以在O(N*logN)的时间复杂度内完成DFT计算;而DFT离散傅里叶变换的一种形式,可以将有限长离散时间序列转换为有限长离散频率序列;DTFT是序列的傅里叶变换,可以将离散时间序列转换为连续频域函数;而Z变换是将离散时间序列转换为复平面上复变量的函数。 ### 回答2: 序列的Z变换是一种将离散时间序列变换为复数域频域的方法。它可以将一个离散序列表示为复平面上的点,通过对这些点进行几何平坦和连接,我们可以获得频域中的频率响应。 序列的傅里叶变换DTFT)是连续的,它将离散时间序列转换为连续频率域。使用复指数函数表示,它提供了连续频率域中的时间序列的频谱信息。 离散傅里叶变换DFT)是一种将离散时间序列转换为离散频率域的方法。它是DTFT离散采样版本,通过计算有限数量的DFT系数,它提供了时间序列的频谱信息。 快速傅里叶变换FFT)是一种高效计算DFT的算法。由于DFT计算的复杂性,FFT通过将DFT分解为多个较小的DFT来实现计算效率的提高。FFT算法通过使用旋转因子和分治策略,将计算量从O(N^2)降低到O(N log N),其中N是序列的长度。 因此,可以说FFT是计算离散时间序列的DFT的一种高效算法。DFTDTFT离散版本,而DTFT是将离散序列转换为连续频率域的方法。而Z变换是将离散序列转换为复数域频域的方法,它可以被看作是DTFT的特例。因此,可以说Z变换、DTFTDFT以及FFT之间存在着密切的关系,它们是频域分析中常用的技术工具。 ### 回答3: 序列的Z变换是一种数学变换,用于将离散时间信号转换为Z域的函数。它可以将一个离散时间信号表示为一个复数函数,其中Z是一个复数。 序列的傅里叶变换DTFT)是将一个离散时间信号转换为连续频率域的函数。它使用复指数函数来表示信号的频谱,将离散时间信号转换为无限连续频率信号。 离散傅里叶变换DFT)是将一个有限长度的离散时间信号转换为频率域的离散函数。它用一系列复指数函数来表示信号的频谱,将信号转换为频率的离散值。DFT可以看作是DTFT在频率上的离散采样。 快速傅里叶变换FFT)是一种高效计算DFT的算法。FFT可以大大减少计算复杂度,通过利用信号的对称性和周期性,将DFT的计算复杂度从O(N^2)降低到O(NlogN),其中N是输入信号的长度。 因此,序列的傅里叶变换是将离散时间信号转换为连续频率域的函数,而离散傅里叶变换是将离散时间信号转换为频率域的离散函数。快速傅里叶变换是计算离散傅里叶变换的一种高效算法。因此,FFT是用于计算DFT的方法之一,而DFT则是将离散时间信号转换到频率域的一种数学工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿__星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值