푸리에 변환

 


1. 정의
1.1. 슈바르츠 공간에서
1.2. L1 공간에서
1.3. L2 공간에서
1.4. 조절 분포 공간에서
2. 다른 적분변환과의 관계
3. 심화
3.1. 역변환
3.2. 이산 시간 푸리에 변환
3.3. 이산 푸리에 변환
3.4. 고속 푸리에 변환
4. 응용
5. 관련 문서


1. 정의


Fourier transform
푸리에 변환 관련 교육영상 중 최고의 찬사를 받고 있으니 참고.[1]
함수 $$h:\mathbb{R}\to\mathbb{C}$$에 대해 $$\hat{h} = F\left[h\right]:\mathbb{R}\to\mathbb{C}$$라는 함수를
$$\displaystyle \hat{h}(t) = F\left[h\right]\left(t\right) \equiv \int_{-\infty} ^{\infty} e^{-2 \pi itx} h\left(x\right) \mathrm{d}x \quad \left(i = \sqrt{-1}\right)$$

로 정의하고, 위 변환 $$\hat{h}, F[h]$$를 함수 $$h$$의 푸리에 변환이라 정의한다.[2][3] 고차원에서도 비슷하게 정의할 수 있다. 푸리에 변환을 $$\int e^{-itx} h\left(x\right) \mathrm{d}x$$로 정의하는 수학자들도 있다. 이 경우 함수의 미분과 푸리에 변환 사이의 관계가 깔끔하여 ($$F\left[h'\right](t)=itF\left[h\right](t)$$) 편미분 방정식에서 주로 사용한다. 물리학에서는 보통 시간 $$t$$ 의 푸리에 도메인으로 각진동수인 $$\omega $$ 를 사용하고, 위치 $$x$$의 푸리에 도메인으로 wave number $$ k$$를 사용한다.
위 적분식이 임의의 함수 $$h$$에 대해 잘 정의되지는 않는다(이를테면 $$h(x)=1$$인 경우). 하지만 대부분의 경우 적분식을 improper 리만적분으로 해석하거나, $$ h(x)e^{-\epsilon x^2}$$의 푸리에 변환을 먼저 계산한 뒤 $$ \epsilon \to 0$$ 극한을 보내는 방법으로 해결이 된다. 어찌 됐건, 이런 자잘한 문제를 해결하기 위해 푸리에 변환의 정의를 엄밀하게 할 필요가 있는데, 아래를 참고하면 된다.

1.1. 슈바르츠 공간에서


슈바르츠 공간 $$\mathcal{S}$$는 무한 번 미분 가능하며 모든 도함수들이 빠르게 감소하는 함수들의 공간이다. 이 경우 적분식으로서의 푸리에 변환이 잘 정의된다. 특히, $$F:\mathcal{S}\to \mathcal{S}$$는 일대일대응이 되며, 모든 $$h,g\in \mathcal{S}$$에 대해
$$\displaystyle \int_{-\infty}^{\infty} h(x)\bar{g}(x) \mathrm{d}x = \int_{-\infty}^{\infty} F[h](t) \overline{F[g]}(t) \mathrm{d}t$$
가 성립하는 Plancherel 정리를 만족시킨다.

1.2. L1 공간에서


먼저 르베그 공간에 대해 알아야 한다. (주석참조)[4] $$ L^{1} $$함수에 대해 적분식로서의 푸리에 변환은 잘 정의되나, 변환된 함수가 $$L^{1}$$ 에 들어가지 않을 수 있고, 실제로 $$F:L^{1} \to L^{\infty}$$임만 알 수 있다. 슈바르츠 공간에서와는 다르게, $$F:L^{1} \to L^{\infty}$$는 전사함수가 아니다. [* $$F[h](t) = 1$$을 만족하는 함수 $$h\in L^{1}$$는 존재하지 않는다.

1.3. L2 공간에서


이 성질과 $$\mathcal{S}\subset L^{2}$$의 조밀함에 의해 $$F:\mathcal{S}\to \mathcal{S}$$는 $$F:L^{2}\to L^{2}$$ unitary 작용소로의 유일한 확장을 가진다. 이를 통해 $$F:L^{2}\to L^{2}$$가 잘 정의된다.

1.4. 조절 분포 공간에서


$$ \mathcal{S}' $$ 공간은 슈바르츠 공간 $$ \mathcal{S} $$의 쌍대공간으로서, 약한-* 위상을 가진다. $$ \mathcal{S}' $$의 원소는 조절분포라 불린다. 조절분포 $$ h \in \mathcal{S}' $$의 푸리에변환 $$ F[h] \in \mathcal{S}' $$은 Plancherel 정리에 의해 다음과 같이 정의되는 것이 자연스럽다.
$$\langle F[h], \varphi \rangle = \langle h, F[\varphi] \rangle,\qquad \forall \varphi\in \mathcal{S}$$
이 정의를 이용하면 1의 푸리에 변환이 디랙-델타 분포임을 알 수 있다.

2. 다른 적분변환과의 관계


이 푸리에 변환은 라플라스 변환과 매우 비슷하다. 당장 위의 $$t$$에 $$is$$를 넣어보시라. 함수의 미분은 푸리에 변환을 하면 변수와의 곱이 되고, 곱은 합성곱(컨볼루션, convolution)으로 옮겨진다. 따라서 미분방정식의 라플라스 변환 풀이는 그대로 푸리에 변환 풀이로 고칠 수 있다. 하지만 라플라스 변환보다 훨씬 좋은 점은 역변환이 매우 쉽다는 것이다. '''아니 자기 자신이 그냥 역변환이다!''' 엄밀하게는 $$F^{2} h\left(t\right) = F\left[F\left[h\right]\right]\left(t\right) = h\left(-t\right)$$가 성립. [5]

3. 심화



3.1. 역변환


푸리에 변환의 역변환 $$F^{-1} \left[g\right]\left(x\right) = \int e^{2\pi itx} g\left(t\right) dt$$에서 $$g = F\left[h\right]$$로 놓으면 $$h\left(x\right) = \int e^{2\pi itx} F\left[h\right] dt$$가 되고, 이는 $$h\left(x\right)$$를 지수함수 $$e^{2\pi itx}$$ 들의 '연속적 일차결합'으로 나타낼 수 있다는 의미이다. 이러한 취지에서 푸리에 급수와 푸리에 변환을 같이 묶어 푸리에 해석이라 말할 수 있는 것.

3.2. 이산 시간 푸리에 변환


Discrete Time Fourier Transform (DTFT)
$$\displaystyle X(\omega) = \sum_{n=-\infty}^{\infty} x\left[n\right] \,e^{-i \omega n}$$
DTFT는 디지털과 같은 이산적인 데이터의 집합에 푸리에 변환을 적용하는 것이다. 여기서 $$\omega$$는 디지털 각 주파수라 불리기도 하는데, 단위는 라디안/샘플이다. 푸리에 변환과 DTFT와의 관계는 라플라스 변환과 Z-변환의 관계와 유사하다고 볼 수 있다.
DTFT는 변환 결과물이 주기적이며 연속적이라는 특징이 있다. 즉 시간 영역에서는 이산적이지만 주파수 영역에서 연속적이다.
다만 컴퓨터 상에서는 잘 사용되지 않는데, 그 이유는 변환이 함수형이고, 무한급수를 해석해야 하고, 역변환이 인테그럴이기 때문에 통상적인 프로그래밍[6]의 범주를 벗어나기 때문이다.

3.3. 이산 푸리에 변환


Discrete Fourier Transform (DFT)
$$\displaystyle X[k]= \sum_{n=0}^{N-1} x[n] e^{-i\frac{2 \pi k n}{N}} \quad \quad $$
기본적인 푸리에 변환이 정의역이 연속적인 함수에 사용되는 것에 비해, DFT는 이산적인 데이터의 집합에 푸리에 변환을 적용하는 것이라고 이해하면 된다. 애초에 DFT 기법은 어떤 함수를 완벽하게 변환하는 데에 있지 않고, 특정한 데이터에 대한 푸리에 변환값을 계산하는 데에 있으므로, 주로 적분이 불가능한 함수에 푸리에 변환을 적용하고 싶을 때 사용한다.
전자공학에서도 많이 사용되는데, 소리 등의 신호처리나 통신 시스템 등 많은 분야에 DFT의 원리가 적용되어 있다. 신호를 분석하고 가공, 처리하는데 있어 푸리에 변환의 중요도는 매우 높은데, 디지털 도메인에서 계산을 수행해야 하기 때문에 이산적인 데이터를 푸리에 변환하는 DFT를 사용해야 하기 때문이다. 다만 DFT 수식을 컴퓨터로 바로 계산하면 계산량이 매우 많기 때문에 분할 정복법을 이용한 버터플라이 알고리즘인 FFT를 사용해서 DFT를 계산한다.
DFT와 친척뻘인 개념으로 이산 코사인 변환(DCT) 등이 있다.
개념 자체는 굉장히 쉽지만, 독학하려고 한다면 약간 까다롭다. 보아스는 물론이고 아프켄에서도 이런 개념이 있다는 것만 언급할 뿐더러, 구글링을 통해 얻을 수 있는 자료는 표기법이 제각각이기 때문.

3.4. 고속 푸리에 변환


Fast Fourier Transform (FFT)
이산적인 $$ n $$ 개의 데이터가 주어질 때 이를 $$ \mathcal{O}(n \log n) $$의 연산량만으로 빠르게 DFT하는 알고리즘이다. 1965년에 쿨리와 튜키가 개발하여 쿨리-튜키 알고리즘이란 이름으로 많이 사용되지만, 이미 이전에 여러 번 다른 수학자들에 의해 독립적으로 발견되었다가 잊혀져 왔으며, 거슬러 올라가면 가우스조차도 유사한 방법을 개발하여 사용하였다고 한다. 그 외에도 여러가지 다른 방법의 알고리즘이 다양한 수학자들에 의해서 발견되었다.

4. 응용


물론 수학과에서도 다루는 내용이지만, 물리학과 전자공학 등에서 그 중요성이 더욱 커진다.
전자기파주파수 같은 것이 들어 가는 분야라면 거의 필수적으로 사용된다. 푸리에 변환을 사용하는 근본적인 이유는 time domain에서 해석하기 힘든 신호를 frequency domain에서 쉽게 해석할 수 있기 때문이다(ODE를 풀 때의 Laplace transform을 생각해보라) 가장 대표적인 것이 바로 통신공학인데 아날로그 통신의 기본인 AM, FM 등의 변조 기술들은 모두 어떠한 신호를 시간의 푸리에 변환인 주파수 도메인에서 다루는 것이다. 예컨대, AM에선 carrier frequency를 가진 cosine 함수를 메세지에 곱하는데, 이를 시간 도메인에서 바로 해석하기엔 그래프의 모양이 상당히 더럽다. 하지만 이를 푸리에 변환하면 cosine 함수의 푸리에 변환은 델타 함수므로 주파수 도메인에서 해석하면 손쉽게 해석할 수 있다.
MP3 같은 음악 압축 알고리즘에서도 사용된다. MP3 의 압축 기법중에는 FFT 변환해서 사람이 듣기 힘든 고음역이나 저음역을 날려 버려서 데이터 양을 줄이는 방법이 포함되어 있다.
MRI의 영상 구성 원리는 수소원자와 자기장에 대한 물리학적인 지식이 기본인데, 얻은 데이터를 처리하는 과정에서 k-space라는 가상공간을 사용한다. 푸리에 변환이 정보처리 과정에서 사용된다. MRI 영상 만드는데 많이 사용되는 변환은 sinc 함수가 변환된 사각파라는 것이다.[7]

5. 관련 문서



[1] 주기함수에 대한 개념과 복소평면, 오일러 공식 정도만 숙지하고 있으면 이해가 가능하다.[2] $$\hat{h}$$는 수학 쪽에서 많이 쓰이고 $$F[h]$$는 물리학 쪽에서 많이 쓰인다.[3] 지수 쪽에 변수를 작게 죽 적기가 까다로워 지수함수 부분을 $$\operatorname{cis}(-2 \pi tx)$$로 표기하기도 한다.[4] $$ 0 <p < \infty $$에 대해 $$ h\in L^{p} $$라는 것은 $$ \int_{-\infty}^{\infty} |h(x)dx|^{p}<\infty $$라는 것이고, $$ h\in L^{\infty} $$라는 것은 (대략) 함수 $$ h $$가 유계라는 것이다. 여기서 '대략''이라는 말이 붙은 것은 정의역 전체에서 유계가 아니더라도 정의역에서 측도 0인 어떤 집합을 뺀 영역에서 유계이면 되기 때문이다.[5] 주의: 앞에서 말한 $$e^{-itx} \mathrm{d}x$$를 사용하는 다른 버전에서는 이렇게 두번 합성을 하면 상수 $$2\pi$$가 붙는다. 이것을 해결하기 위해 푸리에 변환과 역변환 모두에 $$1/\sqrt{2\pi}$$를 곱해주거나, 역변환만 $$1/2\pi$$ 배를 해주는 서로 다른 관습이 있다.[6] 컴퓨터 대수학 시스템 같은 인공지능 수준에서나 가능하다 [7] 사각파를 푸리에 변환하면 sinc함수가 된다.