2020년 11월 1일 일요일

Z 변환(Z-transform)

[경고] 아래 글을 읽지 않고 "Z 변환"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 연속 함수의 이산화 예시(출처: wikipedia.org)

연속적인 푸리에 변환(Fourier transform)을 이산화(離散化, discretization)해서 이산 푸리에 변환(discrete Fourier transform, DFT)을 만들 수 있다면, 라플라스 변환의 이산화 형태는 Z 변환(Z-transform)이 될 수 있다. 컴퓨터 시대와 함께 등장한 디지털 신호 처리(digital signal processing, DSP)의 기본 도구인 Z 변환은 의외로 오래된 역사를 가지고 있다. 드 무아브르Abraham de Moivre(1667–1754)가 1730년드 무아브르 63세, 조선 영조 시절에 확률(probability) 이론에 사용하려 Z 변환과 비슷한 생성 함수(generating function) 개념을 제안했다. 생성 함수는 멱급수(power series)로 전개한 항이 특정 수열(sequence)을 표현하는 함수이다. 예를 들어, 수열 $a_n$을 만드는 생성 함수 $G(a_n; x)$는 다음처럼 정의한다.

                  (1)

한참 후인 1812년라플라스 63세, 조선 순조 시절부터 라플라스Pierre-Simon Laplace(1749–1827)도 드 무아브르의 생성 함수를 열심히 사용했다. 이산 신호(discrete signal) 혹은 표본화(sampling)에 쓰이는 현재와 비슷한 Z 변환은 후레비츠Witold Hurewicz(1904–1956)가 1947년후레비츠 43세, 미군정 시절에 다시 제안했다.
리만 적분(Riemann integral)으로 표현된 식 (2)의 라플라스 변환(Laplace transform)을 다시 무한 급수(infinite series)로 바꾸어서 Z 변환을 자연스럽게 정의할 수 있다.

                  (2)

                  (3)

여기서 $T$는 [그림 1]에 보여진 이산화 간격이다. 주기 $T$는 계속 반복되므로 생략해서 식 (3)을 Z 변환으로 정의한다.

                  (4)

여기서 연속 함수 $x(nT)$의 수열 형태가 $x[n]$이다. 복소 함수론(complex analysis) 관점으로 식 (4)는 로랑 급수(Laurent series)를 표현한다. 식 (4)에 정의된 로랑 급수의 수렴 반경(radius of convergence) 안에서 유수 정리(residue theorem)에 의해 Z 역변환(inverse Z-transform)을 구할 수 있다.

                  (5)

여기서 $X(z)$의 수렴 반경은 $r_1 < |z| < r_2$로 표기한다. 식 (4), (5)에 있는 Z 변환과 역변환은 멜린 변환(Mellin transform)과 무척 닮아있다. 이런 유사성은 우연의 일치가 아니고, Z 변환과 멜린 변환의 초기 기여자가 라플라스이기 때문에 필연적이다.

[그림 2] 토끼 쌍으로 표현한 피보나치 수(출처: wikipedia.org)

Z 변환은 차분 방정식(difference equation)을 풀 때 매우 유용하다. 유명한 수열인 피보나치 수(Fibonacci number)의 일반항을 Z 변환으로 구해보자. 피보나치 수는 다음 관계를 만족한다.

                  (6)

식 (2.1)에 있는 단위 충격 함수(unit impulse function)를 이용해, 식 (6)을 Z 변환하기 편한 수열 $f[n]$으로 다시 쓴다.

                  (7)

여기서 $n < 0$인 $f[n]$은 $0$이다. 식 (7)에 식 (1.1)과 (1.2)를 적용해서 Z 변환한다.

                  (8)

Z 역변환을 위해서는 부분 분수 분해가 필요해서 식 (8)의 분모 다항식에 대한 근을 구한다.

                  (9)

신기하게도 다항식 근 중의 하나는 유명한 황금비(golden ratio) $\varphi$ = $\frac{1+\sqrt{5}}{2}$이다. 일단 식 (9)를 이용해서 식 (8)을 부분 분수로 분해한다.

                  (10)

마지막으로 식 (2.4)를 참고해서 식 (10)을 Z 역변환하면, 피보나치 수의 일반항 $f[n]$을 얻을 수 있다.

                  (11)

여기서 $u[n]$은 식 (2.2)에 나온 수열에 대한 단위 계단 함수이다.

 
   1. 기본(basics)   

[선형 사상(linear mapping or linearity)]

                  (1.1)

여기서 $Y(z)$는 $y[n]$의 Z 변환, $X(z)$와 $Y(z)$에 대한 수렴 반경의 교집합에서만 선형 사상이 성립한다.

[시간 이동(time shifting)]

                 (1.2)

[증명]
시간 지연(time delay)은 간단하므로, 시간 선행(time advance)에 대한 Z 변환을 증명한다.

                  (1.3)
______________________________

[비율 조정(scaling)]

                  (1.4)

여기서 $X(z)$의 수렴 반경은 $r_1 < |z| < r_2$, $X(a^{-1}z)$는 $|a|r_1 < |z| < |a|r_2$에서 수렴한다.

[켤레 복소수(complex conjugate)와 대칭성(symmetry)]

                  (1.5)


   2. 초등 함수의 변환(transform of elementary functions)   

[단위 충격 함수(unit impulse function)]

                  (2.1)

여기서 $\delta[n-n_0]$ = $\delta_{n n_0}$, $\delta_{nm}$은 크로네커 델타(Kronecker delta)이다.

[단위 계단 함수(unit step function)]

                  (2.2)

여기서 $u[n]$ = $u(n+0^+)$, $u(t)$는 연속적인 단위 계단 함수(unit step function), $|z| > 1$이다.

[증명]
공비(common ratio)가 $z^{-1}$인 무한 등비 급수(infinite geometric series)로 계산한다.

                  (2.3)
______________________________

[지수 함수(exponential function)]

                  (2.4)

여기서 $|z| > a$이다.

[증명]
식 (2.2)에 식 (1.4)를 대입해서 증명한다.
______________________________


   3. 길쌈(convolution)   

[정의]

                  (3.1)

[대수적 성질(algebraic properties)]

                  (3.2)

[길쌈 정리(convolution theorem)]

                  (3.3)

여기서 $X(z)$와 $Y(z)$에 대한 수렴 반경의 교집합에서만 길쌈 정리가 성립한다.

[증명]

                  (3.4)
______________________________

길쌈 정리를 적용하면 복잡해보이는 수열이 Z 변환된 급수의 곱으로 간편하게 표현된다.


[참고문헌]
[1] J. R. Ragazzini and L. A. Zadeh, "The analysis of sampled-data systems," Trans. Am. Inst. Electr. Eng., vol. 71, no. 5, pp. 225–234, Nov. 1952.

댓글 없음 :

댓글 쓰기

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.