【问题标题】:Understanding scipy.signal.spectrogram()'s output了解 scipy.signal.spectrogram() 的输出
【发布时间】:2018-12-22 18:32:31
【问题描述】:

我想了解scipy.signal.spectrogram() 的输出是什么,以及如何使用它们。目前,我读取了一个.wav 文件并生成了一个频谱图。

from scipy.io import wavfile as wav
from scipy import signal

sample_rate, data = wav.read('sound.wav')
f, t, Sxx = signal.spectrogram(data, sample_rate)

--

如果理解完全错误,我对频谱图的想法是一个 3D 图,包括:

x-axis: time
y-axis: frequency
pixel colour/brightness: amplitude

所以我想知道ftSxxtimefrequencyamplitude 的关系。

感谢阅读,感谢任何帮助!

【问题讨论】:

    标签: python python-3.x scipy spectrogram


    【解决方案1】:

    f 是频率数组,包含 fft 的每个频段的频率。可以用作图表的标签

    t 是时间数组,包含进行此 FFT 相对于源信号的时间。再次可用于标签。

    Sxx 数组包含幅度,是一个二维数组,其形状是 f 的长度乘以 t 的长度。

    因此与时间数组长度匹配的轴是时间轴,另一个是频率。

    如果您想标准化显示,您需要自己找到 Sxx 数组的最小值和最大值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-17
      • 2017-02-11
      • 2019-02-13
      • 2012-10-21
      • 2018-09-22
      • 2019-02-18
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多