# 신호 처리에서의 복소수

#### 1. 복소수와 신호 표현

신호 처리에서 복소수는 주로 주파수 도메인에서 신호를 표현하는 데 사용된다. 시간 도메인의 신호를 주파수 도메인으로 변환할 때, 실수 신호만으로는 효과적인 표현이 불가능한 경우가 많기 때문에 복소수를 활용하게 된다. 복소수를 이용하면 주파수 성분과 위상 정보를 효율적으로 표현할 수 있다.

신호는 보통 다음과 같이 복소수 형태로 표현된다:

$$
z(t) = a(t) + ib(t)
$$

여기서 $z(t)$는 시간 $t$에서의 복소수 신호, $a(t)$는 실수부, $b(t)$는 허수부이다. 실수부는 신호의 진폭(크기) 정보를 제공하며, 허수부는 신호의 위상 정보를 나타낸다.

#### 2. 복소수로 주파수 신호 분석

푸리에 변환과 같은 기법을 사용할 때, 복소수를 활용하여 시간 도메인의 신호를 주파수 도메인에서 분석할 수 있다. 시간 신호가 복소수로 변환될 때, 주파수 성분은 다음과 같은 식으로 표현된다:

$$
\mathbf{Z}(f) = \int\_{-\infty}^{\infty} z(t) e^{-i 2 \pi f t} , dt
$$

여기서 $\mathbf{Z}(f)$는 주파수 $f$에서의 복소수 신호, $z(t)$는 시간 도메인에서의 신호이다. 이때 실수부는 주파수 성분의 크기, 허수부는 위상을 나타낸다.

푸리에 변환의 결과는 실수부와 허수부로 분리되어, 각각의 주파수 성분을 해석할 수 있다.

#### 3. 복소 신호의 위상과 진폭

복소수 신호의 중요한 두 가지 요소는 진폭과 위상이다. 복소수 $z(t) = a(t) + i b(t)$에서 진폭과 위상은 다음과 같이 구할 수 있다:

* **진폭** $|z(t)|$:

$$
|z(t)| = \sqrt{a(t)^2 + b(t)^2}
$$

이는 신호의 에너지 또는 크기를 나타낸다. 진폭은 신호의 강도를 의미하며, 주파수 분석에서 각 주파수 성분의 기여도를 평가하는 데 중요하다.

* **위상** $\phi(t)$:

$$
\phi(t) = \text{atan2}(b(t), a(t))
$$

위상은 신호의 시간적 위치에 대한 정보로, 위상 차이를 통해 여러 신호의 동기화를 파악할 수 있다.

복소수의 극형식을 통해 이러한 진폭과 위상 정보를 직접적으로 표현할 수 있다. 신호는 다음과 같은 극형식으로 표현된다:

$$
z(t) = |z(t)| e^{i \phi(t)}
$$

이 표현은 신호 처리에서 매우 유용하며, 특히 주파수 도메인에서 신호의 분석 및 처리를 쉽게 만들어준다.

#### 4. 신호 처리에서의 복소수 연산

신호 처리 과정에서 복소수 연산은 필수적이다. 예를 들어, 두 개의 신호를 곱하는 경우 복소수 곱셈을 통해 진폭과 위상의 변화를 동시에 고려할 수 있다. 두 복소수 신호 $z\_1(t) = a\_1(t) + i b\_1(t)$, $z\_2(t) = a\_2(t) + i b\_2(t)$의 곱은 다음과 같이 계산된다:

$$
z\_1(t) \cdot z\_2(t) = (a\_1(t) + i b\_1(t))(a\_2(t) + i b\_2(t)) = (a\_1(t) a\_2(t) - b\_1(t) b\_2(t)) + i (a\_1(t) b\_2(t) + b\_1(t) a\_2(t))
$$

이 식을 통해 두 신호의 실수부와 허수부를 계산할 수 있으며, 이는 신호 합성 또는 필터링에서 매우 중요한 역할을 한다.

#### 5. 복소수 필터 설계

신호 처리에서 필터는 불필요한 주파수 성분을 제거하거나 특정 주파수를 강조하기 위해 사용된다. 이러한 필터는 복소수를 사용하여 설계할 수 있다. 예를 들어, 저역통과 필터(Low-pass filter)는 다음과 같은 복소수 전달 함수로 표현된다:

$$
H(f) = \frac{1}{1 + i \frac{f}{f\_c}}
$$

여기서 $f\_c$는 컷오프 주파수이다. 이 필터는 주파수 $f$가 $f\_c$보다 작은 경우 신호를 통과시키고, 그보다 큰 주파수는 차단한다.

#### 6. 복소수로 신호의 변조와 복조

신호 처리에서 변조와 복조는 복소수를 통해 매우 효율적으로 구현된다. 변조는 신호의 진폭, 주파수, 또는 위상을 조절하여 다른 신호로 전달하는 방법이다. 복소수는 특히 **진폭 변조**(AM), **주파수 변조**(FM), **위상 변조**(PM)와 같은 방식에서 중요한 역할을 한다.

* **진폭 변조(AM)**: 변조 신호 $z(t)$는 보통 주파수 성분 $f\_c$에 따라 다음과 같이 변조된다.

$$
z\_{\text{AM}}(t) = \left( 1 + a(t) \right) \cdot \cos(2 \pi f\_c t)
$$

여기서 $a(t)$는 변조 신호, $f\_c$는 반송파 주파수이다. 복소수를 사용하여 변조 신호를 극형식으로 표현할 수 있으며, 이를 통해 진폭 변조 신호의 주파수 성분과 위상을 보다 쉽게 해석할 수 있다.

* **주파수 변조(FM)**: 주파수 변조는 신호의 주파수를 시간에 따라 변경하여 정보를 전달하는 방식이다. 변조된 신호는 다음과 같은 형태를 갖는다:

$$
z\_{\text{FM}}(t) = A \cdot \cos\left(2 \pi f\_c t + k\_f \cdot a(t)\right)
$$

여기서 $A$는 진폭, $k\_f$는 주파수 변조 지수이다. 복소수를 사용하면 주파수 변조된 신호의 위상 변화 및 진폭 변화를 쉽게 다룰 수 있다.

* **위상 변조(PM)**: 위상 변조는 신호의 위상을 시간에 따라 변동시키는 방식이다. 변조된 신호는 다음과 같이 표현된다:

$$
z\_{\text{PM}}(t) = A \cdot \cos\left(2 \pi f\_c t + k\_p \cdot a(t)\right)
$$

여기서 $k\_p$는 위상 변조 지수이다. 복소수를 통해 위상 변조된 신호의 위상 변화와 주파수 성분을 쉽게 분석할 수 있다.

#### 7. 복소수 FFT(Fast Fourier Transform)와 신호 처리

복소수를 활용한 FFT(고속 푸리에 변환)는 신호 처리에서 매우 중요한 도구이다. FFT를 사용하면 시간 도메인의 신호를 주파수 도메인으로 빠르게 변환할 수 있다. FFT는 푸리에 변환을 빠르게 계산하는 알고리즘으로, 신호의 주파수 성분을 분석하는 데 널리 사용된다.

복소수 신호 $z(t)$에 대한 FFT는 다음과 같이 표현된다:

$$
\mathbf{Z}(k) = \sum\_{n=0}^{N-1} z(n) \cdot e^{-i 2 \pi k n / N}
$$

여기서 $N$은 샘플의 총 개수, $k$는 주파수 인덱스이다. FFT를 통해 각 주파수 성분의 진폭과 위상 정보를 추출할 수 있으며, 이는 신호 분석 및 필터링에 중요한 역할을 한다.

#### 8. 복소수 필터 응용

복소수 필터는 신호 처리에서 필수적인 도구이다. 예를 들어, 복소수 FIR(Finite Impulse Response) 필터는 다음과 같은 형태로 표현될 수 있다:

$$
y(n) = \sum\_{k=0}^{M-1} h(k) \cdot z(n-k)
$$

여기서 $h(k)$는 필터 계수, $z(n)$은 입력 신호이다. 복소수 필터는 신호의 특정 주파수 성분을 강조하거나 억제하는 데 사용되며, 신호의 주파수 분석 및 처리를 효율적으로 수행할 수 있다.
