这个涉及到细节了。实际上输入的是时域信号,经过FFT之后得到的是频域信号。这个库是以复数的形式来表示频域的结果。由详细的理论推导可以知道,结果里面是共轭对称的,相对于中间的点。时域获得的信号,其物理频率是等于ADC的采样频率 F_s 。由于是选择时域信号中的 N 个信号进行fft 变换,得到的频域结果,最高频率也是 F_s ,最低的频率是 0 , 分别是第N 项的复数和第0 项的复数。但是由于周期性的重复(奈奎斯特采样极限,采样频率F_s 所能获取的不产生失真的最高频率是 F_s /2 ),实际上频域中会出现第 N/2+1项到第 N-1 项和 第 1 项到 第 N/2 -1 项 关于第 N/2 项对称。所以,频域的信号的第 0 项,对应直流分量。第N-1项对应 F_s, 但是真正有用的是第0项到第N/2 项,对应的频率是 0 ~ Fs/2. 所以频域中的相邻两个之间的额频率差 delta_F = F_s/(N) 。 如果计算赋值,还需要注意, 对应于于直流分量,其复数的模除于 N 为直流分量赋值。其他项则是对应的复数的模处于N/2.
参考文献 :
1.FFT(快速傅里叶变换)中频率和实际频率的关系 https://www.sohu.com/a/122159699_464086
2.深入浅出解释FFT(一)——用fft求频谱 - ucliaohh的个人页面 - OSCHINA - 中文开源技术交流社区 https://my.oschina.net/ucliaohh/blog/3098674
|