Matplotlib - 如何在 X 轴上正确绘制信号 FFT 以标示频率?


为了在 matplotlib 中沿 X 轴绘制具有正确频率的信号 FFT(快速傅里叶变换),我们可以执行以下步骤 -

步骤

  • 设置图的大小并调整子图之间的边距和周围的边距。

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

输出

它将生成以下输出 -

更新于:2021-10-11

3k+ 次浏览

开启您的职业

完成课程后取得认证

开始
广告