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+ 次瀏覽

開啟您的職業

完成課程後取得認證

開始
廣告
© . All rights reserved.