본문 바로가기
지식공학/필터링이론

Fourier Transform(푸리에 변환) 이해

by Eric87 2021. 4. 11.
반응형

푸리에 변환(Fourier transform)은 신호처리, 음성, 통신 분야에서 매우 중요한 개념으로 다양한 응용을 가지고 있다. 푸리에 급수 (Fourier series)는 유한 구간의 정의된 함수는 삼각함수의 합으로 나타낼 수 있다는 것이며, 이를 무한 구간으로 확장하는 것을 푸리에 변환 (Fourier transform) 이라고 한다. 시간에 대한 신호를 주파수 성분으로 변환하여 다양한 분석 및 처리를 할 수 있고 임의의 필터링 연산을 이용하여 구현할 수도 있다. 푸리에 변환과 같은 근원적인 이론들은 특정 응용에 국한되지 않기 때문에 한번 알아두면 특정 분야를 떠나서 모든 분야에 도움이 된다. 모든 공부의 시작은 핵심 개념을 정확히 이해하는데 있고 그 이해는 가급적 직관적일수록 좋다.

푸리에 변환 개념

푸리에 변환(Fourier transform)을 직관적으로 설명하면 푸리에 변환은 임의의 입력 신호를 다양한 주파수를 갖는 주기함수들의 합으로 분해하여 표현하는 것이다. 좀더 들어가면, 푸리에 변환에서 사용하는 주기함수는 sin, cos의 삼각함수이며 푸리에 변환은 고주파부터 저주파까지 다양한 주파수 대역의 sin, cos 함수들로 원본 신호를 분해하는 것이다.

그림1. 푸리에 변환 (출처: 위키피디아)

위 그림(그림 1)의 예를 보자. 맨 앞의 붉은 색 신호는 시간에 대해 정의된 입력 신호이고 뒤의 파란색 신호들은 푸리에 변환(Fourier transform)을 통해 얻어진 (원본 신호를 구성하는) 주기함수 성분들이다. 각각의 주기함수 성분들은 고유의 주파수(frequency)와 강도(amplitude)를 가지고 있으며 이들을 모두 합치면 원본의 붉은색 신호가 된다. 

여기서 입력 신호는 전파, 음성 신호 등과 같이 시간축(time)에 대해 정의된 신호일 수도 있고 이미지(image) 등과 같이 공간축에 대해 정의된 신호일 수도 있다. 통신 분야에서는 푸리에 변환(Fourier transform)을 time domain에서 frequency domain으로의 변환이라고 하고, 컴퓨터 비전(computer vision), 영상처리 쪽에서는 spatial domain에서 frequency domain으로의 변환이라고 부른다. 명칭이야 어쨌든 그 핵심은 입력 신호를 sin, cos의 주기성분으로 분해하는 것이다. 푸리에 변환(Fourier transform)의 장점은 입력 신호가 어떤 신호이든지 관계없이 임의의 입력 신호를 sin, cos 주기함수들의 합으로 항상 분해할 수 있다는 것이다. 그리고 그 과정을 수식으로 표현한 것이 푸리에 변환식이다.

푸리에 변환 수학적 이해

어떤 개념을 직관적으로 이해했다면 그 개념에 대한 수식적 이해는 그 개념을 한층 풍성하고 깊이있게 이해하게 해 준다.

$$f(x)=\int_{-\infty }^{\infty}F(u)e^{j2\pi ux}du, \; j=\sqrt{-1}\qquad (1)$$

f(x)는 원본 입력 신호, $e^{j2\pi ux}$는 주파수 u인 주기함수 성분, F(u)는 해당 주기함수 성분의 계수(coefficient)를 나타낸다. 일단 식을 있는 그대로 해석하면 입력신호 f(x)가 $e^{j2\pi ux}$들의 합으로 표현(분해)된다는 의미이다.

$$F(u)=\int_{-\infty }^{\infty}f(x)e^{-j2\pi ux}dx\qquad (2)$$

위 식은 f(x)를 주기함수 성분으로 분해했을 때의 계수(coefficient) F(u)가 위 식으로 주어진다는 의미이다.

앞서 그림 1과 연관해 보면 $e^{j2\pi ux}$는 f(x)를 구성하는 (파란색의 주파수 u인 여러 그래프) 주기함수 성분들이고 F(u)는 해당 주기함수 성분의 강도(amplitude)를 나타낸다.

푸리에 변환에 대한 일반적인 설명 방식은 두번째 식을 푸리에 변환이라고 정의하고 첫번째 식을 푸리에 역변환(inverse Fourier transform)이라고 정의하는 것이다. 그리고 푸리에 역변환을 하면 다시 원래의 함수로 돌아온다고 한다. 부리에 변환을 이해하기 위해 $e^{j2\pi ux}$만 자세히 들여다 보면 된다. 이를 이해하기 위해서는 오일러 공식을 알아야 한다.

$$e^{j2\pi ux}=cos(2\pi ux)+jsin(2\pi ux)$$

오일러 공식을 이용하면 $e^{j2\pi ux}$은 실수부가 $cos(2\pi ux)$, 허수부가 $sin(2\pi ux)$인 주기함수임을 알수가 있다. 식 (1)은 함수 f(x)를 모든 가능한 주파수(u)의 주기함수들(ej2πux)의 일차결합으로 표현한 것이다. 그리고 그 일차결합 계수 F(u)는 식 (2)로 항상 주어질 수 있다.

마지막으로, 왜 일차결합의 계수 F(u)가 식 (2)로 주어지는지를 직관적으로 이해해 보자. 식 (1)에서 $e^{j2\pi ux}$, u = 0, ±1, ±2, ...은 모든 신호를 생성할 수 있는 직교(orthogonal) 기저(basis) 함수들로 볼 수 있다. (편의상 u를 정수 범위로 표기했으나 u는 실수 전체 범위임). 그러면 입력 신호 f(x)를 이들 기저함수들로 분해했을 때의 계수 F(u)는 f(x)와 기저함수의 내적(dot product)으로 계산될 수 있다. 식 (2)는 f(x)와 $e^{j2\pi ux}$의 함수 내적이기 때문에 그 결과는 f(x)를 $e^{j2\pi ux}$들로 분해했을 때의 계수가 된다. 따라서, F(u)가 식 (2)로 주어지는 이유가 설명이 되었다. 참고로, 식 (2)에서 j 앞에 -가 붙은 이유는 복소수에서의 내적은 어느 한쪽에 켤레(conjugate) 복소수를 취한 후 계산되기 때문이다.

반응형

'지식공학 > 필터링이론' 카테고리의 다른 글

Interactive Multiple Model  (0) 2021.10.05
칼만필터 기초  (0) 2021.03.26

댓글