如何通过频谱图绘制时频图?

2024-06-25 06:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着通过频谱图绘制时频图。我想做一个直线图(x轴=时间,y轴=频率)。我用Python和信号.stft函数并得到光谱图。我还计算了每个时间步的最大频率值。但我找不到答案。有什么问题吗?在


Tags: 函数答案信号时间绘制光谱直线频谱
1条回答
网友
1楼 · 发布于 2024-06-25 06:23:08

如果我没听错,你想在谱图上画一条最大频率的曲线?如果是,您可以在谱图之后调用第二个绘图调用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()

相关问题 更多 >