Unit 6 - Notes
ECE220
Unit 6: The Z-transform
1. Introduction
The Z-transform is a mathematical tool used for the analysis and design of discrete-time signals and systems. It serves as the discrete-time counterpart to the Laplace transform used in continuous-time systems.
While the Discrete-Time Fourier Transform (DTFT) provides a frequency-domain representation of a discrete signal, it only exists if the signal is absolutely summable (stable). The Z-transform generalizes the DTFT, allowing for the analysis of a broader class of signals (including unstable ones) and the characterization of transient behaviors in Discrete-Time Linear Time-Invariant (DT-LTI) systems.
Key Analogies
| Continuous Time | Discrete Time |
|---|---|
| Differential Equations | Difference Equations |
| Laplace Transform (-domain) | Z-transform (-domain) |
| Stability: Left Half of -plane | Stability: Inside Unit Circle of -plane |
2. The Z-transform
Definition
The bilateral (two-sided) Z-transform of a discrete-time signal is defined as a power series:
Where:
- is a complex variable defined as .
- is the magnitude of .
- is the angle (frequency) in radians.
Relation to DTFT
If we substitute (i.e., restricting to the unit circle where ), the Z-transform reduces to the DTFT:
Note: The Z-transform exists on the complex z-plane, while the DTFT exists specifically on the Unit Circle of that plane.
The Unilateral Z-transform
Used primarily for solving difference equations with initial conditions (causal systems), defined as:
3. The Region of Convergence (ROC)
The Region of Convergence is the set of values of in the complex plane for which the infinite summation converges to a finite value.
A Z-transform expression is uniquely defined only when its ROC is specified. For example, and result in the same algebraic expression , distinguished only by their ROCs.
Properties of the ROC
- Shape: The ROC consists of a ring or disk in the z-plane centered at the origin.
- No Poles: The ROC cannot contain any poles (values of where ).
- Finite Duration Signals: The ROC is the entire z-plane, except possibly or .
- Right-Sided Signals (Causal): If is right-sided (zero for ), the ROC is the region outside the outermost pole:
- Left-Sided Signals (Anti-Causal): If is left-sided (zero for ), the ROC is the region inside the innermost pole:
- Two-Sided Signals: The ROC is an annular ring bounded by two poles (does not include the poles themselves):
- Stability: For a system to be stable, the ROC must include the Unit Circle ().
4. Properties of the Z-transform
Assuming with ROC and with ROC .
1. Linearity
ROC: Contains .
2. Time Shifting
ROC: Same as (except possibly or ).
3. Scaling in the z-domain
ROC: (scaled expansion/contraction of the ROC).
4. Time Reversal
ROC: Inverted ().
5. Differentiation in the z-domain
6. Convolution
ROC: Contains . This is the foundation of system analysis (Output = Input Transfer Function).
7. Initial Value Theorem (Causal Signals)
If for :
8. Final Value Theorem (Causal Signals)
If the poles of are inside the unit circle:
5. The Inverse Z-transform
The process of recovering the discrete-time signal from .
Method 1: Power Series Expansion (Long Division)
Useful when is a rational function and we need the first few samples of .
- Divide the numerator polynomial by the denominator.
- The coefficients of the resulting series correspond to the sequence values.
Method 2: Partial Fraction Expansion (Most Common)
Used for rational functions of the form .
- Ensure the order of is less than . If not, use long division first.
- Factor the denominator to find poles.
- Express as a sum of partial fractions:
- Multiply by to isolate :
- Apply the inverse transform based on the ROC:
- If ROC is (Right-sided):
- If ROC is (Left-sided):
Method 3: Contour Integration (Residue Method)
Based on Cauchy's Integral Theorem:
Where is a counter-clockwise contour in the ROC encircling the origin.
6. Analysis and Characterization of LTI Systems
An LTI system is characterized by its impulse response . The Z-transform of is the System Function or Transfer Function, .
System Function from Difference Equations
Given a Linear Constant Coefficient Difference Equation (LCCDE):
Taking the Z-transform (assuming zero initial conditions):
Causality
A system is Causal if for .
- ROC Condition: The ROC is the exterior of a circle , including .
- Rational Function Condition: The order of the numerator polynomial must be less than or equal to the order of the denominator polynomial (proper fraction).
Stability
A system is BIBO Stable (Bounded Input, Bounded Output) if .
- ROC Condition: The ROC must include the Unit Circle ().
- Pole Location: For a causal system to be stable, all poles must lie strictly inside the unit circle.
7. Software Simulation and Pole-Zero Analysis
Modern analysis relies on software tools (MATLAB, Python/SciPy) to visualize the relationship between the algebraic and system behavior.
Pole-Zero Plot
- Zeros (): Roots of the numerator . Values of where .
- Poles (): Roots of the denominator . Values of where .
Effect of Pole Locations (Causal Systems)
- Real Pole inside unit circle (): Decaying exponential response.
- Real Pole outside unit circle (): Growing exponential (Unstable).
- Pole at origin (): Simple delay.
- Complex Conjugate Poles ():
- : Damped sinusoidal oscillation (Stable).
- : Constant amplitude oscillation (Marginally Stable/Oscillator).
- : Growing sinusoidal oscillation (Unstable).
Python Simulation Example
Using scipy.signal to analyze a system described by: .
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# Define system coefficients
# H(z) = B(z) / A(z)
# Numerator: 1 (which is 1*z^0)
# Denominator: 1 - 0.5*z^-1
b = [1] # Numerator coefficients
a = [1, -0.5] # Denominator coefficients
# 1. Pole-Zero Analysis
z, p, k = signal.tf2zpk(b, a)
print(f"Zeros: {z}")
print(f"Poles: {p}")
# Result: Pole at 0.5. Since |0.5| < 1, system is stable.
# 2. Frequency Response
w, h = signal.freqz(b, a)
plt.figure()
plt.title('Digital Filter Frequency Response')
plt.plot(w, 20 * np.log10(abs(h)), 'b')
plt.ylabel('Amplitude [dB]')
plt.xlabel('Frequency [rad/sample]')
plt.grid()
plt.show()
# 3. Impulse Response (Inverse Z-transform simulation)
# Create an impulse signal
impulse = np.zeros(20)
impulse[0] = 1
response = signal.lfilter(b, a, impulse)
plt.figure()
plt.stem(response)
plt.title('Impulse Response h[n]')
plt.xlabel('n')
plt.grid()
plt.show()
# Result will show a decaying exponential (0.5)^n
Interpretation of Simulation
- zplane: Visualizes stability immediately. If
xmarkers are inside the circle drawn at radius 1, the filter is stable. - freqz: Evaluates along the unit circle () to show how the system amplifies or attenuates specific frequencies.
- lfilter: Implements the difference equation numerically to simulate time-domain behavior.