对列表数据x1计算时频谱并显示(1Hz-100Hz)的python代码
时间: 2023-04-09 14:02:58 浏览: 97
以下是计算时频谱并显示的 Python 代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成测试数据
x1 = np.random.randn(1000)
# 计算时频谱
f, t, Sxx = signal.spectrogram(x1, fs=1000, nperseg=256, noverlap=128)
# 绘制时频谱图
plt.pcolormesh(t, f, np.log10(Sxx))
plt.ylabel('Frequency [Hz]')
plt.xlabel('Time [sec]')
plt.show()
```
这段代码使用了 `signal.spectrogram` 函数计算时频谱,并使用 `matplotlib` 库绘制时频谱图。其中,`x1` 是输入的列表数据,`fs` 是采样率,`nperseg` 是每个段的长度,`noverlap` 是相邻段之间的重叠长度。绘制时频谱图时,使用了 `pcolormesh` 函数绘制矩形图,并使用 `log10` 函数对数据进行对数变换,以便更好地显示。
阅读全文