본문 바로가기
파이썬

파이썬 FFT 코드

by Vacant June 2023. 3. 23.
반응형

빠른 푸리에 변환(FFT)은 신호 처리, 이미지 처리 등 다양한 분야에서 이용되는 수열의 이산 푸리에 변환(DFT)을 계산하는 효율적인 알고리즘입니다. 이 블로그 포스트에서는 파이썬으로 FFT를 구현하는 방법을 알아보겠습니다.

1단계: 라이브러리 가져오기
먼저 필요한 라이브러리를 가져와야 합니다. 배열 작업을 위해 NumPy 라이브러리와 FFT를 계산하기 위해 SciPy 라이브러리를 사용합니다.

import numpy as np
from scipy.fft import fft

 

2단계: 입력 신호 정의하기
다음으로 샘플 입력 신호를 정의해봅시다. 간단하게, 1 Hz 주파수와 1000 Hz 샘플링 속도를 가진 사인파를 1초간 샘플링한 것을 사용하겠습니다.

# 샘플링 속도
Fs = 1000

# 지속 시간
T = 1

# 시간 축
t = np.arange(0, T, 1/Fs)

# 입력 신호 (사인파)
x = np.sin(2*np

 

3단계: FFT 계산하기
SciPy의 fft() 함수를 이용하여 FFT를 계산합니다.

# Compute FFT
X = fft(x)

 

4단계: 결과 그래프 그리기
마지막으로, 결과를 그래프로 그려서 입력 신호의 주파수 스펙트럼을 시각화할 수 있습니다.

# 주파수 축 생성
f = np.linspace(0, Fs, len(X))

# 크기 스펙트럼 그리기
import matplotlib.pyplot as plt
plt.plot(f[:len(X)//2], np.abs(X[:len(X)//2])/len(X))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Magnitude')
plt.show()
728x90

댓글