Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib – X축에서 올바른 주파수로 신호의 FFT를 플롯하는 방법은 무엇입니까?

<시간/>

matplotlib의 X축에 올바른 주파수를 가진 신호의 FFT(고속 푸리에 변환)를 플롯하려면 다음 단계를 수행할 수 있습니다.

단계

  • Figure 크기를 설정하고 서브플롯 사이와 주변의 패딩을 조정합니다.

  • 두 변수 초기화, N 그리고 m , nu 계산 .

  • numpy를 사용하여 신호(사인파)를 생성합니다. 1차원 이산 푸리에 변환을 계산합니다.

  • 이산 푸리에 변환 샘플 주파수를 반환합니다.

  • 주파수 플롯 푸리에 변환 데이터 포인트.

  • 그림을 표시하려면 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()

출력

다음 출력을 생성합니다 -

Matplotlib – X축에서 올바른 주파수로 신호의 FFT를 플롯하는 방법은 무엇입니까?