我有以下信号:
我正在尝试计算频谱图算法,但是,不要认为我做对了..
我计算了以下内容:
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()