당신은 주제를 찾고 있습니까 “sin 푸리에 변환 – 5분만에 이해해보는 푸리에 변환“? 다음 카테고리의 웹사이트 https://ppa.erynkruegermekash.com 에서 귀하의 모든 질문에 답변해 드립니다: ppa.erynkruegermekash.com/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 공돌이의 수학정리노트 이(가) 작성한 기사에는 조회수 24,496회 및 977365 Like 개의 좋아요가 있습니다.
4. 푸리에 사인 변환 특별히 f(x)가 기함수인 경우에는 A(f)=0이 되어 B(f)만 남게 된다. f(x)가 기함수이고 sin도 기함수이므로, 기함수와 기함수의 곱은 우함수가 되어 반구간 전개 결과의 2배가 전구간 전개 결과와 동일하다.
Table of Contents
sin 푸리에 변환 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 5분만에 이해해보는 푸리에 변환 – sin 푸리에 변환 주제에 대한 세부정보를 참조하세요
어때요 참 쉽쥬?
한국어 자막이 제공됩니다.
sin 푸리에 변환 주제에 대한 자세한 내용은 여기를 참조하세요.
18강. 푸리에 변환 / 푸리에 변환표 – 전자형 – Tistory
삼각함수 sin과 cos을 복소수와 지수함수형태로 바꾸면 위와같이 바꿀 수 있습니다. 이제 이 식들을 기존의 퓨리에 급수에 대입하여 살펴보겠습니다.
Source: e-funny.tistory.com
Date Published: 10/3/2022
View: 526
푸리에 변환 – 네이버 블로그
푸리에 변환 역시 이전에 한 푸리에 급수를 적분으로 변환한 것과 비슷 … 위 과정을 거치기 때문에 sin함수의 경우 오일러 공식을 이용한 표기는 …
Source: m.blog.naver.com
Date Published: 9/30/2021
View: 3943
푸리에 사인 및 코사인 변환(Fourier Sine and Cosine Transforms)
푸리에 사인 변환은 ω 에 대해 기함수가 된다. 푸리에 역변환(inverse Fourier transform)에 따라 푸리에 사인 역변환(inverse Fourier sine transform)도 …
Source: ghebook.blogspot.com
Date Published: 5/29/2022
View: 5105
푸리에 변환(Fourier transform) (1) – 이해와 유도
여기서 주기함수란 우리가 일반적으로 알고 있는 사인(sin), 코사인(cos) 함수를 의미한다. 사인, 코사인 함수는 그 모양에 따라서 굉장히 다양한 주파수 …
Source: funmi.tistory.com
Date Published: 12/30/2021
View: 1130
푸리에급수, 어떤 의미를 지니는가 – 9randSun
즉 푸리에 변환은 time domain에서 frequency domain으로 나타내어 해당 … 위 식은 (0, 0)일 때만을 간주하게 된다. sin 함수밖에 없어서 그러하다.
Source: keyboard-lover.tistory.com
Date Published: 10/4/2021
View: 6373
Fourier Transform(푸리에 변환)의 이해와 활용 – 다크 프로그래머
푸리에 변환(Fourier transform)은 신호처리, 음성, 통신 분야에서 뿐만 아니라 영상 … 좀더 들어가면, 푸리에 변환에서 사용하는 주기함수는 sin, …
Source: darkpgmr.tistory.com
Date Published: 8/19/2021
View: 636
푸리에 해석
Fourier Series, Integral, and Transforms … sin cos n n n nx b nx a axf. 푸리에 급수. (Fourier series) … 푸리에 코사인 변환(Fourier cosine transform).
Source: contents.kocw.or.kr
Date Published: 6/16/2022
View: 5125
주제와 관련된 이미지 sin 푸리에 변환
주제와 관련된 더 많은 사진을 참조하십시오 5분만에 이해해보는 푸리에 변환. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

주제에 대한 기사 평가 sin 푸리에 변환
- Author: 공돌이의 수학정리노트
- Views: 조회수 24,496회
- Likes: 977365 Like
- Date Published: 2021. 12. 11.
- Video Url link: https://www.youtube.com/watch?v=YsG8fJsH9JE
푸리에 변환 (Fourier Transform)
푸리에 급수를 이용하면 임의의 주기 함수를 기본 주파수의 정수배가 되는 정현파의 합으로 나타낼 수 있다. 여기에서 한번 더 나아가 푸리에 급수의 주기를 무한대로 확장하면 비주기 함수를 다룰 수 있게 된다. 이때 주기가 무한대가 되면서 합산(summation)이 적분으로 바뀌고 기존 함수의 변수에서 다른 변수에 대한 함수로 변환된다. 이렇게 적분식의 형태로 표현되면서 함수의 도메인을 바꾸는 것을 적분 변환이라 한다.
1. 비주기 함수를 주기 함수로 표현 하기
인위적인 신호는 주기 함수인 경우가 많다. 예를 들어 전자회로에서 동작 클럭을 확인한다면 주기적인 사각파를 얻게 되된다. 그러나 소음이나 진동에 관련된 신호는 시간에 따라 무작위로 나타나는 랜덤 신호가 될 것이다. 이런 랜덤 신호는 비주기 특성을 보이게 되어 주기 함수만 다루는 푸리에 급수로는 다룰 수 없게 된다.
비주기 함수를 주기 함수로 취급할 수만 있다면 우리는 푸리에 급수의 아이디어를 활용할 수 있을 것이다. 그 방법이 비주기 함수의 길이를 한 주기로 보고 계속해서 반복한다고 보는 것이다. 하지만 계속 반복하는 신호는 이전의 비주기 함수와는 확실히 다른 함수이기 때문에 이 주기를 차츰 늘리다가 무한대로 보내버리면 우리는 주기가 무한대인 함수를 얻을 수 있다. 이 함수는 한 번의 주기가 영원히 끝나지 않기 때문에 마치 우리가 이미 알던 비주기 함수처럼 취급할 수 있게 된다.
비주기 함수를 반복해 주기 함수로 취급하고, 그 주기가 무한대라면 비주기 함수를 주기함수로 표현할 수 있다.
2. 푸리에 급수의 적분 변환
푸리에 급수는 아래 식 (1)과 같이 표현할 수 있다.
$$
f(x) = \frac{a_0}{2}+\sum_{ n=1 }^{ \infty } \left[ a_n \cos {\left( \omega_n x \right)} + b_n \sin { \left( \omega_n x \right)} \right],\omega_n=\frac{n\pi}{L} \cdots (1)
$$
\begin{align}
a_0 &= \frac{ 1 }{ L } \int_{-L}^{L}{ f\left( x \right) dx } \\
a_n &= \frac{ 1 }{ L } \int_{-L}^{L}{ f\left( x \right) \cos {\omega_n x } dx } \\
b_n &= \frac{ 1 }{ L } \int_{-L}^{L}{ f\left( x \right) \sin {\omega_n x } dx }
\end{align}
이 푸리에 급수의 계수를 원래식 (1)에 대입하면,
$$
f(x) = \frac{ 1 }{ 2L } \int_{-L}^{L}{ f\left( v \right) dv }+\frac{ 1 }{ L } \sum_{ n=1 }^{ \infty } \left[ \cos {\left(\omega_n x \right)} \int_{-L}^{L}{ f\left( v \right) \cos { \left(\omega_n v \right)} dv } + \sin { \left(\omega_n x \right)}\int_{-L}^{L}{ f\left( v \right) \sin { \left(\omega_n v \right)} dv } \right],\omega_n=\frac{n\pi}{L} \cdots (2)
$$
여기에서 $1/L$은 다음과 같이 표현할 수 있다.
$$
\Delta\omega = \omega_{n+1} – \omega_{n} = \frac{(n+1)\pi}{L} – \frac{n\pi}{L} = \frac{\pi}{L} \\
\frac{1}{L} = \frac{\Delta\omega}{\pi}
$$
식 (2)를 다시 써보면,
$$
f(x) = \frac{ \Delta\omega }{ 2\pi } \int_{-L}^{L}{ f\left( v \right) dv }+\frac{1}{\pi} \sum_{ n=1 }^{ \infty } \left[ \cos {\left(\omega_n x \right)} \int_{-L}^{L}{ f\left( v \right) \cos { \left(\omega_n v \right)} dv } + \sin { \left(\omega_n x \right)}\int_{-L}^{L}{ f\left( v \right) \sin { \left(\omega_n v \right)} dv } \right]\Delta\omega, \\
\omega_n=\frac{n\pi}{L} \cdots (3)
$$
$f\left( x \right)$가 모든 구간에서 조각 연속이고 절대 적분 가능하며 $f’\left( x \right)$가 모든 점에서 좌 극한과 우극한을 가진다고 가정한다. 딱히 연속일 필요는 없다. 연속이 아니더라도 좌극한과 우극한이 존재하면 푸리에 적분의 결과는 좌극한과 우 극한의 산술 평균이다.
이제 식 (3)의 반주기 L을 무한대로 보내면 $\Delta\omega\rightarrow0$이 되어 우변의 첫 항 평균은 0이 되어 사라지고 합산식의 $\Delta\omega$는 미분소 $d\omega$가 되어 아래와 같이 합산식이 적분식으로 변형된다.
$$ \lim_{L\rightarrow\infty}{\Delta\omega} = d\omega $$
$$
f(x) = \frac{1}{\pi} \int_{ 0 }^{ \infty } \left[ \cos {\left(\omega x \right)} \int_{-\infty}^{\infty}{ f\left( v \right) \cos { \left(\omega v \right)} dv } + \sin { \left(\omega x \right)}\int_{-\infty}^{\infty}{ f\left( v \right) \sin { \left(\omega v \right)} dv } \right] d\omega \cdots (4)
$$
식 (4)를 간결하게 다시 정리하면 식(5)와 같다. 이것이 푸리에 적분으로 표현한 $f(x)$이다. $A\left(\omega\right)$는 푸리에 코사인 적분, $B\left(\omega\right)$는 푸리에 사인 적분이다.
$$
f\left(x\right) = \frac{1}{\pi} \int_{ 0 }^{ \infty } \left[ A\left(\omega\right)\cos {\omega x} + B\left(\omega\right)\sin {\omega x} \right] d\omega \cdots (5)
$$
$$
A\left(\omega\right) = \int_{-\infty}^{\infty}{ f\left( v \right) \cos { \left(\omega v \right)} dv } \\
B\left(\omega\right) = \int_{-\infty}^{\infty}{ f\left( v \right) \sin { \left(\omega v \right)} dv }
$$
지금까지는 각속도 $\omega$로 변환 도메인을 정리했지만 주파수 $f$에 대해 표현해보자. 주파수에 대해 정리하면 복잡한 계수가 싹 없어져서 예뻐진다. 각속도와 주파수와의 관계는 아래와 같다.
\begin{align}
\omega &= 2\pi f \\
d\omega &= 2\pi df
\end{align}
식(5)에서 각속도를 주파수로 싹 바꾸면 식 (6)처럼 정리된다.
$$
f\left(x\right) = 2 \int_{ 0 }^{ \infty } \left[ A\left(f\right)\cos {2\pi f x} + B\left(f\right)\sin {2\pi f x} \right] df \cdots (6)
$$
$$
A\left(f\right) = \int_{-\infty}^{\infty}{ f\left( v \right) \cos { \left(2\pi fv \right)} dv } \\
B\left(f\right) = \int_{-\infty}^{\infty}{ f\left( v \right) \sin { \left(2\pi fv \right)} dv }
$$
3. 푸리에 코사인 변환
특별히 $f\left(x\right)$가 우함수인 경우에는 $B\left(f\right)=0$이 되어 $A\left(f\right)$만 남게 된다. $f\left(x\right)$가 우함수이고 $\cos$함수도 우함수이므로, 우함수와 우함수의 곱은 우함수가 되어 반구간 전개 결과의 2배가 전구간 전개 결과와 동일하다. $A\left(f\right)$를 $F_c\left(f\right)$로 쓰고 $f\left(x\right)$를 $f_c(x)$로 쓰면 다음과 같다.
\begin{align}
f_c(x) &= 2 \int_{ 0 }^{ \infty } \left[ F_c\left(f\right)\cos {2\pi f x} \right] df \\
F_c(f) &= 2 \int_{0}^{\infty}{ \left[ f_c(x) \cos { 2\pi fx } \right] dx }
\end{align}
4. 푸리에 사인 변환
특별히 $f\left(x\right)$가 기함수인 경우에는 $A\left(f\right)=0$이 되어 $B\left(f\right)$만 남게 된다. $f\left(x\right)$가 기함수이고 $\sin$도 기함수이므로, 기함수와 기함수의 곱은 우함수가 되어 반구간 전개 결과의 2배가 전구간 전개 결과와 동일하다. $B\left(f\right)$를 $F_s\left(f\right)$로 쓰고 $f\left(x\right)$를 $f_s(x)$로 쓰면 다음과 같다.
\begin{align}
f_s(x) &= 2 \int_{0}^{\infty} \left[ F_s\left(f\right)\sin {2\pi fx} \right] df \\
F_s(f) &= 2 \int_{0}^{\infty} \left[ f_s\left( x \right) \sin {2\pi fx} \right] dx
\end{align}
5. 푸리에 변환의 중요성
지금까지 푸리에 코사인 변환과 사인 변환을 알아보았다. 이제 주기 함수에 국한되어 있던 푸리에 급수의 한계를 넘어 푸리에 변환을 통해 비주기 함수도 다룰 수 있게 되었다. 문제는 푸리에 급수와 마찬가지로 $\cos$함수와 $\sin$함수가 계속해서 함께 나타난다는 것이다. 신호가 우함수인 경우에는 $\cos$만으로 표현할 수 있을 것이고 기함수인 경우에는 $\sin$만으로 표현할 수 있겠지만 이도 저도 아닌 경우에는 조금 피곤해진다. 따라서 푸리에 급수와 마찬가지로 푸리에 변환도 복소함수로 표현하는 것이 일반적이다.
이미지 처리와 같은 경우가 아니라면 대개 신호처리에서 시간에 대한 함수를 취급한다. 그래서 보통 이런 푸리에 변환을 연속 시간 푸리에 변환(CTFT, Continuous Time Fourier Transform)이라고 한다. 이 경우 연속 시간 함수를 주파수 도메인으로 변환하고 그 결과로 연속 주파수 함수를 얻을 수 있다. 이것은 주기를 무한대로 보내기 때문에다.($\lim_{T\rightarrow\infty}{1/T} = df$) 즉, 주파수 간격이 아주 작아져 연속 함수가 되는 것이다.
18강. 푸리에 변환
2019/06/30 – [전자공학/회로이론] – 17강. 퓨리에 급수
퓨리에 급수를 이용하여 주기함수를 정현파의 합으로 표현하는 방법에대해서 알게되었습니다. 이제 비주기신호를 분석하기위해서 퓨리에 변환을 이용하겠습니다.
아래 그림은 위 그림의 주기를 무한대로 늘린 상태입니다. 즉, 주기신호를 비주기신호로 바꾼모습입니다. 이러한 함수를 분석하기위해서는 퓨리에 변환을 이용하여 해석하면 유용합니다. 퓨리에 변환에대해 설명하기전 퓨리에급수를 표현하는 또하나의 방법에대해 먼저 설명하겠습니다.
[ 지수함수를 이용하여 퓨리에급수 표현 ]삼각함수 sin과 cos을 복소수와 지수함수형태로 바꾸면 위와같이 바꿀 수 있습니다. 이제 이 식들을 기존의 퓨리에 급수에 대입하여 살펴보겠습니다.
그리고 여기서 계수 c n 을 구하는 방법은 다음과 같습니다.
[ 퓨리에 변환 (Fourier Transform) ]$$ 여기에서 T \rightarrow \infty 일때, 적분식으로 모양을 바꿀 수 있습니다$$
표현식을 적분형태로 바꾸면 아래와 같습니다.
표현식의 아래부분을 잘 보시기바랍니다.
파란색 네모박스를 변수로 생각하면 어떠한 변수를 각주파수에대해 적분변환을하면 시간에대한 함수 f(t)가 됨을 알 수 있습니다. 즉, 파란색 네모박스 부분이 시간함수가 주파수영역으로 변환된 함수라고 생각할 수 있습니다. 이를 시간영역 함수를 주파수영역으로 변환한 “퓨리에 변환”이라고 합니다.
퓨리에 변환의 역변환은 아래와 같습니다.
퓨리에변환을 이용하여 시간에대한 cos함수를 변환해보겠습니다.
퓨리에 변환을 이용하여 코사인함수를 변환하면 임펄스 함수 2가지의 합으로 구분됩니다.
다른 예시를 한 번 더 보여드리겠습니다.
위 신호를 퓨리에 변환하면 어떻게 될까요?
펄스형 함수를 퓨리에 변환하였을때, sinc함수가 얻어집니다. sinc함수의 개형은 아래와 같습니다.
이제 주요 함수의 푸리에변환에 대해서 정리하겠습니다.
[ 푸리에변환표 ]$$f(t)$$ $$F(\omega)$$ $$delta(t)$$ $$1$$ $$1$$ $$2\pi\delta(\omega)$$ $$u(t)$$ $$\pi\delta(\omega)+\frac{1}{j\omega}$$ $$u(t+\tau)-u(t-\tau)$$ $$2\frac{\sin\omega\tau}{\omega}$$ $$e^{-at}u(t)$$ $$\frac{1}{a+j\omega}$$ $$e^{at}u(-t)$$ $$\frac{1}{a-j\omega}$$ $$t^ne^{-at}u(t)$$ $$\frac{n!}{(a+j\omega)^{n+1}}$$ $$e^{j\omega_0 t}$$ $$2\pi\delta(\omega-\omega_0)$$ $$\sin\omega_0t$$ $$j\pi[\delta(\omega+\omega_0)-\delta(\omega-\omega_0)]$$ $$\cos \omega_0t$$ $$\pi[\delta(\omega+\omega_0)-\delta(\omega-\omega_0)]$$ $$e^{-at}\sin\omega_0u(t)$$ $$\frac{\omega_0}{(a+j\omega)^2+\omega_0^2}$$ $$e^{-at}\cos\omega_0u(t)$$ $$\frac{a+j\omega}{(a+j\omega)^2+\omega_0^2}$$
특 성 $$f(t)$$ $$F(\omega)$$ Linearity $$a_1f_1(t)+a_2f_2(t)$$ $$a_1F_1(\omega)+a_2F_2(\omega)$$ Scaling $$f(at)$$ $$\frac{1}{|a|}F(\frac{\omega}{a})$$ Time Shift $$f(t-a)$$ $$e^{-j\omega a}F(\omega)$$ Frequency Shift $$e^{j\omega_0t}$$ $$F(\omega-\omega_0)$$ Modulation $$\cos(\omega_0t)f(t)$$ $$\frac{1}{2}[F(\omega+\omega_0)+F(\omega-\omega_0)]$$ Time Differentiation $$\frac{df}{dt}$$ $$j\omega F(\omega)$$ $$\frac{d^nf}{dt^n}$$ $$(j\omega)^nF(\omega)$$ Time integration $$\int_{-\infty}{t}f(t)dt$$ $$\frac{F(\omega)}{j\omega}+\pi F(0)\delta(\omega)$$ Frequency Differentiation $$t^nf(t)$$ $$(j)^n\frac{d^n}{d\omega^n}F(\omega)$$ Convolution in t $$f_1(t)\ast f_2(t)$$ $$F_1(\omega)F_2(\omega)$$ Convolution in ω $$f_1(t)f_2(t)$$ $$\frac{1}{2\pi}F_1(\omega)\ast F_2(\omega)$$
이상으로 퓨리에변환의 정의와 기본함수변환결과 및 특성들에 대한 포스팅을 마치겠습니다. 다음 포스팅에서는 퓨리에변환을 응용하여 회로를 해석하는 주제로 포스팅하도록 하겠습니다. 감사합니다 🙂
푸리에 변환
푸리에 변환 역시 이전에 한 푸리에 급수를 적분으로 변환한 것과 비슷합니다.
어쩌면 라플라스 변환같은 변환식인것이지요. 하나의 예를 들자면 시간축으로 표현된 함수를 주파수축으로 표현하기 위해서 푸리에 변환을 사용하기도 합니다.
푸리에 변환은 급수를 오일러 공식을 통해서 변환합니다.
오일러 공식이 무었이냐?
위와 같은 공식을 오일러 공식이라고 합니다. 이식은 매클로니 급수를 통해서 증명이 가능합니다. 기본적인 매클로니 급수를 보여주면
위 메클로니 급수를 오일러 공식에 대입해면 오일러 공식이 성립하게 됩니다.
그렇다면 오일러 공식을 통해서 삼각합수를 표현할수도 있습니다.
이런 오일러 공식을 통해서 이전에 푸리에 급수를 표현할 수 있습니다.
푸리에 급수는 아래와 같았습니다.
코사인과 사인 함수의 결합으로 표현되있는 것을 오일러 표현으로 바꿔면 됩니다.
오일러 표현으로 고친 푸리에 급수입니다. 이식을 다시 푸리에 적분과 같이 뮤를 이용해서 고치겠습니다.
그러면 위 오일러 공식으로 표현된 푸리에 급수는 아래와 같이 다시 쓸수 있습니다.
구간 L을 무한대로 확장하면 푸리에 변환식을 얻게 됩니다.
결론으로 도출된 2개의 식이 푸리에 변환식이며 푸리에 역변환식입니다.
첫번째 식이 푸리에 변환된 식이 이미 존재 했을때 원래의 식을 찾는 역변환식, 2번째 식이 원함수를 푸리에 변환시키는 식이 됩니다.
이 2개의 식의 도출과정은 잊어 버려도 상관 없으나 결론식을 외워두셔야 합니다. 푸리에 변환은 많은 분야에서 활용되고 있습니다.
회사에서 일을 한다면 푸리에 변환시켜주는 프로그램이 있긴 있습니다만, 알고 하는 것과 모르고 하는 것은 차이가 크다고 봅니다.
이렇게 푸리에 변환은 라플라스 변환과 같이 기호로 푸리에 변환을 의미하는 것이 잇습니다.
이처럼 약간 이텔릭체로 F를 쓰는 것이 푸리에 변환의 수학적기호입니다.
공학에서 주요하게 사용하는 함수는 삼각함수입니다. 이전에도 사인급수 코사인 급수 등등으로 나눴던것 처럼 푸리에 변환 역시
푸리에 코사인, 사인 변환을 알아봅시다. 이전과 마찬가지로 기함수,우함수의 특성을 이용한것입니다.
마찬가지로 원함수f(x)가 기함수라면 위의 과정을 통해서 구할수 있습니다.
과정은 생략하고 결론을 살펴봅시다.
일반 푸리에 변환에 우함수 기함수의 특징을 넣고 그것을 사인과 코사인의 오일러 공식을 이용해서 구하는 것입니다.
코사인 사인 변환은 푸리에 적분에서 푸리에계수와 사실상 모양이 같습니다.
예제를 하나 풀면서 푸리에 변환을 익히고 다음장으로 넘어가도록 합시다.
정의로 푸는 방식입니다. 그러나 원함수 f(x)는 생각해보면 y축에 서로 대칭인 우함수의 특징을 나타내고 있습니다. 그렇다면 푸리에 코사인 변환을 통해서 푸는 것도 가능하죠
f(x)가 우함수나 기함수가 아니라면 정의에 의해서 풀어야 겠지만 기함수나 우함수일경우는 코사인 변환이나 사인 변환을 이용해서 푸는 것이 더욱 빠릅니다.
___________________________________________________________________________________________________________________
댓글 달아주신거 여기에서 답해드리겠습니다.
위 과정을 거치기 때문에 sin함수의 경우 오일러 공식을 이용한 표기는 분모에 2i가 붙게 됩니다.
푸리에 변환(Fourier transform) (1)
우리는 신호를 얻게 되면 그 신호를 여러 가지 방법들을 가지고 분석할 수 있는데 푸리에 변환(Fourier transfrom)이 그 중에서 가장 대표적이며 범용적으로 사용되는 도구라고 할 수 있다. 그렇기 때문에 신호처리 분야(영상, 음성, 통신 등등)에서 종사하는 연구자라면 꼭 한번은 푸리에 변환의 개념에 대해서 명확하게 이해하고 정리해둘 필요가 있다. 또, 푸리에 변환이 적용되는 예를 통해서 이해도를 넓히고자 한다.
본 글은 푸리에 변환의 소개를 시작으로 그렇다면 어떻게 수학적으로 푸리에 변환이 유도되었는지를 다룰 예정이다.
1. 푸리에 변환의 소개
간단히 푸리에 변환에 대해서 말하자면 푸리에 변환은 주어진 신호를 다양한 주파수를 가지는 주기함수들의 합 으로 나타내는 것이다. 여기서 주기함수란 우리가 일반적으로 알고 있는 사인(sin), 코사인(cos) 함수를 의미한다. 사인, 코사인 함수는 그 모양에 따라서 굉장히 다양한 주파수를 가질 수 있다. 이를 통해서 신호를 낮은 저주파에 해당하는 함수부터 고주파의 함수까지 수 많은 주기함수의 합으로 표현하는 것이다.
예를 들어보자 아래 그림 1과 같이 빨간색 신호가 측정되었다고 가정해보자. 빨간색 신호를 직관적으로 특정함수로 분석하기란 매우 힘들다. 하지만 푸리에 변환을 하면 빨간색 신호를 대표적인 세 가지 서로 다른 주기를 가진 주기함수들로 분리할 수 있다 (즉, 세 가지 주기함수를 합하면 빨간색 신호가 된다.). 이를 파란색 그래프와 같이 주기에 따라 다시 표현하면 세 가지 해당 주기가 강조되는 그래프를 얻을 수 있다. 이와 같이 푸리에 변환을 사용하면 복잡한 신호를 다소 간략히 해석할 수 있다.
하지만 이쯤에서 하나의 의문점을 품을 수 있다. 모든 신호가 푸리에 변환을 거치면 해석에 용이해질까?
미리 정답을 말하자면 아니다.
그림 1 신호(빨간색)의 푸리에 변환 결과(파란색)
푸리에 변환을 이용하며 간략히 해석 가능한 신호는 주기가 관찰되는 신호 이다. 더 엄밀히 말하자면 사인과 코사인함수와 같은 파형으로 주기를 가진 신호를 말한다. 물론 이러한 특징은 눈으로 쉽게 판별하기 어려울 수 있다. 이에 대해서는 다음 글에서 여러 가지 대표적인 예를 통해서 자세히 설명하겠다.
그럼에도 불구하고 푸리에 변환은 신호 해석뿐만 아니라 주파수별로 데이터를 처리하기 용이하므로 잡음 제거나 특정 주파수 강조 신호 생성 에 자주 쓰인다.
2. 푸리에 변환의 수학적 유도
지금부터 푸리에 변환에 대해서 수학적으로 이해해보자. 사실 푸리에 변환에 대해서 수학적으로 정확히 이해하기 위해서는 대학에서 배우는 것처럼 푸리에 사인 변환 및 푸리에 코사인 변환부터 푸리에 불연속 변환에서 연속 변환까지 한단계 한단계 학습하는 것이 맞는 방법이다. 하지만 본 글의 취지는 그러한 자세한 수학적 이해보다는 우리가 푸리에 변환을 사용하기 위한 최소한의 수학적인 유도만을 할 예정이다.
(본 글은 상당 부분이 kreyszig의 공업수학을 참고하였다.)
앞서 말한 것과 같이 우리는 신호를 다양한 주파수를 가진 주기함수들의 합으로 가정하였다. 그리고 실제로 무한개의 주기함수면 이 세상 모든 신호를 합으로 표현할 수 있다. 이를 수학식으로 표현하면 아래와 같다.
$$ f(x) = \int_{0}^{\infty}[A(w)\cos wx + B(w)\sin wx]\, dw \label{basic01}\tag{1}$$
여기서 $$ A(w) = \frac{1}{\pi}\int_{-\infty}^{\infty}f(v)\cos wv\, dv \tag{2}$$
$$ B(w) = \frac{1}{\pi}\int_{\infty}^{\infty}f(v)\sin wv\, dv \tag{3}$$
이다. 여기서 두 함수 \(f(x)\)와 \(f(v)\)는 편의상 다른 기호를 사용하는 것이지 동일한 함수이다. \(w\)는 주기함수의 주파수를 나타낸다. \(A(w)\)와 \(B(w)\)의 유도는 삼각함수의 적분에서의 직교성을 통하여 증명할 수 있다. 본 글에서는 부차적인 증명은 생략하도록 하겠다 (이는 kreyszig의 공업수학에서 Chapter 11 Theorem 1을 참고하기 바란다.).
위 식 (1)에 \(A(w)\)와 \(B(w)\) 을 식 (2)와 (3)으로 대체하면 다음과 같이 적을 수 있다.
$$ f(x) = \frac{1}{\pi}\int_{0}^{\infty} \int_{-\infty}^{\infty} f(v) \left[\cos wv \cos wx + \sin wv \sin wx \right]\, dv\, dw \tag{4}$$
이는 삼각함수의 공식 \( \cos (ax – by) = \cos ax\cos by + \sin ax\sin by\)를 통해서 다시 표현하면
$$ f(x) = \frac{1}{\pi}\int_{0}^{\infty} \left[\int_{-\infty}^{\infty} f(v)\cos (wx – wv)\, dv \right]\, dw \tag{5}$$ 이다. 괄호 안의 코사인함수는 우함수(even function)이며 \(f(v)\)는 \(w\)에 대한 함수가 아니다. 그러므로 괄호 밖의 \(w\)에 대한 적분 안의 함수는 우함수이다. 그러므로 아래와 같이 적분 범위를 0에서 \(-\infty\)로 두 배 늘리고 2를 나누어 표현할 수 있다.
$$ f(x) = \frac{1}{2\pi}\int_{-\infty}^{\infty} \left[\int_{-\infty}^{\infty} f(v)\cos (wx – wv)\, dv\right]\, dw \tag{6}$$
여기까지가 최초의 의도하였던 주기함수들의 합으로 함수 \( f(x)\)를 표현한 것이다. 하지만 여기서 변수 \( x,v\)의 분리가 쉽지 않기 때문에 이대로는 변환을 통한 주파수 \( w \)에 대한 분석이 용이하지 않다. 약간의 수학적 트릭으로 쉽게 변수 분리가 가능하다 ( 정말 어떻게 이런 것을 생각했는지 감탄이 나온다. ).
괄호 안의 \(w\)에 대한 코사인함수가 우함수이므로 사인함수는 기함수(odd function)이다. 그래서 동일한 적분 범(\(-\infty,\infty\))에서는 0이다.
$$ \frac{1}{2\pi}\int_{-\infty}^{\infty} \left[\int_{-\infty}^{\infty} f(v)\sin(wx – wv)\, dv\right]\, dw = 0 \tag{7}$$
다음으로 오일러 공식(Euler formula)를 생각해보자.
$$ e^{ix} = \cos x + i\sin x \tag{8}$$
위의 사인함수를 포함한 적분식의 값이 0이므로 \( f(x)\)를 다음과 같이 표현할 수 있다.
$$ f(x) = \frac{1}{2\pi} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(v) \left[\cos (wx – wv) + i\sin(wx – wv) \right]\, dv\, dw = \frac{1}{2\pi} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(v) e^{i(wx – wv)}\, dv\, dw \tag{9}$$
이를 정리하여 다시 적으면 아래와 같다.
$$ f(x) = \frac{1}{2\pi} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(v) e^{iw(x – v)}\, dv\, dw \tag{10}$$
여기까지 이해하였다면 끝났다. 위 식을 우리의 입맛에 맞게 나누어 표현하면
$$ f(x) = \sqrt{\frac{1}{2\pi}} \int_{-\infty}^{\infty}\left[ \int_{-\infty}^{\infty} f(v) e^{-iwv}\, dv\right]e^{iwx}\, dw \tag{11}$$ 이다. 위 식에서 \(v\)에 대한 적분을 가르켜 푸리에 변환이라 하고 \(x\)에 대한 적분을 가르켜 푸리에 역변환(Fourier inverse transform)이라 한다. 두 변환을 거치면 원래의 함수와 동일함을 증명하였다. 이를 나누어서 다시 적으면 푸리에 변환은 $$ \hat{f}(w) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{\infty} f(x)e^{-iwx}\, dx \tag{12}$$ 이고 역변환은 $$ f(x) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{\infty} \hat{f}(x)e^{iwx}\, dw \tag{13}$$ 이다. 우리는 위 식을 매번 적기 어렵고 다른 수식과 섞이면 해석이 매우 어렵기 때문에 아래와 같이 기호를 써서 표현하기로 약속하였다. 그것은
$$ \hat{f} = \mathcal{F}(f), \tag{15}$$ 그리고 $$ f = \mathcal{F}^{-1}(\hat{f}) \tag{14}$$ 이다.
사실 유도만 놓고 보면 이게 어떻다는 거지? 라는 의문이 든다. 하지만 여기서 우리가 확인할 수 있는 점은 임의의 \( f(x)\) 혹은 \(f(v)\) 라는 함수를 푸리에 변환하여 주파수 \(w\)를 변수로 함수로 변환할 수 있고 이에 대한 역변환이 주어짐으로써 주파수 \(w\)에 대한 자유로운 신호처리가 가능하다는 것이다.
본 글에서는 어쩔 수 없이 와닿지 않는 긴 설명과 수식으로 푸리에 변환에 대해서 적어보았다. 다음 글에서는 우리가 자주 접하는 함수의 푸리에 변환과 푸리에 변환을 이용한 영상처리 방법을 소개하겠다.
※ 본 글은 필자가 공부를 하며 얻은 이해를 바탕으로 적은 글이므로 다소 해석의 오류가 있을 수 있습니다. 글이 도움이 되었다면 하트 클릭 부탁드립니다 🙂 (비로그인으로도 가능합니다.)
푸리에급수, 어떤 의미를 지니는가
반응형
Fourier Series
음성 녹음한 파일을 보면 복잡한 형태의 신호가 나온다. 그 이유는 다양한 주파수(frequency)를 가진 사인파 형태(sinusoidal)의 신호들이 섞여있기에 그러하다. 이때 의미있는 분석을 위해서는 time domain이아닌 frequency domain으로 살펴 어떠한 주파수의 신호들로 이루어져 있는지 알아내야 한다. 이때 이용할 수 있는 수학적 도구가 푸리에 변환(Fourier Transform)이다. 즉 푸리에 변환은 time domain에서 frequency domain으로 나타내어 해당 신호가 어떠한 주파수 성분들로 구성되는지 알 수 있도록 한다.
주기함수를 지수함수의 조합으로 표현할 수 있는 것이 푸리에 급수이다.
주기함수가 아닌 것을 지수 함수로 표현하는 것은 푸리에 변환이다. 이는 보통 에너지 신호인 경우에만 잘 된다.
에너지 신호가 아닌 신호에도 푸리에 변환을 적용하고 싶어서 어떠한 trick을 이용하는데 이를 라플라스 변환이라 한다.
1) 주기신호 – 푸리에 급수
2) Energy 신호 – 푸리에 변환
3) 일반적인 신호 – 라플라스 변환
푸리에 급수(Fourier Series)부터 보자. 푸리에 급수는 주기신호(periodic signal)를 sine 함수와 cosine 함수의 선형 결합 형태로 나타낼 수 있다는 이론이다. 핵심은, 어떤 복잡한 형태의 주기함수나 주기신호를 cosine과 sine의 선형 결합으로 표현하는 것이다.
진폭과 위상은 같고 주파수만 $f$ = 2, 4, 6, 8 로 다른 파형들이다.
위 4개의 파형을 sum하면 다음과 같이 주파수가 2인 주기함수가 된다. 당연히 제일 느리게 진동하는 친구에게 맞춰주어야 겠다.
가장 작은 주파수 $f_1$을 기준으로 하여 $2f_1, 3f_1, 4f_1, …$의 파형을 합하면 가장 작은 주파수 $f_1$을 갖는 파형이 된다.
어떤 복잡한 주기를 가진 파형이 있고 이것의 주파수가 $f$라면 이 파형은 주파수 $f$의 정수배인 사인파들의 합으로 표현할 수 있다.
이때 진폭과 위상을 달리 해야 여러 파형의 표현이 가능하겠다.
$y(t) = b_1 \sin (2 \pi ft + \phi {_1}) + b_2 \sin (2 \pi 2ft + \phi {_2}) + b_3 \sin (2 \pi 3ft + \phi {_2}) +…$
위 식은 (0, 0)일 때만을 간주하게 된다. sin 함수밖에 없어서 그러하다. 그러므로 cos 함수도 불러오도록 한다.
$y(t) = a_1 \cos 2\pi ft + b_1 \sin 2 \pi ft + a_2 \cos 2 \pi 2ft + b_2 \sin 2 \pi 2ft + …$
이렇게 되면 t = 0에서 임의의 값을 모두 가질 수 있다.
마지막으로 함수를 y축 기준으로 $a_0$만큼 이동한 채 이를 중심으로 진동하게끔 $a_0$을 더하면 최종적인 식을 도출해낼 수 있다.
$y(t) = a_0 + \sum _{n=1}^{\infty}{a_n \cos {2\pi nft} + b_n \sin {2\pi nft} }$
$y(t) = a_0 + \sum _{n=1}^{\infty}{a_n \cos n\omega t + b_n \sin n \omega t}$
$y(t) = a_0 + \sum _{n=1}^{\infty}{a_n \cos \frac {2\pi n}{T}t + b_n \sin \frac {2\pi n}{T}t}$
복잡한 주기신호 = 주기신호1 + 주기신호2 + … 으로 나타내는 것 뿐이다.
sin과 cos 각 항마다 계수(coefficient)인 $ a_n $ 과 $ b_n $이 곱해져있다.
또한 sin과 cos에 $ nx $ 가 input으로 들어가는데 이때 n은 주파수(frequency)를 결정한다.
$ sin(x) $는 n=1인 경우이고 $ 2\pi $까지 한번 진동한다.
$ sin(2x) $는 n=2인 경우이고 $ 2\pi $까지 두번 진동한다.
한번의 진동에 $ 2\pi $가 걸렸다.
삼각함수가 $ 2\pi $의 주기를 가지기 때문에
$ T = 2\pi / n $
그래서 $ sin(x) $의 주기는 $ 2\pi $이고,
$ sin(2x) $의 주기는 $ \pi $이다.
그렇다면 계수(coefficient)인 $ a_n $ 과 $ b_n $은?
주파수 성분들이 f에 얼마만큼 포함되어있는지 contribution을 나타낸다고 볼 수 있다. 즉 단순한 파동의 가중치.
$ b_0 = 0 $ 이기에 따로 표기하지 않았다.
$a_0$ 구하기
$a_0$은 아까 살펴본 바와 같이 y축 기준으로 $a_0$만큼 이동한 것이니 어떤 상수 값이다.
sin이나 cos이나 주기 T에 대해서 적분하게 되면 0이 나온다(2T, 3T, …에 대해서도 마찬가지다).
주기 T에 1 cycle, 2 cycle, …을 적분해도 상쇄되어 모두 0이 나온다.
주기 T에 대하여 박스
그러므로 y절편인 $a_0$을 T만큼 곱한 면적만 살아남겠다.
$\int _{0}^{T}{f(t)dt} = T \times a_0 + 0 + 0 + …$
이를 정리해서 쓴다면 다음과 같다.
$a_0 = \frac {1}{T} \int _{0}^{T}{f(t)dt}$
$a_1, b_1$ 이상 계수 구하기
계수 구하기에 앞서 $m
eq n$일 때 ${1, \sin(mx), \cos(nx)}$는 $[-\pi, \pi]$의 범위에서 orthogonal하다.
이를 증명하기 위해서 사인파 함수 $w \circ v = 0$를 나타내어 본다.
벡터에서는 벡터의 내적이 0이면 직교성을 갖추는데, 함수의 직교성은 다음의 관계를 만족한다.
$\int _a^b f_1*f_2 dx = 0$
두 함수를 곱하고 주기만큼 적분한 값이 0이 나와야 한다.
(1) 모든 정수 k에 대하여 $\sin(k\pi) = 0$
(2) $\cos(m\theta) \circ \cos(n\theta) = 0$만 증명하면 되겠다.
다른 주기를 가진 경우
같은 주기를 가진 경우
위처럼 절대값이 같은 주기를 가진 경우의 결과는 0이 아닌 $\pi$가 나온다.
이 직교성을 가지고 푸리에 계수를 구할 수 있다.
$\cos(mx)$를 곱해서 적분해보자.
$\sin(mx)$를 곱해서 적분해보자.
$\int _{0}^{T}{\sin(nwx)\cos(mwx)dx} = 0$
$\int _{0}^{T}{\cos(nwx)\cos(mwx)dx} = 0 (n
eq m)$
$\int _{0}^{T}{\sin(nwx)\sin(mwx)dx} = 0 (n
eq m)$
$\pi(n = m)$
위를 정리하면 계수 $a_0, a_n, b_n$를 다음을 통해 구할 수 있다.
주기가 $2\pi$일 때
주기가 $2\pi$가 아닌 일반화된 T일 때
이때 $f(x)$가 기함수일 때 우함수인 cos 함수는 존재할 필요가 없다. $a_n = 0$
마찬가지로 $f(x)$가 우함수일 때 기함수인 sin 함수가 존재할 필요가 없다. $b_n = 0$
오일러 공식을 통해서 지수함수의 형태로 바꿔보자.
사인파 함수의 합으로 표현된 푸리에 급수를 복소지수로 표현한다.
주기함수의 가장 낮은 주파수를 기준으로 정수배에 해당하는 값들만 아래와 같은 스펙트럼을 가진다.
최종적으로 지수함수로의 표현을 하면 다음과 같아진다! $C_n$을 구할 때는 주기 T에 대해서 구하는 것이 중요하므로,
$[0, T]$이던지 $[-\dfrac{T}{2}, \dfrac{T}{2}]$던지 상관 없다.
삼각함수 표현 vs 지수함수 표현
삼각함수 : 파(wave)의 기본 형태를 사인함수 로 여기고,
기본 주파수의 정수배가 되는 모든 기본파의 합으로 주어진 파를 표현한 것이고,
로 여기고, 기본 주파수의 정수배가 되는 모든 기본파의 합으로 주어진 파를 표현한 것이고, 복소지수 : 파(wave)의 기본 형태를 복소평면에서의 원으로 여기고,
이 원의 기본 각속도의 정수배(양의 정수배 및 음의 정수배)가 되는 원들의 합으로 주어진 파를 표현한 것이다.
반응형
다크 프로그래머 :: Fourier Transform(푸리에 변환)의 이해와 활용
푸리에 변환(Fourier transform)에 대해서는 예전부터 한번 정리를 해야겠다고 생각만 했었는데 이번에 기회가 되어 글을 올립니다.
푸리에 변환(Fourier transform)은 신호처리, 음성, 통신 분야에서 뿐만 아니라 영상처리에서도 매우 중요한 개념으로 다양한 응용을 가지고 있습니다. 영상을 주파수 성분으로 변환하여 다양한 분석 및 처리를 할 수 있고 임의의 필터링 연산을 fft(fast Fourier transform)를 이용하여 고속으로 구현할 수도 있습니다. 그리고 푸리에 변환과 같은 근원적인 이론들은 특정 응용에 국한되지 않기 때문에 한번 알아두면 분야를 떠나서 두고두고 도움이 됩니다.
이 글에서는 푸리에 변환(Fourier transform)이 무엇이고 어디에 쓸 수 있는지, 그리고 어떻게 쓸 수 있는지 직관적 이해와 유용한 성질들, 영상처리 응용, 그리고 푸리에 변환(Fourier transform)을 실제 활용하는데 있어서 필요한 사항들을 최대한 직관적으로 정리하고자 합니다.
그동안 푸리에 변환(Fourier transform)에 대해 개인적으로 가지고 있었던 의문은 푸리에 변환을 통해 얻어지는 스펙트럼과 페이즈(phase) 중 페이즈(phase)가 무엇인가? 그리고 푸리에 주파수 공간의 좌표값을 어떻게 해석할까입니다. 아마도 비슷한 의문을 가진 분들도 꽤 있을 것으로 생각됩니다. 이 글을 통해서 그러한 의문에 대한 답도 같이 다루게 됩니다.
1. 푸리에 변환(Fourier transform) – 직관적 이해
모든 공부의 시작은 핵심 개념을 정확히 이해하는데 있다. 그리고 그 이해는 가급적 직관적일수록 좋다.
푸리에 변환(Fourier transform)을 직관적으로 설명하면 푸리에 변환은 임의의 입력 신호를 다양한 주파수를 갖는 주기함수들의 합으로 분해하여 표현하는 것이다.
좀더 들어가면, 푸리에 변환에서 사용하는 주기함수는 sin, cos 삼각함수이며 푸리에 변환은 고주파부터 저주파까지 다양한 주파수 대역의 sin, cos 함수들로 원본 신호를 분해하는 것이다.
아래 그림(그림 1)의 예를 보자. 맨 앞의 붉은 색 신호는 입력 신호이고 뒤의 파란색 신호들은 푸리에 변환(Fourier transform)을 통해 얻어진 (원본 신호를 구성하는) 주기함수 성분들이다. 각각의 주기함수 성분들은 고유의 주파수(frequency)와 강도(amplitude)를 가지고 있으며 이들을 모두 합치면 원본 붉은색 신호가 된다.
그림 1. 푸리에 변환 (그림출처: 위키피디아)
여기서 입력 신호는 전파, 음성 신호 등과 같이 시간축(time)에 대해 정의된 신호일 수도 있고 이미지(image) 등과 같이 공간축에 대해 정의된 신호일 수도 있다. 통신 분야에서는 푸리에 변환(Fourier transform)을 time domain에서 frequency domain으로의 변환이라고 하고, 컴퓨터 비전(computer vision), 영상처리 쪽에서는 spatial domain에서 frequency domain으로의 변환이라고 부른다. 명칭이야 어쨌든 그 핵심은 입력 신호를 sin, cos의 주기성분으로 분해하는 것이다.
푸리에 변환(Fourier transform)의 대단한 점은 입력 신호가 어떤 신호이든지 관계없이 임의의 입력 신호를 sin, cos 주기함수들의 합으로 항상 분해할 수 있다는 것이다. 그리고 그 과정을 수식으로 표현한 것이 푸리에 변환식이다.
2. 푸리에 변환(Fourier transform) – 수식적 이해
어떤 개념을 직관적으로 이해했다면 그 개념에 대한 수식적 이해는 그 개념을 한층 풍성하고 깊이있게 이해하게 해 준다.
푸리에 변환(Fourier transform)은 프랑스의 수학자 Joseph Fourier (1768 ~ 1830)가 제안한 방법으로서 수학사(해석학)의 역사가 새로 씌여질 정도로 대단한 발견이었다고 한다. 그 유명한 푸리에 변환의 수식은 다음과 같다.
, — (1)
. — (2)
여기서 j는 허수단위 , f(x)는 원본 입력 신호, ej2πux는 주파수 u인 주기함수 성분, F(u)는 해당 주기함수 성분의 계수(coefficient)를 나타낸다.
일단 식을 있는 그대로 해석하면 식 (1)은 입력신호 f(x)가 ej2πux들의 합으로 표현(분해)된다는 의미이다 (적분은 합한다는 의미를 갖는다). 그리고 식 (2)는 f(x)를 주기함수 성분으로 분해했을 때의 계수(coefficient) F(u)가 식 (2)로 주어진다는 의미이다. 앞서 그림 1과 연관해 보면 ej2πux는 f(x)를 구성하는 (파란색의 주파수 u인) 주기함수 성분들이고 F(u)는 해당 주기함수 성분의 강도(amplitude)를 나타낸다.
☞ 푸리에 변환에 대한 일반적인 설명 방식은 두번째 식 (2)를 푸리에 변환이라고 정의하고 첫번째 식 (1)을 푸리에 역변환(inverse Fourier transform)이라고 정의하는 것이다. 그리고 푸리에 역변환을 하면 다시 원래의 함수로 돌아온다고 한다. 하지만 이러한 기계적인 이해(푸리에 변환을 어디 하늘에서 뚝 떨어진 정의로만 받아들이는 것)는 푸리에 변환의 본질을 이해하는데 별 도움이 되지 않는다.
이제 식으로 좀더 들어가 보자. 일단, 식 자체는 푸리에 변환의 대단함에 비추어 매우 단순하다 (Simple is the best!!). 다만 한 가지 ej2πux의 의미만 이해하면 된다. 그리고 이를 위해서는 오일러 공식(Euler’s formula)이 필요하다.
오일러 공식(Euler’s formula)은 복소지수함수를 삼각함수로 변환할 수 있도록 하는 유명한 식이다.
— (3)
식 (3)은 증명 가능한 식이며 그 증명은 인터넷에서 어렵지 않게 찾을 수 있다. 어쨌든 오일러 공식을 이용하면 식 (1)의 ej2πux는 실수부가 cos(2πux), 허수부가 sin(2πux)인 주기함수임을 알 수 있다.
— (4)
여기서 cos(2πux), sin(2πux) 모두 주기(period)가 1/u, 주파수(frequency) u인 주기함수이므로 결국 ej2πux는 주파수 u인 정현파(sinusoidal wave)의 복소지수함수 표현임을 알 수 있다.
주기: 파동이 한번 진동하는데 걸리는 시간, 또는 그 길이. sin(wx)의 주기는 2π/w 임.
주파수: 1초 동안의 진동 횟수. 주파수와 주기는 서로 역수 관계 (주파수 = 1/주기)
☞ 정현파(sinusoidal wave)는 파형이 sin 또는 cos 함수인 파동(wave)을 말한다. 그런데, 여기서 왜 갑자기 복소수가 나오고 또 주기함수를 저렇게 표현하느냐고 따질 수 있다. 하지만 여기서는 그냥 복수지수함수는 정현파(sinusoidal wave)를 표현하는 방법 중 하나라는 정도로만 알아두자. 정현파 및 복수지수함수 표현에 대한 보다 자세한 내용은 AngeloYeo님의 페이저(phasor)에 대한 설명글을 참고하기 바란다.
이제 다시 원래의 식 (1), (2)로 돌아가 보자. 식 (1)은 함수 f(x)를 모든 가능한 주파수(u)의 주기함수들(ej2πux)의 일차결합으로 표현한 것이다. 그리고 그 일차결합 계수 F(u)는 식 (2)로 항상 주어질 수 있다는 것이 요지이다. 이와 같이 푸리에 변환식을 볼 수 있다면 푸리에 변환의 핵심을 이해한 것이다.
☞ 식 (1), (2)의 푸리에 변환(Fourier transform)식은 언뜻 보면 정의(definition)로 보이지만 사실은 증명해야 할 정리(theorem)이다. 즉, 식 (2)의 F(u)를 식 (1)에 대입하면 항상 f(x)가 나옴을 증명해야 한다. 이것이 증명되면 모든 임의의 신호함수는 항상 주기함수들의 일차결합으로 분해될 수 있음이 증명되는 것이다 (증명은 이곳 참조).
마지막으로, (증명은 아니지만) 왜 일차결합의 계수 F(u)가 식 (2)로 주어지는지를 선형대수학과 연관지어 직관적으로 이해해 보자. 식 (1)에서 ej2πux, u = 0, ±1, ±2, …은 모든 신호를 생성할 수 있는 직교(orthogonal) 기저(basis) 함수들로 볼 수 있다 (편의상 u를 정수 범위로 표기했으나 u는 실수 전체 범위임). 그러면 입력 신호 f(x)를 이들 기저함수들로 분해했을 때의 계수 F(u)는 f(x)와 기저함수의 내적(dot product)으로 계산될 수 있다 (아래의 ☞선형대수학 관련 설명 참조). 식 (2)는 f(x)와 ej2πux의 함수 내적이기 때문에 그 결과는 f(x)를 ej2πux들로 분해했을 때의 계수가 된다. 따라서, F(u)가 식 (2)로 주어지는 이유가 설명이 되었다. 참고로, 식 (2)에서 j 앞에 -가 붙은 이유는 복소수에서의 내적은 어느 한쪽에 켤레(conjugate) 복소수를 취한 후 계산되기 때문이다.
☞ 선형대수학(linear algebra)에서는 어떤 벡터 공간을 생성할 수 있는 일차독립인 벡터들의 집합을 기저(basis)라고 한다. 만일 기저(basis) 벡터들이 v1, v2, …, vn라 하면 이 벡터공간에 속하는 임의의 벡터 v는 v = a1v1 + a2v2 + … + anvn (ai는 상수)와 같이 기저 벡터들의 일차결합으로 표현될 수 있다 (왜냐하면 vi들이 이 벡터공간의 모든 벡터들을 생성할 수 있으니까). 그런데 만일 기저벡터들이 서로 수직(vi·vj = 0)인 단위벡터라면 일차결합 계수 ai는 내적을 이용하여 ai = v·vi로 손쉽게 계산할 수 있다 (∵ v·vi = (a1v1 + … + anvn)·vi = ai*(vi·vi) = ai). 어떤 벡터와 기저(basis) 벡터를 내적하면 이 벡터에 포함된 기저 성분의 계수가 얻어진다는 것은 선형대수학에서 매우 유용한 성질이다.
☞ F(u)가 식 (2)로 주어지는 이유에 대한 선형대수학적 설명은 개인적 이해 방식이라서 증명이 있거나 근거 문헌이 있는 내용은 아닙니다. 그냥 그런 식으로 이해할 수도 있구나 하고 참고만 하기 바랍니다. 정말 그런지 수학적으로 증명해 봐라 하면 골치아픕니다..
3. 이미지(영상신호)에서의 푸리에 변환(Fourier transform)
푸리에 변환(Fourier transform)을 영상처리에 적용하기 위해서는 이미지(영상신호)가 가지고 있는 몇 가지 차이점을 인지해야 한다. 먼저, 이미지는 2차원의(x축 방향의 변화와 y축 방향의 변화가 동시에 포함된) 신호이기 때문에 2차원에서 정의되는 푸리에 변환이 필요하다. 2차원 신호에 대한 푸리에 변환(Fourier transform)은 다음과 같이 정의된다.
, — (5)
. — (6)
단, 여기서 F(u, v)는 x축 방향으로 주파수(frequency) u, y축 방향으로 v인 주기함수 성분의 계수이다. 그리고 그 값은 식 (6)에 의해 계산된다.
그런데 이미지는 연속(continuous)이 아닌 이산(discrete) 신호이다. 그리고 한정된 유한(finite) 구간에서 정의되는 신호이다. 따라서, 이산 데이터에서 정의되는 푸리에 변환이 필요하다. W x H 크기의 이미지 f(x, y)에 대한 이산 푸리에 변환(discrete Fourier transform)은 다음과 같이 정의된다.
, —(7)
. —(8)
단, x = 0, 1, …, W-1, y = 0, 1, …, H-1이고 u = 0, 1, …, W-1, v = 0, 1, …, H-1.
식 (7)에서 ej2π(ux/W+vy/H)는 x축 방향으로 주파수가 u/W, y축 방향으로 주파수가 v/H인 sinusoidal 주기함수이다 (by 오일러 공식). 일반적인 푸리에 변환식과는 달리 W와 H로의 나누기가 들어있음에 유의해야 하며 이는 데이터가 정의된 구간을 하나의 단위 주기(unit period)로 만드는 효과가 있다. 일종의 정규화 팩터(normalization factor)라고 생각하면 된다.
여기서 2D 이미지를 어떻게 신호로 해석할 수 있는지, 그리고 2D 정현파(sinusoidal wave) ej2π(ux/W+vy/H)가 도대체 어떤 모습일지 아마도 의아해할 수 있다. 첫째, 이미지를 신호로 해석하는 문제는 x 또는 y축을 시간축으로 놓고 좌표의 변화에 따라 변하는 이미지 픽셀의 밝기 변화를 신호로 생각하면 쉽게 이해할 수 있다. 다음으로, 2D에서 정의되는 정현파(sinusoidal wave)의 모습은 아래 그림과 같이 모든 방향으로의 단면이 sinusoidal이 되는 물결 형태의 파동을 생각하면 된다.
그림 2. 2D에서의 sinusoidal wave
앞서 그림 1의 1D 푸리에 변환의 경우와 유사하게 생각해 보면, 이미지에 대한 푸리에 변환(Fourier transform)은 그림 2와 같은 형태의 다양한 2D 정현파들의 합으로 이미지를 분해하여 표현하는 것으로 이해할 수 있다.
이미지에 대한 푸리에 변환(Fourier transform)에서 한 가지 주의해야 할 것은 푸리에 변환의 계수 F(u, v)가 ej2π(ux+vy)의 계수가 아니라 ej2π(ux/W+vy/H)의 계수라는 점이다. 즉, 이산 푸리에 변환에서 F(u, v)는 주파수 u, v 성분이 아니라 주파수 u/W, v/H 성분에 대한 계수를 나타낸다.
W × H 이미지에 대한 이산 푸리에 변환에서 F(u, v)는 – x축 주파수 u/W, y축 주파수 v/H인 주기함수 성분에 대응 – 주기로는 x축 방향 W/u 픽셀, y축 방향 H/v 픽셀인 주기성분을 나타냄 (주기 = 1/주파수)
☞ 바로 이 부분이 개인적으로 푸리에 변환에 대해서 혼동스러웠던 부분 중 하나이다. W x H 이미지의 푸리에 변환에서 F(u, v)는 주파수 u, v의 성분이 아니라 주파수 u/W, v/H 성분이다. 따라서, 주파수 공간에서 특정 F(u, v) 값이 높게 나타났다면 원래의 이미지 공간에서는 x축 방향으로 주기가 W/u 픽셀, y축 방향 주기가 H/v 픽셀인 주기성 성분이 존재한다는 의미가 된다.
참고로, 1차원에서의 함수 f(x), x = 0, 1, 2, …, W-1에 대한 이산 푸리에 변환(discrete Fourier transform)은 다음과 같이 정의된다.
— (9)
— (10)
☞ 1차원 이산 푸리에 변환(discrete Fourier transform)식은 실제 푸리에 변환을 컴퓨터로 구현하는데 있어서 가장 기본이 되는 식이다. 왜냐하면 파동과 같은 연속 신호라 할지라도 실제 분석에 있어서는 샘플링된 이산 데이터를 이용해야 하고 2차원 푸리에 변환에 대한 구현도 내부적으로는 1차원 푸리에 변환을 이용하여 구현되기 때문이다.
4. 푸리에 스펙트럼(spectrum)과 페이즈(phase)
이제 실제로 푸리에 변환(Fourier transform)을 통해 얻어지는 F(u, v) 값들이 어떤 의미를 가지며 어떤 형태(visualization)를 갖는지 살펴보자.
푸리에 변환을 통해 얻어지는 F(u, v)는 복소수(complex number)이며 실수부(Real)와 허수부(Imaginary)로 구성된다 (1차원 푸리에 변환의 경우도 마찬가지이다).
— (11)
이 때, 복소수 F(u, v)의 크기 |F(u, v)|를 푸리에 변환의 spectrum(스펙트럼) 또는 magnitude라고 부르고, F(u, v)의 각도 Φ를 phase(페이즈) angle 또는 phase spectrum이라고 부른다.
— (12)
— (13)
A. 푸리에 스펙트럼(Fourier spectrum)
먼저, 푸리에 스펙트럼(Fourier spectrum)에 대해 살펴보자. 푸리에 스펙트럼은 해당 주파수 성분이 원 신호(이미지)에 얼마나 강하게 포함되어 있는지를 나타낸다. W x H 이미지를 푸리에 변환(Fourier transform)하면 식 (7), (8)에 의해 W x H의 F(u, v), u = 0, …, W-1, v = 0, …, H-1 가 얻어진다. 따라서, |F(u, v)|를 픽셀값으로 잡으면 아래 예와 같이 푸리에 스펙트럼을 원본 이미지와 동일한 크기의 이미지로 시각화할 수 있다.
그림 3. 푸리에 스펙트럼(spectrum)과 좌표계
(a) 입력 이미지, (b) 푸리에 스펙트럼, (c) shifted 스펙트럼
푸리에 스펙트럼(Fourier spectrum)을 이미지로 시각화하는 데에는 2가지 문제점이 있다. 먼저, 푸리에 스펙트럼은 저주파 영역은 매우 큰 값을 갖는 반면에 대부분의 다른 영역은 0에 가까운 값을 갖는다. 따라서 푸리에 스펙트럼을 그대로 이미지로 시각화하면 검은 바탕 위에 흰점 하나만 존재하는 형태가 된다. 이러한 문제를 해결하기 위해서 스펙트럼을 이미지로 표현할 때에는 그림 3(b)처럼 스펙트럼에 log를 취하는 것이 일반적이다. 다음으로, 원래의 스펙트럼 이미지는 그림 3(b)처럼 모서리로 갈수록 값이 높아지기 때문에 스펙트럼의 형태를 파악하기 힘들다. 따라서 이러한 문제를 해결하기 위해 그림 3(c)처럼 원점이 중심(center)에 오도록 스펙트럼의 위치를 이동시킨(shift) 형태의 이미지를 사용하는 것이 일반적이다 (아래 ☞설명 참조). 앞으로 푸리에 스펙트럼 이미지라 하면 그림 3(c)와 같은 shifted 스펙트럼 이미지를 생각하면 된다.
☞ 그림 3(c)와 같은 shift가 가능한 이유는 푸리에 스펙트럼이 원점대칭인 주기함수이기 때문이다. 사실 식 (9), (10)로 주어지는 이산 푸리에 변환(discrete Fourier transform)식은 f(x)가 주기함수일 때에만 성립하는 식이다. 원래의 입력신호 f(x)는 x = 0, 1, …, W-1의 유한 구간에서 정의된 함수이다. 우리가 관심있는 부분은 0 ~ W-1 구간에서의 특성이므로 그 외의 구간에 대해서는 함수를 어떻게 정의해도 무방하다. 따라서, 푸리에 변환 적용을 위해 이 함수를 확장하여 f(x + W) = f(x)인 주기함수(0 ~ W-1에서의 함수값이 다른 구간에서도 계속 반복)로 가정하고 식을 세운 것이 식 (9), (10)이다. 이 때, F(u) 또한 f(x)와 동일한 주기(W)의 주기함수가 된다. 즉. F(u) = F(u + W). 또한 식 (10)에서 |F(u)| = |F(-u)|임도 쉽게 알 수 있다. 즉, 이산 푸리에 스펙트럼은 원점대칭이면서 W를 주기로 하는 주기함수 형태임을 알 수 있다. 2차원의 경우도 마찬가지이며 F(u, v) = F(u + W, v) = F(u, v+ H) = F(u + W, v + h), |F(u, v)| = |F(-u, -v)|인 주기함수가 된다. 그리고 이러한 원점 대칭성과 주기성으로 인해 스펙트럼 이미지를 그림 3(c)와 같이 shift하여 표현하는 것이 가능해진다.
shifted 스펙트럼을 이해하기 위해 한 예로 아래 그림 4의 왼쪽과 같은 형태의 스펙트럼 신호를 생각해 보자. 그런데 만일 스펙트럼이 원점대칭이고 W를 주기로 반복된다면 푸리에 스펙트럼은 오른쪽과 같은 형태가 될 수밖에 없음을 알 수 있다. 원래의 푸리에 스펙트럼의 형태는 구간 0 ~ W의 형태(그림 3b)이지만 (어차피 정보가 반복되기 때문에) 이를 구간 -W/2 ~ W/2 형태(그림 3c)로 shift하여 표현한 것이 shifted 스펙트럼이다.
그림 4. 푸리에 스펙트럼의 주기 특징
B. 푸리에 스펙트럼의 해석
앞서 푸리에 스펙트럼(Fourier spectrum)은 해당되는 주파수 성분의 강도를 나타난다고 했는데, 정말 그런지 그리고 이 값이 이미지 도메인에서 어떻게 해석될 수 있는지 실제 예를 통해서 살펴보자.
아래 예는 이미지에 인위적으로 주기성분을 추가하였을 때 주파수 공간에서의 푸리에 스펙트럼이 어떻게 변하는지를 보여준다. 원본 이미지의 해상도는 205 × 205 픽셀이며(W = 205, H = 205) 따라서 스펙트럼 이미지도 205 x 205 해상도를 갖는다.
그림 5. 주기성분 추가에 따른 푸리에 스펙트럼의 변화
먼저, 그림 5(a)는 원본 이미지 및 대응되는 푸리에 스펙트럼 이미지를 보여준다. 그림의 예와 같이 일반적인 푸리에 스펙트럼 이미지는 원점 F(0, 0) 주변의 저주파 영역에서 강한 피크(peak)가 나타나고 원점에서 멀어질수록 즉, 고주파 영역으로 갈수록 값이 급격히 작아지는 형태를 갖는다.
그림 5(b)는 (a)의 이미지에 5 픽셀(pixel) 간격의 수평선을 인위적으로 추가한 경우이다. 그러면 주파수 공간에서는 그림과 같이 F(0, 41), F(0,82)에 강한 피크(peak)가 나타난다. 앞서 이산 푸리에 변환에서 F(u, v)는 x축 주기 W/u 픽셀, y축 주기 H/v 픽셀인 주기성분의 계수라 했다. 그러면, F(0, 41)은 주기가 x축 방향 205/0 = ∞, y축 방향 205/41 = 5 픽셀인 주기성분에 대응된다. 그리고 이것은 그림 5(b)를 만들 때 사용한 수평선의 주기(세로방향 5픽셀)와 정확히 일치한다.
☞ F(0, 82)에도 피크(peak)가 나타나는 것은 y축 방향으로 205/82 = 2.5 픽셀 간격의 주기 성분이 입력 이미지에 있다는 의미이다. 이는 이미지에 추가한 수평선이 정현파(sinusoidal wave)가 아니라 계단 형태이기 때문에 5 픽셀 주기의 정현파와 2.5 픽셀 주기의 정현파를 합쳐서 그러한 계단 형태를 근사했기 때문이다.
다음으로, 이번에는 그림 5(c)와 같이 대각선 방향의 정현파를 (a)의 이미지에 추가해 보자. 추가한 정현파는 x축 방향 주기 20 pixel, y축 방향 주기 10 픽셀인 2D sin 함수를 이용했다. 이 때, 푸리에 스펙트럼에는 F(10, 20.5)에 강한 피크(peak)가 생성됨을 확인할 수 있다. 즉, x축 방향으로는 W/u = 205/10 = 20.5 픽셀, y축 방향으로는 H/v = 205/20.5 = 10 픽셀의 주기 성분이 입력 이미지에 있음을 의미한다. 그리고 이는 실제 입력 이미지에 추가된 주기 성분과 정확히 일치한다 (소수점 오차는 u, v좌표를 정수로 표현함에 의한 것이다).
이상으로 주파수 공간에서의 F(u, v)가 입력 이미지 공간에서 어떻게 연관되어 해석될 수 있는지를 실제 예를 통해서 살펴보았다. 마지막으로 앞서 그림 5(b), (c)에서 스펙트럼의 피크(peak) 영역을 지운 후 푸리에 역변환(inverse Fourier transform)하면 아래와 같은 재미있는 결과를 얻을 수 있다 (지운다는 의미는 해당되는 F(u, v) 값들을 0으로 만든다는 의미이다).
그림 6. 푸리에 변환을 이용한 주기 성분 제거
☞ [개발한 것들] – FFT와 모아레 제거 프로그램을 이용하면 이미지의 푸리에 변환, 특정 스펙트럼 삭제 및 역변환을 직접 테스트해 볼 수 있다.
C. 푸리에 변환의 페이즈(phase)
푸리에 변환(Fourier transform)에서 스펙트럼(spectrum)은 잘 알려진 반면 페이즈(phase)는 상대적으로 잘 알려져 있지 않다. 하지만 페이즈(phase)에도 스펙트럼(spectrum) 못지 않은 중요한 정보가 담겨 있다고 한다.
페이즈(phase)를 우리말로 번역하면 ‘단계’가 되고 전문용어로는 ‘위상’이 된다. 위키피디아에는페이즈(phase, 위상)를 ‘반복되는 파형의 한 주기에서 첫 시작점의 각도 혹은 어느 한 순간의 위치’라고 정의한다. 즉, 파형(wave)의 시점이 어디인지가 페이즈(phase)이다. 예를 들어, sin 파와 cos 파는 90도의 페이즈(phase, 위상) 차이가 존재하는 동일한 파형으로 볼 수 있다.
푸리에 변환의 관점에서 보면 페이즈(phase)는 원본 신호를 주기 신호로 분해했을 때 각 주기성분의 시점이 어딘인지(즉, 각 주기성분들이 어떻게 줄을 맞춰서 원본 신호를 생성했는지)를 나타내는 요소가 된다.
아래 그림은 페이즈(phase)의 영향을 보여주는 예로서 파란색 주기성분 신호들을 합쳐서 빨간색 신호가 생성되는 예를 보여준다. 왼쪽, 오른쪽 경우 모두 동일한 주파수의 주기성분들을 합쳤지만 각 성분의 페이즈(phase) 차이로 인하여 전혀 다른 신호가 생성됨을 확인할 수 있다.
그림 7. 페이즈(phase) 차이에 따른 신호 생성의 차이
다음으로 푸리에 변환의 페이즈(phase)가 어떻게 수식으로 표현되는지 살펴보자. (1차원) 푸리에 변환의 계수 F(u)는 식 (12), (13) 및 오일러 공식에 의해 다음과 같이 극좌표(polar coordinate) 형태로 표현될 수 있다 (설명의 편의상 1차원의 경우를 예로 든다).
— (14)
☞ 실수축이 x축, 허수축이 y축인 복소평면에서 F(u)는 x축과 이루는 각이 Φ인 막대기의 끝점 (R, I)에 대응된다. 이 때, R = |F|cosΦ, I = |F|sinΦ이므로 F = |F|cosΦ + j|F|sinΦ = |F|ejΦ.
이제 식 (14)를 식 (1)에 대입하면,
. — (15)
와 같이 페이즈(phase) 텀이 주기함수 성분의 시점을 조절하는 텀이 된다.
즉, 푸리에 계수 F(u)에는 대응되는 주기함수 성분의 강도(amplitude)를 나타내는 스펙트럼 정보 |F(u)|와 시점을 조절하는 페이즈(phase) 정보 Φ(u)가 함께 포함되어 있음을 알 수 있다.
참고로, 푸리에 스펙트럼(spectrum)과 페이즈(phase)에 관한 재미있는 비교 결과를 하나 소개한다. 아래 그림 8에서 (a)는 원본 이미지, (b)는 푸리에 스펙트럼을 보존하고 페이즈(phase)를 랜덤(random)하게 했을 때의 역변환 결과, (c)는 페이즈(phase)를 보존하고 스펙트럼을 랜덤하게 했을 때의 역변환 결과이다. 결과를 보면 이미지의 푸리에 변환에서 스펙트럼(spectrum)보다 페이즈(phase)에 보다 더 중요한 정보가 포함되어 있음을 확인할 수 있다.
그림 8. 푸리에 스펙트럼과 페이즈의 중요도 비교
5. 푸리에 변환의 유용한 성질들
마지막으로 푸리에 변환(Fourier transform)에 대한 몇 가지 유용한 성질들을 정리하면 다음과 같다.
– 주파수 공간의 원점 F(0, 0)의 값은 이미지의 평균값과 일치
– Impulse 함수(Dirac delta 함수)에 대한 푸리에 변환/역변환은 유니폼(uniform) 함수 (아래 식에서 푸리에 변환/역변환 관계를 ⇔ 로 표기).
– 가우시언(Gaussian) 함수의 푸리에 변환/역변환은 가우시언 함수가 됨
6. 맺음말
이상으로 푸리에 변환(Fourier transform)에 대한 정리를 마칩니다. 원래는 이렇게까지 길게 쓸 생각은 아니없는데 쓰다 보니 글이 길어졌네요.. ^^
참고자료 및 유용한 관련 글 링크
푸리에 변환 by jipark
푸리에 급수의 시작 by 전파거북이
푸리에 변환 by 전파거북이
페이저(phasor) by AngeloYeo
허수의 존재 의미에 대하여 by AngeloYeo
Magnitude and Phase by Deepa Kundur (토론토 대학)
What information is contained in the phase spectrum of a signal?
by 다크 프로그래머
키워드에 대한 정보 sin 푸리에 변환
다음은 Bing에서 sin 푸리에 변환 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 5분만에 이해해보는 푸리에 변환
- 공돌이
- 수학
- 공업수학
- 공수
- 선형대수
- math
- linear
- algebra
- 수학1
- 미적분
- 미분
- 적분
5분만에 #이해해보는 #푸리에 #변환
YouTube에서 sin 푸리에 변환 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 5분만에 이해해보는 푸리에 변환 | sin 푸리에 변환, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.