본문 바로가기

Studies/Mathematics

[Engineering Math.] Fourier Series (푸리에 급수)

Taylor series를 제안했던 Taylor는
"미분이 가능한 주기 함수는 무한 다항식의 합으로 표현 할 수 있다." 라고 했다.
여기에 Fourier가 좀더 진화 된 이론을 내 놓았다.
"모든 주기 함수는 무한 다항식의 합으로 표현 할 수 있다."
그것이 바로 Fourier series 이다.

주기 함수는 주기가 같은 함수끼리 합하거나 빼더라도, linear combination을 하더라도
주기는 변하지 않는 성질을 가지고 있다. 즉, 주기가 P인 함수 f(x)와 g(x)가 있다고 하자.
f(x)+g(x)의 주기는? P이다. f(x)-g(x)를 하더라도 주기는 P로 변하지 않는다.
이들의 linear combination인 cf(x)+bg(x)를 하더라도(b,c는 상수) 주기는 P이다. 
즉, 두 함수에 상수를 곱하여 더하거나 빼더라도 주기는 P로 변하지 않는다.

그럼 주기가 2π인 함수를 생각해 보자. 
쉽게 생각할 수 있는 cos(x),sin(x)가 있겠고, 또한 최소주기가 아니기 때문에
cos(2x), sin(2x), cos(3x)...sin(nx), cos(nx) 도 모두 주기가 2π라 할 수 있겠다. 상수도 마찬가지.
그럼 이들을 linear combination 하더라도 위에서 말했듯이 주기는 변치 않을 것이다. 
 

즉, 주기가 2π인 함수는 다음과 같이 표현 할 수 있다.

여기서 n=0인 경우 sin항은 없어지고 a0만 남는데 그것만 따로 앞으로 빼내면,

이 공식이 바로 "Fourier series" 이다.
여기서 a0, an, bn을 Fourier coefficient라 하고 다음과 같이 구할 수 있다.

 

Fourier series 공식에서 양변을 적분, 양변에 cos(nx)를 곱하고 적분,
양변에 sin(nx)를 곱하고 적분 하면 유도 해 낼 수 있다.

 

Fourier는 앞서 2π주기 함수를 무한 다항식의 합으로 나타낸 후, 
주기가 2π가 아닌 임의의 주기를 가진 주기 함수 또한 무한 다항식의 합으로 나타 낼 수 있다고 
생각 했다. 주기를 2L이라 하면,

Fourier coefficient는

 

다음과 같은 그래프를 Fourier series로 구해 보자.

위의 그래프의 Fourier series를 구해 보면,

매틀랩으로 결과를 그려보면 다음과 같다.

5번째 항까지만 계산했을 때에는 그래프가 많이 출렁거림을 볼 수 있다. 
하지만 위의 문제에서 제시된 그래프와 비슷한 형태를 띄고 있음을 알 수 있다.
100번째 항 까지 계산 했을 때에 비로소 위 문제에서의 그래프와 흡사한 형태가 완성 됨을 
알 수 있다. 여기서 포인트는 5번째 항까지 계산 하면 그래프는 5번 출렁이고, 
100번째 항까지 계산하면 그래프는 100번 출렁인다. 
하지만 같은 시간동안 5번과 100번을 출렁이어야 하기 때문에 5번 출렁일 때는 아주 크게 천천히 
진동 하는 반면 100번 출렁일 경우엔 눈에는 거의 보이지 않고 아주 빠르게 잔잔히 출렁인다. 

Fourier series를 이용해 π값을 구해 보자.
앞서 풀어 본 그래프에서 x가 π/2인 경우 함수 값은 1이므로

가 된다. π를 구하는 식이 단순한 산수로 변해 버렸다.

 

그렇다면 Fourier coefficient a0,an,bn을 매번 구해야만 하는걸까??
이들은 모두 적분을 계산 해야 하기 때문에 간단한 그래프인 경우는 빨리 계산할 수 있지만
구간이 세분화 되어있는 주기 함수인 경우 각 구간마다 적분을 행해야 하고 그 작업을 
a0, an, bn을 구하는 동안 계속 해야 하기 때문에 여간 시간이 많이 걸리는게 아니다.


우선 구하려는 그래프가 y축 대칭인 우함수인 경우에는 cos함수의 합으로만 이루어져 있다.
원점 대칭인 기함수인 경우에는 sin함수의 합으로만 이루어져 있다.
즉, 우함수인 경우 sin항은 없어지고 cos항으로만 이루어져 있기 때문에 cos항의
coefficient인 a0,an만 살아 남고 bn은 없어진다.
반대로 기함수인 경우 cos항은 없어지고 sin항으로만 이루어지기 때문에 sin항의 coefficient인
bn만 살아남는다. 구하려는 그래프가 기함수인 경우에는 bn만 구하면 되는 것이다!
또, a0를 구하는 공식을 자세히 들여다 보면, a0는 한주기 동안의 밑넓이 평균을 구하는 것이다.
즉, 기함수의 경우 한주기 동안 밑넓이 평균은 0 이기 때문에 구하려는 그래프가 기함수라면
a0항은 자연스레 없어지는 것이다. 

만일 그래프가 우함수라면 구간도 -L에서 L까지 구할 필요 없이 0에서 L까지를 구해
2배 하면 된다. 우리는 우함수와 우함수를 곱하면 우함수가 되고, 우함수와 기함수를 곱하면 
기함수, 기함수끼리의 곱은 우함수가 되는 것을 알 고있기 때문에
다음과 같이 쓸 수 있다.

우함수인 경우 a0와 an만 구하면 되고,
f(x)는 우함수, cos도 우함수이고 둘을 곱해도 우함수가 되므로
구간은 0에서 L까지 적분하고 2배를 해주면 된다.

기함수인 경우에는 bn만 구하면 되고
f(x)는 기함수, sin도 기함수이고 둘을 곱하면 우함수가 되므로
마찬가지로 구간은 0에서 L까지 적분후 2배를 해주면 된다.


Fourier series를 complex 형태로 나타내면 다음과 같다.

오일러 공식을 사용해서 증명해 보면, 

임을 알 수 있고, 위 식에 Cn을 곱하고 아래 식에 Kn을 곱해서 두 식을 더하면,

결국 다음 식과 같아 짐을 알 수 있다. (C0는 a0와 같다.)

Complex 형태의 Fourier coefficient는 다음과 같고,

다음을 만족 하기 때문에,

구간을 -∞에서 ∞까지로 확장시켜 식을 다음과 같이 줄여 쓸 수 있다.

즉, Coefficient도 Cn만 구하면 된다.
이처럼 Complex fourier series를 사용하게 되면 연산량이 줄어 들기 때문에 
컴퓨터로 방대한 양의 연산을 수행 할 때 연산 속도를 높일 수 있다.