在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
,最后绘制频谱图。