不少同窗学习了数字信号处理以后,被里面的几个名词搞的晕头转向,好比DFT,DTFT,DFS,FFT,FT,FS等,FT和FS属于信号与系统课程的内容,是对连续时间信号的处理,这里就不过多讨论,只解释一下前四者的关系。 算法
首先说明一下,我不是数字信号处理专家,所以这里只站在学生的角度以最浅显易懂的性质来解释问题,而不涉及到任何公式运算。 函数
学过卷积,咱们都知道有时域卷积定理和频域卷积定理,在这里只须要记住两点:1.在一个域的相乘等于另外一个域的卷积;2.与脉冲函数的卷积,在每一个脉冲的位置上将产生一个波形的镜像。(在任何一本信号与系统课本里,此两条性质有详细公式证实) 学习
下面,就用这两条性质来讲明DFT,DTFT,DFS,FFT之间的联系: spa
先看图片: 设计
首先来讲图(1)和图(2),对于一个模拟信号,如图(1)所示,要分析它的频率成分,必须变换到频域,这是经过傅立叶变换即FT(Fourier Transform)获得的,因而有了模拟信号的频谱,如图(2);注意1:时域和频域都是连续的! orm
可是,计算机只能处理数字信号,首先须要将原模拟信号在时域离散化,即在时域对其进行采样,采样脉冲序列如图(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]! form
FFT呢?FFT的提出彻底是为了快速计算DFT而已,它的本质就是DFT!咱们经常使用的信号处理软件MATLAB或者DSP软件包中,包含的算法都是FFT而非DFT。 软件
DFS,是针对时域周期信号提出的,若是对图(9)所示周期延拓信号进行DFS,就会获得图(10),只要截取其主值区间,则与DFT是彻底的一一对应的精确关系。这点对照DFS和DFT的定义式也能够轻易的看出。所以DFS与DFT的本质是同样的,只不过描述的方法不一样而已。 方法
不知道通过上面的解释,您是否明白各类T的关系了呢?若是您不是算法设计者,其实只要懂得如何使用FFT分析频谱便可,博主近期会更新一篇文章,专门介绍如何利用FFT分析简单信号的频谱。
其实我的认为,纠结了这么多,就是为了打破现实模拟世界与计算机数字世界的界限呀!