📜  Python中的 matplotlib.pyplot.phase_spectrum()(1)

📅  最后修改于: 2023-12-03 15:04:32.729000             🧑  作者: Mango

matplotlib.pyplot.phase_spectrum()

函数phase_spectrum()是Matplotlib中的一个函数,用于计算和绘制信号的相位谱。相位谱表示信号的频率成分在频率轴上的相位值。

使用方法
import numpy as np
import matplotlib.pyplot as plt

plt.phase_spectrum(x, Fs=2, scale='linear', label=None)

参数说明:

  • x :输入的信号数组。可以是实数或者复数。
  • Fs :采样频率,默认为2。
  • scale :刻度尺度,可以取'linear'或者'dB',默认为'linear'。
  • label :曲线的标签,默认为None。
返回值

该函数会绘制并返回一个相位谱图。

示例
import numpy as np
import matplotlib.pyplot as plt

# 生成输入信号
t = np.arange(0, 1, 0.001)
x = np.sin(2 * np.pi * 10 * t) + np.sin(2 * np.pi * 30 * t) + np.sin(2 * np.pi * 50 * t)

# 绘制相位谱图
plt.phase_spectrum(x, Fs=1000, scale='linear', label='Phase Spectrum')
plt.xlabel('Frequency (Hz)')
plt.ylabel('Phase (rad)')
plt.grid(True)
plt.legend()
plt.show()

以上示例会生成一个相位谱图,横轴为频率,纵轴为相位,表示输入信号中不同频率成分的相位信息。

注意事项
  • 输入信号x的长度应该是2的幂次方,可以使用numpy.fft.fft()或者numpy.fft.fftfreq()来进行零填充。
  • 相位谱图中,频率为0的部分不显示。
  • 可以通过调整scale参数来将相位谱图显示为线性刻度或者dB刻度。

详细信息请参考官方文档