在SciPy中,可以使用scipy.fft.fft
函数来实现快速傅里叶变换。下面是一个示例代码:
import numpy as np from scipy.fft import fft # 生成输入信号 t = np.linspace(0, 1, 1000, endpoint=False) x = np.sin(2 * np.pi * 5 * t) + 0.5 * np.sin(2 * np.pi * 10 * t) # 进行快速傅里叶变换 X = fft(x) # 绘制频谱图 import matplotlib.pyplot as plt plt.figure() plt.plot(np.abs(X)) plt.xlabel('Frequency') plt.ylabel('Amplitude') plt.show()
在这个示例中,首先生成一个包含两个正弦波的输入信号x
,然后使用fft
函数进行快速傅里叶变换得到频谱X
,最后绘制频谱图。