温馨提示×

SciPy中怎么进行频谱分析

小亿
82
2024-05-24 16:32:14
栏目: 编程语言

在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 = np.sin(2 * np.pi * f1 * t) + 0.5 * np.random.randn(len(t))

# 计算信号的功率谱密度
frequencies, power_spectrum = signal.welch(signal_data, fs)

# 绘制功率谱密度图
plt.figure()
plt.plot(frequencies, power_spectrum)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Power spectral density')
plt.show()

上面的例子中,我们首先生成一个包含正弦波和噪声的信号,然后使用signal.welch函数计算信号的功率谱密度,最后使用matplotlib.pyplot模块绘制功率谱密度图。通过分析功率谱密度图,我们可以了解信号在不同频率上的能量分布情况。

0