출처
https://angeloyeo.github.io/2022/01/04/sinusoids.html
정현파 기초 - 공돌이의 수학정리노트 (Angelo's Math Notes)
angeloyeo.github.io
https://angeloyeo.github.io/2022/01/05/complex_number_basic.html
복소수 기초 - 공돌이의 수학정리노트 (Angelo's Math Notes)
angeloyeo.github.io
정현파(Sinusoidal wave)
전현파는 사인파(sine wave), 코사인파(cosine wave)를 포함하는 말입니다.
정현파의 본질은 원 위에 회전하는 점에 관한 것입니다.
원 위에 점을 두고 반시계방향으로 회전시킬 때, 점의 x좌표(cosine), y좌표(sine)의 움직임을 시간에 따라 표현하면, 시간을 차원으로 하는 코사인, 사인파가 만들어집니다.
정현파의 3가지 특성값
원의 회전을 통해 정현파를 만들 수 있습니다.그렇가면 원의 회전에 관한 몇 가지 변형을 통해 정현파의 성질을 유도할 수 있습니다.
(1) 원의 반지름을 수정해볼 수 있고, (2) 회전속도, (3) 회전을 시작하는 곳의 위치도 바꿔볼 수 있습니다.
이 세 가지는 각각 정현파의 진폭(amplitude), 주파수(frequency), 위상 변이(phase shift)라고 불립니다.코사인파를 기준으로 쓰면 다음과 같이 진폭, 주파수, 위상 변이가 표현됩니다:
여기서 A는 진폭, f는 주파수, Φ는 위상 변화를 뜻하며 ω는 라디안 주파수를 의미합니다.
진폭 (amplitude)
진폭은 회전하는 원의 반지름 길이와 같습니다.
기본적으로 코사인 함수 cos(θ)는 +1과 -1 사이에서 진동하므로 Acos(θ)는 +A에서 -A 사이에서 진동합니다.
주파수 (frequency)
주파수의 개념은 회전 속도와 관련되어 있습니다. 즉, 얼마나 빨리 회전하는지에 관한 것입니다.
빨리 회전할수록 주파수는 높습니다.
주파수는 주기(period)의 역수인데, 1/second 단위를 Hz(헤르츠)라고 읽습니다.
따라서, 0.25Hz는 4초에 한 번 회전, 1Hz는 1초에 한 번, 2Hz는 1초에 2번 회전하는 경우를 의미합니다.
주파수를 구하는 방법으로는
우선 같은 x(t) 값을 가지는 가장 가까운 두 t값의 차이로 주기를 구합니다.
이에 역수를 취하면 주파수입니다. 이때 주파수의 단위는 second입니다. 만약 t의 단위가 ms라면 second로 단위를 맞춰야합니다.
라디안 주파수는 보통 ω(오메가)를 기호로 사용합니다.
라디안 각도 체계는 원을 한 번 회전할 때 반지름과 회전한 길이의 비율이 항상 2π임을 고려해 만든 각도 체계입니다.
1Hz가 1초에 한 번 회전하는 것을 의미한다고 하면,
라디안 주파수는 1초에 몇 라디안을 회전하는지를 쉽게 파악하려고 만든 개념입니다.
가령 2π rad/s의 라디안 주파수는 1초에 1번 도는 회전을 의미합니다.
그래서 Hz를 이용해 표기하는 주파수를 f라고 쓰고,
라디안 주파수를 ω라고 쓰면 다음과 같은 관계를 갖습니다:
위상 변이 (phase shift)
phase shift가 되면 아래 그림과 같이 정현파가 좌/우로 옮겨지게 됩니다.
좌/우로 움직이는 현상에 대해 헷갈린다면 정현파의 고향인 원의 회전을 생각해보면 됩니다.
다시 말해, 위상은 '원의 어디서부터 출발할 것인가?' 를 말해주는 것입니다.
이때 조금 헷갈리기 쉬운 부분은 phase shift에 의한 time delay인데, 쉽게 생각하려면 코사인 주파수 식을 다음과 같이 변형하면 됩니다:
즉, Φ 라디안 만큼 phase shift가 있었다고 하면, 이에 의해 발생하는 time delay td는
초 입니다.
이때, phase shift Φ를 쉽게 구하는 방법이 있습니다.
cos함수의 경우 peak의 좌표가 0, 2π, ..., 2nπ입니다. 그렇다면 코사인파가 주어지고, peak의 시각이 주어지면,
peak의 시각을 대입했을 때, cos함수 안에 값이 0, 2π, ..., 2nπ이게 Φ를 구해주면 됩니다.
예를 들어,
CD는 1초에 44,100개의 샘플들을 갖습니다.
이는 CD의 주파수가 44,100이라는 뜻입니다.
만약 샘플의 데이터의 타입이 16-bit이고,
stereo를 이용해서 2개의 채널이 있다면,
1분당 실행되는 byte의 수는 다음과 같이 계산할 수 있습니다:
2 (=channels) * 16 / 8 (=16-bit/byte) * 60 (=min) * 44100 (초당 샘플 수, 1/sec) = 10.584Mbytes/min
복소수 표현 방법
복소수 체계는 실수 체계와 허수 체계를 합한 것이므로 실수 체계와 허수 체계를 각각 가로축과 세로축에 수직선으로 하는 복소 평면을 구성하고 그 위에 표현할 수 있습니다.
예를 들어, 임의의 복소수 z = 1 + j0.5 라고 하면,
(1, 0.5) 좌표에 점을 찍어 복소수 하나를 표현할 수 있게 됩니다:
이렇게 복소수를 평면 상의 한 점이라고 놓고 보면 어떤 좌표계를 쓰는지에 따라 다르게 복소수를 표현할 수 있습니다.
주요하게는 직각 좌표계와 극 좌표계를 사용해 복소수를 표현할 수 있습니다.
직각 좌표형
직각 좌표계를 이용해 복소수를 표현하는 것은 복소수를 실수부와 허수부로 나누어 표현해주는 것을 의미합니다.
직각 좌표계는 보통 좌표계라고 할 때 생각할 수 있는 데카르트 좌표계(Cartesian coordinate)를 말합니다:
가령 위 그림과 같이 네 개의 점을 직각 좌표계에 표현해볼 수 있는데, 만약 이 평면이 복소평면이었다면 네 개의 점들은 각각 다음과 같은 복소수를 표현한 것입니다:
(2,3) : 2 + j3 (1)
(0,0) : 0 + j0 (2)
(-3,1) : -3 + j1 (3)
(-2,-2) : -2 - j2 (4)
즉, x좌표와 y좌표를 이용해 다음과 같이 하나의 복소수 포인트를 표현할 수 있게 됩니다.
극 좌표형
극 좌표계(polar coordinate)를 이용해 복소수를 표현하는 것은 복소수를 원점으로부터의 거리와 가로축에서부터의 각도를 이용해 표현해주는 것을 의미합니다.
예를 들어 z = 1 + j0.5를 표현해주는 복소평면 위의 점에 대해 원점으로부터의 거리와 가로축으로부터의 각도를 계산해보면 다음과 같습니다:
즉, 아래의 그림에서 r과 θ의 값은 r=1.118과 θ=0.4636rad 혹은 θ=26.56도 입니다:
생각해보면 1, 0.5 이렇게 단순한 숫자 두 개로 구성될 수 있었던 숫자들이 더 복잡해졌습니다.
그렇다면 왜 극좌표계를 이용해 복소수를 표현해보려고 하는 것일까요?
복소수를 표현하는데 있어 극좌표계를 사용하는 이유는, 복소수는 회전과 관련이 있는 수체계이기 때문입니다. 회전을 표현하는데 있어 극좌표계를 이용하면 조금 더 간략하게 표기할 수 있기 때문입니다.
두 좌표계 간의 변환
복소수를 표현할 때 직교 좌표계와 극 좌표계 둘 다 많이 사용되지만, 신호 처리를 공부할 때에는 극 좌표계를 더 자주 이용합니다. 그 이유는 결국 정현파는 원의 회전으로부터 출발하는 개념이기 때문에 회전을 표현하기에 더 적합한 극 좌표계를 사용하는 것입니다.
이때 삼각비를 사용하면 x와 y의 좌표는 다음과 같이 표현할 수 있습니다.:
즉, 극 좌표계의 r, θ를 이용해 임의의 복소수 z를 다음과 같이 표현할 수 있습니다:
한편, 직교 좌표계에서 극좌표계로 표현을 수정하기 위해서는 원점으로부터 점까지의 길이와 각도를 계산하면 됩니다.
오일러 공식
원점으로부터의 거리가 1이고 실수축과의 각도가 θrad인 복소수 z는 z = cos(θ) + jsin(θ)입니다.
이 식을 θ에 대해 미분해보면 다음과 같은 결과를 얻을 수 있습니다:
이때 j^2 = -1이므로,
이고 양변을 z로 나눠
와 같이 바꿔 쓸 수 있습니다.
여기서 θ에 대해 양변을 적분하면,
입니다.
θ가 0인 경우는 ln(z) = 0 + C = C이고
z는 원래 z = cos(θ) + jsin(θ)이므로, z = 1입니다. 따라서 ln(z) = ln(1) = 0 = C이므로, C = 0입니다.
즉, ln(z) = jθ
이를 z에 대해 쓰면 다음과 같은 공식이 나옵니다.
이는 우변의 직교좌표계로 표현된 복소수 표현을 r,θ만을 이용해 표현된 복소수 값으로 나타낼 수 있음을 보입니다.
즉, r, θ와 같은 인위적인 표시 대신에 수학적으로 타당한 극좌표계 표현 방법을 복소 지수(complex exponential)를 이용해 표현할 수 있게 되는 것입니다. 특히, 지수 함수(exponential function)을 이용하기 때문에 복소수 간의 곱셈, 나눗셈에 이용하면 계산이 아주 편리해집니다.
'[학교 수업] > [학교 수업] Signal Processing' 카테고리의 다른 글
[Signal Processing] Chapter 2 | Week 2 (0) | 2025.03.11 |
---|