我正在根据麦克风输入计算FFT。我注意到,低频似乎总是比高频具有更大的功率(更高的dB)。
- 我将数据切成24576字节(4096 * 6)的帧。
- 应用汉明窗:
input[i] *= (0.54d - 0.46d*(double) Math.Cos((2d*Math.PI*i)/fs));
- 通过FFTW运行它
Process1D()
。 - 从复数转换:
output[i] = 10.0 * Math.Log10((fout[i * 2] * fout[i * 2]) + (fout[i * 2 + 1] * fout[i * 2 + 1]));
- 对6个值求平均值,以获得4096字节的完整FFT。
- 绘制漂亮的图片(颜色映射到调色板)。
进行平均(第5页)以降低FFT噪声。
如图所示,声音和麦克风关闭时,低频处都有更多的能量(和更多的噪音)。这表明它不仅仅是麦克风/子问题。
我的问题:
1.这是预期的吗?为什么?
2.有什么标准方法可以解决此问题?几乎像某些Math.Tan()魔术可以将其提升到所属位置。
我的目标是能够确定前5个频率,而默认情况下不会赢得较低的频率。