定义频率上的音量(C#)

时间:2012-11-06 09:18:34

标签: c# .net fft aforge

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

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

MyFrequency = n*SamplingRate/SizeOfArray.

接下来,我得到复数

的大小
(sqrt(Re^2+Im^2)

如果我是对的,这会显示此频率上的声音音量。但是这个值会根据频率发生很大变化。如果我错了,请向我解释我需要做些什么来纠正我的错误。如果我是对的,请解释一下为什么这些价值变化如此之大。

1 个答案:

答案 0 :(得分:1)

您是在FFT之前应用window function吗?如果没有,那么您将看到spectral leakage的效果,并且如果原始频率是采样率的精确亚倍,则任何给定FFT区间的幅度将是正确的。

相关问题