📅  最后修改于: 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()
来进行零填充。scale
参数来将相位谱图显示为线性刻度或者dB刻度。详细信息请参考官方文档。