Matplotlib ŌĆō 如何在X轴上正确显示信号FFT的频率?
要在matplotlib中将带有正确频率的信号的FFT(快速傅里叶变换)绘制在X轴上,我们可以执行以下步骤 –
步骤
- 设置图形大小并调整子图间和周围的填充。
-
初始化两个变量 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()
输出
它将产生以下输出 –