在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
,最后繪制頻譜圖。