FFT快速傅立叶变换的频率分辨率或增量

问题描述

我尝试在 Matlab 中使用 fft 函数。我能理解为什么 'dt(sampling time interval) = 1/fs(sampling frequency)。但我不明白为什么'df(频率分辨率(增量) = fs/N(数据长度或Tmax)'。为什么df变量是用fs/N决定的?

解决方法

长度为 N 的离散信号可以分解为周期为 N、N/2、N/3、N/4 等的(移位)正弦波,加上一个常数 (DC) 项。这是 DFT 计算的分解。因此,DFT 中的每个 bin 表示对应于波长(周期)的频率,该波长是信号长度的整数部分。

因此,分解中的最小频率为 1/N(如果 dt 以秒为单位,则对应于 1/(dt N) Hz)。

下一个频率分量是 2/N,然后是 3/N,以此类推

最大频率分量为 1(对应于 1/dt),尽管该频率存在混叠。