快速傅里叶变换(FFT)的频谱分辨率

快速傅里叶变换Fast Fourier Transform (FFT)是快速计算离散傅里叶变换的一种算法,是我们在编程时进行傅里叶变换的主要方法。

FFT的输入与输出的个数一致,比如对于长度为1024的一维向量,其输出也为长度为1024的一维向量。而根据Nyquist-Shannon 采样定律,当采样率为1Mhz(每秒1百万个采样点)时,在频率域我们最多只能看到0.5Mhz的信号。

快速傅里叶变换(FFT)的频谱分辨率_第1张图片
快速傅里叶变换(FFT)的频谱分辨率_第2张图片

因此设FFT的输入个数为N,则在频率域的频谱分辨率即频谱间隔为。 当我们进行FFT时,FFT的大小由我们自己来确定(为了计算速度一般取2的N次方),与采样率的大小无关,那么将越多的样本输入FFT,频谱的分辨率越高。比如将N由1024变为2048将使频谱分辨率提高2倍,当然也意味着我们需要延长采样时间了。下图是同样的数据将FFT的大小从100变为1024的频谱图对比,频谱分辨率增加了约10倍, 进行一次fft的采样时间也增加了约10倍。

快速傅里叶变换(FFT)的频谱分辨率_第3张图片

傅里叶变换的参考资料:

  1. PySDR 教程频率域一章 https://pysdr.org/content/frequency_domain.html , 文章中的前两个图片来自教程

  1. 傅里叶分析之掐死教程(完整版) https://zhuanlan.zhihu.com/p/19763358#fromHistory

你可能感兴趣的:(算法,傅里叶分析)