【发布时间】:2021-01-22 09:28:12
【问题描述】:
如何更改频谱图的分辨率?我正在使用matplotlib.pyplot.specgramfunction。
我想我必须放大窗口,但我不知道该怎么做。在这里问可能很容易,但我希望得到答案。
这是我的代码:
import numpy as np
import matplotlib.pyplot as plot
#Import data
a1.resize(np.size(a1))
signaldata = a1
samplingFrequency=2000
plot.subplot
plot.specgram(signalData,Fs=samplingFrequency)
plot.xlabel('Time in seconds')
plot.ylabel('Frequency')
plot.ylim(0,100)
plot.show()
这是我的信号数据:a1
这是我的光谱图:
在 4-14 秒和 0-40 (Hz) 区域内只有两个条形,没有比分辨率更高的只有两种颜色。我希望更具体地看看那里发生了什么。有没有可能提高分辨率?
提前谢谢你。
【问题讨论】:
-
结果的分辨率受输入信号之一的限制。您可以缩放(使用 matplotlib 的交互式图形)或使用 plot.xlim(4, 14),仅此而已。
-
您可以使用更长的窗口长度 - 更长的窗口将为您提供更少的时间分辨率,但更高的频率分辨率。
-
抱歉,您通过更改 NFFT 来延长窗口。
标签: python matplotlib resolution spectrogram