我正在寻找在OS X上进行频率分析的示例。我了解应该计算音频样本的FFT。我从苹果网站上获取到了执行FFT的代码示例:http://developer.apple.com/library/mac/#featuredarticles/AccelerateFrameworkData/_index.html。但是,我正在寻找任何解释实部和虚部如何转换为频率和幅度成分的示例。我有一个非常简单的音调,我想计算出它的频率。
每个FFT频段的中心频率已由Paul R.回答。但是请注意,您想要分析的音频中的精确频率可能不在任何FFT频段的中心。因此,您可能正在寻找使用FFT的频率估计算法,或者针对包含音乐或语音的音频的音高检测/估计方法,这与频率估计不同。
在进行FFT后,您需要获取每个复杂输出频段的幅度:
magnitude = sqrt(re[i]*re[i] + im[i]*im[i]);
频率与bin索引i相关:
freq = i * Fs / N;
其中 Fs 表示采样率(赫兹),N 表示 FFT 大小。
如果你只是想寻找单一频率,那么找到具有最大幅度的频率点的索引,然后使用上述公式将该索引转换为频率。请注意,您只需要检查从 1 到 N/2-1 的频率点。