0

我有以下信号:

在此处输入图像描述

我正在尝试计算频谱图算法,但是,不要认为我做对了..

我计算了以下内容:

1) STFT (大小 256,重叠 128) 2) 使用以下方法计算日志:'10 * log10(sqrt(re * re + im + im)

这是我得到的结果:

在此处输入图像描述

但是当我pylab在 Python 中使用时(对于相同的信号): x = pl.specgram(signal)

我得到以下结果:

在此处输入图像描述

使用matplotlib我得到以下信息:

在此处输入图像描述

显然,这些是非常不同的结果。我不知道为什么会得到这些,我是信号处理和频谱图的新手。希望有人可以帮助

编辑:

这是Python代码。

def wavToSpec(wavefile,log=False,norm=False):
    wavArr,wavParams = wavToArr(wavefile)
    print wavParams
    return  mlab.specgram(wavArr,
            NFFT=256,Fs=wavParams[2],window=mlab.window_hanning,noverlap=128)

p, freqs, bins = wavToSpec("test.wav")
pylab.plot(p);
pylab.show()
4

0 回答 0