푸리에 오디세이(Fourier Odyssey): 푸리에 급수의 근사식을 만들어 보자!
0) 서론
'푸리에 ~~~'를 이루는 푸리에 급수, 푸리에 해석, 푸리에 적분, 푸리에 변환 중 우리는 저번 포스팅에서 '도대체 왜 어째서 푸리에 급수가 생긴거에요?'라는 질문에 답을 이끌어 냄으로써 푸리에 급수의 첫 발을 내딛었습니다.
그럼 이번 포스팅에서는 이 개념을 수식으로 만드는 과정을 한번 볼까요?
1) 개념에서 수식으로... 그러나 봉착한 문제점
뭐, 저번 포스팅에서 보셨던 것 처럼 '푸리에 급수를 만드는 이유' 여기까진 시원시원하게 개념확장이 되었습니다만...
곧 하나의 문제가 발을 걸고 넘어집니다.
'임의의 함수(f(x))'를 '주기 함수(sin x, cos x)'로 근사할 거라고 했잖아요?
근데.. 임의의 함수가 비주기 함수면 어떻게해요?
주기 함수로 근사할거면, 주기가 있어야 하잖아요. 근데 내가 근사하고 싶은 함수가 주기가 없는데 어떻게 주기함수로 근사해요?
아... 이거 정말 근간부터 흔들리는 문제가 아닐 수 없습니다...
그러나 푸리에는 진짜 매우 간단한 아이디어로 이것을 그냥 해결해버립니다.
"어? '주기' 함수란건 어떤 특정한 '패턴'이 반복된다는거잖아? 그럼 그냥 한번 더 반복해서 '주기'를 만들어버리면 끝나는거 아냐?"
예.. 끝났습니다.
가령 저번 포스팅에서 말한 열방정식의 '구간' 혹은 '막대의 길이'를 0~L이라고 본다면, 이 안에서의 초기 함수는 비주기 함수일 수도 있지만, '구간'을 -L~0~L로 2배로 만들어서, 0~L에서 정의된 함수를 -L~0구간에서 반복한다면, -L~L구간에서는 무조건 이 함수는 주기 함수가 됩니다!
이야 문제가 해결 됐네요?
...는 아직 완전히 해결되진 않았죠..
그럼 이 '반복'을 어떤 기준으로 할 건지가 또 문제에요.
선택지가 세개나 있어요.
- 1) 원점으로 대칭해서 만든다.(조금 어렵게 기함수 대칭)
- 2) y축으로 대칭해서 만든다.(조금 어렵게 우함수 대칭)
- 3) 그냥 함수 자체를 복사-붙여넣기 한다.
여러분은 어떤 방식이 제일 좋아보이시나요?
사실 보편적으로는 3번 '그냥 한번 더 반복 시킨다'가 일반적입니다.
그러나 1번과 2번은 잘 보면, 1번 방식으로 대칭시키면 sin 형태가 좀 더 비슷하게 생겼고, 2번 방식으로 대칭시키면 cos 형태가 좀 더 비슷하게 생겼죠?
그래서 위에서 살펴봤던 특수한 상황(디리클레 조건, 노이만 조건)에서는 임의로 우리가 대칭을 선택해서 만들고, 그렇지 않다면 일반적으로 그냥 함수를 한번 더 복사 붙여넣기 해서 쓴답니다.
그리고 이렇게 세가지 방법으로 근사를 하게 되면 전부 -L~L에서는 다른 모양의 주기함수지만, 0~L사이에서는 원래의 초기함수 f(x)를 완벽하게 근사해낸답니다!
그래서 사실 '어떤 방식으로 만들까'는 크게 의미가 없긴해요.(다시한번 말하지만 특수한 상황에서는 특수한 해가 더 잘 맞기는 합니다!)
어찌 되었든, 여기까지 진행하면 -L~L구간에서 완벽한 한 주기를 가지는 주기함수를 만들 수 있으니 우리를 발목잡았던 큰 문제도 해결이 되고, 푸리에 급수를 만들기에 충분한 전제조건이 만들어졌습니다.
이제 진짜 푸리에 급수에 발을 담가볼까요?
2) 아 근데 또 문제가!
아니 이제 진짜 본격적으로 들어가나 했는데... 또 하나 걸리는게 있습니다.
사실 sin이나 cos이 두 함수는 위상만 90도 차이나는 똑같은 함수잖아요? 그럼 사실 둘 중에 하나만 써도 되는거 아닌가요?
그러나.. 두 함수는 결정적으로 다른 차이가 있습니다.
바로 원점대칭이냐(Odd part, 기함수), y축대칭이냐(Even part, 우함수)하는 차이죠.
그리고 결국 이 기본적인 차이가, 어떤 함수를 근사함에 있어 '기함수'부분을 담당하는 부분과 '우함수'부분을 담당하는 부분을 나눠서 설명가능하게 해주는 부분입니다.
결론적으로 sin과 cos은 주기만 다른 비슷한 함수가 아니라, 서로가 절대 대체할 수 없는 고유한 영역(대칭성)을 책임지는 독립적인 두 개의 축(axis)과 같습니다.
따라서 결국에는 sin과 cos을 같이 써줘야 주기함수에 대한 분석이 된답니다!
3) 푸리에 급수식을 만들자!
자, 이제 모든 전제조건이 갖춰졌으니, 우리의 직관대로 근사식을 써 봅시다.
- 1) 이 식은 cos과 sin으로 이루어져있습니다.
$ f(x) \sim cos x \ + \ sin x $ - 2) 단일 항으로는 근사가 절대 불가능하니 급수식을 써봅니다. 그러나 '근사'가 좋아지려면 아무래도 '무한'까지 더해야 비슷해지겠죠?
$ f(x) \sim \sum_{n=0}^{\infty} ( cos x \ + \ sin x ) $ - 3) 근데 각 항만으로는 묘사가 불완전할 것 같습니다. 따라서 각 항에 '강조'를 뜻하는 '계수'도 붙여줍시다.
$ f(x) \sim \sum_{n=0}^{\infty} ( a_n cos x \ + \ b_n sin x ) $
자, 이제 문제는 단 두가지만 남았습니다.
- 1) 주기는 어떻게 할 것인지?
- 2) 어떤 종류의 sin과 cos을 더할 것인지?
1번 문제푸터 살펴보죠.
뭐 사실 간단합니다.
sin, cos은 $ 2\pi $의 주기를 가지는 함수이고, 현재 우리가 만든 주기 함수는 $ 2L $의 주기를 가지는 함수입니다.
그럼 아주 자연스럽게 $ 2L $주기를 가지는 함수를 $ 2\pi $로 바꾸려면, 임의의 값에 $ \frac{\pi}{L} $를 붙여주면 될 겁니다.
따라서
$ f(x) \sim \sum_{n=0}^{\infty} ( a_n cos (\frac{\pi}{L}x) \ + \ b_n sin (\frac{\pi}{L}x) ) $
요렇게 식이 만들어지겠네요!
그러나 이제 2번문제가 발생합니다.
과연 어떤 종류의 sin과 cos을 더할 것인가?
지금 뭔가를 더해서 근사를 해나갈건데, 같은 애들을 더하면 크기만 커지지 종류가 다양해지지는 않습니다. 그렇잖아요?
그러면 뭔가 '근본적으로 다른'(다른말로 '독립적인') 애들을 더해주어야 합니다.
삼각함수에서 무언가 '다르게' 꾸밀 수 있는 부분은 딱 세군데 입니다.
$ (1*) sin^{(2*)} (3*)x $
- 1) 계수
- 2) 지수
- 3) x의 계수(주기를 결정하는 계수)
그럼 가장 쉽게 '다르게'만들 수 있는 애들은 2)'제곱' 꼴이겠죠? 다항함수에서도 익숙하니까요
그러나 주기함수의 특징은 이 '제곱'이라는게 낮은 차수로 '분해'될 수 있다는 거에요.
아주 간단한 예시를 살펴볼까요?
$ sin^2 x $는 이런 저런 모종의 과정을 거치면(배각공식이랑 삼각항등식만으로 풀려요) $ \frac{1-cos 2x}{2} $이 되어버립니다.
결국 sin에 대한 2차항이 상수항과 cos에 대한 1차항으로 분해되어버린거죠.
아, 이러면 '독립적'이지 않고 '종속적'이라고 볼 수 있겠네요... 그러면 제곱꼴은 탈락입니다.
그럼 또 '다르게 만들 수 있는 부분'은 각 주기함수 앞에 붙는 1)'계수'입니다.
하지만 이 방법은 우리가 찾는 '근본적으로 다른(독립적인) 함수'를 만드는 방법으로 부적절합니다.
왜냐하면 계수들은 $\sin x$라는 함수의 근본적인 '종류(kind)'나 '모양'을 바꾸지 못하기 때문입니다.
$\sin x$와 $5 \cdot \sin x$는 주기도 같고 모양도 같습니다.
단지 진폭(amplitude) 즉, '세기'만 다를 뿐이죠.
따라서 계수는 '독립적인 종류의 함수'를 만드는 변수가 될 수 없으므로, 일단 '근본적으로 다른 함수'를 만드는 방법에서는 탈락입니다.
(그러나 다른 부분에서 쓸모가 있으므로 일단 계수 자체는 $a_n$, $b_n$이라고 일단 놔둬보기로 하죠!)
그럼 마지막으로 남은 '다르게 만들 수 있는 부분'은 각 3)'삼각함수 내에 곱해지는 x의 계수' 즉, 주기를 결정하는 계수입니다.
이 주기를 결정하는 계수는 말 그대로 '지금 정해진 구간 안에 몇개의 주기가 들어가는지'를 알려주는 계수입니다.
삼각함수의 경우 기본 구간이 $ 2\pi $이므로 결국, $2\pi$안에 몇개의 주기가 들어가는지를 알려주게 되겠죠?
그리고 재밌게도, 이렇게 만들어진 애들은 서로 완전히 '다른'친구들입니다.
잘 생각해보세요. 위에서 삼각함수를 조작할 수 있는 부분이 세군데라고 말씀드렸습니다.
sin 2x를 예시로보면, sin x에서 위에서 말한 x의 계수를 제외한 두 부분을 아무리 조작을 해도 절대로 순수하게 sin 2x를 만들어내지 못합니다.
결국, '어떤 종류의 sin과 cos을 더할 것인가? = 완전히 다른 sin과 cos 항들을 찾기' 문제는 x의 계수 즉 주기를 결정하는 계수를 바꿈으로써 해결됩니다.
(나중에 더 논의가 되겠지만, 일단 어려운 말로 써보면 서로 다른 주기를 가진 삼각함수들은 '직교'하고, 한 공간내에서 '직교'하는 항들은 '서로 완전히 다른'='독립적인' 친구들입니다. 이해가 안되셔도 좋아요. 어차피 다음 포스팅에서 다룰겁니다!)
그러면 이제 함수가 얼추 완성이 되었네요!
$ f(x) \sim \sum_{n=0}^{\infty} ( a_n cos (n \frac{\pi}{L}x) \ + \ b_n sin (n \frac{\pi}{L}x) ) $
식을 설명해보자면,
- 임의의 함수 f(x)를 근사할겁니다~
- 근데 근사라서 완전히 동치(=)라고는 '일단은' 보기 어려우니 $\sim$이라는 기호로 '근사했어요~'라고 표기하겠습니다~
- 급수니까 일단 0부터 무한까지 다 더해줄께요~
- 함수는 cos과 sin이 둘 다 필요해요~
- 여기에 각자 곱해지는 계수는 각각 $a_n$, $b_n$이라고 할께요~
- 삼각함수의 주기 $2\pi$를 현재주기 $2L$로 바꿔줄께요~
- '서로 근본적으로 다른 함수'들을 더해야하니까 $x$의 계수를 n으로 놓고 급수식 안에서 계속 바꿔줄께요~
- 짜잔! 우리가 논의했던 모든 것들이 포함된 수식이 완성되었네요!
아마 푸리에가 제일 처음 세우고 뿌듯해 했을 식이 이 식이 아닐까 싶습니다!
4) 조금 더 나아가 볼까요?
왜 하필 x의 계수(주파수)를 바꿔줄 때 n이라는 정수배만 사용하는 것이 타당할까요?
1. 공간 각주파수(ω)와 비례상수
앞서 2L 주기의 함수를 2π 주기의 삼각함수에 맞추기 위해 π/L이라는 비례상수를 사용했습니다.
사실 이 값에는 공간 각주파수(ω₀)라는 이름이 붙어있습니다.
용어만 어려운데, '각주파수'는 '단위 길이당 위상(각도)이 얼마나 변하는가'를 나타내는 비율입니다.
여기서 한 번의 완전한 진동(1 cycle)은 각도로 2π 라디안에 해당합니다. 푸리에 급수에서 이 한 번의 진동이 일어나는 '공간의 길이'는 2L이죠. 따라서 '단위 길이당 각도 변화량'을 의미하는 공간 각주파수 ω₀는 (총 각도) / (총 길이) = 2π / 2L = π/L 이 됩니다.
따라서 다시 써보면 공간 각주파수 $ \omega_0 = \frac{\pi}{L} $입니다.
재밌게도 위에서 살펴봤던 비례상수 개념처럼 사용한 $\frac{\pi}{L} $과 동일하죠.
2. 정상파(Standing Wave)와의 연결
정상파(standing wave)라는 걸 아시나요?
정상파는 마치 파가 서있는 것처럼(standing), 특정 구간에서 마디(node)라고 불리는 점들이 기준점에서 움직이지 않는 파를 말해요.
그리고 이 정상파는 공간 주파수가 무조건 정수배밖에 될 수 없습니다.(즉, n이 정수여야만 하는 가장 직관적인 예시죠)
그 이유는 정상파가 생성되는 물리적 조건 때문입니다.
- 1. 먼저 0부터 L까지 양 끝이 고정된 줄을 상상해 봅시다. 이 줄이 진동할 때 가장 단순한 모양은 가운데가 볼록한 반 파장 형태일 것입니다.
- 2. 이 모양을 -L부터 L까지 확장해서 보면, 완벽한 한 주기를 가진 파동이 됩니다. 이것이 바로 주파수가 $ \omega_0 = \frac{\pi}{L} $인 기본 진동(1차 고조파(Harmonic wave))입니다.(고조파란 기본주파수의 정수배가 되는 주파수를 갖는 파를 말합니다)
- 3. 이제 0부터 L 사이에 마디(node)를 하나, 둘씩 추가하며 더 복잡한 정상파를 만들어도(줄이 더 복잡하게 진동해도), 이 파동들은 모두 기본 진동의 주파수에 정확히 정수배(2배, 3배...)가 되는 파동들만 가능합니다.(이외의 주파수는 경계 조건을 만족하지 못해 즉시 사라져버리죠)
- 4. 이러한 정상파의 물리적 모양을 완벽하게 설명하는 함수가 바로 정현파(sin)이며, 이는 주기만 다른 코사인(cos) 함수에도 동일하게 적용됩니다.
열방정식의 해 역시 이러한 물리적 제약 조건의 영향을 받습니다.
여기서 열방정식의 해가 어차피 sin or cos로 나오기에 그걸 역으로 초기조건을 근사한다는 푸리에 급수의 개념에서, -L~L구간에서는 기본 주파수($\frac{\pi}{L}$)의 정수배에 해당하는 파동들 만이 남게됩니다.
따라서 푸리에 급수에서 주파수의 정수배(고조파, harmonics)만 보는 것이 말이 되는 이유입니다.
수식으로 써보면 $ n \omega_0 x = n \frac{\pi}{L} x $이죠.
그럼 여기서 잠깐!
푸리에도 이 개념을 알고 사용한게 맞을까요!?
정답은 맞다입니다!
푸리에의 아이디어는 순수 수학의 세계에서 갑자기 튀어나온 것이 아니라, 당대의 물리학자들이 오랫동안 고민하던 문제의 연장선에 있었습니다.
이전 포스팅에서 살짝 지나치듯이 언급했는데, 푸리에 이전에도 다니엘 베르누이가 진동하는 현에 대해서 줄의 움직임이 기본 진동(sin x)과 그 정수배 진동(sin 2x, sin 3x)의 합으로 표현할 수 있다고 주장했던 것 기억나시나요?
푸리에는 베르누이와 같은 선대 학자들의 물리적 직관을 이어받아, '모든 함수는 정수배 주파수를 가진 삼각함수의 합으로 표현될 수 있다'는 대담한 주장할 수 있었던 것이죠.
3. 시간과 공간의 용어 정리
한가지 헛갈리실 수 있는 포인트가, 푸리에 급수에서는 '공간 주기, 공간 주파수'를 다룹니다.
우리가 흔히 생각하는 주기와 주파수는 '시간'에 대한 것인데, 푸리에 급수에서는 시간보다는 '공간' 즉 길이에 대해서 생각하게 되죠.
엄밀히 따지자면, 시간의 주기에 해당하는건 공간의 파장이고, 시간의 주파수에 해당하는게 공간 주파수, 시간의 각주파수는 파수라고 하는 개념이 되는데, 푸리에 급수에서는 일반적인 '주기, 주파수, 각주파수'라는 용어를 공간에 대하여 사용합니다.
5) 마무리
어떻게 이전 포스팅보다는 아주 째끔 어려운 포스팅이 되었습니다만, 차분히 따라오셨다면 '푸리에 급수식'이 왜 그렇게 만들어졌는지 확실하게 아셨을 것이라 믿습니다!
다음 포스팅은 조금 더 수학적으로 들어가면서 아주 재금 더 어려워질껄요...?(아마)
'Study > Mathematics' 카테고리의 다른 글
| 푸리에 오디세이(Fourier Odyssey): 그 찬란한 서막 (0) | 2025.11.03 |
|---|---|
| ζ(0)의 값은? (0) | 2025.09.09 |
| [바젤문제(Basel problem)] π가 없는 식에서 π를 만든다고? 샌드위치 정리로 증명하는 1+1/4+1/9+... = π²/6 (0) | 2025.09.03 |
| 자연수를 무한히 더한(1+2+3+4+…) 값은 사실 -1/12이었다!? (0) | 2025.09.01 |
| 감마함수(Gamma function)란 무엇인가? ~ 오일러, 또 당신이에요? ~ (0) | 2025.08.17 |
