티스토리 뷰
Fourier Transform에는 두 가지 단점이 있다. DTFT가 존재하지 않는 여러 유용한 signal들이 존재한다. 예를 들어, $u(n)$, $nu(n)$과 같은 신호들은 absolutely summable하지 않아서 DTFT가 존재하지 않는다. 또한, 초기 조건이나 input의 변화로 인한 system의 transient response(변화 대응해 steady-state로 가기전 과도기적 상태)를 DTFT에서는 반영하지 못한다.
이러한 두 가지 문제를 해결하기 위해 DTFT의 확장 형태인 z-transform이 나오게 되었다.
Bilateral z-transform
Definition
$$
X(z)\equiv \sum_{n=-\infty}^{\infty} x(n)z^{-n}, R_{-} < \left|z \right| < R_{+}
$$
여기서 $R_{-} < \left|z \right| < R_{+}$ 이 범위를 Region of Convergence(ROC)라고 한다. 수렴하는 영역을 알려주는 것으로 ROC에 따라 신호의 모양이 달라진다.
Inverse transform은 $x(n)=\frac{1}{2\pi j}\oint_{C}X(z)z^{n-1}dz$ 이고, 잘 사용되지 않는다. 아래에 z-transform 변환 표가 나오는데 주로 그것을 이용해서 inverse transform한다.
Properties of ROC
- pole에는 값이 존재하지 않는다
- ROC boundary에 적어도 한 개의 pole이 존재한다
- ROC는 연속된 영역이다(중간에 끊기거나 빈 곳이 존재하지 않는다)
Properties
DTFT와 큰 차이없는 특징들을 가진다.
- Linearity
$Z [a_{1}x_{1}(n) + a_{2}x_{2}(n)] = a_{1}X_{1}(z) + a_{2}X_{2}(z); ROC: ROC_{x_{1}}\cap ROC_{x_{2}}$ - Sample shifting:
$Z[x(n−n0)]=z^{−n_{0}}X(z); ROC:ROCx$ - Frequency shifting:
$Z[a^{n}x(n)]=X(\frac{z}{a}) ; ROC:ROC_{x} \ scaled by \ |a|$ - Folding:
- $Z [x (−n)] = X (1/z) ; ROC: Inverted\ ROC_{x}$
- Complex conjugation:
- $Z [x^{∗}(n)] = X^{∗}(z^{∗}); ROC: ROC_{x}$
- Differentiation in the z-domain:
$Z[nx(n)]=−z\frac{dX(z)}{dz}; ROC:ROCx$
multiplication-by-a-ramp property라고 불리기도 한다. - Multiplication:
$Z[x1(n)x2 (n)] = \frac{1}{2\pi j}\oint_{C}X_{1}(\nu)X_{2}(z/ \nu)\nu^{-1}d\nu; ROC: ROC_{x_{1}} \cap Inverted \ ROC_{x_{2}}$ - Convolution:
$Z [x_{1}(n) ∗ x_{2}(n)] = X_{1}(z)X_{2}(z); ROC: ROC_{x_{1}} \cap ROC_{x_{2}}$
Inversion of z-transform
Inversion은 부분분수와 아래의 표를 이용해 구한다.
예를 들어, $X(z) = \frac{z}{3z^2-4z+1}$의 inverse z-transform을 구해보자. 부분분수를 이용해 식을 정리하면 $X(z)=\frac{1}{2}(\frac{1}{1-z^{-1}}) - \frac{1}{2}(\frac{1}{1-\frac{1}{3}z^{-1}})$이 된다. 여기서 중요한 부분이 ROC를 고려하는 것이다. ROC에 따라 신호가 달라지기 때문이다. 여기서는 pole이 $\frac{1}{3}$과 $1$ 두 개 이므로 세 개의 영역으로 나눌 수 있다.
ROC1을 먼저 보면 $\left|z \right| > 1$이므로 아래 표의 두 번째와 네 번째 줄을 참고하면 된다. $\frac{1}{1-z^{-1}}$를 두 번째 줄에 따라 바꾸면 $u(n)$이 되고, $\frac{1}{1-\frac{1}{3}z^{-1}}$를 네 번째 줄에 따라 바꾸면 $(\frac{1}{3})^{n}u(n)$이 된다. 이를 대입해서 전체 식을 구하면 $x_{1}(n) = \frac{1}{2}u(n)-\frac{1}{2}(\frac{1}{3})^{n}u(n)$이 된다. ROC2, 3도 마찬가지의 방법으로 변환하면 된다.
Some common z-transform pairs
System Representation in the z-Domain
DTFT에서 frequency response와 비슷한 개념을 z-domain에서 정의한 것이 System function이다.
$H(z)$의 정의는 아래와 같다.
$$
H(z) \equiv Z[h(n)] = \sum_{-\infty}^{\infty} h(n)z^{-n}, R_{h-} < \left| z \right| < R_{h+}
$$
system function을 통해 나온 결과값인 $Y(z)$의 ROC는 $x$와 $h$의 ROC의 교집합이다.
System Function from the Difference Equation Representation
z-transfom에서도 차분 방정식을 이용해 system function을 구할 수 있다.
$$
y(n) + \sum_{l=1}^{N} a_{k} y(n-k) = \sum_{l=0}^{M} b_{l}x(n-l)
$$
$y(n)$와 $x(n)$을 z-transform 하면 아래와 같다.
$$
Y(z)+\sum_{k=1}^{N} a_{k}z^{-k}Y(z) = \sum_{l=0}^{M}b_{l}z^{-l}X(z)
$$
정의에 의해 $H(z)\equiv \frac{Y(z)}{X(z)}$이므로 이에 맞춰 정리하면
$$
H(z)\equiv \frac{Y(z)}{X(z)} = \frac{\sum_{l=0}^{M}b_{l}z^{-l}}{1+\sum_{k=1}^{N} a_{k}z^{-k}} = \frac{b_{0}z^{-M}(z^{M}+\cdots+\frac{b_{M}}{b_{0}})}{z^{-N}(z^{N}+\cdots+a_{N})}
$$
이 되고, factorization을 하면
$$
H(z)=b_{0}z^{N-M}\frac{\prod_{l=1}^{N}(z-z_{l})}{\prod_{k=1}^{N}(z-p_{k})}
$$
Transfer function representation
$H(z)$의 ROC가 단위 원($z=e^{jw}$)을 포함한다면, 단위 원 위에서의 $H(z)$를 평가할 수 있다. 위에서 정리한 factorization된 식에서 분자가 0이 되게 하는 값을 zero, 분모가 0이 되게 하는 값을 pole이라고 한다. 따라서, $z_{l}$은 zeros, $p_{k}$는 poles가 된다.
$H(e^{jw})$를 생각해보면, $e^{jw} - z_{l}$은 $z_{l}$에서부터 단위 원위의 한 점을 연결한 vector가 된다. pole의 경우도 마찬가지로 벡터로 생각할 수 있다. 이를 통해 $w$의 변화에 따라 pole과 단위 원이 가지는 벡터의 크기와 zero와 단위 원의 벡터의 크기를 알 수 있고, 이것으로 $H(e^{jw})$의 크기를 알 수 있다. 이것을 magnitude response라고 한다. phase의 경우도 마찬가지로 $w$의 변화에 따라 벡터가 가지는 phase가 달라지게 되고 그것을 phase response라고 한다.
Reference
- 디지털신호처리, 국민대학교 정경훈 교수님 강의
- Digital Signal Processing Using MATLAB, 3rd Edition by Vinay K. Ingle, John G. Proakis
'digital signal process' 카테고리의 다른 글
Digital Filter Structure (0) | 2022.01.12 |
---|---|
DTFT(Discrete-Time Fourier Transform) (0) | 2022.01.05 |
- feature
- conditional GAN
- deeplearning
- mode collapse
- machine learning
- controllable GAN
- Deep learning
- Generative Model
- 디지털신호처리
- design pattern
- 딥러닝
- ML Pipeline
- ML
- Operating System
- Gan
- Building Basic GAN
- depth
- MLOps
- TRACKING
- Depth estimation
- AI
- depthmap
- 3d object detection
- DSP
- 신호처리
- OS
- image
- 운영체제
- Raspberry Pi
- pcb
- Total
- Today
- Yesterday
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |