Fiveable

📡Advanced Signal Processing Unit 1 Review

QR code for Advanced Signal Processing practice questions

1.7 Z-transform

1.7 Z-transform

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
📡Advanced Signal Processing
Unit & Topic Study Guides

Definition of Z-transform

The Z-transform converts a discrete-time signal x[n]x[n] into a function of the complex variable zz, defined as:

X(z)=n=x[n]znX(z) = \sum_{n=-\infty}^{\infty} x[n] z^{-n}

This is the discrete-time counterpart to the Laplace transform. Where the Laplace transform handles continuous-time signals, the Z-transform handles sequences. It gives you a way to analyze stability, causality, and frequency response of discrete-time systems entirely through algebraic manipulation rather than working directly with sequences and convolution sums.

Region of convergence

The region of convergence (ROC) is the set of values of zz in the complex plane for which the Z-transform summation actually converges to a finite value. The ROC matters because:

  • Two different signals can produce the same algebraic expression for X(z)X(z) but differ in their ROC. The ROC is what makes the transform unique.
  • The ROC takes the form of a ring (or annular region) in the z-plane: r1<z<r2r_1 < |z| < r_2, where the boundaries are set by the poles of X(z)X(z).
  • Knowing the ROC tells you directly whether the system is stable and/or causal.

Relationship to Laplace transform

The Z-transform can be derived from the Laplace transform through the substitution:

z=esTz = e^{sT}

where TT is the sampling period and ss is the Laplace variable. This mapping wraps the imaginary axis of the s-plane onto the unit circle in the z-plane. Because of this relationship, many Laplace-domain techniques (partial fractions, pole-zero analysis) carry over directly to the Z-domain, just with different convergence geometry.

Unilateral vs bilateral Z-transform

  • The bilateral Z-transform sums over all time indices (<n<-\infty < n < \infty) and can represent both causal and non-causal signals. It requires careful specification of the ROC to ensure uniqueness.
  • The unilateral Z-transform sums only for n0n \geq 0:

X(z)=n=0x[n]znX(z) = \sum_{n=0}^{\infty} x[n] z^{-n}

The unilateral form is far more common in practice because most systems of interest are causal, and it naturally incorporates initial conditions when solving difference equations.

Properties of Z-transform

These properties let you manipulate signals in the Z-domain without transforming back to the time domain. They're essential for simplifying system analysis and designing digital filters.

Linearity

The Z-transform is linear, satisfying both additivity and homogeneity:

  • Z{x1[n]+x2[n]}=X1(z)+X2(z)\mathcal{Z}\{x_1[n] + x_2[n]\} = X_1(z) + X_2(z)
  • Z{ax[n]}=aX(z)\mathcal{Z}\{a \cdot x[n]\} = a \cdot X(z), where aa is a constant

The ROC of the sum is at least the intersection of the individual ROCs.

Time shifting

A delay or advance in the time domain corresponds to multiplication by a power of zz:

  • Right shift (delay): Z{x[nk]}=zkX(z)\mathcal{Z}\{x[n-k]\} = z^{-k}X(z) for the bilateral case
  • Left shift (advance), unilateral: Z{x[n+k]}=zkX(z)i=0k1x[i]zki\mathcal{Z}\{x[n+k]\} = z^{k}X(z) - \sum_{i=0}^{k-1} x[i]z^{k-i}

This property is why the Z-transform is so useful for difference equations: each unit delay simply becomes a factor of z1z^{-1}.

Scaling in Z-domain

Multiplying a signal by an exponential ana^n scales the z-variable:

Z{anx[n]}=X(z/a)\mathcal{Z}\{a^n x[n]\} = X(z/a)

The ROC scales accordingly: if the original ROC is z>R|z| > R, the new ROC is z>aR|z| > |a|R.

Time reversal

Reversing a signal in time inverts zz:

Z{x[n]}=X(1/z)\mathcal{Z}\{x[-n]\} = X(1/z)

The ROC inverts as well. If the original ROC was z>R|z| > R, the reversed signal's ROC is z<1/R|z| < 1/R.

Differentiation in Z-domain

Multiplying by nn in the time domain corresponds to differentiation with respect to zz:

Z{nx[n]}=zdX(z)dz\mathcal{Z}\{n \cdot x[n]\} = -z \frac{dX(z)}{dz}

Note: the original guide listed the first-difference property here. The first difference x[n]x[n1]x[n] - x[n-1] transforms as (1z1)X(z)(1 - z^{-1})X(z), which is really just an application of linearity and time shifting. The differentiation-in-z property above is the more fundamental result that carries the name "differentiation in the Z-domain."

Convolution in Z-domain

Convolution in time becomes multiplication in the Z-domain:

Z{x[n]h[n]}=X(z)H(z)\mathcal{Z}\{x[n] * h[n]\} = X(z) \cdot H(z)

This is arguably the most powerful property for system analysis. Instead of computing a convolution sum directly, you multiply two Z-transforms and invert the result.

Correlation in Z-domain

The cross-correlation of two signals transforms as:

Z{rxy[l]}=X(z)Y(z1)\mathcal{Z}\{r_{xy}[l]\} = X(z) \cdot Y(z^{-1})

where rxy[l]=nx[n]y[nl]r_{xy}[l] = \sum_n x[n] \cdot y[n-l]. For autocorrelation, this becomes X(z)X(z1)X(z) \cdot X(z^{-1}).

Parseval's relation

Parseval's relation equates total signal energy in the time domain to a contour integral in the Z-domain:

n=x[n]2=12πjCX(z)X(1/z)dzz\sum_{n=-\infty}^{\infty} |x[n]|^2 = \frac{1}{2\pi j} \oint_C X(z) X^*(1/z^*) \frac{dz}{z}

where CC is a closed contour within the ROC encircling the origin. For real-valued signals, X(1/z)=X(1/z)X^*(1/z^*) = X(1/z), simplifying the expression.

Region of convergence, Región de convergencia (ROC)

Initial and final value theorems

These let you extract time-domain boundary values directly from X(z)X(z) without performing a full inverse transform.

  • Initial value theorem: x[0]=limzX(z)x[0] = \lim_{z \to \infty} X(z), valid when x[n]x[n] is causal (x[n]=0x[n] = 0 for n<0n < 0).
  • Final value theorem: limnx[n]=limz1(z1)X(z)\lim_{n \to \infty} x[n] = \lim_{z \to 1} (z-1)X(z), valid only if the limit exists and all poles of (z1)X(z)(z-1)X(z) are strictly inside the unit circle.

A common mistake: the initial value theorem does not require limnx[n]=0\lim_{n \to \infty} x[n] = 0. It requires causality. The final value theorem is the one with the strict convergence condition.

Z-transform of common signals

These transform pairs are the building blocks you'll use repeatedly. Memorizing them (or at least knowing where to find them quickly) saves significant time.

Unit impulse

δ[n]={1,n=00,n0\delta[n] = \begin{cases} 1, & n = 0 \\ 0, & n \neq 0 \end{cases}

Z{δ[n]}=1\mathcal{Z}\{\delta[n]\} = 1, with ROC: all zz (the entire z-plane).

Unit step

u[n]={1,n00,n<0u[n] = \begin{cases} 1, & n \geq 0 \\ 0, & n < 0 \end{cases}

Z{u[n]}=11z1=zz1\mathcal{Z}\{u[n]\} = \frac{1}{1 - z^{-1}} = \frac{z}{z - 1}, with ROC: z>1|z| > 1

Exponential

x[n]=anu[n]x[n] = a^n u[n]

Z{anu[n]}=11az1=zza\mathcal{Z}\{a^n u[n]\} = \frac{1}{1 - az^{-1}} = \frac{z}{z - a}, with ROC: z>a|z| > |a|

This is the most frequently used pair. The unit step is just the special case where a=1a = 1.

Sinusoidal

For causal sinusoids (multiplied by u[n]u[n]):

Z{cos(ω0n)u[n]}=1cos(ω0)z112cos(ω0)z1+z2\mathcal{Z}\{\cos(\omega_0 n) u[n]\} = \frac{1 - \cos(\omega_0)z^{-1}}{1 - 2\cos(\omega_0)z^{-1} + z^{-2}}, with ROC: z>1|z| > 1

Z{sin(ω0n)u[n]}=sin(ω0)z112cos(ω0)z1+z2\mathcal{Z}\{\sin(\omega_0 n) u[n]\} = \frac{\sin(\omega_0)z^{-1}}{1 - 2\cos(\omega_0)z^{-1} + z^{-2}}, with ROC: z>1|z| > 1

Both have a pair of complex conjugate poles on the unit circle at z=e±jω0z = e^{\pm j\omega_0}.

Damped sinusoidal

x[n]=ancos(ω0n)u[n]x[n] = a^n \cos(\omega_0 n) u[n] or x[n]=ansin(ω0n)u[n]x[n] = a^n \sin(\omega_0 n) u[n], where a<1|a| < 1 for a decaying signal.

Z{ancos(ω0n)u[n]}=1acos(ω0)z112acos(ω0)z1+a2z2\mathcal{Z}\{a^n \cos(\omega_0 n) u[n]\} = \frac{1 - a\cos(\omega_0)z^{-1}}{1 - 2a\cos(\omega_0)z^{-1} + a^2 z^{-2}}, with ROC: z>a|z| > |a|

Z{ansin(ω0n)u[n]}=asin(ω0)z112acos(ω0)z1+a2z2\mathcal{Z}\{a^n \sin(\omega_0 n) u[n]\} = \frac{a\sin(\omega_0)z^{-1}}{1 - 2a\cos(\omega_0)z^{-1} + a^2 z^{-2}}, with ROC: z>a|z| > |a|

These generalize the sinusoidal pairs. The poles move inside the unit circle (at radius a|a|), which is why the signal decays.

System analysis using Z-transform

Representing a discrete-time LTI system in the Z-domain turns convolution into multiplication and difference equations into algebraic equations. This section covers how to extract system properties from the Z-domain representation.

Transfer function

The transfer function is defined as:

H(z)=Y(z)X(z)H(z) = \frac{Y(z)}{X(z)}

assuming zero initial conditions. For an LTI system described by the difference equation:

k=0Naky[nk]=k=0Mbkx[nk]\sum_{k=0}^{N} a_k y[n-k] = \sum_{k=0}^{M} b_k x[n-k]

the transfer function becomes:

H(z)=k=0Mbkzkk=0NakzkH(z) = \frac{\sum_{k=0}^{M} b_k z^{-k}}{\sum_{k=0}^{N} a_k z^{-k}}

H(z)H(z) completely characterizes the system's input-output behavior. It's also the Z-transform of the impulse response h[n]h[n].

Poles and zeros

  • Zeros are values of zz where H(z)=0H(z) = 0 (numerator roots).
  • Poles are values of zz where H(z)H(z) \to \infty (denominator roots).

Plotting poles (marked with ×\times) and zeros (marked with \circ) on the z-plane gives you a quick visual summary of system behavior. Poles near the unit circle produce strong resonances at the corresponding frequency. Zeros near the unit circle suppress those frequencies.

Stability

A discrete-time LTI system is BIBO stable (bounded input produces bounded output) if and only if:

  • All poles of H(z)H(z) lie strictly inside the unit circle (pi<1|p_i| < 1 for every pole pip_i).
  • Equivalently, the ROC of H(z)H(z) includes the unit circle.

A pole exactly on the unit circle means the system is marginally stable. A pole outside the unit circle means the impulse response grows without bound.

Causality

A system is causal if h[n]=0h[n] = 0 for n<0n < 0, meaning the output depends only on current and past inputs. In terms of the Z-transform:

  • The ROC of a causal system is the exterior of a circle: z>pmax|z| > |p_{\max}|, where pmaxp_{\max} is the outermost pole.
  • For a system to be both causal and stable, all poles must be inside the unit circle (so the ROC z>pmax|z| > |p_{\max}| automatically includes z=1|z| = 1).
Region of convergence, ROC-Kurve – Wikipedia

Linear phase

A system has linear phase if its frequency response satisfies:

H(ejω)=αω+β\angle H(e^{j\omega}) = -\alpha \omega + \beta

where α\alpha is a constant delay and β\beta is a constant offset. This means all frequency components experience the same delay (constant group delay), so the signal shape is preserved.

Linear phase requires the impulse response to have either symmetry (h[n]=h[Nn]h[n] = h[N-n]) or antisymmetry (h[n]=h[Nn]h[n] = -h[N-n]). FIR filters can achieve exact linear phase; IIR filters generally cannot.

Inverse Z-transform

The inverse Z-transform recovers x[n]x[n] from X(z)X(z). In practice, you'll almost always use one of the first three methods below rather than the general contour integral.

Partial fraction expansion

This is the most common method for rational X(z)X(z). The steps:

  1. Express X(z)/zX(z)/z (or X(z)X(z)) as a ratio of polynomials in zz.
  2. Factor the denominator to find the poles.
  3. Decompose into partial fractions, one term per pole.
  4. Identify each term with a known Z-transform pair (typically the exponential pair anu[n]z/(za)a^n u[n] \leftrightarrow z/(z-a)).
  5. Use the ROC to determine whether each term corresponds to a causal (right-sided) or anti-causal (left-sided) sequence.

This method works cleanly for distinct poles. For repeated poles, the algebra gets more involved but follows the same principle.

Residue method

Based on the Cauchy residue theorem, this computes x[n]x[n] as:

x[n]=kRes[X(z)zn1,z=pk]x[n] = \sum_k \text{Res}\left[X(z) z^{n-1}, z = p_k\right]

where the sum is over all poles pkp_k inside the chosen contour. For a simple pole at z=pkz = p_k:

Res=limzpk(zpk)X(z)zn1\text{Res} = \lim_{z \to p_k} (z - p_k) X(z) z^{n-1}

For a pole of order mm:

Res=1(m1)!limzpkdm1dzm1[(zpk)mX(z)zn1]\text{Res} = \frac{1}{(m-1)!} \lim_{z \to p_k} \frac{d^{m-1}}{dz^{m-1}} \left[(z - p_k)^m X(z) z^{n-1}\right]

This handles both distinct and repeated poles systematically.

Power series expansion

Also called long division. You expand X(z)X(z) as a power series in z1z^{-1}:

X(z)=nx[n]znX(z) = \sum_{n} x[n] z^{-n}

The coefficient of znz^{-n} directly gives you x[n]x[n]. To find the coefficients:

  1. Arrange the numerator and denominator as polynomials in z1z^{-1}.
  2. Perform polynomial long division.
  3. Read off the coefficients.

This is especially useful for finding the first several samples of x[n]x[n] without needing a closed-form expression, or for non-rational transforms.

Inversion integral

The formal definition of the inverse Z-transform:

x[n]=12πjCX(z)zn1dzx[n] = \frac{1}{2\pi j} \oint_C X(z) z^{n-1} dz

where CC is any closed contour within the ROC that encircles the origin counterclockwise. This is the most general method and works for any X(z)X(z), but it requires contour integration from complex analysis. In practice, the residue method is the computational realization of this integral.

Applications of Z-transform

Discrete-time system analysis

The Z-transform provides a complete framework for characterizing LTI systems. Given a transfer function H(z)H(z), you can determine stability (pole locations), frequency response (evaluate H(z)H(z) on the unit circle, z=ejωz = e^{j\omega}), and transient behavior (inverse transform of the output). This is the standard approach for analyzing any discrete-time system.

Digital filter design

FIR and IIR filters are designed by specifying a desired frequency response and then determining the filter coefficients, which correspond to the numerator and denominator polynomial coefficients of H(z)H(z). The Z-transform connects the time-domain difference equation to the frequency-domain specification, making it possible to go back and forth between filter coefficients and frequency response.

Difference equations

The Z-transform converts a linear constant-coefficient difference equation into an algebraic equation in zz. The procedure:

  1. Take the Z-transform of both sides of the difference equation.
  2. Use the time-shifting property to express delayed terms as powers of z1z^{-1}.
  3. Solve for Y(z)Y(z) algebraically.
  4. Apply the inverse Z-transform to get y[n]y[n].

For the unilateral transform, initial conditions appear naturally in step 2, which is why it's preferred for initial-value problems.

Discrete Fourier transform

The DFT is obtained by evaluating the Z-transform at NN equally spaced points on the unit circle:

X[k]=X(z)z=ej2πk/N,k=0,1,,N1X[k] = X(z)\big|_{z = e^{j2\pi k/N}}, \quad k = 0, 1, \ldots, N-1

This connection means that properties of the Z-transform (convolution, linearity, etc.) carry over to the DFT. The FFT is an efficient O(NlogN)O(N \log N) algorithm for computing the DFT, compared to the direct O(N2)O(N^2) computation.

Sampling and reconstruction

When a continuous-time signal xc(t)x_c(t) is sampled at period TT, the Z-transform of the resulting sequence x[n]=xc(nT)x[n] = x_c(nT) relates to the Laplace transform of xc(t)x_c(t) through z=esTz = e^{sT}. The Z-transform framework helps you analyze:

  • Aliasing: frequency components above the Nyquist rate (fs/2f_s/2) fold back into the baseband.
  • Reconstruction: the conditions under which xc(t)x_c(t) can be perfectly recovered from x[n]x[n] (Shannon-Nyquist theorem).
  • Anti-aliasing filter design: specifying the cutoff to prevent aliasing before sampling occurs.