-
[Python] FFT 0Hz Peak 제거 하기, DC 성분 제거하기2) Tech 2020. 11. 26. 14:57반응형
안녕하세요!
오늘은 Python에서 FFT 를 진행하였을때 0Hz Peak를 제거하는 방법을 소개하려 합니다.
AC 전류 값을 취득하는 센서의 신호를 받아서 FFT를 진행했더니 아래 그림과 같이 0Hz에서 amplitude가 굉장히 크게 나타납니다.
이유는 보통 모든 신호는 AC + DC 로 이루어 집니다.
그런데 전달하려는 AC신호는 극히 작기 때문에 내부 회로에서 증폭이 이루어 지게 되죠!
이때 DC 신호도 함께 증폭이 되므로 아래와 같은 결과가 나타나는 겁니다.
그렇다면 DC 성분을 최소화 시켜 보겠습니다!
import numpy as np from scipy.signal import detrend dc_remove_signal = original_signal - np.mean(original_signal) dc_remove_signal = detrend(dc_remove_signal) . . . Y = np.fft.fft(dc_remove_sinal)/NFFT
이렇게 간단히 FFT 0Hz 지점의 Peak 문제를 해결했습니다.
읽어주셔서 감사합니다~!
도움이 되었으면 좋겠네요!
반응형'2) Tech' 카테고리의 다른 글
Linux에서 Anaconda conda activate이 실행 되지 않을 때 (2) 2021.08.10 [Python] 실시간 Data 처리기(window os 환경) (0) 2021.01.08 [Python] USB Serial Communication(USB 시리얼 통신) (0) 2020.11.24 [Pytorch Tip!] 파이토치 GPU 사용 설정 (0) 2020.09.23 [PyTorch Study]Tensor 자료형 사이즈 및 차원 변경 (0) 2020.09.23