2013-05-20 61 views
1

我正在试图为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库)

我真的很感谢你能提供任何帮助。

+0

问问于:http://dsp.stackexchange.com/ – motiur

回答

0

较短的FFT长度的较低分辨率也意味着每个FFT结果仓的较宽的带宽。因此,光谱图需要较粗的行线以覆盖每行的较宽带宽以填充图中各行之间的间隙。

+0

感谢您的回复,我尝试过,并扩展了频率箱,它的价值超过了空箱。看起来更好。但是我想确定,这是制作窄带谱图的正确方法吗?结果如下:http://img23.imageshack.us/img23/8788/256ext.png Motiur Ra​​hman,感谢您的建议,我会检查它。 – rottenclover

相关问题