Part 7 · Chapter 27

Sampled-Data Systems and the Z-Transform

When a digital computer is placed inside the loop the controller stops seeing a continuous signal and starts seeing a sequence of numbers taken every \(T\) seconds, and the whole analytical machinery of the first six parts must be rebuilt on a new transform — the z-transform, which turns difference equations into algebra exactly as the Laplace transform of Chapter 3 did for differential equations.

Control Systems Prof. Mithun Mondal Reading time ≈ 45 min
i What you'll learn
  • How the ideal impulse sampler turns \(x(t)\) into a train of weighted impulses, and why its Laplace transform forces the substitution \(z=e^{sT}\).
  • Why sampling replicates the spectrum every \(\omega_s\), what aliasing is, and where Shannon's condition comes from.
  • The z-transform definition, its standard pairs, and the region of convergence.
  • The shifting theorems that turn a difference equation into algebra, plus initial- and final-value theorems.
  • How a zero-order hold plus a plant becomes the pulse transfer function \(G(z)=(1-z^{-1})\mathcal{Z}\{G(s)/s\}\).
  • Three ways to invert a z-transform: long division, partial fractions, and the residue method.
  • Why the unit circle replaces the imaginary axis as the stability boundary, and how \(\zeta\) and \(\omega_n\) map into the \(z\)-plane.
  • Why a sampled loop can be unstable at gains the continuous loop tolerated.
Section 27-1

Why the Loop Went Digital

Every controller designed in this book so far has been an analogue object. The PID controller of Chapter 19 was an arrangement of operational amplifiers; the lead network of Chapter 21 was a resistor and a capacitor; the state feedback of Chapter 26 was a bank of summing amplifiers. Each of them processes a voltage that exists at every instant.

Almost no controller built today works that way. The compensator is a program running on a microcontroller, a DSP, or a programmable logic controller. It reads the plant output through an analogue-to-digital converter at regular instants, computes a number, and writes that number to a digital-to-analogue converter which holds it steady until the next instant. The reasons are practical and overwhelming: gains that do not drift with temperature or age, arbitrarily complicated control laws at no extra hardware cost, gain scheduling, self-tuning, fault logging, and a design that can be changed by editing a line of code rather than unsoldering a capacitor.

The price is that the signals inside the loop are no longer continuous functions of time. Two operations, absent from every earlier chapter, now sit between the plant and the controller.

OperationWhat it doesWhere it sits
SamplingDiscards all information between the instants \(t=0,T,2T,\dots\), leaving the sequence \(x(kT)\).At the A/D converter, on the measurement.
HoldingReconstructs a continuous signal from the sequence, most simply by keeping each value constant for a full period.At the D/A converter, on the actuator.

Neither operation is describable by a transfer function in \(s\), because neither is time-invariant: a sampler applied to \(x(t)\) and to \(x(t-\tau)\) gives results that are not simply shifted versions of one another unless \(\tau\) happens to be a multiple of \(T\). The Laplace transform, which rests on time invariance, therefore cannot handle the loop directly. We need a new transform, and Section 27-2 shows that it is forced upon us rather than invented.

r(t) + e(t) T sampler e*(t) D(z) digital algorithm ZOH u(t) G(s) continuous plant y(t) continuous measurement the dashed box is the computer: it sees only numbers
A sampled-data loop: continuous plant, discrete controller, hold in between
Section 27-2

The Ideal Sampler and the Birth of \(z\)

A real A/D converter closes a switch for a very short time \(\tau\), takes a reading, and opens again. Modelling that finite window exactly is awkward and, since \(\tau\ll T\) in every practical converter, unnecessary. The standard idealisation replaces each narrow pulse of area \(x(kT)\tau\) by an impulse of the same strength. The result is the ideal impulse sampler: multiplication of \(x(t)\) by a train of unit impulses spaced \(T\) apart.

Impulse sampling
\[ \delta_T(t) = \sum_{k=0}^{\infty}\delta(t-kT), \qquad x^*(t) = x(t)\,\delta_T(t) = \sum_{k=0}^{\infty} x(kT)\,\delta(t-kT) \]

The sifting property of the impulse has done the essential work: \(x(t)\delta(t-kT) = x(kT)\delta(t-kT)\), so the starred signal is a train of impulses whose areas are the sample values. All information between the samples has been discarded, which is exactly what the converter does.

Now take the Laplace transform of \(x^*(t)\), using \(\mathcal{L}\{\delta(t-kT)\}=e^{-kTs}\):

Laplace transform of the sampled signal
\[ X^*(s) = \mathcal{L}\{x^*(t)\} = \sum_{k=0}^{\infty} x(kT)\,e^{-kTs} \]

Something has gone wrong, and it is instructive to see what. \(X^*(s)\) is not a rational function of \(s\); it is an infinite series in the transcendental quantity \(e^{-Ts}\). Every tool of Parts 3 and 4 — partial fractions, Routh's array, the root locus, all of which assume polynomials — is useless against it. But the difficulty also contains its own cure. The variable \(s\) never appears alone; it appears only inside \(e^{Ts}\). So define a new variable that absorbs the exponential:

🔑
The substitution that defines the z-transform
\[ z = e^{sT} \qquad\Longrightarrow\qquad X(z) = \sum_{k=0}^{\infty} x(kT)\,z^{-k} \]

With this one change of variable the transcendental series becomes a power series in \(z^{-1}\), and for every signal of engineering interest it sums to a rational function of \(z\). Polynomial algebra is back in business.

That is the whole origin of the z-transform. It is not a separate invention parallel to Laplace but the Laplace transform of an impulse-sampled signal, rewritten in a variable that makes it rational. Everything that follows — stability tests, transfer functions, frequency response — is the Part 3 to Part 5 apparatus transplanted through the map \(z=e^{sT}\).

What \(z^{-1}\) means physically. Since \(z=e^{sT}\), multiplication by \(z^{-1}=e^{-sT}\) is exactly the delay theorem of Chapter 3 applied to one sampling period. So \(z^{-1}\) is the unit delay: the operator that hands back the previous sample. A digital control law is nothing more than a weighted sum of present and delayed samples, which is why \(z^{-1}\) is the natural currency of the subject and why \(G(z)\) is often written in powers of \(z^{-1}\) when it is about to be coded.
Section 27-3

Aliasing and the Sampling Theorem

Before building machinery on the sampled signal, one question must be settled: how much has been lost? The impulse train \(\delta_T(t)\) is periodic, so it has a Fourier series, and with \(\omega_s = 2\pi/T\) that series is remarkably simple — every harmonic has the same amplitude \(1/T\):

Fourier series of the impulse train
\[ \delta_T(t) = \frac{1}{T}\sum_{n=-\infty}^{\infty} e^{\,jn\omega_s t} \]

Multiplying \(x(t)\) by each exponential shifts its transform along the \(s\)-axis, by the frequency-shift theorem of Chapter 3. Summing the shifts gives the fundamental frequency-domain description of sampling:

🔑
Sampling replicates the spectrum
\[ X^*(s) = \frac{1}{T}\sum_{n=-\infty}^{\infty} X\!\left(s - jn\omega_s\right), \qquad \omega_s = \frac{2\pi}{T} \]

The spectrum of the sampled signal is the original spectrum repeated endlessly at intervals of \(\omega_s\), scaled by \(1/T\). Sampling does not distort the baseband copy — it merely adds infinitely many shifted duplicates.

The consequence follows at once. If \(X(j\omega)\) is zero above some \(\omega_{\max}\), the copies are separate blocks of width \(2\omega_{\max}\) placed \(\omega_s\) apart. They fail to overlap precisely when \(\omega_s > 2\omega_{\max}\), and in that case an ideal low-pass filter could recover \(x(t)\) exactly from its samples. That is Shannon's sampling theorem. If instead \(\omega_s < 2\omega_{\max}\), neighbouring copies overlap, high frequencies fold down into the baseband, and are indistinguishable from genuine low-frequency content. This is aliasing, and it is irreversible: no filter placed after the sampler can separate a real 1 Hz signal from a 49 Hz signal that has folded onto it.

t true signal, frequency f apparent (aliased) signal T
Sampling too slowly: the samples fit a slower wave that was never there

Two engineering consequences follow, and both are non-negotiable in a real design. First, an anti-aliasing filter — an analogue low-pass filter — must precede the A/D converter, so that whatever reaches the sampler genuinely is band-limited below \(\omega_s/2\). Second, the theoretical bound \(\omega_s > 2\omega_{\max}\) is far too generous for control. It guarantees only that the samples contain the information, ignoring the phase lag the hold introduces and the delay that lag costs in the loop. Practical control rules are much more aggressive.

Rule of thumbTypical valueReason
Shannon minimum\(\omega_s > 2\omega_{\max}\)Information theory only; useless for feedback on its own.
Relative to closed-loop bandwidth \(\omega_b\)\(\omega_s \approx 20\omega_b\) to \(40\omega_b\)Keeps the hold's phase lag small enough not to eat the phase margin.
Relative to rise time \(t_r\)4 to 10 samples per rise timeGives the controller enough opportunities to act during the transient.
Relative to dominant \(\omega_n\)\(\omega_n T\) between 0.2 and 0.5Places the dominant \(z\)-plane poles at a well-conditioned radius.
The hold is a delay in disguise. Holding a value constant for a period is, on average, a delay of half a period. By the Bode analysis of Chapter 14 a delay of \(T/2\) contributes a phase lag of \(\omega T/2\) radians at frequency \(\omega\) while touching the magnitude not at all — the worst kind of dynamics to have in a loop. At \(\omega_s = 20\omega_b\) that lag is about \(9^{\circ}\) at the crossover frequency, an acceptable bite out of the phase margin of Chapter 17. At \(\omega_s=4\omega_b\) it is \(45^{\circ}\), and a design that looked comfortable in continuous time is on the edge of instability.
Section 27-4

The Z-Transform and Its Standard Pairs

Take the definition of Section 27-2 as the starting point in its own right. For a sequence \(x(k)\) defined for \(k\ge 0\),

Definition (one-sided z-transform)
\[ X(z) = \mathcal{Z}\{x(k)\} = \sum_{k=0}^{\infty} x(k)\,z^{-k} \]

The series converges outside some circle in the complex \(z\)-plane; that region is the region of convergence, and for the one-sided transform it always has the form \(|z| > R\). Almost every pair in the table below comes from one summation, so it is worth doing that summation once. Let \(x(k)=a^k\):

The one derivation that generates the table
\[ X(z)=\sum_{k=0}^{\infty}a^k z^{-k} = \sum_{k=0}^{\infty}\left(\frac{a}{z}\right)^{k} = \frac{1}{1-az^{-1}} = \frac{z}{z-a}, \qquad |z| > |a| \]

It is the geometric series and nothing more, and it converges exactly when \(|a/z| < 1\). Every other entry follows from special cases and simple operations: \(a=1\) gives the unit step; \(a=e^{-\alpha T}\) gives the sampled exponential, because \(x(kT)=e^{-\alpha kT}=(e^{-\alpha T})^k\); differentiating with respect to \(a\) generates \(ka^k\); and writing \(\cos\omega kT\) as the sum of two complex exponentials and adding the two resulting fractions gives the trigonometric pairs.

\(x(t)\), \(t\ge 0\)Sequence \(x(kT)\)\(X(z)\)ROC
Unit impulse \(\delta(t)\)\(1\) at \(k=0\), else 0\(1\)all \(z\)
Unit step \(u(t)\)\(1\)\(\dfrac{z}{z-1}\)\(|z| > 1\)
Ramp \(t\)\(kT\)\(\dfrac{Tz}{(z-1)^2}\)\(|z| > 1\)
Parabola \(t^2/2\)\((kT)^2/2\)\(\dfrac{T^2z(z+1)}{2(z-1)^3}\)\(|z| > 1\)
\(a^k\)\(\dfrac{z}{z-a}\)\(|z| > |a|\)
\(e^{-\alpha t}\)\(e^{-\alpha kT}\)\(\dfrac{z}{z-e^{-\alpha T}}\)\(|z| > e^{-\alpha T}\)
\(t\,e^{-\alpha t}\)\(kT e^{-\alpha kT}\)\(\dfrac{Tze^{-\alpha T}}{\left(z-e^{-\alpha T}\right)^2}\)\(|z| > e^{-\alpha T}\)
\(\sin\omega t\)\(\sin\omega kT\)\(\dfrac{z\sin\omega T}{z^2-2z\cos\omega T+1}\)\(|z| > 1\)
\(\cos\omega t\)\(\cos\omega kT\)\(\dfrac{z(z-\cos\omega T)}{z^2-2z\cos\omega T+1}\)\(|z| > 1\)
\(e^{-\alpha t}\sin\omega t\)\(e^{-\alpha kT}\sin\omega kT\)\(\dfrac{ze^{-\alpha T}\sin\omega T}{z^2-2ze^{-\alpha T}\cos\omega T+e^{-2\alpha T}}\)\(|z| > e^{-\alpha T}\)

One warning about notation. The symbol \(\mathcal{Z}\{G(s)\}\) is used throughout the literature to mean "sample the inverse transform of \(G(s)\) and take its z-transform" — it is a two-step operation, not a transform of \(G(s)\) itself. Because of that, \(\mathcal{Z}\{G_1(s)G_2(s)\}\neq G_1(z)G_2(z)\) in general, a trap Section 27-9 returns to.

Section 27-5

Properties and Theorems

The z-transform is linear, which needs no proof beyond the linearity of the defining sum. The properties that matter for control are the shifting theorems, because they are what convert a difference equation into an algebraic one.

Consider a delay. If \(y(k)=x(k-1)\) with \(x\) zero for negative argument, then

Deriving the delay theorem
\[ Y(z)=\sum_{k=0}^{\infty}x(k-1)z^{-k} \overset{m=k-1}{=} \sum_{m=-1}^{\infty}x(m)z^{-(m+1)} = z^{-1}\sum_{m=0}^{\infty}x(m)z^{-m} = z^{-1}X(z) \]

which confirms the interpretation of \(z^{-1}\) as the unit delay. Advancing is not quite symmetrical, because the samples that leave the window must be accounted for:

🔑
The shifting theorems
\[ \mathcal{Z}\{x(k-n)\} = z^{-n}X(z), \qquad \mathcal{Z}\{x(k+n)\} = z^{n}X(z) - \sum_{m=0}^{n-1} x(m)\,z^{\,n-m} \]

The subtracted terms are the discrete counterpart of the initial-condition terms in the Laplace derivative theorem of Chapter 3. Advancing by one gives the workhorse form \(\mathcal{Z}\{x(k+1)\}=zX(z)-z\,x(0)\).

The remaining properties are collected below. The final-value theorem is the one used most often in design, and its validity condition is the exact analogue of the stability caveat that accompanied the continuous version in Chapter 9.

PropertyStatementNote
Linearity\(\mathcal{Z}\{a x_1 + b x_2\} = aX_1(z)+bX_2(z)\)Direct from the sum.
Scaling in \(z\)\(\mathcal{Z}\{a^k x(k)\} = X(z/a)\)Multiplying a sequence by \(a^k\) rescales the plane.
Differentiation in \(z\)\(\mathcal{Z}\{k\,x(k)\} = -z\,\dfrac{dX(z)}{dz}\)Generates the ramp and \(ka^k\) pairs.
Convolution\(\mathcal{Z}\left\{\sum_{m} x(m)h(k-m)\right\} = X(z)H(z)\)The reason a pulse transfer function exists at all.
Initial value\(x(0)=\displaystyle\lim_{z\to\infty}X(z)\)Only the \(k=0\) term survives.
Final value\(\displaystyle\lim_{k\to\infty}x(k)=\lim_{z\to 1}\left(1-z^{-1}\right)X(z)\)Valid only if all poles of \((1-z^{-1})X(z)\) lie inside the unit circle.

The final-value theorem is worth reading against its continuous cousin. There, the operator was \(s\) and the point of evaluation was \(s\to 0\); here it is \((1-z^{-1})\) and the point is \(z\to 1\). That is not a coincidence: \(s=0\) maps to \(z=e^{0}=1\), so the entire steady-state analysis of Chapter 9 transplants by replacing "at the origin" with "at \(z=1\)". A digital system's type is the number of poles it has at \(z=1\), and the static error constants of Chapter 9 reappear as limits taken there.

Section 27-6

The Zero-Order Hold and the Pulse Transfer Function

The controller's output is a number, and the plant needs a voltage. The zero-order hold supplies one in the simplest possible way: it holds each sample constant until the next arrives, producing the staircase seen in the block diagram of Section 27-1.

Its transfer function follows from its impulse response. Feed the hold a single unit impulse at \(t=0\); it responds with a rectangular pulse of unit height lasting exactly \(T\) seconds. That pulse is the difference of two unit steps, one delayed:

🔑
Transfer function of the zero-order hold
\[ g_{h0}(t) = u(t)-u(t-T) \quad\Longrightarrow\quad G_{h0}(s) = \frac{1}{s}-\frac{e^{-Ts}}{s} = \frac{1-e^{-Ts}}{s} \]

The hold is a genuine continuous-time element, and it is the only place in the loop where the exponential \(e^{-Ts}\) survives explicitly.

Now put the hold in front of the plant and ask for the transfer function from the input sequence to the output sequence. Because \(e^{-Ts}=z^{-1}\) is a constant as far as the \(\mathcal{Z}\) operation is concerned, it factors out of the transform:

Deriving the pulse transfer function
\[ G(z) = \mathcal{Z}\left\{\frac{1-e^{-Ts}}{s}G(s)\right\} = \mathcal{Z}\left\{\frac{G(s)}{s}\right\} - z^{-1}\mathcal{Z}\left\{\frac{G(s)}{s}\right\} = \left(1-z^{-1}\right)\mathcal{Z}\left\{\frac{G(s)}{s}\right\} \]
🔑
Hold-equivalent (pulse) transfer function
\[ G(z) = \left(1-z^{-1}\right)\,\mathcal{Z}\!\left\{\frac{G(s)}{s}\right\} = \frac{z-1}{z}\,\mathcal{Z}\!\left\{\frac{G(s)}{s}\right\} \]

The recipe: divide the plant by \(s\), expand in partial fractions, transform term by term with the table of Section 27-4, and multiply by \((z-1)/z\). The result is the exact discrete-time model of hold plus plant, valid at every sampling instant.

Two structural facts about \(G(z)\) deserve attention, because both surprise students meeting them for the first time.

The poles map, the zeros do not. A plant pole at \(s=p\) becomes a \(z\)-plane pole at \(z=e^{pT}\), which is exactly the map of Section 27-8. The zeros obey no such rule; the discretisation manufactures new zeros with no continuous counterpart, and for fast sampling of a plant with a large pole excess some of them sit outside the unit circle. A minimum-phase continuous plant can therefore have a non-minimum-phase discrete model, which is why the tempting design idea of cancelling all the plant zeros with controller poles is dangerous in digital control.

The order can rise. The example of a pure delay makes this vivid: \(e^{-Ts}\) is not rational in \(s\) at all, yet its discrete equivalent is simply \(z^{-1}\), a single extra pole at the origin. Delays, which are painful in continuous design and needed the Padé approximation, are exact and trivial in \(z\). This is one respect in which the discrete world is genuinely easier than the continuous one.

Section 27-7

Inverting the Z-Transform

Having produced \(Y(z)\) we usually want the sequence \(y(k)\). Three methods are standard, and they answer different questions.

Long division divides the numerator by the denominator in ascending powers of \(z^{-1}\). Since \(Y(z)=y(0)+y(1)z^{-1}+y(2)z^{-2}+\cdots\) by definition, the quotient's coefficients are the samples. The method needs no algebra beyond division and gives the first few values immediately, which is exactly what one wants when checking a simulation. It gives no closed form, so it cannot tell you the behaviour as \(k\to\infty\).

Partial fractions gives the closed form. There is one trick that must be learned: expand \(X(z)/z\), not \(X(z)\). The reason is visible in the table of Section 27-4 — every standard pair carries a factor \(z\) in the numerator, so an expansion of \(X(z)\) itself produces terms like \(1/(z-a)\) that are not in the table, whereas expanding \(X(z)/z\) and multiplying back through by \(z\) produces \(z/(z-a)\), which is.

The partial-fraction recipe
\[ \frac{X(z)}{z} = \sum_i \frac{A_i}{z-p_i} \quad\Longrightarrow\quad X(z)=\sum_i \frac{A_i z}{z-p_i} \quad\Longrightarrow\quad x(k)=\sum_i A_i\,p_i^{\,k} \]

The last step reads off the table, and it displays the central fact about discrete stability: each pole \(p_i\) contributes a geometric sequence \(p_i^k\), which decays if and only if \(|p_i| < 1\).

The residue (inversion integral) method is the formal inverse, \(x(k)=\frac{1}{2\pi j}\oint X(z)z^{k-1}dz\), evaluated as a sum of residues at the poles of \(X(z)z^{k-1}\). It is the tool for repeated poles and for proving general results, and for simple pole patterns it reduces to the partial-fraction answer.

MethodGivesUse it when
Long divisionThe first few samples, numericallyChecking a design or a simulation; no closed form needed.
Partial fractions of \(X(z)/z\)A closed-form \(x(k)\)Distinct poles; you need the behaviour for all \(k\).
ResiduesA closed-form \(x(k)\)Repeated poles, or a general proof.
Final-value theoremOnly \(x(\infty)\)Steady-state error; never invert if the limit is all you want.
Section 27-8

The \(s\)-Plane to \(z\)-Plane Map

Everything about discrete stability follows from the single relation \(z=e^{sT}\). Write \(s=\sigma+j\omega\) and split it into magnitude and angle:

The map in polar form
\[ z = e^{(\sigma+j\omega)T} = \underbrace{e^{\sigma T}}_{|z|}\;\underbrace{e^{\,j\omega T}}_{\angle z} \qquad\Longrightarrow\qquad |z| = e^{\sigma T}, \quad \angle z = \omega T \]

The real part of \(s\) — which governed stability in every chapter from 10 onwards — becomes the magnitude of \(z\). Three cases exhaust the picture. If \(\sigma < 0\) then \(|z| < 1\): the left half-plane maps inside the unit circle. If \(\sigma=0\) then \(|z|=1\): the imaginary axis maps onto the unit circle itself. If \(\sigma > 0\) then \(|z| > 1\): the right half-plane maps outside.

🔑
Stability of a discrete system
A linear discrete-time system is stable if and only if every pole of its pulse transfer function lies strictly inside the unit circle, \(|z_i| < 1\).

The unit circle replaces the imaginary axis as the boundary. A pole on the circle is marginally stable — \(z=1\) is an integrator, a conjugate pair on the circle is a sustained oscillation — and any pole outside gives a divergent geometric sequence.

The angle carries the second half of the story, and it introduces something with no continuous analogue. Since \(\angle z=\omega T\), frequencies differing by \(\omega_s=2\pi/T\) produce the same angle and hence the same point in the \(z\)-plane. The map is many-to-one: the horizontal strip \(-\pi/T < \omega \le \pi/T\), called the primary strip, covers the whole \(z\)-plane by itself, and every other strip lies on top of it. This is aliasing again, now visible as a geometric fact rather than a spectral one.

σ +jωs/2 −jωs/2 complementary strip complementary strip s = σ + jω stable half of the primary strip
s-plane: the primary strip, stable half shaded
Re z Im z z = 1 z = −1 z = e^(σT) ∠ ωT constant ζ stable region: |z| < 1
z-plane: the unit circle is the new stability boundary

The loci that mattered in root-locus design map to curves worth recognising. A line of constant \(\sigma\) — constant settling time — becomes a circle of radius \(e^{\sigma T}\). A line of constant \(\omega\) becomes a radial ray at angle \(\omega T\). And the constant-\(\zeta\) ray of Chapter 13, along which \(\sigma=-\zeta\omega_n\) and \(\omega=\omega_n\sqrt{1-\zeta^2}\) with \(\omega_n\) sweeping, becomes a logarithmic spiral winding inward toward the origin, drawn dashed in the figure above.

Transient specification in the \(z\)-plane
\[ |z| = e^{-\zeta\omega_n T}, \qquad \angle z = \omega_n T\sqrt{1-\zeta^{2}} \]

This is the practical bridge from Chapter 8 to digital design: convert the overshoot and settling-time specification into \(\zeta\) and \(\omega_n\) exactly as before, then map the resulting dominant pair through \(z=e^{sT}\) to get the target \(z\)-plane locations. The design itself — root locus in \(z\), or the discrete equivalents of the compensators of Part 5 — is the subject of Chapter 28.

Distance from the origin is speed. In the \(s\)-plane, fast meant "far to the left". In the \(z\)-plane, fast means "close to the origin", since a pole at radius \(r\) contributes a mode \(r^k\) that decays by a factor \(r\) every sample. A pole at \(z=0\) is dead-beat: it disappears completely after one step. A pole just inside \(z=1\) is a slow, lightly damped mode dragging on for hundreds of samples. Reading a \(z\)-plane pole map is a matter of reading radii.
Section 27-9

Closed-Loop Pulse Transfer Functions

The block-diagram algebra of Chapter 4 mostly survives the move to \(z\), but with one genuinely new rule that must be respected: a signal can be given a z-transform only where it is sampled. Two continuous blocks in cascade with no sampler between them form a single block, and the pair must be transformed together:

The cascade rule
\[ \begin{aligned} \text{No sampler between them:}&\quad \mathcal{Z}\{G_1(s)G_2(s)\} \equiv G_1G_2(z) \;\neq\; G_1(z)\,G_2(z)\\[4pt] \text{A sampler between them:}&\quad \mathcal{Z}\{G_1(s)\}\cdot\mathcal{Z}\{G_2(s)\} = G_1(z)\,G_2(z) \end{aligned} \]

The notation \(G_1G_2(z)\) — one transform of the product — is standard and deliberately different from \(G_1(z)G_2(z)\). For the common configuration of a digital controller followed by a hold and plant, with the error sampled and the output measured continuously, the loop reduces exactly as in Chapter 4:

🔑
Closed-loop pulse transfer function
\[ \frac{C(z)}{R(z)} = \frac{D(z)\,G(z)}{1 + D(z)\,G(z)H(z)}, \qquad \text{characteristic equation } \;1+D(z)G(z)H(z)=0 \]

Here \(G(z)\) is the hold-equivalent transfer function of Section 27-6, and \(D(z)\) is the controller. Design proceeds by placing the roots of the characteristic equation inside the unit circle — the same programme as Parts 3 and 4, with a new boundary.

Two further remarks complete the picture. First, not every sampled-data configuration has a closed-loop pulse transfer function: if the reference enters at a point that is never sampled, \(C(z)\) can be expressed in terms of the starred transform of \(RG\) but not as a ratio involving \(R(z)\) alone. Second, once the characteristic polynomial in \(z\) is in hand, its roots can be tested against the unit circle either directly, or by the Jury test — the discrete counterpart of Routh–Hurwitz from Chapter 11 — or by the bilinear transformation \(z=(1+w)/(1-w)\), which maps the unit circle to the imaginary axis and lets Routh's array be used unchanged. For a second-order polynomial \(P(z)=z^2+a_1z+a_0\) the conditions collapse to three inequalities that are worth memorising:

Unit-circle test for a quadratic
\[ P(1) > 0, \qquad P(-1) > 0, \qquad |a_0| < 1 \]

Example 5 uses them, and reaches a conclusion that should trouble anyone comfortable with continuous design: a plant that is stable in closed loop for every positive gain becomes unstable at a modest gain once it is sampled. Sampling is not a neutral implementation detail. It is a destabilising element in its own right, and the loss must be paid for either with a faster sampling rate or with a compensator designed in \(z\) — which is where Chapter 28 begins.

Section 27-10

Worked Examples

1 A z-transform from the definition

Problem. Find \(\mathcal{Z}\{e^{-\alpha kT}\}\) directly from the definition, state the region of convergence, and evaluate it for \(\alpha=2\) s\(^{-1}\) with \(T=0.1\) s.

Solution. Write the sequence as a geometric one: \(e^{-\alpha kT}=\left(e^{-\alpha T}\right)^{k}\), so with \(a=e^{-\alpha T}\) the defining sum is the series of Section 27-4.

Working
\[ X(z)=\sum_{k=0}^{\infty}\left(e^{-\alpha T}\right)^{k}z^{-k} = \frac{1}{1-e^{-\alpha T}z^{-1}} = \frac{z}{z-e^{-\alpha T}}, \qquad |z| > e^{-\alpha T} \]

With \(\alpha T = 0.2\), \(e^{-0.2}=0.8187\), so \(X(z)=z/(z-0.8187)\) and the transform converges for \(|z| > 0.8187\). The single pole lies inside the unit circle, as it must for a decaying signal — and notice that it is the image of the continuous pole \(s=-2\) under \(z=e^{sT}\), which is the map of Section 27-8 doing its work.

2 Pulse transfer function with a zero-order hold

Problem. A plant \(G(s)=\dfrac{1}{s(s+1)}\) is driven by a zero-order hold and sampled with \(T=1\) s. Find \(G(z)\).

Solution. Apply the recipe of Section 27-6. Divide by \(s\) and expand in partial fractions:

Step 1 — expand \(G(s)/s\)
\[ \frac{G(s)}{s}=\frac{1}{s^2(s+1)} = -\frac{1}{s}+\frac{1}{s^2}+\frac{1}{s+1} \]

Transform term by term using the step, ramp, and exponential pairs, with \(T=1\):

Step 2 — transform
\[ \mathcal{Z}\left\{\frac{G(s)}{s}\right\} = -\frac{z}{z-1}+\frac{Tz}{(z-1)^2}+\frac{z}{z-e^{-T}} \]
Step 3 — multiply by \((z-1)/z\)
\[ G(z) = -1 + \frac{T}{z-1} + \frac{z-1}{z-e^{-T}} \]

Put \(T=1\) and \(e^{-1}=0.3679\), then place everything over the common denominator \((z-1)(z-0.3679)\). The numerator is \(-(z-1)(z-0.3679)+(z-0.3679)+(z-1)^2\), which expands to \(0.3679z+0.2642\), so

Result
\[ G(z) = \frac{0.3679z+0.2642}{(z-1)(z-0.3679)} = \frac{0.3679z+0.2642}{z^2-1.3679z+0.3679} \]

The two poles are the images of the plant poles: \(s=0\mapsto z=1\) and \(s=-1\mapsto z=e^{-1}=0.3679\). The zero at \(z=-0.718\) has no continuous counterpart at all — it was manufactured by the hold, exactly as Section 27-6 warned.

3 Inverting by partial fractions, checked by long division

Problem. Find \(x(k)\) for \(X(z)=\dfrac{z}{(z-1)(z-0.5)}\), and verify the first three samples by long division.

Solution. Expand \(X(z)/z\) rather than \(X(z)\), following Section 27-7:

Step 1 — expand \(X(z)/z\)
\[ \frac{X(z)}{z}=\frac{1}{(z-1)(z-0.5)} = \frac{A}{z-1}+\frac{B}{z-0.5}, \quad A=\frac{1}{1-0.5}=2, \quad B=\frac{1}{0.5-1}=-2 \]
Step 2 — multiply back by \(z\) and read the table
\[ X(z)=\frac{2z}{z-1}-\frac{2z}{z-0.5} \quad\Longrightarrow\quad x(k)=2-2\,(0.5)^{k} \]

The formula gives \(x(0)=0\), \(x(1)=1\), \(x(2)=1.5\), \(x(3)=1.75\), rising to the limit 2. Check by long division of \(z\) by \(z^2-1.5z+0.5\) in ascending powers of \(z^{-1}\): the quotient begins \(z^{-1}+1.5z^{-2}+1.75z^{-3}+\cdots\), so \(x(0)=0\), \(x(1)=1\), \(x(2)=1.5\), \(x(3)=1.75\) — agreement. The final-value theorem confirms the limit without any inversion: \(\lim_{z\to1}(1-z^{-1})X(z)=\lim_{z\to1}\dfrac{z-1}{z}\cdot\dfrac{z}{(z-1)(z-0.5)}=\dfrac{1}{0.5}=2\).

4 From \(G(z)\) to code

Problem. Convert the \(G(z)\) of Example 2 into a difference equation and compute the first three samples of its unit-step response. Compare with the exact continuous response.

Solution. Write \(Y(z)/U(z)=G(z)\), cross-multiply, and divide through by \(z^2\) so that only non-positive powers of \(z\) remain:

Step 1 — in powers of \(z^{-1}\)
\[ \frac{Y(z)}{U(z)}=\frac{0.3679z^{-1}+0.2642z^{-2}}{1-1.3679z^{-1}+0.3679z^{-2}} \]

Since \(z^{-1}\) is the unit delay, each term is read directly as a shifted sample:

Step 2 — the difference equation
\[ y(k)=1.3679\,y(k-1)-0.3679\,y(k-2)+0.3679\,u(k-1)+0.2642\,u(k-2) \]

This single line is the whole implementation: three multiplications, three additions, and four stored numbers per sample. With \(u(k)=1\) for \(k\ge 0\) and zero initial conditions,

Step 3 — iterate
\[ \begin{aligned} y(1) &= 0.3679(1) = 0.3679\\ y(2) &= 1.3679(0.3679)+0.3679+0.2642 = 1.1354\\ y(3) &= 1.3679(1.1354)-0.3679(0.3679)+0.3679+0.2642 = 2.0498 \end{aligned} \]

The exact continuous step response of \(1/[s(s+1)]\) is \(y(t)=t-1+e^{-t}\), giving \(0.3679\), \(1.1353\), \(2.0498\) at \(t=1,2,3\) s. The discrete model reproduces the continuous response exactly at the sampling instants — which is what "hold equivalent" means. It says nothing whatever about the behaviour between them.

5 The gain range sampling takes away

Problem. The plant of Example 2 is placed in a unity-feedback loop with a proportional digital controller \(D(z)=K\). Find the range of \(K\) for stability, and compare with the continuous loop.

Solution. The characteristic equation is \(1+KG(z)=0\), so

Step 1 — the characteristic polynomial
\[ z^2-1.3679z+0.3679+K\left(0.3679z+0.2642\right)=0 \;\Longrightarrow\; P(z)=z^2+\left(0.3679K-1.3679\right)z+\left(0.3679+0.2642K\right) \]

Apply the three conditions of Section 27-9 with \(a_1=0.3679K-1.3679\) and \(a_0=0.3679+0.2642K\):

Step 2 — the three tests
\[ \begin{aligned} P(1) &= 1+0.3679K-1.3679+0.3679+0.2642K = 0.6321K \;>\; 0 &&\Longrightarrow\quad K \;>\; 0\\[2pt] P(-1) &= 1-0.3679K+1.3679+0.3679+0.2642K = 2.7358-0.1037K \;>\; 0 &&\Longrightarrow\quad K \;<\; 26.4\\[2pt] |a_0| &= 0.3679+0.2642K \;<\; 1 &&\Longrightarrow\quad K \;<\; 2.39 \end{aligned} \]

The binding constraint is the third, so the loop is stable for \(0 < K < 2.39\). At \(K=1\) the characteristic polynomial is \(z^2-z+0.6321\), whose roots \(0.5\pm j0.618\) have magnitude \(0.795\) — comfortably inside the unit circle.

Now the comparison. The continuous loop with \(G(s)=K/[s(s+1)]\) has characteristic equation \(s^2+s+K=0\), which by the Routh criterion of Chapter 11 is stable for every \(K > 0\). Sampling at 1 s has destroyed that unconditional stability and imposed a ceiling. The reason is the half-period delay of the hold: it drains phase margin at exactly the frequency where the loop crosses over, and beyond \(K=2.39\) there is none left. Sampling faster raises the ceiling; sampling slower lowers it.

6 A transient specification mapped into the \(z\)-plane

Problem. A design calls for \(\zeta=0.5\) and \(\omega_n=4\) rad/s. With \(T=0.1\) s, where must the dominant \(z\)-plane poles lie? Check that the choice of \(T\) is sensible.

Solution. The continuous dominant pair follows from Chapter 8:

Step 1 — the s-plane pair
\[ s = -\zeta\omega_n \pm j\,\omega_n\sqrt{1-\zeta^2} = -2 \pm j\,4\sqrt{0.75} = -2 \pm j\,3.464 \]

Map each through \(z=e^{sT}\), using the polar form of Section 27-8:

Step 2 — map to the \(z\)-plane
\[ |z| = e^{-\zeta\omega_n T} = e^{-0.2}=0.8187, \qquad \angle z = \omega_n T\sqrt{1-\zeta^2} = 0.3464 \text{ rad} = 19.85^{\circ} \]
Step 3 — rectangular form
\[ z = 0.8187\left(\cos 0.3464 \pm j\sin 0.3464\right) = 0.8187\left(0.9406 \pm j\,0.3395\right) = 0.770 \pm j\,0.278 \]

These are the target locations for a discrete design. Checking the sample rate: \(\omega_s = 2\pi/0.1 = 62.8\) rad/s, which is \(15.7\) times \(\omega_n\), and \(\omega_n T = 0.4\) sits inside the recommended band of 0.2 to 0.5 from Section 27-3. The poles at radius \(0.82\) are neither crowded against \(z=1\) (which would make the design numerically delicate) nor so close to the origin that the sampling is wastefully fast.

Review

Chapter Summary

Where \(z\) comes from

\(\mathcal{L}\{x^*(t)\}=\sum x(kT)e^{-kTs}\); setting \(z=e^{sT}\) makes it rational.

Sampling replicates

\(X^*(s)=\frac1T\sum X(s-jn\omega_s)\); overlap is aliasing, avoided if \(\omega_s > 2\omega_{\max}\).

Definition

\(X(z)=\sum_{k\ge0}x(k)z^{-k}\); \(z^{-1}\) is the unit delay.

Shifting

\(\mathcal{Z}\{x(k-n)\}=z^{-n}X(z)\); advancing subtracts the initial samples.

Hold equivalent

\(G(z)=(1-z^{-1})\mathcal{Z}\{G(s)/s\}\); poles map as \(e^{pT}\), zeros are new.

Inversion

Long division for samples; partial fractions of \(X(z)/z\) for closed form.

Stability

All poles strictly inside \(|z|=1\); the unit circle replaces the \(j\omega\) axis.

The cost of sampling

The hold's half-period lag eats phase margin and can cap a gain that was once unlimited.

Practice

Problems

Unless told otherwise, assume an ideal sampler and a zero-order hold, and take all initial conditions to be zero. Keep four decimal places in the exponentials; rounding early destroys the stability boundaries in the later problems. Difficulty rises down the list.

  1. From the definition, find the z-transform of \(x(k)=3(0.4)^k\) and state its region of convergence.
  2. A signal contains components up to 60 Hz. What is the slowest permissible sampling frequency by Shannon's theorem, and what would you actually choose for a control loop of bandwidth 5 Hz?
  3. A plant \(G(s)=\dfrac{2}{s+2}\) is preceded by a zero-order hold and sampled at \(T=0.25\) s. Find \(G(z)\).
  4. Invert \(X(z)=\dfrac{z}{(z-1)(z-0.8)}\) by partial fractions and find \(x(\infty)\) both from your closed form and from the final-value theorem.
  5. Write the difference equation implied by \(\dfrac{Y(z)}{U(z)}=\dfrac{0.2z+0.1}{z^2-1.2z+0.35}\) and compute \(y(1)\), \(y(2)\), \(y(3)\) for a unit-step input.
  6. The characteristic equation of a sampled loop is \(z^2+(0.5K-1.2)z+(0.2+0.3K)=0\). Use the three unit-circle conditions to find the range of \(K\) for stability.
  7. A specification requires \(\zeta=0.707\) and a settling time of 2 s (2 % criterion). With \(T=0.2\) s, find the desired dominant pole locations in the \(z\)-plane.
  8. Show that the plant of Example 2 sampled at \(T=0.5\) s tolerates a larger proportional gain than at \(T=1\) s, and explain the result in terms of the hold's phase lag.
Tip: keep the two roles of \(z\) separate in your head. As an operator, \(z^{-1}\) is a one-sample delay, and reading a transfer function in powers of \(z^{-1}\) hands you the difference equation to be coded with no further work. As a complex variable, \(z=e^{sT}\) carries the whole of continuous-time intuition across: a pole's distance from the origin is its decay per sample, its angle is its oscillation frequency, and the unit circle is the boundary that the imaginary axis used to be. Most confusion in digital control comes from mixing the two readings in a single line of algebra.