[numpy 라이브러리] 푸리에 변환 Fast Fourier Transform - Whitmem
[numpy 라이브러리] 푸리에 변환 Fast Fourier Transform
Python Programming
2023-09-03 03:57 게시 f8b3dfdb8030ef999822

0
0
93
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
푸리에 변환
푸리에 변환은 시간 - 데이터 영역의 신호를 주파수 도메인으로 변환할 때 자주 사용합니다. 이를 반대로하는 역 푸리에 변환 역시 가능합니다. 이산 푸리에 변환 DFT는 기본적으로 속도가 느리기 때문에 고속으로 작업해야 하는 상황에서는 FFT를 사용합니다. 그에 대한 기능이 numpy 라이브러리에 내장 되어 있어서 작성합니다.
메소드
메소드 사용법은 매우 간단합니다. 넣고자 하는 샘플을 잘라서 fft 메소드 안에 넣어주면 처리된 결과 배열을 반환합니다.
예시
신호 예시
signal_arr는 1000 샘플로 구성되어 있으며 약 8hz의 실제 진동을 포함하고 있습니다. 이를 푸리에 변환 해 보도록 하겠습니다.
결과
마이너스 값이 나오기에 abs()로 양수로 모두 절댓값을 취해줍니다. 한편 결과 값의 진폭이 이상합니다, 전체 샘플의 절반 정도로 나누어 줘야 한다고 합니다.
샘플
FFT는 기본적으로 알고리즘에 의해서 반대편도 같은 형상을 보인다고 합니다. 아직 정확히 fft 알고리즘을 공부하지는 않아서 그 이유는 모르겠습니다만, 그래서 보통 샘플의 절반 정도를 분석할 수 있는 듯 합니다.
출력
실제 배열을 출력 해 보면, 8번째 배열 (8hz)가 1 진폭을 가지고 있음을 알 수 있습니다.
댓글 0개
댓글은 일회용 패스워드가 발급되며 사이트 이용 약관에 동의로 간주됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.