DTFT--DFT--FFT--Z各种离散变换,究竟是个啥?

说明: 如果嫌公式看起来麻烦,可以直接拉到底,看结论。边看结论,变往上拉,看各个部分具体的公式。也可以从头慢慢看到尾。

1. 先从连续信号的傅里叶变换CTFT说起

连续时间傅里叶变换的定义:简称为CTFT,即continuous-time Fourier transform,其定义如下:
CTFT正变换公式(1-1):
F ( j ω ) = ∫ − ∞ ∞ f ( t ) e − j ω t d t F(j\omega)=\int^{∞}_{-∞}{f(t)e^{-j\omega t}}{\rm d}t F(jω)=f(t)ejωtdt

CTFT反变换公式(1-2):
f ( t ) = 1 2 π ∫ − ∞ ∞ F ( j ω ) e j ω t d ω f(t)=\frac{1}{2\pi }\int^{∞}_{-∞}{F(j\omega)e^{j\omega t}}{\rm d}\omega f(t)=2π1F(jω)ejωtdω

对于反变换可理解为:一个连续信号f(t),可由一系列指数函数 e j ω t e^{j\omega t} ejωt求和而得。而每个指数函数前面的系数为加权值。即 1 2 π F ( j ω ) d ω \frac{1}{2\pi }F(j\omega) d\omega 2π1F(jω)dω

2. 离散时间傅里叶变换DTFT

傅里叶变换针对的是连续时间信号,而计算机处理的是离散时间信号。因此,为了计算机处理的方便,我们需要将连续信号在时间域进行离散,常用的方法是对连续信号进行时域采样。
假设原连续信号为 x ( t ) x(t) x(t) ,对其采样后得到的时域离散信号为 x p ( t ) x_p(t) xp(t)
连续时间信号抽样公式(2-1):
x p ( t ) = ∑ n = − ∞ ∞ x ( t ) δ ( t − n T s ) = ∑ n = − ∞ ∞ x ( n T s ) δ ( t − n T s ) x_p(t)=\sum_{n=-∞}^∞{x(t)\delta (t-nT_s)}=\sum_{n=-∞}^∞{x(nT_s)\delta (t-nT_s)} xp(t)=n=x(t)δ(tnTs)=n=x(nTs)δ(tnTs)
这里的 x ( n T s ) x(nT_s) x(nTs)表示 x ( t ) x(t) x(t)在抽样时刻 t = n T s t=nT_s t=nTs处的取值( T s T_s Ts为采样间隔)。这些取值构成了一个序列。通常 x [ n ] x[n] x[n]表示 x ( n T s ) x(nT_s) x(nTs)

仿照连续时间信号的傅里叶变换公式(1-1),离散时间信号DTFT正变换公式(2-2): X ( e j Ω ) = ∑ − ∞ ∞ x ( n ) e − j Ω n X(e^{j \Omega})=\sum^{∞}_{-∞}{x(n)e^{-j\Omega n}} X(ejΩ)=x(n)ejΩn
DTFT反变换公式(2-3): 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}}{\rm d}\Omega x[n]=2π1ππX(ejΩ)ejΩndΩ
说明: 这里的 Ω \Omega Ω是离散的数字角频率。而CTFT公式里的 ω \omega ω连续角频率。如果不是为了对比分析DTFT和CTFT,也可以不用刻意区分大小写。

3. DTFT与CTFT的关系?

事实上,也可以对离散后的时间信号 x p ( t ) x_p(t) xp(t)做DTFT。具体做法就是:将原公式(1-1)中的f(t)换为现在的 x p ( t ) x_p(t) xp(t)。最终,
离散时间信号的CTFT公式(3-1): X p ( j ω ) = ∑ − ∞ ∞ x ( n T s ) e − j ω n T s = ∑ − ∞ ∞ x [ n ] e − j ω n T s X_p(j\omega)=\sum^{∞}_{-∞}{x(nT_s)e^{-j\omega nT_s}}=\sum^{∞}_{-∞}{x[n]e^{-j\omega nT_s}} Xp(jω)=x(nTs)ejωnTs=x[n]ejωnTs
对照公式(2-2) 同一个离散时间信号对应DTFT公式:
X ( e j Ω ) = ∑ − ∞ ∞ x [ n ] e − j Ω n X(e^{j\Omega})=\sum^{∞}_{-∞}{x[n]e^{-j\Omega n}} X(ejΩ)=x[n]ejΩn
可发现:当 Ω = ω T s \Omega=\omega T_s Ω=ωTs时,CTFT变为DTFT。

4. 离散傅里叶变换DFT

无论是中文名,还是英文缩写,DFT和DTFT都很像。那么,在已经知道什么是DTFT之后,DFT又是什么?这不得不再提一下计算机了。我们知道,计算机善于处理离散的数字信号。这也是我们刚才2中将连续信号进行时间离散的目的,但是对这个离散信号所做的DTFT变换,在频率域看到的频谱却不一定也是离散的。为了解决这个问题,需要在频率域也对信号频谱进行采样。这样,无论时域还是频域,都能变成计算机能处理的形式。
那么,具体怎么运算和操作呢?
对有限长序列 x [ n ] x[n] x[n]DFT(离散傅里叶变换) 定义为:
X ( k ) = ∑ 0 N − 1 x ( n ) W N k n X(k)=\sum^{N-1}_{0}{x(n)W_N^{kn}} X(k)=0N1x(n)WNkn
DFT反变换:
x [ n ] = 1 N ∑ 0 N − 1 X ( k ) W N − k n x[n]=\frac{1}{N }\sum^{N-1}_{0}{X(k)W_N^{-kn}} x[n]=N10N1X(k)WNkn
说明:

  • 有限长序列 x [ n ] x[n] x[n]的序列号从0至N-1;
  • W N W_N WN称为旋转因子 W N = e − j 2 π N W_N=e^{\frac{-j2\pi}{N }} WN=eNj2π

5. DFT与DTFT的关系

DTFT:
X ( e j Ω ) = ∑ − ∞ ∞ x ( n ) e − j Ω n X(e^{j \Omega})=\sum^{∞}_{-∞}{x(n)e^{-j\Omega n}} X(ejΩ)=x(n)ejΩn
如果该序列有限长,n取值从0~N-1。上式变为:
X ( e j Ω ) = ∑ 0 N − 1 x ( n ) e − j Ω n X(e^{j \Omega})=\sum^{N-1}_0{x(n)e^{-j\Omega n}} X(ejΩ)=0N1x(n)ejΩn
DFT:
X ( k ) = ∑ 0 N − 1 x ( n ) W N k n X(k)=\sum^{N-1}_{0}{x(n)W_N^{kn}} X(k)=0N1x(n)WNkn
又因为旋转因子 W N = e − j 2 π N W_N=e^{\frac{-j2\pi }{N }} WN=eNj2π,所以:
X ( k ) = ∑ 0 N − 1 x ( n ) e − j 2 π k n N X(k)=\sum^{N-1}_{0}{x(n)e^{\frac{-j2\pi kn}{N}}} X(k)=0N1x(n)eNj2πkn
对比上下两式,可见,当 Ω = 2 π k N \Omega=\frac{2\pi k}{N} Ω=N2πk时,两式等同。
换句话说:DFT的 X ( k ) X(k) X(k)是DTFT X ( e j Ω ) X(e^{j \Omega}) X(ejΩ)按照 Ω = 2 π k N \Omega=\frac{2\pi k}{N} Ω=N2πk采样后的结果。

6. Z变换

限于篇幅。这里不再赘述。大体来说,Z变换属于离散信号的拉普拉斯变换,因此,它可以看做是DTFT这种傅里叶变换的推广。反过来说,在单位圆上的Z变换就是DTFT。

7. 总结Conclusion

DTFT--DFT--FFT--Z各种离散变换,究竟是个啥?_第1张图片
其他,参考:[https://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html]

学过卷积,我们都知道有时域卷积定理和频域卷积定理,在这里只需要记住两点:1.在一个域的相乘等于另一个域的卷积;2.与脉冲函数的卷积,在每个脉冲的位置上将产生一个波形的镜像。(在任何一本信号与系统课本里,此两条性质有详细公式证明)
下面,就用这两条性质来说明DFT,DTFT,DFS,FFT之间的联系:
先看图片:DTFT--DFT--FFT--Z各种离散变换,究竟是个啥?_第2张图片
首先来说图(1)和图(2),对于一个模拟信号,如图(1)所示,要分析它的频率成分,必须变换到频域,这是通过傅立叶变换即FT(Fourier Transform)得到的,于是有了模拟信号的频谱,如图(2);注意1:时域和频域都是连续的!
  但是,计算机只能处理数字信号,首先需要将原模拟信号在时域离散化,即在时域对其进行采样,采样脉冲序列如图(3)所示,该采样序列的频谱如图(4),可见它的频谱也是一系列的脉冲。所谓时域采样,就是在时域对信号进行相乘,(1)×(3)后可以得到离散时间信号x[n],如图(5)所示;由前面的性质1,时域的相乘相当于频域的卷积,那么,图(2)与图(4)进行卷积,根据前面的性质2知,会在各个脉冲点处出现镜像,于是得到图(6),它就是图(5)所示离散时间信号x[n]的DTFT(Discrete time Fourier Transform),即离散时间傅立叶变换,这里强调的是“离散时间”四个字。注意2:此时时域是离散的,而频域依然是连续的。
  经过上面两个步骤,我们得到的信号依然不能被计算机处理,因为频域既连续,又周期。我们自然就想到,既然时域可以采样,为什么频域不能采样呢?这样不就时域与频域都离散化了吗?没错,接下来对频域在进行采样,频域采样信号的频谱如图(8)所示,它的时域波形如图(7)。现在我们进行频域采样,即频域相乘,图(6)×图(8)得到图(10),那么根据性质1,这次是频域相乘,时域卷积了吧,图(5)和图(7)卷积得到图(9),不出所料的,镜像会呈周期性出现在各个脉冲点处。我们取图(10)周期序列的主值区间,并记为X(k),它就是序列x[n]的DFT(Discrete Fourier Transform),即离散傅立叶变换。可见,DFT只是为了计算机处理方便,在频率域对DTFT进行的采样并截取主值而已。有人可能疑惑,对图(10)进行IDFT,回到时域即图(9),它与原离散信号图(5)所示的x[n]不同呀,它是x[n]的周期性延拓!没错,因此你去查找一个IDFT的定义式,是不是对n的取值区间进行限制了呢?这一限制的含义就是,取该周期延拓序列的主值区间,即可还原x[n]!
  FFT呢?FFT的提出完全是为了快速计算DFT而已,它的本质就是DFT!我们常用的信号处理软件MATLAB或者DSP软件包中,包含的算法都是FFT而非DFT。
  DFS,是针对时域周期信号提出的,如果对图(9)所示周期延拓信号进行DFS,就会得到图(10),只要截取其主值区间,则与DFT是完全的一一对应的精确关系。这点对照DFS和DFT的定义式也可以轻易的看出。因此DFS与DFT的本质是一样的,只不过描述的方法不同而已。

你可能感兴趣的:(信号处理,信号处理)