글목록

2021년 11월 7일

Module 9. FFT Filter (Fast Fourier Transform) - (2)FFT를 이용한 filtering 개념

Fourier 변환이란, 임의의 함수를 주기가 다른 sin, cos 함수 혹은 복소 exp 함수의 합으로 분해하는 과정이라고 할 수 있습니다. 다시말해, 어떤 함수에 특정 주파수 혹은 주기를 갖는 sin, cos 함수가 얼마나 포함되어있는지를 각 주파수별로 분해하는 과정이며, Fourier 역변환은 분해된 sin, cos 함수를 합쳐서 원래의 함수로 되돌리는 과정이라고 할 수 있습니다.

만약, 노이즈가 포함된 어떤 함수 혹은 실측 데이터가 있다고 할 때, FFT 변환을 하여 주파수별 성분으로 나누었다고 하면, 노이즈는 매우 짧은 파장 혹은 높은 주파수를 갖는 함수로 나타나고, 함수의 개략적인 형상은 긴파장 혹은 낮은 주파수 영역의 함수로 나타나게 됩니다.

높은 주파수 성분은 가중치를 0에 근접한 값을 곱해주고, 낮은 주파수 성분의 성분은 1에 근접한 값을 곱해준 후, 이들을 다시 합쳐서 (Fourier 역변환) 함수를 만들어주게 되면, 노이즈가 제거된 함수를 얻을 수 있습니다.



예전에 소개시켜드린 바와 같이 Savitzky-Golay smoothing이나, 인접한 데이터의 평균값을 이용하는 여러가지 smoothing 기법과 유사하다고 볼 수 있습니다만, FFT 변환을 이용하면 보다 다양한 작업이 가능합니다.

위에서와 같이 고주파 영역을 제거함으로써 단순히 노이즈를 제거하는 방법도 가능하지만, 저주파 영역을 제거하게되면, 불필요한 형상을 제거하고 높은 주파수 영역의 성분들만 추출해 낼수도 있습니다. 전자의 경우는 고주파를 제거하고 저주파 영역만 투과시키는 개념이기 때문에 low pass filter라고 하고, 후자의 경우에는 저주파를 제거하고 고주파만 투과시키게 되므로 high pass filter라고 합니다. 만약, 중간 영역만 남겨두고 고주파와 저주파를 모두 제거한다면 band pass filter라고 합니다.

이때, filter의 형태는 특정 주파수 이상은 0, 특정 주파수 이하는 1로 계산해주는 계단 모양 필터도 가능하고, 주파수에 따라 특정한 함수를 적용해 줄 수도 있습니다.

특별한 목적이 아니라면 임계 주파수를 기준으로 Gaussian 함수를 적용한 Gaussian 필터를 사용하는 것이 보편적입니다.


그 이외에도 임의의 데이터에 convolution 계산이 필요하다면, 비록 FFT 또는 Inverse FFT가 이나라도 계산이 가능하지만, 매우 많은 양의 계산이 수반되어야하는 반면, FFT를 이용한다면 그 연산량이 크게 감소할 수 있기 때문에 엑셀에서 FFT를 수행할 수 있다면 매우 유용할 수 있을 것입니다.

댓글 없음:

댓글 쓰기

의견이나 질문이 있으신 분은 언제든지 댓글을 달아주세요~

많이 본 글 :