Matplotlib - 如何在 X 轴上正确绘制信号 FFT 以标示频率?
为了在 matplotlib 中沿 X 轴绘制具有正确频率的信号 FFT(快速傅里叶变换),我们可以执行以下步骤 -
步骤
设置图的大小并调整子图之间的边距和周围的边距。
初始化两个变量 N 和 m,以计算 nu。
使用 numpy 创建信号(正弦波)。计算一维离散傅里叶变换。
返回离散傅里叶变换的采样频率。
绘制 freq 和傅里叶变换数据点。
若要显示图像,请使用 **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()
输出
它将生成以下输出 -
广告