ในการพล็อต FFT (Fast Fourier Transform) ของสัญญาณที่มีความถี่ที่ถูกต้องบนแกน X ใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
เริ่มต้นสองตัวแปร N และ ม เพื่อคำนวณ nu .
-
สร้างสัญญาณ (คลื่นไซน์) โดยใช้ numpy คำนวณการแปลงฟูริเยร์แบบแยกมิติเดียว
-
ส่งกลับความถี่ตัวอย่างการแปลงฟูเรียร์แบบไม่ต่อเนื่อง
-
พล็อต ความถี่ และฟูริเยร์แปลงจุดข้อมูล
-
หากต้องการแสดงรูป ให้ใช้ แสดง() วิธีการ
ตัวอย่าง
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()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้ -