如何在频率

时间:2016-11-24 19:41:43

标签: matlab audio signal-processing fft

如果我的问题没有任何意义,我会事先道歉。我很困惑,因为我很难理解它。这是一个普遍的问题,我需要回答我目前正在处理的代码。

对于音频文件(wav),我的采样率为44.1 kHz,我想要使用FFT。如果我是对的,这意味着,1秒内有44100点。我已经完成了nyquist-shannon定理的规则,它说我的fs / 2> FMAX。我的频率分辨率为4096.我定义了一个变量,即300 Hz。我想知道,那里有多少分。

1 个答案:

答案 0 :(得分:4)

如果您的FFT大小为4096且采样率为44.1 kHz,则每个bin的分辨率为44100/4096 = 10.7666015625 Hz,而300 Hz的正弦波将在bin处具有峰值,其索引为{{ 1}},所以在实践中它将在bin索引28处具有最大值,在相邻的bin中具有一些能量。 (注意这是使用从0开始的索引的通用约定 - 如果你使用的是MATLAB,那么索引很可能是从1开始的,你需要补偿它。)

有关bin索引如何与频率相关的更详细说明,请参阅this useful answer