Z 변환
Z 변환은 라플라스 변환의 이산 시간 신호 버전이다.
ㅤ
$y(t) \rightarrow y[n]$ 으로 샘플링을 하여 $y[n] = y(n\cdot T_0)$ 을 이용한다.
라플라스 변환에서는 $e^{st}$ 를 이용해서 신호에 대해 분석을 진행하였는데, z 변환에서는 이산 신호를 다루기 때문에 $e^{s\cdot nT_0}$ 를 이용한다. 이때 $e^{(sT_0)n}$ 이라고 식을 정리하여 n에 대해 묶어주고 $e^{sT_0} = z$ 라고 정의하면 $z^n$ 을 기준으로 신호에 대해 분석하도록 도메인을 둘 수 있다.
ㅤ
라플라스 변환에서 사용한 $e^{st}$ 대신에 $z^n$ 을 이용하는 이산 시간 신호에 대한 변환이 Z 변환이다.
$$
X(z) = \sum_{n=0}^{\infty}x[n]\cdot z^{-n}
$$
ㅤ
Z 변환의 의의는 간략히 아래의 것들이 있다.
- 샘플링된 데이터를 다루기 위한 수학적 도구
- 디지털 필터, 디지털 제어기 설계의 기반
- 단위원 ROC를 활용한 단순한 안정성 분석
ㅤ
그렇다면 기존의 라플라스 변환과 어떤 관계를 가지고 있을까? $e^{sT} = z$ 를 통해 유도되는 라플라스 변환의 성질을 Z 변환이 어떻게 가지는지 알아보자.
ㅤ
우선 라플라스 변환에서 보여지는 직선 형태의 그래프는 Z 변환에서는 복소 평면 상에서 원의 형태로 나타난다. 근데 뭐 이거는 $e^{j\theta}$ 를 이용해서 원을 표현하는 것을 이용해 생각해보면 된다.

ㅤ
라플라스 변환에서의 ROC는 $\sigma < 0$ 이였다. 그래야 복소 지수성분에서 $t\rightarrow\infty$ 로 가더라도 안전하게 특정 값으로 수렴이 가능하다. 유사하게, Z 변환에서의 ROC는 단위원 내이다. 수식으로 표현하자면 $|z| < 1$.

ㅤ
여기에서도 알 수 있듯이, 라플라스 변환을 둥글게 말아서 표현한게 Z 변환의 그래프이다!
ㅤ
그리고 여기에서 주파수가 0인 지점의 포인트를 찍으라고 한다면 라플라스 변환에서는 $s=0+0j$, Z 변환에서는 $z=1+0j$ 지점이 된다. 주파수가 0 = 항상 일정한 신호만 들어옴 = 직류 라고 생각하면 되는 듯 하다.

ㅤ
라플라스 변환에서 그은 선들을 Z 변환 그래프 위로 올려보면 다음과 같은 결과를 얻을 수 있다. 여기에서 눈에 띄는 점들은 Z 변환에서 반원의 끝 (최대 주파수 성분 + 최소 주파수 성분)이 나이퀴스트 주파수에 해당한다는 점이다. 아무래도 특정한 주기에 대해 샘플링된 신호에 대한 주파수이다보니 분석할 수 있는 최대, 최소 주파수가 이미 정해져있다고 보면 될 것 같다.

ㅤ
샘플링의 간격을 줄이면 (주파수를 늘리면) 나이퀴스트 주파수가 늘어나게 된다. 이때 라플라스 변환에서의 그래프는 전혀 변화가 없지만, 최대 최소의 간격이 변경되었기 때문에 Z 변환의 그래프에서는 이렇게 범위가 바뀌고 그래프의 형태가 바뀌게 된다. (압축되는 느낌으로 바뀐다!)
ㅤ
Z 변환으로 시스템 분석하기
입력된 신호 X에 대해서 시스템 H를 거치면 출력 Y가 나온다고 해보자.
$$
Y(z) = H(z)\cdot X(z)
$$
이때 $H$ 에는 시스템에 대한 정보가 들어있다. 그래서 위 수식의 $H$를 분석하는 것이 시스템을 분석하는 것과 동일하다.
ㅤ
아래와 같은 입출력 관계를 가지는 시스템이 있다고 해보자.
$$
y[n] = \alpha\cdot x[n] + (1-\alpha)\cdot y[n-1]
$$
[ (현재 출력) = (입력) a 만큼 + (이전 출력) 1 - a 만큼 ] 의 형태를 가지고 있다. 여기에 H 시스템을 적용하기위해 양 변에 Z 변환을 취해보면
$$
\mathcal{Z}{y[n]} = \mathcal{Z}{\alpha\cdot x[n] + (1-\alpha)\cdot y[n-1]} \\
Y(z) = \alpha X(z) + (1-\alpha)\cdot z^{-1}Y(z)
$$
$y[n-1]$ 이 $z^{-1}Y(z)$ 가 되는 것은 시간 지연의 특징. 궁금하다면 $x[n] = n\cdot u(t)$ 일 때의 Z 변환을 구해보자.
ㅤ
위 수식을 다시 한 번 정리하면 다음과 같이 정리될 수 있다.
$$
Y(z)\cdot(1-\frac{1-\alpha}{z}) = \alpha\cdot X(z)\\
Y(z)\cdot\frac{1}{\alpha}\cdot(1-\frac{1-\alpha}{z}) = X(z)
$$
ㅤ
이때, 우리가 찾아보고 싶었던 것은 시스템에 대한 Z 변환인 $H(z)$ 이므로, 가장 위에 있던 식에 $X, Y$를 넣어서 시스템에 대한 함수를 찾고 분석해보자.
$$
H(z) = \frac{Y(z)}{X(z)}\\
= \frac{Y(z)}{Y(z)\cdot\frac{1}{\alpha}\cdot(1-\frac{1-\alpha}{z})}\\
=\frac{\alpha}{(1-\frac{1-\alpha}{z})}\\
=\frac{\alpha z}{z-(1-\alpha)}
$$
여기에서 $H(z)$ 가 0이 되는 지점과 발산하는 지점을 찾아보면, 이게 시스템의 Zero와 Pole이 된다.
- 0이 되는 지점 (zero) : $z=0$
- 발산하는 지점 (pole) : $z = 1-\alpha$
ㅤ
이 중에서 시스템의 안정성 분석에 중요한 값은 pole 이다. 앞서 Z 변환에서의 ROC 는 $|z| < 1$ 인 지점이라고 했는데, 방금 분석한 값을 토대로 보면 $|1-\alpha| <1$ 이면 안정된 시스템이라 볼 수 있다. 여기에서의 $\alpha$ 는 입력 비율에 대한 값으로, $0 \leq \alpha \leq 1$ 의 범위를 가진다. 따라서 $\alpha=1$ 인 경우를 제외하면 시스템은 안정적이지만, $\alpha = 1$ 이라면 진동(발산)하는 형태의 출력을 보일 수 있다고 분석할 수 있다.
ㅤ
실제로는?
이게 제일 궁금했다. 이걸 MCU에서 연산할 수 있는 내용인가? 굳이굳이 X에 대해서 시스템 H를 거쳐 출력 Y를 만들고 이걸 다시 원본 신호로 복원해서 내보낸다…? 너무 연산량이 많이 필요한거 아닌가?? 라는 생각이 자꾸 들었다.
ㅤ
검색해보니, 실제로는 그냥 코드로 샘플링에 대해서 출력값을 계산해 내보낸다고 한다.
$$
y[n] = \alpha\cdot x[n] + (1-\alpha)\cdot y[n-1]
$$
이런 시스템이 있었다면 그냥 단순하게 이전 출력을 저장해놓고 다음 출력 때 반영하는 방식으로 구현된다.
// 대충 시스템을 함수라고 해보자.
int input_prev = 0;
int H_system(int input)
{
int alpha = 0.5; // (가중치)
int result = input * alpha + input_prev * (1 - alpha);
// 다음 번 result를 만들 때 활용하기 위해 y[n-1] 저장해두기.
input_prev = result;
return result;
}
ㅤ
그렇다면 Z 변환과 라플라스 변환은 전혀 의미없는 무용지물이자, 단순히 수학적 도구인가? 그렇지만은 않다.
ㅤ
회로와 시스템을 설계할 때 시스템의 특성과 성능을 파악하기 위한 도구로 활용할 수 있다. 시스템을 구성한 뒤 or 구성을 위한 설계를 작성할 때 입력 형태에 따라 라플라스 변환과 Z 변환을 적용해 pole, zero 등의 위치를 미리 파악해 시스템이 안정적인지 판단하는 등의 도구로 사용할 수 있다.
ㅤ
즉, 라플라스는 연속 신호 시스템의 설계 도구이고, Z 변환은 이산 신호 시스템의 설계 도구이다.
ㅤ
샤라웃
Relationship between Laplace and Z Transforms : S Plane to Z Plane Mappings
Z 변환 - 공돌이의 수학정리노트 (Angelo's Math Notes)
Z 변환 - 공돌이의 수학정리노트 (Angelo's Math Notes)
angeloyeo.github.io
'Embedded System > 신호 및 시스템' 카테고리의 다른 글
| [신호및시스템] Phase 5-1 - 라플라스 변환 (0) | 2025.10.17 |
|---|---|
| [신호및시스템] Phase 4-3 - 이산 신호처리 파이프라인 (0) | 2025.10.14 |
| [신호및시스템] Phase 4-2 - 샘플링 복원 (0) | 2025.10.14 |
| [신호및시스템] Phase 4-1 - 샘플링 (0) | 2025.10.14 |
| [신호및시스템] Phase 3-3 - Fast Fourier Transform (0) | 2025.10.07 |