Matplotlib – 如何在 X 轴上绘制具有正确频率的信号的 FFT?

matplotlibpythondata visualization

要在 matplotlib 中在 X 轴上绘制具有正确频率的信号的 FFT(快速傅里叶变换),我们可以采取以下步骤 −

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 初始化两个变量 Nm,以计算 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()

输出

它将产生以下输出 −


相关文章