반응형
빠른 푸리에 변환(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
'파이썬' 카테고리의 다른 글
파이썬 콘솔(console) 출력 보이지 않게 하는 코드 (0) | 2023.09.05 |
---|---|
파이썬 DFT 코드 (0) | 2023.04.09 |
tesseract 설치 및 환경변수 설정 방법 (0) | 2023.03.27 |
파이썬 matplotlib 간단 소개 (0) | 2023.03.23 |
파이썬 Laplace 코드 (0) | 2023.03.23 |
댓글