在SciPy中进行频谱分析通常使用scipy.signal
模块中提供的函数。下面是一个简单的频谱分析的例子:
import numpy as np import matplotlib.pyplot as plt from scipy import signal # 生成一个包含正弦波和噪声的信号 fs = 1000 # 采样频率 t = np.arange(0, 1, 1/fs) # 时间序列 f1 = 50 # 正弦波频率 signal_data = https://www.yisu.com/ask/np.sin(2 * np.pi * f1 * t) + 0.5 * np.random.randn(len(t))'Frequency (Hz)') plt.ylabel('Power spectral density') plt.show()
上面的例子中,我们首先生成一个包含正弦波和噪声的信号,然后使用signal.welch
函数计算信号的功率谱密度,最后使用matplotlib.pyplot
模块绘制功率谱密度图。通过分析功率谱密度图,我们可以了解信号在不同频率上的能量分布情况。