[위 글은 "3Blue1Brown"의 "그런데 푸리에 변환이란 무엇입니까? 시각적 소개."를 참고하여 제작하였다]
- 여러 소리가 합해진 모양의 신호를 받았을 때 순수한 주파수들로 분해할 수 있나요?
위 그래프는 1초에 440번 진동하는 순수한 가(A)음과 294번 진동하는 라(D)의 음이 합쳐진 그래프이다. 소리는 시간에 따른 기압의 변화로 나타낼 수 있다.
어떤 시점에서도, 그래프는 두 음이 각각 지녔을 값을 합한 것과 같다. 어떤 부분에선 높은 부분이 합쳐져서 매우 높은 기앞이 되며 어떤 점에서는 상쇄된다.
다른 음들을 더 더하면, 그래프는 더 복잡해진다.
이는 네 개의 순수한 주파수의 합이지만 파형이 매우 복잡하다.
그렇다면 이런 모양의 신호를 받았을 때 순수한 주파수들로 분해할 수 있는 것이 핵심 질문이다.
- 푸리에 변환은 특정 주파수에서 복소 평면에서의 적분 값이 얼마나 큰지를 통해 신호를 주파수로 분석한다.
- 특정한 주파수의 신호와 그와 다른 주파수 신호를 다르게 다루는 수학적인 기계를 만들어본다고 생각해보자.
예를 들어 1초에 세 번 진동하는 신호를 생각해보자. 유한한 구간인 0초부터 4.5초까지의 구간의 그래프를 하나의 원 부젼에 감는다고 생각해보자.
회전하는 벡터 하나를 떠올리자. 매 시점에서 이 벡터의 크기는 그 시점에서 그래프 높이와 같다.
2차원의 '감은 그래프'는 1초에 원의 절반을 회전한다고 가정하고 그린 것이다.
원그래프에서 1초 동안 몇 바퀴를 도느냐에 따라 감은 그래프의 모양을 다르게 임의적으로 지정할 수 있다.
시간당 도는 횟수를 많게 하는 경우,
1초에 회전하는 정도가 적게 주파수에 따라 감은 그래프의 모양이 다르게 그릴 수 있다.
그렇다면 1초에 어느 정도로 회전하는지에 따라 바뀌는 그래프를 통해 무엇을 알 수 있을까?
- 감은 주파수에 달라지는 그래프의 무게중심의 좌표!
일단, 푸리에 변환 값이 지금부터 무엇인지 바로 이해하는 것보다는 주파수 분해 기계인 감은 그래프가 주파수가 달라짐에 따라 어떻게 변화하는지 확인해보자.
주어진 그래프가 철사와 같이 질량을 지닌다고 생각해보자. 그렇다면 우리는 감는 주파수를 바꾸면서 그래프 모양이 변함에 따라 무게중심이 변화하는 걸 볼 수 있다.
지금까지만 본다면 이 행위가 의미없이 느껴질 수 있다. 하지만 만약 감는 주파수가 신호 주파수와 일치한다면, 무게중심이 예외적으로 오른쪽으로 치우치게 된다.
무언가 갈피가 보이는 듯 하다.
더 자세히 보기 위해서 감는 주파수가 변화함에 따라 무게중심의 위치를 나타내는 그래프를 그려보자. 물론 무게중심은 2차원 공간에 존재하기 때문에 두 개의 좌표가 필요하나 이해를 위해 x좌표에 대해서만 생각해보자.
그래프를 확인하면 1초에 세 번 회전하는 주파수 지점에서 급등하는 지점이 생긴다. 이것이 핵심 구조이다.
원본이 되는 시간에 대한 강도 그래프가 있고, 그것을 2차원 공간에 '감은 그래프가'가 있고, 마지막으로 '감는 주파수'가 변화하는 것이 감은 그래프의 무게중심에 어떤 영향을 주는지를 보여주는 그래프가 있다.
* 주파수가 0인 경우는 왜 급등하나? *
주파수가 0인 부분이 급등하는 것이 이상하다고 느꼈다면 잘 하고 있는 것이다. 이 높은 봉우리는 그저 첫 번째 그래프의 코사인파가 위로 치우쳐져 있는 것 때문에 생긴다.
만약 신호를 0을 중심으로 진동하도록 잡으면 오직 주파수가 3이라는 값에서만 봉우리는 갖는다. 하지만 원본 신호가 음수인 경우까지 고려하기에는 머리가 아프므로 일단 먼저 이렇게 이해하자.
- 다양한 신호가 합쳐진 신호에서 주파수를 골라낼 수 있게 되었다!
1초에 2번 진동하는 신호와 1초에 3번 진동하는 신호를 합한 신호를 '감는 주파수 기계'에 넣은 사진을 보자.
복잡한 신호더라도 세 번째 그래프를 보면 주파수 2와 3에서 급등하게 값이 변하는 걸 볼 수 있다.
이렇게 세 번째 그래프는 신호에서 주파수를 골라낼 수 있는 푸리에 변환의 특징을 가지고 있음을 알게 되었다. 하지만 완벽한 푸리에 변환을 반영했다고는 할 수 없다.
실제 푸리에 변환은 이 무게중심의 x좌표라는 발상보다는 좀 복잡하기 때문이다. 이를 알아보자.
- 무게중심의 의미를 파악하기 위해 복소평면에 표현해보자! 복소수로 다루면 오일러 공식을 통해 회전을 표현할 수 있기 때문!!
감은 그래프의 무게중심을 다시 살펴보자. 무게중심의 x좌표는 정보의 절반만 가지고 있다. 2차원 공간이니 y좌표 또한 고려해야 한다.
2차원의 무언가를 다루는 행위는 수학에서 주로 복소평면(Complex plane)에서 다루는 것이 의미를 파악하기에 적합하다. 무게중심을 실수부와 허수부가 있는 복소수로 다루는 것이다.
복소평면에서 다루는 복소수로 다루는 이유는 복소수는 회전과 감기를 설명하는 데 적합하기 때문이다. 그 예시로 오일러 공식이 있다.
오일러 공식은 복소수에서의 회전을 단순한 식 하나로 표현해주기 때문에, 그래프를 감는 행위와 같은 복잡한 움직임을 명확하게 설명해 준다. 복소평면에서의 회전과 변환을 직관적으로 이해하는 데 매우 중요한 역할을 한다.
* 오일러 공식 *
자연상수 e의 어떤 숫자 곱하기 i승을 취하면 그것이 복소평면에서 갖는 위치는 반지름 1인 원의 오른쪽에서 시작해 그 어떤 숫자만큼 반시계 방향으로 둘레를 따라 이동한 지점임을 나타내는 것이다.
허수부는 phase의 회전을, 실수부는 크기를 나타내기 때문이다.
식은 다음과 같다.
만약 1초에 한 바퀴를 도는 속도를 설명하고 싶다면 허수부에 2π를 곱하면 된다.
그렇다면 1초에 한 바퀴를 도는 그래프를 표현할 수 있다.
하지만 1초에 한 바퀴를 도는 것이 빠르다 느끼면 지수에 있는 시간 t에 주파수 f를 곱하면 된다. 만약 f가 1/10이라면,
이 벡터는 10초마다 한 바퀴를 돌게 된다. t가 10까지 증가해야만 전체 지수가 2πi가 되기 때문이다.
오일러 공식은 복소수로 표현된 회전 벡터를 단순화하는 과정에서, 주파수가 증가할수록 회전 속도가 증가하고, 주파수가 감소하면 회전이 느려진다.
마지막으로 푸리에 변환에서는 관습적으로 시계 방향의 회전을 다루기 때문에 지수에 마이너스를 곱하게 된다.
@ 정리
1) 복소평면에서의 회전을 다룰 수 있는 좋은 도구인 오일러 공식을 활용하기 위해 복소수로 표현!
2) 1초에 한 바퀴 회전을 나타내기 위해 허수부에 2π곱하기!
3) 1초에 몇 바퀴를 도는 정도를 표시하기 위해 주파수 f 곱하기!
4) 푸리에 변환은 시계방향의 회전을 표시하기 위해 음수 곱하기!
- 무게중심을 어떻게 구할 것이죠?
이제 시간에 대한 강도의 함수인 코사인파에 대하여 g(t)라 정의하고, 이 지수 표현에 g(t)를 곱하면 이 회전하는 복소수가 g(t)의 값에 의해 커졌다 작아졌다 하는 것을 볼 수 있다.
회전하며 크기가 바뀌는 벡터가 감은 그래프를 그리는 것으로 생각할 수 있다.
이 간결한 표현이 감는 주파수 f를 변수삼아
주어진 그래프를 원을 따라 감는 방법으로 기능하는 것을 확인할 수 있다.
이제 이 감은 그래프의 무게 중심에 대해 추적해보자. 어떤 공식을 써야 할까?
원래 신호에서 수많은 시간을 고른 다음 그게 감긴 그래프에서 어느 점인지를 확인한 다음 평균을 취하는 것이다!
복소수로서 모두 더한 다음 점의 개수로 나누는 것이다.
이 점사는 점의 개수가 늘어날수록 더 정확해진다. 바로 극한까지 가 적분을 적용할 수 있다!
점들의 합을 구하고 개수를 나누는 것이 아니라 이 함수의 적분을 구한 뒤 구간의 길이로 나누게 된다.
이를 통해 감은 그래프의 무게중심을 구할 수 있다. 즉, 매우 간결한 식으로 시간 도메인의 신호를 주파수로 분해하는 감은 그래프 기계를 표현해냈다.
- 하지만 푸리에 변환은 복소 함수의 무게중심, 적분한 값은 구간으로 나누지 않는다!
푸리에 변환은 이 식의 적분 부분만을 가리킨다.
이 의미는 무게 중심 자체를 보는 것이 아닌 그것에 구간을 곱한 값이 된다. 물리적으로 오랜 시간 지속될수록 그 주파수에서의 푸리에 변환 값이 커지게 되는 효과가 있다. 이는 주파수와 시간의 상반관계로 설명할 수 있다.
* 시간-주파수 불확정성 원리(Uncertainty principle for sound waves) *
소리와 같은 파동 신호를 분석할 때 시간과 주파수 정보 사이의 상반관계를 설명한다.
짧은 시간에 걸친 소리는 주파수 정보가 덜 명확하고, 오랜 시간 지속되는 소리는 주파수 성분이 명확해지는 반면 시간 정보가 불명확해진다는 상반관계를 나타낸다.
이러한 개념은 실제 레이더 시스템에서도 적용된다. 레이더로 비행기를 추적할 때, 레이더가 짧은 펄스 신호를 사용하면 비행기의 위치를 더 정확하게 알 수 있지만, 속도 정보는 불명확하다.
반대로, 긴 시간 동안 지속적인 신호를 사용하면 비행기의 속도는 더 정확하게 알 수 있지만, 비행기의 정확한 위치는 모호해집니다.
- 정리
정리하자면 푸리에 변환의 적분은 사실상 신호를 주파수 도메인에서 분석하는 "에너지 분포"를 설명한다. 적분이 신호 내 각 주파수 성분의 기여도를 측정한다
g(t)꼴의 시간-강도 함수의 푸리에 변환은 새로운 함수로, 이 함수는 시간을 입력으로 받지 않고 주파수를 입력으로 삼는다. 이는 이번에 소개한 '감는 주파수'이다. 이 새 함수의 출력값은 복소수이다.
이 출력값은 복소 평면 위의 한 점이며 그 점은 원래 신호가 해당 주파수에서 얼마나 강한지를 가리킨다. 그리고 이 모든 것은 한 공식 안에 담겨져 있는데 이는 푸리에 변환식이다.
* 푸리에변환: 신호와 복소지수함수의 내적 *
푸리에 변환은 주어진 신호와 특정 주파수 성분을 나타내는 복소 지수 함수(사인 및 코사인)의 내적을 통해 각 주파수 성분의 크기를 분석하는 과정이다.
* 기본주파수 (fundamental frequency) *
- 정의: 기본 주파수는 주기적 신호에서 가장 낮은 주파수 성분을 나타내며, 이는 신호가 한 번 진동하는 주파수이다.
- 주기성과 배수: 푸리에 급수에서 신호가 주기적이라는 가정 하에 신호를 분석한다. 따라서 기본 주파수의 배수 형태만이 주어진 신호에 주기적인 형태로 표현될 수 있다.
- 비주기적 주파수 성분: 기본 주파수와 그 배수에 해당하지 않는 주파수 성분은 신호의 주기성과 관련이 없으므로 주기적인 신호를 분석하는 데 의미가 없다. 따라서 이러한 성분은 푸리에 변환에서 제외된다.
- DC 성분: DC 성분은 예외적으로 기본 주파수의 배수가 아니지만 신호가 x축에서 얼마나 위 또는 아래로 이동하는지를 측정한다. 이는 주기적인 특성과는 별개로 신호의 위치를 정의하는 중요한 요소이다.
* 경로 적분 *
경로 적분은 경로를 따라 함수가 변화한 총합을 나타내며, 물리적으로는 힘이나 영향에 의한 누적된 변화를 나타낼 수 있다.
'학부 수업 내용 정리 > 디지털신호처리' 카테고리의 다른 글
# 10 Fast Fourier Transform (1) (0) | 2024.10.20 |
---|---|
#6 Sampling and Reconstruction(3) (0) | 2024.09.23 |
#4 Sampling and Reconstruction(1) (0) | 2024.09.23 |
#2 Basic analysis for CT and DT (0) | 2024.09.16 |
#1 Introduction to Digital Signal Processing (0) | 2024.09.02 |