Matplotlib – 如何在 X 轴上绘制具有正确频率的信号的 FFT?
matplotlibpythondata visualization
要在 matplotlib 中在 X 轴上绘制具有正确频率的信号的 FFT(快速傅里叶变换),我们可以采取以下步骤 −
步骤
设置图形大小并调整子图之间和周围的填充。
初始化两个变量 N 和 m,以计算 nu。
使用 numpy 创建信号(正弦波)。计算一维离散傅里叶变换。
返回离散傅里叶变换采样频率。
绘制频率和傅里叶变换数据点。
要显示该图,请使用Show()方法。
示例
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True N = 256 t = np.arange(N) m = 4 nu = float(m)/N signal = np.sin(2*np.pi*nu*t) ft = np.fft.fft(signal) freq = np.fft.fftfreq(N) plt.plot(freq, ft.real**2 + ft.imag**2) plt.show()
输出
它将产生以下输出 −