SciPy中怎么进行频谱分析

411
2024/6/21 16:32:14
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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模块绘制功率谱密度图。通过分析功率谱密度图,我们可以了解信号在不同频率上的能量分布情况。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 怎么使用SciPy进行二维和三维空间中的点云插值技术