Part 7 · Chapter 25

Analysis of Discrete-Time Systems

A difference equation, a set of initial conditions and a demand for stability are three separate pieces of information that the z-transform gathers into a single object — the system function together with its region of convergence — from which the impulse response, the causality, the stability and the frequency response can all simply be read off.

Signals and Systems Prof. Mithun Mondal Reading time ≈ 60 min
i What you'll learn
  • How a constant-coefficient difference equation becomes a rational system function \(H(z)\) in three lines, and why the equation alone never specifies the system completely.
  • How to read the impulse response off a pole–zero plot: each pole is one mode, its radius sets the decay and its angle sets the oscillation.
  • The two ROC tests that settle everything: causal means the ROC is the outermost exterior, stable means the ROC contains the unit circle — and both together mean every pole is inside it.
  • The unilateral transform, and how initial conditions split the response into a zero-input and a zero-state part.
  • How to obtain the frequency response by geometry — vectors from the poles and zeros to a point on the unit circle — and why a pole near the circle makes a resonant peak.
  • Interconnections: cascade, parallel and feedback, with the closed-loop poles as the roots of \(1+G(z)F(z)=0\).
  • Realisation structures — Direct Form I and II — and why inverse systems can be stable, causal, both or neither, which is where minimum phase comes from.
Section 25-1

From Difference Equation to System Function

Chapter 9 argued that physical discrete-time systems arrive as difference equations. A digital filter is specified by a recursion, a control loop by an update rule, an economic model by a relation between this quarter's output and the last two — always the same shape, a linear constant-coefficient difference equation relating the output to its own past values and to the input:

The general LCCDE of Chapter 9
\[ \sum_{k=0}^{N} a_k\,y[n-k] \;=\; \sum_{m=0}^{M} b_m\,x[n-m] \]

Chapter 9 solved such equations by finding characteristic roots and matching a particular solution, which works but is laborious and keeps the natural and forced parts of the answer in separate compartments. The z-transform does the whole job at once, and it does it with two properties from Chapter 24 and nothing else: linearity, and the fact that a delay of \(k\) samples multiplies the transform by \(z^{-k}\).

Transform both sides. Every term on the left is a delayed copy of \(y\), so it contributes \(a_k z^{-k}Y(z)\); every term on the right contributes \(b_m z^{-m}X(z)\). Assume for the moment that the system starts from rest, so that the bilateral transform applies with no boundary terms — Section 25-4 removes that assumption.

Transforming the difference equation
\[ Y(z)\sum_{k=0}^{N}a_k z^{-k} \;=\; X(z)\sum_{m=0}^{M}b_m z^{-m} \qquad\Longrightarrow\qquad H(z) \;\equiv\; \frac{Y(z)}{X(z)} \;=\; \frac{\displaystyle\sum_{m=0}^{M}b_m z^{-m}}{\displaystyle\sum_{k=0}^{N}a_k z^{-k}} \]

An equation involving \(N+M+2\) delayed sequences has become a ratio of two polynomials whose coefficients are read straight off the recursion. This ratio is the system function, and it is the discrete-time counterpart of the transfer function of Chapter 19.

It is also, and this is the point that ties the chapter together, the z-transform of the impulse response. Setting \(x[n]=\delta[n]\) makes \(X(z)=1\), so \(Y(z)=H(z)\) and \(y[n]=h[n]\). The convolution property of Chapter 24 says the same thing from the other direction: \(y[n]=x[n]*h[n]\) transforms to \(Y(z)=X(z)H(z)\), so the ratio \(Y/X\) is \(H(z)\) whatever the input. The difference-equation description and the impulse-response description of Chapter 7 are two views of one object.

🔑
The system function
\[ H(z) = \frac{Y(z)}{X(z)} = \mathcal{Z}\{h[n]\} = \frac{b_0 + b_1z^{-1}+\cdots+b_Mz^{-M}}{a_0 + a_1z^{-1}+\cdots+a_Nz^{-N}} \]

For an LCCDE the system function is always rational. Its numerator carries the input side of the recursion, its denominator the feedback side, and the denominator alone determines the system's natural behaviour.

What the equation does not tell you. The algebra above produced \(H(z)\) but said nothing about the region of convergence, and a difference equation genuinely does not determine one. The recursion \(y[n] = 2y[n-1] + x[n]\) can be run forwards, giving a causal but unstable system, or rearranged as \(y[n-1] = \tfrac12(y[n]-x[n])\) and run backwards, giving an anticausal but stable one. Both satisfy the same equation. The extra information — causality, or stability, or an initial condition — is what picks the ROC, and only then is the system determined.
Section 25-2

Poles, Zeros and the Shape of the Impulse Response

Factor the two polynomials. Writing the roots of the numerator as \(c_1,\dots,c_M\) and those of the denominator as \(d_1,\dots,d_N\),

Factored form
\[ H(z) = \frac{b_0}{a_0}\,\frac{\prod_{m=1}^{M}\big(1-c_m z^{-1}\big)}{\prod_{k=1}^{N}\big(1-d_k z^{-1}\big)} \]

The \(c_m\) are the zeros and the \(d_k\) are the poles. Suppose for now that the poles are distinct and that \(M \lt N\), so the ratio is strictly proper. A partial-fraction expansion in the variable \(z^{-1}\) then splits \(H\) into a sum of first-order terms, and each of those is a standard pair from Chapter 24.

Partial fractions and the causal inverse
\[ H(z) = \sum_{k=1}^{N}\frac{A_k}{1-d_k z^{-1}} \qquad\Longrightarrow\qquad h[n] = \left(\sum_{k=1}^{N}A_k\,d_k^{\,n}\right)u[n] \quad \text{(causal choice of ROC)} \]

Every pole contributes one term \(d_k^{\,n}\), which Chapter 9 called a natural mode. Nothing in the impulse response comes from anywhere else: the zeros do not create modes, they only fix the coefficients \(A_k\) with which the modes are mixed, and it is entirely possible for a zero to set some \(A_k\) to zero and silence a mode altogether.

Because the pole \(d_k\) is in general complex, write it as \(d_k = r_k e^{j\theta_k}\) and the behaviour of its mode becomes transparent: \(d_k^{\,n} = r_k^{\,n}e^{j\theta_k n}\). The magnitude of the pole controls growth or decay, and the angle of the pole controls oscillation. That single sentence is what a pole–zero plot is for.

|p| < 1 decays stable mode |p| = 1 sustains marginal — not BIBO stable |p| > 1 grows unstable mode p < 0 alternates angle π — fastest variation
One pole, one mode — the radius sets decay, the angle sets oscillation

Two refinements complete the picture. First, if the coefficients \(a_k, b_m\) are real — and for any physically realisable system they are — then Chapter 24's conjugation property forces complex poles to occur in conjugate pairs. Combining a pair \(re^{\pm j\theta}\) with conjugate coefficients gives a single real term of the form \(2|A|r^{n}\cos(\theta n + \angle A)\): a decaying oscillation whose frequency is the pole angle. A resonance therefore always costs two poles, never one.

Second, a pole repeated \(q\) times contributes not \(d^n\) alone but the family \(d^n, nd^n, \dots, n^{q-1}d^n\), by the z-differentiation property. The polynomial factor grows, but as long as \(|d| \lt 1\) the exponential wins and the mode still decays — slowly, and after an initial rise.

Finally, notice the extreme case \(N=0\), where the denominator is the constant \(a_0\) and there is no feedback at all. Then \(H(z)\) is a polynomial in \(z^{-1}\), all its poles sit at the origin, and \(h[n] = b_n/a_0\) for \(0\le n\le M\) and zero otherwise. The impulse response has finite length: this is an FIR system. As soon as any \(a_k\) with \(k\ge1\) is non-zero the recursion feeds output back into itself, the impulse response never terminates, and the system is IIR — the distinction Chapter 9 drew from the recursion, now visible as the presence or absence of poles away from the origin.

Section 25-3

Causality and Stability from the ROC

Chapter 8 defined the two properties an engineer cares about most in terms of the impulse response: a system is causal if \(h[n]=0\) for \(n \lt 0\), and BIBO stable if \(\sum_n|h[n]| \lt \infty\). Both translate into statements about the region of convergence, and once translated they become questions about where points lie in a picture.

Take causality first. A sequence that vanishes for negative \(n\) has a transform containing only non-positive powers of \(z\), so nothing blows up as \(|z|\to\infty\); conversely, Chapter 23 showed that a right-sided sequence always has an ROC that is the exterior of a circle. For a rational \(H(z)\), the boundary of that exterior is the largest pole magnitude.

🔑
Causality
\[ h[n]=0 \ \text{for}\ n\lt 0 \iff \text{ROC is}\ |z| \gt \max_k |d_k|,\ \text{including}\ z=\infty \]

Including the point at infinity requires \(\lim_{z\to\infty}H(z)\) to be finite, which for a rational function means the numerator degree must not exceed the denominator degree, \(M \le N\). A "system function" with more zeros than poles describes a system that needs future inputs.

Stability is even more direct. Evaluate the defining sum on the unit circle, where \(|z|=1\) and therefore \(|z^{-n}|=1\) for every \(n\):

Why stability is a statement about the unit circle
\[ \sum_{n=-\infty}^{\infty}\big|h[n]z^{-n}\big|_{|z|=1} \;=\; \sum_{n=-\infty}^{\infty}|h[n]| \]

The left side converges exactly when the right side does. So the transform converges on \(|z|=1\) if and only if \(h[n]\) is absolutely summable — the ROC contains the unit circle if and only if the system is stable. This is also the statement that the DTFT of Chapter 16 exists, which is why a stable system has a frequency response and an unstable one does not.

🔑
Stability, and the two together
\[ \text{stable} \iff \text{ROC contains } |z|=1 \qquad\qquad \text{causal and stable} \iff \text{all poles satisfy } |d_k| \lt 1 \]

The combination follows at once: causality forces the ROC to be the exterior of the outermost pole, and stability forces that exterior to contain \(|z|=1\), which happens precisely when every pole lies strictly inside the unit circle.

Re z 0.5 2 excluded ROC |z| > 2 — causal, NOT stable
Choose causality — the unit circle is left outside the ROC
Re z 0.5 2 |z| = 1 lies inside ROC 0.5 < |z| < 2 — stable, NOT causal
Choose stability — the impulse response now extends into negative time

The two pictures show the same algebraic \(H(z)\) with the same two poles, and they are different systems. With a pole outside the unit circle you may have causality or stability but not both, and no amount of algebra will change that — the choice is forced by the geometry. This is the discrete-time echo of Chapter 19's result for the Laplace transform, where the left half-plane played the role that the interior of the unit circle plays here. The mapping \(s \to z\) implicit in sampling, which Part 6 developed, carries \(\operatorname{Re}s \lt 0\) onto \(|z| \lt 1\).

For a system given as a difference equation there is no need to compute the roots at all if you only want a yes-or-no answer. For the common second-order denominator \(D(z)=z^2 + a_1 z + a_2\) with real coefficients, a short argument gives a test. Write \(D(z)=(z-p_1)(z-p_2)\). The product of the roots is \(a_2\), so \(|a_2| = |p_1||p_2| \lt 1\) is necessary. And if both roots lie inside the unit circle then \(D(1)\) and \(D(-1)\) are both positive: for real roots each factor \((1-p_i)\) and \((1+p_i)\) is positive, and for a complex pair \(D(1)=|1-p_1|^2\) and \(D(-1)=|1+p_1|^2\) are squared magnitudes. Those two conditions read \(1+a_1+a_2 \gt 0\) and \(1-a_1+a_2 \gt 0\), which combine into a single inequality.

🔑
Second-order stability test
\[ z^2+a_1z+a_2 \ \text{has both roots inside}\ |z|=1 \iff |a_2| \lt 1 \ \ \text{and}\ \ |a_1| \lt 1+a_2 \]

These conditions are necessary and sufficient. They are the second-order case of the Jury criterion, the discrete-time analogue of the Routh test, and they let you certify stability from the coefficients without ever solving the quadratic.

Section 25-4

Difference Equations with Initial Conditions

Everything so far assumed initial rest. A real system, however, is often switched on with energy already stored — a filter with non-zero contents in its delay registers, an accumulator with a running total. Chapter 9 handled this by solving the homogeneous equation separately and fixing the constants from the initial conditions. The unilateral z-transform does it in one pass, because the initial conditions enter the algebra automatically.

Recall from Section 24-3 that with \(X_u(z)=\sum_{n\ge0}x[n]z^{-n}\), a delay carries boundary terms:

Unilateral shifts
\[ y[n-1] \;\longleftrightarrow\; y[-1] + z^{-1}Y(z), \qquad y[n-2] \;\longleftrightarrow\; y[-2] + y[-1]z^{-1} + z^{-2}Y(z) \]

Substituting these into the difference equation and solving for \(Y(z)\) always produces a sum of two rational functions. One carries the factor \(X(z)\) and vanishes if the input is zero; the other is built entirely from the stored values \(y[-1], y[-2],\dots\) and vanishes if the system starts at rest.

🔑
Zero-state and zero-input decomposition
\[ Y(z) \;=\; \underbrace{H(z)X(z)}_{\text{zero-state}} \;+\; \underbrace{\frac{\mathcal{I}(z)}{A(z)}}_{\text{zero-input}} \]

Here \(A(z)=\sum_k a_kz^{-k}\) is the denominator of \(H\), and \(\mathcal{I}(z)\) collects the initial-condition terms. Both parts share the same poles — the system's own modes — so the natural behaviour is identical in shape whichever part it comes from.

That last observation is worth pausing on, because it explains why Chapter 9's "natural plus forced" split and this "zero-input plus zero-state" split are not the same decomposition. The zero-state response contains natural modes too — they arrive through the partial-fraction expansion of \(H(z)X(z)\), whose poles include those of \(H\). The natural/forced split sorts terms by which pole they came from; the zero-input/zero-state split sorts them by which cause they came from. Both add up to the same \(y[n]\), and Worked Example 3 computes both.

One further point connects to Chapter 9's insistence on the initial-rest condition. A system with non-zero initial conditions is not LTI: doubling the input does not double the output, because the stored energy is unaffected. The zero-state part alone is LTI, and it is the part that \(H(z)\) describes. That is why the system function is a property of the system while the total response is not.

Section 25-5

The Frequency Response from the Pole–Zero Plot

Chapter 16 defined the discrete-time Fourier transform and Chapter 15 used it to describe filtering. The link to the present chapter is a single substitution: when the ROC contains the unit circle, evaluating \(H(z)\) at \(z=e^{j\Omega}\) gives the frequency response.

The frequency response lives on the unit circle
\[ H\!\left(e^{j\Omega}\right) = H(z)\Big|_{z=e^{j\Omega}} = \frac{b_0}{a_0}\,\frac{\prod_m \big(1-c_m e^{-j\Omega}\big)}{\prod_k \big(1-d_k e^{-j\Omega}\big)} \]

As \(\Omega\) runs from \(0\) to \(2\pi\), the point \(e^{j\Omega}\) travels once anticlockwise round the unit circle, starting at \(z=1\) (which is DC), passing through \(z=j\) at \(\Omega=\pi/2\), reaching \(z=-1\) at \(\Omega=\pi\) — the highest discrete-time frequency, as Chapter 3 explained — and returning. The \(2\pi\)-periodicity of every discrete-time frequency response is now geometrically obvious: going round again visits the same points.

Multiply numerator and denominator by \(z^{N}\) to put the factored form in terms of \((z-c_m)\) and \((z-d_k)\). Taking magnitudes turns the product of complex numbers into a product of distances in the plane, and taking arguments turns it into a sum of angles.

🔑
Geometric evaluation
\[ \big|H(e^{j\Omega})\big| = \left|\frac{b_0}{a_0}\right| \frac{\prod_m \big|e^{j\Omega}-c_m\big|}{\prod_k \big|e^{j\Omega}-d_k\big|} \qquad \angle H(e^{j\Omega}) = \sum_m \angle\big(e^{j\Omega}-c_m\big) - \sum_k \angle\big(e^{j\Omega}-d_k\big) \]

Draw a vector from each zero and each pole to the point \(e^{j\Omega}\) on the circle. The gain is the product of the zero-vector lengths divided by the product of the pole-vector lengths; the phase is the sum of the zero-vector angles minus the sum of the pole-vector angles.

Re z Im z e^(jΩ) Ω pole d pole d* zero c |H| = (zero vector lengths) ÷ (pole vector lengths) pole close to the circle → short vector → large gain: a peak
Reading the gain off the plane — distances to \(e^{j\Omega}\) from every pole and zero

The design rules follow without any further algebra. A pole at radius \(r\) and angle \(\theta\) produces a short denominator vector when \(\Omega\) is near \(\theta\), and the shorter that vector the larger the gain — so the response has a peak near \(\Omega=\theta\), and the peak becomes taller and narrower as \(r\to 1\). A zero on the unit circle at angle \(\phi\) makes the numerator vector vanish when \(\Omega=\phi\), so the response has an exact null there. Poles shape passbands, zeros carve stopbands, and the whole craft of filter design is placing them.

Why a 50 Hz notch filter looks the way it does. To remove mains interference from a sampled biomedical signal you need a null at the corresponding \(\Omega_0\) and as little disturbance as possible elsewhere. Place a conjugate pair of zeros exactly on the unit circle at \(e^{\pm j\Omega_0}\) to create the null, then a conjugate pair of poles just inside them at \(re^{\pm j\Omega_0}\) with \(r\) around \(0.95\). Away from \(\Omega_0\) the pole and zero vectors are nearly equal in length and their ratio is close to 1, so the rest of the spectrum passes untouched; only in a narrow band around \(\Omega_0\) does the zero win. Two poles, two zeros, and a notch a few hertz wide.
Section 25-6

Interconnections and Feedback

Chapter 8 established the interconnection rules in the time domain: systems in cascade convolve their impulse responses, systems in parallel add them. Under the convolution property those become multiplication and addition, which is why block-diagram algebra is done in the transform domain and never in the time domain.

Cascade and parallel
\[ h_1[n]*h_2[n] \;\longleftrightarrow\; H_1(z)H_2(z), \qquad\qquad h_1[n]+h_2[n] \;\longleftrightarrow\; H_1(z)+H_2(z) \]

Because multiplication commutes, a cascade may be reordered freely — a fact with real engineering consequences, since the ordering of sections changes the internal signal levels and therefore the arithmetic overflow behaviour of a fixed-point implementation, without changing the transfer function at all.

Feedback needs one line of algebra. Let the forward path be \(G(z)\) and the feedback path \(F(z)\), with the fed-back signal subtracted from the input. Writing \(E(z)\) for the error signal that actually drives the forward path,

Deriving the closed-loop system function
\[ Y = G\,E, \quad E = X - F\,Y \;\Longrightarrow\; Y = G\big(X - FY\big) \;\Longrightarrow\; Y\big(1+GF\big) = GX \;\Longrightarrow\; H = \frac{G}{1+GF} \]
🔑
Closed-loop system function and characteristic equation
\[ H(z) = \frac{G(z)}{1+G(z)F(z)}, \qquad\qquad 1+G(z)F(z) = 0 \]

The closed-loop poles are the roots of the characteristic equation, not the poles of \(G\). Feedback moves the poles, which is both how an unstable plant is stabilised and how a stable one is destabilised by too much gain.

The consequence deserves emphasis because it is the entire reason feedback is used. The open-loop system \(G(z)\) has whatever poles it has; closing the loop replaces them with the roots of \(1+GF=0\), which depend on the loop gain. Raising the gain drags those roots along continuous paths in the z-plane, and stability is retained only while every path stays inside the unit circle. Worked Example 5 computes the exact range of gain for which a simple loop remains stable, and the answer is a bounded interval — more gain is not better.

Section 25-7

Realisation Structures

A system function is a specification; a structure is a way of computing it with adders, multipliers and delays. The same \(H(z)\) can be realised in many structures, all exact in infinite precision and all different once the arithmetic is finite.

The most literal realisation reads the difference equation aloud. Rearranging \(\sum_k a_k y[n-k] = \sum_m b_m x[n-m]\) with \(a_0=1\) gives the recursion \(y[n] = \sum_m b_m x[n-m] - \sum_{k\ge1}a_k y[n-k]\): compute a weighted sum of past inputs, subtract a weighted sum of past outputs. Drawn as a diagram this is Direct Form I, and it needs \(M\) delays for the input chain plus \(N\) for the output chain.

That is wasteful, and the convolution property says why. Direct Form I is the cascade of \(B(z)\) followed by \(1/A(z)\), and a cascade may be reordered. Put \(1/A(z)\) first, calling its output \(w[n]\), and both sections now delay the same signal — so one chain of delays can serve both.

Splitting the system function to share the delays
\[ H(z) = \underbrace{\frac{1}{A(z)}}_{\text{compute } w[n]} \cdot \underbrace{B(z)}_{\text{combine}} \qquad \begin{aligned} w[n] &= x[n] - \textstyle\sum_{k\ge1} a_k\,w[n-k]\\ y[n] &= \textstyle\sum_{m\ge0} b_m\,w[n-m] \end{aligned} \]

This is Direct Form II, and it uses \(\max(M,N)\) delays instead of \(M+N\) — the minimum possible, which is why it is called canonical. Every delay is a word of memory in a real implementation, so the saving is not cosmetic.

x[n] + w[n] + y[n] b₀ z⁻¹ w[n−1] z⁻¹ w[n−2] −a₁ −a₂ b₁ b₂ two delays serve both the feedback and the feedforward sections
Direct Form II — the canonical second-order section

Two further structures follow from the algebra of Section 25-2. Factoring \(H(z)\) into second-order sections and multiplying them gives the cascade realisation; expanding it in partial fractions and adding gives the parallel realisation. Both are preferred in practice over a single high-order direct form, because the sensitivity of a pole to a rounding error in a coefficient grows sharply with the order of the polynomial it belongs to. Splitting a tenth-order filter into five second-order sections keeps every coefficient error local.

StructureBuilt fromDelaysTypical use
Direct Form IThe recursion read literally\(M+N\)Teaching; simple FIR
Direct Form II\(1/A(z)\) then \(B(z)\)\(\max(M,N)\)Canonical single section
CascadeFactored \(H(z)\)\(\max(M,N)\)High-order IIR filters
ParallelPartial fractions of \(H(z)\)\(\max(M,N)\)Low coefficient sensitivity
Section 25-8

Inverse Systems and Minimum Phase

Suppose a signal has been distorted by a known channel \(H(z)\) and you want it back. The natural request is a system \(H_i(z)\) such that the cascade of the two is the identity, \(h[n]*h_i[n] = \delta[n]\). Transforming, the requirement is simply \(H(z)H_i(z)=1\).

🔑
The inverse system
\[ H_i(z) = \frac{1}{H(z)} \qquad\Longrightarrow\qquad \text{poles of } H_i = \text{zeros of } H, \quad \text{zeros of } H_i = \text{poles of } H \]

Inversion exchanges poles and zeros. Everything that made \(H\) well behaved now depends on its zeros, which were previously innocuous.

This exchange has a sharp consequence. For \(H_i\) to be causal and stable, all of its poles must lie inside the unit circle — that is, all the zeros of \(H\) must lie inside the unit circle. A system whose poles and zeros are all strictly inside the unit circle is called minimum phase, and it is exactly the class of systems that possess a causal, stable inverse.

If \(H\) has a zero outside the circle, you may still invert it, but you must give something up: a stable inverse exists but is not causal, and a causal inverse exists but is not stable. In practice one accepts a delay and approximates the non-causal inverse over a finite window, which is what an adaptive channel equaliser does.

The complementary object is the all-pass system, which has a pole at \(d\) and a zero at the reflected point \(1/d^*\). For any \(\Omega\) the two vectors from that pole and that zero to \(e^{j\Omega}\) have lengths in a constant ratio, so \(|H(e^{j\Omega})|\) is constant: the system changes phase alone. Any rational system can be written as a minimum-phase system in cascade with an all-pass one, which is how a troublesome zero outside the circle is quarantined — reflect it inside to get the minimum-phase part, and account for the difference with an all-pass factor that leaves the magnitude response untouched.

Where Part 7 has arrived. Chapter 23 built the transform, Chapter 24 gave it properties, and this chapter has turned those properties into a complete analysis method: a difference equation in, and out come the impulse response, the stability verdict, the frequency response and a realisable structure. Chapter 26 changes the question. Instead of asking what a system does to all frequencies, it asks how to compute a spectrum from a finite block of samples — the discrete Fourier transform, and the algorithm that made it practical.
Section 25-9

Worked Examples

1 Difference equation to impulse response

Problem. A causal system obeys \(y[n] - 0.75\,y[n-1] + 0.125\,y[n-2] = x[n]\). Find \(H(z)\), its poles, and \(h[n]\). Is the system stable?

Solution. Transform each term using the shift property, with zero initial conditions:

Working — the system function
\[ Y(z)\big[1-0.75z^{-1}+0.125z^{-2}\big] = X(z) \quad\Longrightarrow\quad H(z) = \frac{1}{1-0.75z^{-1}+0.125z^{-2}} \]

Factor the denominator. Multiplying above and below by \(z^2\) gives \(z^2-0.75z+0.125\), whose roots are \(\big(0.75\pm\sqrt{0.5625-0.5}\big)/2 = (0.75\pm0.25)/2\), that is \(z=0.5\) and \(z=0.25\). Equivalently \(1-0.75z^{-1}+0.125z^{-2} = (1-0.5z^{-1})(1-0.25z^{-1})\), which you can check by expanding: the \(z^{-1}\) coefficient is \(-(0.5+0.25)=-0.75\) and the \(z^{-2}\) coefficient is \(0.5\times0.25=0.125\).

Both poles lie inside the unit circle, and the system is causal, so the ROC is \(|z|\gt0.5\), which contains \(|z|=1\): the system is stable. Now expand in partial fractions, \(H = A/(1-0.5z^{-1}) + B/(1-0.25z^{-1})\). Setting \(z^{-1}=2\) removes the second term, giving \(A = 1/(1-0.25\times2) = 1/0.5 = 2\); setting \(z^{-1}=4\) gives \(B = 1/(1-0.5\times4) = 1/(-1) = -1\).

Working — the impulse response
\[ H(z) = \frac{2}{1-0.5z^{-1}} - \frac{1}{1-0.25z^{-1}} \quad\Longrightarrow\quad h[n] = \big[2(0.5)^{n} - (0.25)^{n}\big]u[n] \]

Check against the recursion, which for an impulse input gives \(h[0]=1\), \(h[1]=0.75h[0]=0.75\), \(h[2]=0.75(0.75)-0.125(1)=0.4375\). The closed form gives \(2-1=1\); \(1-0.25=0.75\); \(2(0.25)-0.0625=0.4375\). All three agree.

2 One algebra, three systems

Problem. For \(H(z) = \dfrac{1}{(1-0.5z^{-1})(1-2z^{-1})}\), list every possible ROC and give the corresponding \(h[n]\), stating in each case whether the system is causal and whether it is stable.

Solution. The poles are at \(z=0.5\) and \(z=2\), so the plane is divided into three annular regions: \(|z|\lt0.5\), \(0.5\lt|z|\lt2\), and \(|z|\gt2\). First expand once and for all: \(H = A/(1-0.5z^{-1}) + B/(1-2z^{-1})\) with \(A = 1/(1-2\times2) = -\tfrac13\) and \(B = 1/(1-0.5\times0.5) = 1/0.75 = \tfrac43\).

Working — the common expansion
\[ H(z) = \frac{-\tfrac13}{1-0.5z^{-1}} + \frac{\tfrac43}{1-2z^{-1}} \]

Now invert each term according to whether the ROC lies outside or inside that term's pole, using the two Chapter 24 pairs \(a^nu[n]\) (outside) and \(-a^nu[-n-1]\) (inside).

ROC\(h[n]\)Causal?Stable?
\(|z|\gt2\)\(\big[-\tfrac13(0.5)^n+\tfrac43 2^n\big]u[n]\)YesNo
\(0.5\lt|z|\lt2\)\(-\tfrac13(0.5)^nu[n]-\tfrac43 2^nu[-n-1]\)NoYes
\(|z|\lt0.5\)\(\big[\tfrac13(0.5)^n-\tfrac43 2^n\big]u[-n-1]\)NoNo

Check the middle row for stability directly: \(\sum_n|h[n]| = \tfrac13\sum_{n\ge0}(0.5)^n + \tfrac43\sum_{n\le-1}2^{n} = \tfrac13(2) + \tfrac43(1) = 2\), which is finite. And the unit circle does lie in \(0.5\lt|z|\lt2\), as the theory promised. Check the top row's first sample: \(-\tfrac13+\tfrac43 = 1\), which matches \(\lim_{z\to\infty}H(z)=1\).

The lesson is the one Chapter 23 insisted on and this chapter has now made physical. The same expression describes a causal amplifier that runs away, a stable filter that must see the future, and a system that is neither. Only the ROC distinguishes them.

3 A system that is not starting from rest

Problem. Solve \(y[n] - 0.5\,y[n-1] = x[n]\) for \(n\ge0\) with \(x[n]=u[n]\) and \(y[-1]=4\). Identify the zero-input and zero-state parts.

Solution. Use the unilateral transform, so that the delayed term carries its boundary value: \(y[n-1] \leftrightarrow y[-1] + z^{-1}Y(z) = 4 + z^{-1}Y(z)\). With \(X(z)=1/(1-z^{-1})\),

Working — transform and solve for Y
\[ Y(z) - 0.5\big[4+z^{-1}Y(z)\big] = \frac{1}{1-z^{-1}} \quad\Longrightarrow\quad Y(z)\big[1-0.5z^{-1}\big] = \frac{1}{1-z^{-1}} + 2 \]

The two terms on the right are already separated by cause: the first came from the input, the second from the stored value. Divide through and treat them one at a time.

Working — zero-state part
\[ Y_{zs}(z) = \frac{1}{\big(1-z^{-1}\big)\big(1-0.5z^{-1}\big)} = \frac{2}{1-z^{-1}} - \frac{1}{1-0.5z^{-1}} \quad\Longrightarrow\quad y_{zs}[n] = \big[2-(0.5)^n\big]u[n] \]

(The coefficients: setting \(z^{-1}=1\) gives \(1/(1-0.5)=2\); setting \(z^{-1}=2\) gives \(1/(1-2)=-1\).) The zero-input part needs no expansion at all:

Working — zero-input part and total
\[ Y_{zi}(z) = \frac{2}{1-0.5z^{-1}} \;\Longrightarrow\; y_{zi}[n]=2(0.5)^nu[n], \qquad y[n] = \big[2+(0.5)^{n}\big]u[n] \]

Verify against the recursion \(y[n]=0.5y[n-1]+1\): \(y[0]=0.5(4)+1=3\), \(y[1]=0.5(3)+1=2.5\), \(y[2]=0.5(2.5)+1=2.25\). The closed form gives \(2+1=3\), \(2+0.5=2.5\), \(2+0.25=2.25\). Correct.

Two readings of the answer. The steady value \(2\) is the DC gain \(H(1)=1/(1-0.5)=2\) applied to a unit step, exactly as Section 25-5 would predict. And notice that the mode \((0.5)^n\) appears in both parts with coefficients \(-1\) and \(+2\), summing to \(+1\) — a concrete illustration of why zero-input/zero-state is a different split from natural/forced.

4 The two-point averager as a filter

Problem. For \(y[n] = \tfrac12\big(x[n]+x[n-1]\big)\), find \(H(z)\), the pole–zero plot, and the magnitude and phase of the frequency response. Evaluate the gain at \(\Omega = 0\), \(\pi/2\) and \(\pi\).

Solution. Transforming gives \(H(z) = \tfrac12\big(1+z^{-1}\big) = \dfrac{z+1}{2z}\): a zero at \(z=-1\) and a pole at \(z=0\). There is no feedback, so the system is FIR with \(h[n]=\{\tfrac12,\tfrac12\}\) and it is stable for the trivial reason that a finite sum of finite numbers is finite.

Set \(z=e^{j\Omega}\) and extract the half-angle factor, which is the standard manoeuvre for symmetric FIR filters:

Working — frequency response
\[ H\!\left(e^{j\Omega}\right) = \frac{1+e^{-j\Omega}}{2} = e^{-j\Omega/2}\,\frac{e^{j\Omega/2}+e^{-j\Omega/2}}{2} = e^{-j\Omega/2}\cos\!\frac{\Omega}{2} \]

So \(\big|H(e^{j\Omega})\big| = \big|\cos(\Omega/2)\big|\) and, for \(0\le\Omega\le\pi\) where the cosine is non-negative, \(\angle H = -\Omega/2\). The phase is exactly linear, so every frequency is delayed by the same half sample — the constant group delay that makes symmetric FIR filters valuable in Chapter 15's terms.

The three gains: at \(\Omega=0\), \(\cos0 = 1\); at \(\Omega=\pi/2\), \(\cos(\pi/4) = 0.7071\), which is \(-3\) dB; at \(\Omega=\pi\), \(\cos(\pi/2)=0\), an exact null. It is a lowpass filter, and a poor one — the transition from passband to stopband occupies the entire frequency axis.

The geometric picture explains the null without any algebra. The zero sits at \(z=-1\), which is the point \(e^{j\pi}\) on the unit circle, so when \(\Omega\) reaches \(\pi\) the numerator vector has length zero and the gain must vanish. The pole at the origin is at distance 1 from every point of the unit circle, so it contributes a constant factor and shapes nothing at all — poles at the origin only ever add delay.

5 How much loop gain is too much

Problem. An accumulator with gain, \(G(z) = \dfrac{K}{z-1}\), is placed in a unity negative feedback loop. Find the closed-loop system function, the range of \(K\) for stability, and the response for \(K=1\).

Solution. With \(F(z)=1\), the formula of Section 25-6 gives

Working — close the loop
\[ H(z) = \frac{G}{1+G} = \frac{K/(z-1)}{1+K/(z-1)} = \frac{K}{z-1+K} = \frac{Kz^{-1}}{1-(1-K)z^{-1}} \]

The open-loop pole was at \(z=1\), on the unit circle: an accumulator, marginally stable, whose output drifts for ever after a step. Closing the loop moved that pole to \(z = 1-K\). For a causal closed-loop system, stability requires the new pole to lie strictly inside the unit circle:

Working — the stability range
\[ |1-K| \lt 1 \quad\Longleftrightarrow\quad -1 \lt 1-K \lt 1 \quad\Longleftrightarrow\quad 0 \lt K \lt 2 \]

Both ends of that interval are instructive. At \(K=0\) the loop is broken and the pole sits back at \(z=1\); at \(K=2\) the pole has been driven to \(z=-1\), and the closed-loop impulse response \(2(-1)^{n-1}\) oscillates for ever without decaying. Beyond \(K=2\) the pole leaves the circle on the negative real axis and the system oscillates with growing amplitude. More gain has made things worse, not better.

At \(K=1\) the pole lands exactly at the origin, \(H(z)=z^{-1}\), and \(h[n]=\delta[n-1]\). The closed-loop system is a pure one-sample delay: it reproduces any input perfectly after one step and settles in finite time. This is the discrete-time deadbeat response, and it has no continuous-time counterpart — a pole at the origin means a mode that is not merely fast but finished.

6 A resonant pair, measured

Problem. For \(H(z) = \dfrac{1}{1-0.9z^{-1}+0.81z^{-2}}\), causal: locate the poles in polar form, find \(h[n]\), test stability with the second-order criterion, and compute the gain at \(\Omega=0\), \(\pi/3\) and \(\pi\).

Solution. The denominator in \(z\) is \(z^2-0.9z+0.81\). The product of the roots is \(0.81\) and they are conjugates, so \(|p|^2 = 0.81\) and \(|p| = 0.9\) at once; the sum is \(0.9 = 2(0.9)\cos\theta\), giving \(\cos\theta = 0.5\) and \(\theta = \pi/3\). The poles are \(p, p^* = 0.9e^{\pm j\pi/3}\).

Stability by the criterion of Section 25-3, with \(a_1=-0.9\) and \(a_2=0.81\): \(|a_2| = 0.81 \lt 1\) and \(|a_1| = 0.9 \lt 1+0.81 = 1.81\). Both hold, so the system is stable — confirmed by \(|p|=0.9\lt1\).

For \(h[n]\), expand \(H(z)/z = z/\big[(z-p)(z-p^*)\big]\), whose residue at \(p\) is \(A = p/(p-p^*) = p/(2j\operatorname{Im}p)\). With \(\operatorname{Im}p = 0.9\sin60^\circ = 0.7794\), the denominator is \(1.5588j = 1.5588e^{j\pi/2}\), so \(A = \big(0.9e^{j\pi/3}\big)/\big(1.5588e^{j\pi/2}\big) = 0.5774e^{-j\pi/6}\). Adding the conjugate term gives a real sequence:

Working — the impulse response
\[ h[n] = 2|A|\,(0.9)^{n}\cos\!\left(\frac{\pi n}{3} - \frac{\pi}{6}\right)u[n] = \frac{2}{\sqrt3}(0.9)^{n}\cos\!\left(\frac{\pi n}{3}-\frac{\pi}{6}\right)u[n] \]

Check the first three samples against the recursion \(h[n]=0.9h[n-1]-0.81h[n-2]+\delta[n]\), which gives \(h[0]=1\), \(h[1]=0.9\), \(h[2]=0.9(0.9)-0.81=0\). The formula gives \(1.1547\cos(-30^\circ)=1.1547(0.8660)=1.000\); \(1.1547(0.9)\cos(30^\circ)=1.0392(0.8660)=0.900\); \(1.1547(0.81)\cos(90^\circ)=0\). All three match.

Now the gains. At \(\Omega=0\), \(H(1) = 1/(1-0.9+0.81) = 1/0.91 = 1.099\). At \(\Omega=\pi\), \(H(-1) = 1/(1+0.9+0.81) = 1/2.71 = 0.369\). At \(\Omega=\pi/3\) use the geometry instead: the vector from \(p\) to \(e^{j\pi/3}\) has length \(1-0.9 = 0.1\), because both lie on the same radius, while the vector from \(p^*\) has length \(\sqrt{1+0.81-2(0.9)\cos120^\circ} = \sqrt{2.71} = 1.646\). Hence

Working — the resonant peak
\[ \big|H(e^{j\pi/3})\big| = \frac{1}{0.1 \times 1.646} = 6.07 \]

A gain of about 6 at the pole angle against 1.1 at DC and 0.37 at \(\Omega=\pi\): a pronounced resonant peak, produced entirely by the short vector from a pole sitting one-tenth of a radius inside the circle. Push the radius to \(0.99\) and that vector shrinks to \(0.01\), the peak rises tenfold, and the mode \((0.99)^n\) rings for hundreds of samples. Sharpness in frequency and persistence in time are the same fact seen twice.

Review

Chapter Summary

The system function

Transforming an LCCDE gives \(H(z)=B(z)/A(z)\), which is also \(\mathcal{Z}\{h[n]\}\) and the ratio \(Y/X\) for every input.

Poles are modes

Each pole \(re^{j\theta}\) contributes \(r^n\cos(\theta n+\phi)\): radius sets decay, angle sets oscillation, zeros only set the weights.

The two ROC tests

Causal means the ROC is the outermost exterior; stable means it contains \(|z|=1\). Both together means every pole is inside.

Initial conditions

The unilateral transform splits \(Y = H X + \mathcal{I}/A\). Only the zero-state part is LTI, which is why initial rest matters.

Frequency response

Evaluate on the unit circle. Gain is the ratio of zero-vector to pole-vector lengths — poles make peaks, zeros make nulls.

Structures and inverses

Direct Form II uses \(\max(M,N)\) delays. A causal stable inverse exists only if the zeros are inside too: minimum phase.

Practice

Problems

Problems 1 to 3 go from equation to response; 4 to 6 concern stability and frequency behaviour; 7 and 8 ask for reasoning rather than arithmetic. Sketch the pole–zero plot before computing anything — most of these can be half-answered from the picture.

  1. A causal system satisfies \(y[n]-\tfrac16 y[n-1]-\tfrac16 y[n-2] = x[n]\). Find \(H(z)\), its poles, \(h[n]\), and the step response. Verify \(h[0]\), \(h[1]\) and \(h[2]\) directly from the recursion.
  2. For \(H(z) = \dfrac{1-\tfrac13z^{-1}}{\big(1-\tfrac12z^{-1}\big)\big(1+\tfrac14z^{-1}\big)}\), give \(h[n]\) for each admissible ROC and state which choice is both causal and stable.
  3. Solve \(y[n]-\tfrac14y[n-2] = x[n]\) for \(n\ge0\) with \(x[n]=\delta[n]\), \(y[-1]=0\) and \(y[-2]=8\). Separate the zero-input and zero-state responses.
  4. Use the second-order criterion to find every real \(a\) for which \(y[n]=a\,y[n-1]-0.5a\,y[n-2]+x[n]\) is stable. Confirm one interior point and one exterior point by computing the pole magnitudes.
  5. An FIR system has \(h[n]=\{1,0,-1\}\) for \(n=0,1,2\). Find \(H(z)\), its zeros, and \(\big|H(e^{j\Omega})\big|\) in closed form. At which frequencies is the output identically zero, and why does the pole–zero plot make this obvious?
  6. A forward path \(G(z) = \dfrac{K}{(z-0.5)}\) is placed in a unity negative feedback loop. Find the closed-loop pole as a function of \(K\), the range of \(K\) for stability, and the value of \(K\) that gives a deadbeat response.
  7. Show that if \(H(z)\) is causal and stable with a zero at \(z=z_0\) where \(|z_0|\gt1\), then no causal stable inverse exists. Then describe the two compromises available, and which one an equaliser actually uses.
  8. Explain, using the ROC and not the algebra, why the system function alone cannot tell you whether a system is stable, but the system function together with the statement "the system is causal" can. Illustrate with a system whose poles are at \(0.4\) and \(1.5\).
Tip: for any problem in this chapter, draw the pole–zero plot and the unit circle first. Poles inside and causal means stable; a pole angle tells you where the response peaks; a zero on the circle tells you where it nulls; a pole at the origin is pure delay and shapes nothing. Most GATE questions on discrete-time systems are answerable from that picture alone, and the algebra is only needed to put numbers on what the picture has already told you.