【问题标题】:how to plot time-frequency graph through spectrogram?如何通过频谱图绘制时频图?
【发布时间】:2018-11-05 00:36:30
【问题描述】:

我正在尝试通过频谱图绘制时频图。我想制作一个折线图(x 轴 = 时间,y 轴 = 频率)。我使用 Python 和 signal.stft 函数并得到一个频谱图。我还计算了每个时间步的最大频率值。但我无法得到答案。有什么问题?

【问题讨论】:

    标签: python scipy spectrogram


    【解决方案1】:

    如果我理解正确,您想在频谱图上绘制一条最大频率曲线吗?如果是,您可以在频谱图之后简单地调用matplotlib 的第二个绘图调用。像这样的:

    f, t, Zxx = signal.stft(x, fs, nperseg=1000)
    max_f = np.argmax(data, axis=1)  # data has shape (time x frequency)
    plt.pcolormesh(t, f, np.abs(Zxx), vmin=0, vmax=amp)
    plt.plot(np.arange(max_f.shape[0]), max_f)
    plt.ylabel('Frequency [Hz]')
    plt.xlabel('Time [sec]')
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2013-02-25
      • 2011-03-18
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 2013-05-07
      • 1970-01-01
      相关资源
      最近更新 更多