功能
spicy.signal.spectrogramhttps://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.spectrogram.html
和
spicy.signal.stfthttps://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.stft.html
似乎做了一件非常相似的事。
这两种功能有什么区别?
发布于 2019-04-15 08:02:58
Tl;博士:如果我用SciPy文档给出的输出来写它:Sxx = Zxx ** 2
解释:谱图和短时傅里叶变换是两个不同的对象,但它们实际上是紧密相连的。
短时傅里叶变换(STFT)是一种与傅里叶相关的变换,用于确定信号局部截面随时间变化时的正弦频率和相位内容。在实际应用中,计算STFT的过程是将较长的时间信号划分为等长的较短的段,然后对每个较短的段分别计算傅里叶变换。这揭示了每个较短段的傅里叶谱。然后,人们通常把变化的光谱绘制成时间的函数。维基百科
另一方面,
谱图是一种随时间变化的信号频率谱的直观表示。维基百科
光谱图基本上是在小窗口中切断你的信号,并显示一系列的颜色,显示这个或那个特定频率的强度。和STFT完全一样。事实上,它使用的是STFT。
现在,对于差分,根据定义,光谱图是信号s(t)的短时傅里叶变换的平方数量级:
spectrogram(t, w) = |STFT(t, w)|^2
scipy.signal.stft页面底部显示的示例显示:
>>> plt.pcolormesh(t, f, np.abs(Zxx), vmin=0, vmax=amp)它起作用了,你可以看到一个色标。但是它是线性的,因为abs操作。
在现实中,要获得真正的谱图,我们应该写:
>>> plt.pcolormesh(t, f, Zxx ** 2, vmin=0, vmax=amp)https://stackoverflow.com/questions/55683936
复制相似问题