我正在试图为Qt中的声音数据绘制合适的声谱图。现在我可以绘制一个非常漂亮的频谱图,它的fft窗口长度为1024,重叠数据长度为976.但是,通常使用小窗口长度来绘制频谱图,例如256,这会给我一个更好的时间分辨率。但是,当我将窗口长度缩小到256时,我会在谱图中看到空行。我知道缩短窗口长度会导致FFT的低频分辨率,但为什么其他程序的频谱图中没有空行。我做错了什么或者这个结果是否正常?为什么减少窗口长度会导致谱图中出现空行?
以下是我用来获取声谱图的主要步骤: - 从声音文件中获取数据。 -FFT在第一窗口(hanning)。 (幅度= sqrt(re^2 + im^2)) - 将幅度转换为对数刻度(dB)幅度_dB = 20 * log10(幅度) - 绘制第一列通过扩展频谱数据,将其固定到列 -move窗口48个样品,进行下一步操作频谱..
你可以看到这些屏幕截图的问题: window length 1024 window length 256
(顺便说一句我目标是制作一个可以识别语音数据中的电话的程序。使用FFTW库)
我真的很感谢你能提供任何帮助。
问问于:http://dsp.stackexchange.com/ – motiur