Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
CAU 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

Embedded System/신호 및 시스템

[신호및시스템] Phase 5-2 - Z 변환

sm_amoled 2025. 10. 18. 13:59

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

 

320x100