以下是使用Python的NumPy和Matplotlib库进行FFT频谱分析的程序示例:

import numpy as np
import matplotlib.pyplot as plt

# 生成示例信号
N = 1000
T = 1.0 / 800.0
t = np.linspace(0.0, N*T, N)
y = np.sin(50.0 * 2.0*np.pi*t) + 0.5*np.sin(80.0 * 2.0*np.pi*t)

# 进行FFT变换
yf = np.fft.fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N//2)

# 绘制频谱图
fig, ax = plt.subplots()
ax.plot(xf, 2.0/N * np.abs(yf[:N//2]))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.show()

此程序生成一个频率分别为50Hz和80Hz的信号,然后通过FFT变换计算其频谱,并将其绘制出来。你可以通过修改示例信号的频率或幅度来测试程序的效果。

Python FFT频谱分析:使用NumPy和Matplotlib

原文地址: https://www.cveoy.top/t/topic/mV7F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录