DFT(discrete fourier transform),称为离散傅里叶变换,是数字信号处理领域的常用工具。DFT可以计算出离散数据序列的频谱。
DFT的源头,是连续傅里叶变换,用于将连续时间信号x(t)转换成连续频域信号X(f)。
但是,连续傅里叶变换不适合计算机上应用,所以工程师们就发明了离散傅里叶变换(DFT)。
其中,x(n)是离散输入序列,X(m)是离散输出序列。x(n)和X(m)的个数都是N。也就是说,如果有N个离散输入数据,则其DFT也会产生N个离散输出数据。
N不仅是离散输入数据的数量,也是输出数据的数量,同时还决定DFT的计算量以及输出的频率分辨率。N越大,DFT的计算量越大,频率分辨率也越高。
假设,用500SPS的采样率去采一个连续时间信号,然后做一个N=16的DFT变化,则出来的结果都分布在mfs/N=m*31.25Hz上。
从上面公式可以看出,DFT变换后,不仅有我们常规看到的频谱幅度,还有频谱相位。这个相位也很有用。比如想测量多通道ADC的相位一致性的时候,就靠这个指标。
假设有两个信号,分别为:
xt1=sin(2*pi*1000*t)和xt2=0.5*sin(2*pi*2000*t+3*pi/4),将两个信号叠加,波形如下图所示。
对其做DFT变换,则: