python绘制频谱图
时间: 2023-06-09 15:04:41 浏览: 121
使用python进行波形及频谱绘制的方法
5星 · 资源好评率100%
要绘制频谱图,一般使用Python中的matplotlib库完成。下面是一个基本的频谱图绘制代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成示例数据
fs = 1000 # 采样率
t = np.linspace(0, 1, fs, endpoint=False) # 时域范围
x = np.sin(2 * np.pi * 50 * t) # 正弦波信号
x += 0.5 * np.sin(2 * np.pi * 150 * t) # 加入噪声
# 计算频谱图
f, Pxx_den = plt.psd(x, NFFT=1024, Fs=fs, window=np.hanning(1024), noverlap=512, scale_by_freq=True)
# 绘制频谱图
plt.figure(figsize=(8, 4))
plt.plot(f, Pxx_den)
plt.xlabel('Frequency [Hz]')
plt.ylabel('Power Spectral Density [dB/Hz]')
plt.show()
```
上述代码中,我们首先生成了示例数据(一个带噪声的正弦波信号),然后使用`plt.psd`计算信号的功率谱密度,并绘制频谱图。这里使用了汉宁窗口(`np.hanning(1024)`)作为窗口函数,并且采用了50%的重叠率(`noverlap=512`)来平滑频谱图。最后,使用matplotlib的函数将频谱图展示出来。
希望这个代码示例能够帮助你解决问题。
阅读全文