0

我不明白为什么音量定义的频率不符合预期。

我依次用几个指定的频率向我的麦克风发送声音。然后我对麦克风缓冲区进行 FFT。在 FFT 退出时,我有一个复数数组。要知道定义频率上的音量,我查看我的数组,这个数组中的元素数是这样得到的:

MyFrequency = n*SamplingRate/SizeOfArray.

接下来,我得到复数的大小

(sqrt(Re^2+Im^2)

如果我是对的,这会告诉我这个频率的音量。但是这个值变化很大,取决于频率。如果我错了,请向我解释我需要做什么才能纠正我的错误。如果我是对的,请解释为什么这个值变化如此之大。

4

1 回答 1

1

您是否在 FFT 之前应用了窗口函数?如果不是,那么您将看到频谱泄漏的影响,并且任何给定 FFT 箱的幅度只有在原始频率是采样率的精确约数时才是正确的。

于 2012-11-06T09:59:58.823 回答