Computer >> Máy Tính >  >> Lập trình >> Python

Matplotlib - Làm thế nào để vẽ biểu đồ FFT của tín hiệu có tần số chính xác trên trục X?

Để vẽ biểu đồ FFT (Biến đổi Fourier nhanh) của tín hiệu có tần số chính xác trên trục X trong matplotlib, chúng ta có thể thực hiện các bước sau -

Các bước

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Khởi tạo hai biến, N m , để tính toán nu .

  • Tạo tín hiệu (sóng hình sin) bằng cách sử dụng numpy. Tính toán Biến đổi Fourier rời rạc một chiều.

  • Trả về các tần số mẫu Biến đổi Fourier rời rạc.

  • Vẽ tần suất và các điểm dữ liệu biến đổi fourier.

  • Để hiển thị hình này, hãy sử dụng Show () phương pháp.

Ví dụ

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()

Đầu ra

Nó sẽ tạo ra kết quả sau -

Matplotlib - Làm thế nào để vẽ biểu đồ FFT của tín hiệu có tần số chính xác trên trục X?