我正在使用 scipy 将一些 matlab 代码移植到 python 并陷入以下行:
Matlab/八度代码
[Pxx, f] = periodogram(x, [], 512, 5)
Python代码
f, Pxx = signal.periodogram(x, 5, nfft=512)
问题是我在相同的数据上得到不同的输出。更具体地说,Pxx 向量是不同的。我为 signal.periodogram 尝试了不同的窗口,但没有运气(似乎默认 scypy 的 boxcar 窗口与默认 matlab 的矩形窗口相同)另一个奇怪的行为是在 python 中,Pxx 的第一个元素始终为 0,无论什么数据输入是。
我错过了什么吗?任何建议将不胜感激!
带有实际数据的简单 Matlab/Octave 代码:http: //pastebin.com/czNeyUjs
带有实际数据的简单 Python+scipy 代码:http: //pastebin.com/zPLGBTpn