【问题标题】:Python + Scipy: How to set the time frame for a spectrogram?Python + Scipy:如何设置频谱图的时间范围?
【发布时间】:2018-03-20 01:03:14
【问题描述】:

我正在尝试使用scipy.signal.spectrogram 计算音频信号的频谱图。作为项目规范,时间框架需要彼此间隔 20 毫秒,但我找不到设置它的方法。

在稍微调整noverlap 后,我能够得到的最大值是不精确的 5 毫秒。

有谁知道如何做到这一点?

谢谢

【问题讨论】:

    标签: python scipy signal-processing spectrum


    【解决方案1】:

    您说“时间框架之间需要间隔 20 毫秒”。我假设这意味着每个窗口(或“段”)开始之间的延迟是 20 毫秒。

    三个相关参数是fsnpersegnoverlapnperseg 是每个“段”中的样本数。也就是说,在输入数据上滑动的是“窗口”中的样本数。 noverlap 是连续窗口重叠中的样本数。因此,成功窗口之间的延迟为nperseg - noverlap 个样本。

    您希望窗口移动 20 毫秒,这对应于 fs*20/1000 样本(假设 fs 以每秒样本为单位测量,即 Hz)。 假设您的窗口长度为 T ms。那么nperseg 就是fs*T/1000。 您希望重叠为 T-20 毫秒,因此 noverlap = int(fs*(T-20)/1000)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-08
      • 2015-10-30
      • 2015-07-16
      • 2018-10-31
      • 2018-06-13
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多