Fiveable

🎛️Control Theory Unit 11 Review

QR code for Control Theory practice questions

11.3 Discrete-time systems

11.3 Discrete-time systems

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
🎛️Control Theory
Unit & Topic Study Guides

Definition of discrete-time systems

Discrete-time systems describe how variables evolve at specific, separated time instants rather than continuously. Think of a sensor that reads temperature every 100 milliseconds: the data only exists at those sample points, not in between. These systems show up everywhere in digital control, signal processing, and communications.

The key mathematical tool for describing them is the difference equation, which relates the current output to previous inputs and outputs. Difference equations are the discrete-time counterpart of the differential equations you've seen in continuous-time systems.

Difference equations

A difference equation defines how a system's output at the current time step depends on past inputs and past outputs. If you can write down the difference equation for a system, you can simulate or analyze its behavior step by step.

Linear difference equations

In a linear difference equation, the output is a linear combination of past inputs and outputs. The general form is:

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

where y[n]y[n] is the output, x[n]x[n] is the input, and aka_k, bkb_k are constant coefficients. Notice the sum over past outputs starts at k=1k=1 (you don't have y[n]y[n] on both sides).

A simple first-order example: y[n]=0.5y[n1]+x[n]y[n] = 0.5\,y[n-1] + x[n]. Here the current output depends on the previous output scaled by 0.5, plus the current input. You can compute the output sample by sample if you know the initial conditions and the input sequence.

Nonlinear difference equations

When the output is a nonlinear function of past inputs or outputs, you get a nonlinear difference equation. These can produce complex behaviors like chaos and bifurcations.

A classic example is the logistic map: x[n+1]=rx[n](1x[n])x[n+1] = r\,x[n](1 - x[n]). For certain values of the parameter rr, this simple equation generates chaotic, seemingly random sequences. Nonlinear difference equations are much harder to analyze than linear ones, so most of this topic focuses on the linear case.

Z-transform

The Z-transform converts a discrete-time signal from the time domain into a function of a complex variable zz. This is analogous to how the Laplace transform works for continuous-time systems. Working in the Z-domain turns difference equations into algebraic equations, which are far easier to manipulate.

Definition of Z-transform

The Z-transform of a discrete-time signal x[n]x[n] is:

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

where zz is a complex variable. Each sample x[n]x[n] gets multiplied by znz^{-n}, and you sum over all time indices. For causal signals (signals that are zero for n<0n < 0), the lower limit becomes 0.

Properties of Z-transform

Several properties make the Z-transform powerful for system analysis:

  • Linearity: Z{ax1[n]+bx2[n]}=aX1(z)+bX2(z)\mathcal{Z}\{a\,x_1[n] + b\,x_2[n]\} = a\,X_1(z) + b\,X_2(z)
  • Time-shifting: Z{x[nk]}=zkX(z)\mathcal{Z}\{x[n-k]\} = z^{-k}X(z) (assuming zero initial conditions). This is the property that converts difference equations into algebraic equations: a delay of kk samples just becomes multiplication by zkz^{-k}.
  • Convolution: Z{x1[n]x2[n]}=X1(z)X2(z)\mathcal{Z}\{x_1[n] * x_2[n]\} = X_1(z)\,X_2(z). Convolution in time becomes multiplication in the Z-domain.

Inverse Z-transform

The inverse Z-transform recovers the time-domain sequence from its Z-domain representation. Three common methods:

  1. Partial fraction expansion — decompose X(z)X(z) into simpler fractions, then look up each term in a Z-transform table.
  2. Power series expansion — expand X(z)X(z) as a series in z1z^{-1}; the coefficients directly give you the sample values.
  3. Contour integration — use the formal inversion integral (less common in practice for control applications).

For example, the inverse Z-transform of X(z)=110.5z1X(z) = \frac{1}{1 - 0.5\,z^{-1}} is x[n]=(0.5)nu[n]x[n] = (0.5)^n\,u[n], where u[n]u[n] is the unit step function. You can verify this by substituting back into the Z-transform definition and recognizing the geometric series.

Transfer functions

A transfer function captures the input-output relationship of a discrete-time system entirely in the Z-domain. Once you have it, you can determine stability, frequency response, and design controllers without going back to time-domain difference equations.

Definition of transfer function

The transfer function is the ratio of the output's Z-transform to the input's Z-transform, assuming zero initial conditions:

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

It also equals the Z-transform of the impulse response h[n]h[n]. So the transfer function tells you everything about how the system shapes any input signal.

Poles and zeros

Poles are the values of zz that make the denominator of H(z)H(z) equal to zero. Zeros are the values that make the numerator zero.

  • Poles govern the system's natural modes: they determine whether the response grows, decays, or oscillates.
  • Zeros shape the frequency response and can cancel the effect of certain poles.

For example, H(z)=1+0.5z110.8z1H(z) = \frac{1 + 0.5\,z^{-1}}{1 - 0.8\,z^{-1}} has a zero at z=0.5z = -0.5 and a pole at z=0.8z = 0.8.

Stability of discrete-time systems

A discrete-time LTI system is BIBO stable (bounded-input, bounded-output) if and only if all poles of H(z)H(z) lie strictly inside the unit circle in the Z-plane, meaning every pole has magnitude less than 1.

This is the discrete-time equivalent of requiring all poles to be in the left-half of the s-plane for continuous-time systems. The unit circle replaces the imaginary axis as the stability boundary.

For example, H(z)=110.5z1H(z) = \frac{1}{1 - 0.5\,z^{-1}} has its pole at z=0.5z = 0.5. Since 0.5<1|0.5| < 1, the system is stable. If that pole were at z=1.2z = 1.2, the system would be unstable.

State-space representation

State-space models describe discrete-time systems using vectors and matrices instead of a single transfer function. This representation is especially useful for multi-input, multi-output (MIMO) systems and for applying modern control techniques like optimal control and observer design.

State variables and state equations

The state vector x[n]\mathbf{x}[n] captures all the information needed to predict the system's future behavior given future inputs. The standard discrete-time state-space form is:

x[n+1]=Ax[n]+Bu[n]\mathbf{x}[n+1] = \mathbf{A}\,\mathbf{x}[n] + \mathbf{B}\,\mathbf{u}[n]

y[n]=Cx[n]+Du[n]\mathbf{y}[n] = \mathbf{C}\,\mathbf{x}[n] + \mathbf{D}\,\mathbf{u}[n]

  • A\mathbf{A} is the state matrix (determines system dynamics)
  • B\mathbf{B} is the input matrix (how inputs affect the state)
  • C\mathbf{C} is the output matrix (which states are measured)
  • D\mathbf{D} is the feedthrough matrix (direct input-to-output path, often zero)

State transition matrix

The state transition matrix Φ[n]=An\mathbf{\Phi}[n] = \mathbf{A}^n propagates the state from time 0 to time nn in the unforced (zero-input) case:

x[n]=Anx[0]\mathbf{x}[n] = \mathbf{A}^n\,\mathbf{x}[0]

Computing An\mathbf{A}^n can be done by diagonalizing A\mathbf{A} (if possible) or using the Cayley-Hamilton theorem. The eigenvalues of A\mathbf{A} are the system's poles, so stability again requires all eigenvalues to have magnitude less than 1.

Controllability and observability

  • Controllability: Can you drive the system from any initial state to any desired state in a finite number of steps? Check the controllability matrix C=[B    AB    A2B        An1B]\mathcal{C} = [\mathbf{B} \;\; \mathbf{A}\mathbf{B} \;\; \mathbf{A}^2\mathbf{B} \;\; \cdots \;\; \mathbf{A}^{n-1}\mathbf{B}]. The system is controllable if C\mathcal{C} has full row rank.
  • Observability: Can you determine the initial state from the output measurements? Check the observability matrix O=[CT    (CA)T        (CAn1)T]T\mathcal{O} = [\mathbf{C}^T \;\; (\mathbf{C}\mathbf{A})^T \;\; \cdots \;\; (\mathbf{C}\mathbf{A}^{n-1})^T]^T. Full rank means observable.

Both properties are prerequisites for designing state feedback controllers and state observers (like the Luenberger observer).

Time-domain analysis

Time-domain analysis studies how a discrete-time system responds to standard test inputs. This reveals transient behavior, settling characteristics, and steady-state accuracy.

Impulse response

The impulse response h[n]h[n] is the output when the input is a unit impulse x[n]=δ[n]x[n] = \delta[n]. It completely characterizes an LTI system: the output for any input can be found by convolving the input with h[n]h[n].

You can find h[n]h[n] by either iterating the difference equation with x[n]=δ[n]x[n] = \delta[n], or by taking the inverse Z-transform of H(z)H(z).

Step response

The step response is the output when x[n]=u[n]x[n] = u[n] (a unit step applied at n=0n = 0). It shows how the system responds to a sudden, sustained change in input.

From the step response you can read off key performance metrics:

  • Rise time — how quickly the output reaches the setpoint
  • Settling time — how long until the output stays within a tolerance band (e.g., ±2%\pm 2\%)
  • Steady-state value — the final value the output converges to
Linear difference equations, Robotino3 PI controller - RobotinoWiki

Transient and steady-state response

The transient response is the portion that dies away over time. It depends on the pole locations: poles closer to the unit circle produce slower decay, and complex poles produce oscillations.

The steady-state response is what remains after the transient has decayed. For a stable system with a pole at z=0.5z = 0.5 driven by a step input, the transient decays as (0.5)n(0.5)^n and the steady-state output settles to a constant determined by the DC gain H(1)H(1).

Frequency-domain analysis

Frequency-domain analysis examines how a discrete-time system responds to sinusoidal inputs across different frequencies. This perspective is essential for filter design and for assessing stability margins in closed-loop systems.

Frequency response

The frequency response is obtained by evaluating the transfer function on the unit circle:

H(ejω)=H(z)z=ejωH(e^{j\omega}) = H(z)\big|_{z = e^{j\omega}}

where ω\omega is the normalized frequency in radians per sample (ranging from 00 to π\pi for real signals). The result is a complex-valued function whose magnitude H(ejω)|H(e^{j\omega})| gives the gain at each frequency and whose phase H(ejω)\angle H(e^{j\omega}) gives the phase shift.

Bode plots

Bode plots display the frequency response as two separate graphs:

  • Magnitude plot: 20log10H(ejω)20\log_{10}|H(e^{j\omega})| in dB vs. log frequency
  • Phase plot: H(ejω)\angle H(e^{j\omega}) in degrees vs. log frequency

These plots make it easy to identify passband gain, stopband attenuation, rolloff rate, and stability margins (gain margin and phase margin). For instance, a first-order low-pass filter rolls off at approximately 20-20 dB/decade beyond its cutoff frequency.

Nyquist plots

A Nyquist plot is a polar plot of H(ejω)H(e^{j\omega}): the real part on the horizontal axis and the imaginary part on the vertical axis, traced as ω\omega varies from 00 to 2π2\pi.

Nyquist plots are particularly useful for applying the Nyquist stability criterion to closed-loop systems. By counting encirclements of the critical point 1+j0-1 + j0, you can determine closed-loop stability even when the open-loop system is unstable. The plot also reveals gain margin (distance to the 1-1 point along the real axis) and phase margin.

Sampling and reconstruction

Sampling bridges the continuous and discrete worlds. Understanding it properly is critical because poor sampling choices introduce errors that no amount of digital processing can fix.

Sampling theorem

The Nyquist-Shannon sampling theorem states: a bandlimited continuous-time signal with highest frequency component fmaxf_{max} can be perfectly reconstructed from its samples if the sampling frequency satisfies:

fs2fmaxf_s \geq 2\,f_{max}

The quantity 2fmax2\,f_{max} is called the Nyquist rate. For example, audio signals with bandwidth up to 20 kHz require a sampling rate of at least 40 kHz (CD audio uses 44.1 kHz).

Aliasing and anti-aliasing filters

When the sampling theorem is violated (fs<2fmaxf_s < 2\,f_{max}), frequency components above fs/2f_s/2 fold back into the lower frequency range. This is aliasing, and it's irreversible once the signal has been sampled.

To prevent aliasing, an anti-aliasing filter (an analog low-pass filter) is placed before the sampler. It attenuates all frequency content above fs/2f_s/2 so that the sampled signal satisfies the Nyquist condition.

Zero-order hold and other reconstruction methods

After digital processing, you need to convert the discrete samples back to a continuous signal. Common reconstruction methods:

  • Zero-order hold (ZOH): holds each sample constant until the next one arrives, producing a staircase waveform. Simple to implement but introduces a frequency-dependent amplitude distortion (sinc rolloff) and phase delay.
  • First-order hold: linearly interpolates between consecutive samples, producing a smoother output.
  • Sinc interpolation: the theoretically ideal method (equivalent to an ideal low-pass filter), but not realizable in practice because it requires infinite-length filters.
  • Spline interpolation: uses smooth polynomial curves through the sample points, offering a practical compromise between accuracy and complexity.

In digital control, ZOH is by far the most common because the digital-to-analog converter naturally holds its output between updates.

Digital filters

Digital filters are discrete-time systems specifically designed to modify the frequency content of signals. They form the core of digital signal processing and also appear as components within digital controllers.

FIR vs IIR filters

FIR (Finite Impulse Response) filters depend only on current and past input samples:

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

  • Always stable (no feedback, so no poles outside the unit circle)
  • Can achieve exactly linear phase if the coefficients are symmetric
  • Require higher order to match a given frequency response specification

IIR (Infinite Impulse Response) filters also use past output samples (feedback):

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

  • Can achieve sharper frequency selectivity with fewer coefficients
  • May be unstable if poles end up outside the unit circle
  • Generally have nonlinear phase response

Filter design techniques

For FIR filters:

  • Window method — start with the ideal impulse response and multiply by a window function (Hamming, Kaiser, etc.) to truncate it
  • Frequency sampling — specify desired frequency response at discrete points and interpolate
  • Optimal methods — the Parks-McClellan algorithm minimizes the maximum approximation error (equiripple design)

For IIR filters:

  • Bilinear transform — convert a well-known analog filter prototype (Butterworth, Chebyshev, elliptic) to digital form using the mapping s=2T1z11+z1s = \frac{2}{T}\frac{1 - z^{-1}}{1 + z^{-1}}
  • Impulse invariance — sample the analog filter's impulse response (works well for low-pass designs but can cause aliasing for others)
  • Optimization-based methods — directly optimize coefficients to meet specifications

Realization structures

A realization structure is the block diagram showing how you implement the filter using delays (z1z^{-1}), multipliers, and adders. The choice of structure affects numerical precision and computational cost.

  • FIR: direct form, transposed direct form, cascade (second-order sections)
  • IIR: direct form I, direct form II, transposed forms, cascade form, parallel form

Direct form II is popular for IIR filters because it uses the minimum number of delay elements. Cascade form (cascaded second-order sections) is preferred in fixed-point implementations because it's less sensitive to coefficient quantization.

Discrete-time control systems

In a discrete-time control system, a digital controller reads sensor data at each sampling instant, computes the control action, and sends it to the actuator. The plant itself may be continuous, but the controller operates in discrete time.

Discrete-time PID control

The discrete-time PID controller is the digital version of the classic PID. Its difference equation form is:

u[n]=Kpe[n]+Kik=0ne[k]T+Kde[n]e[n1]Tu[n] = K_p\,e[n] + K_i\sum_{k=0}^{n}e[k]\,T + K_d\,\frac{e[n] - e[n-1]}{T}

where e[n]e[n] is the error at sample nn, TT is the sampling period, and KpK_p, KiK_i, KdK_d are the proportional, integral, and derivative gains.

  • The proportional term reacts to the current error.
  • The integral term accumulates past errors to eliminate steady-state offset.
  • The derivative term responds to the rate of change of error, providing damping.

Tuning these gains determines the closed-loop performance: speed of response, overshoot, and disturbance rejection. In practice, the derivative term is often filtered to avoid amplifying high-frequency noise.

Deadbeat control

Deadbeat control drives the output to the setpoint in the minimum number of time steps. The controller is designed to cancel the plant's poles and place all closed-loop poles at z=0z = 0.

For a first-order plant with transfer function G(z)=1z0.5G(z) = \frac{1}{z - 0.5}, a deadbeat controller Gc(z)=z0.51G_c(z) = \frac{z - 0.5}{1} (appropriately scaled) yields a closed-loop response of Y(z)R(z)=z1\frac{Y(z)}{R(z)} = z^{-1}, meaning the output matches the reference after just one sample.

The tradeoff: deadbeat control produces the fastest possible settling, but it's highly sensitive to modeling errors and measurement noise. Small mismatches between the model and the real plant can cause large control signals and poor performance.

Optimal control

Optimal control minimizes a cost function that balances state deviation against control effort. The standard Linear Quadratic Regulator (LQR) minimizes:

J=k=0N1(xT[k]Qx[k]+uT[k]Ru[k])+xT[N]PNx[N]J = \sum_{k=0}^{N-1}\left(\mathbf{x}^T[k]\,\mathbf{Q}\,\mathbf{x}[k] + \mathbf{u}^T[k]\,\mathbf{R}\,\mathbf{u}[k]\right) + \mathbf{x}^T[N]\,\mathbf{P}_N\,\mathbf{x}[N]

  • Q\mathbf{Q} penalizes state deviations (larger Q\mathbf{Q} means tighter tracking)
  • R\mathbf{R} penalizes control effort (larger R\mathbf{R} means smaller, more conservative inputs)
  • PN\mathbf{P}_N is the terminal cost

The solution is a linear state feedback law u[k]=Kx[k]\mathbf{u}[k] = -\mathbf{K}\,\mathbf{x}[k], where the gain matrix K\mathbf{K} is found by solving the discrete-time algebraic Riccati equation (DARE). The resulting closed-loop system is guaranteed stable and provides a principled way to trade off performance against control effort.

Applications of discrete-time systems

Discrete-time system theory underpins a wide range of real-world technologies:

  • Digital signal processing: Audio compression (MP3, AAC), image processing, speech recognition, and radar signal analysis all rely on discrete-time filtering and spectral analysis.
  • Digital control: Industrial process control, robotic motion control, automotive engine management, and flight control systems use discrete-time controllers running on embedded processors.
  • Communications: Digital modulation, channel equalization, error correction coding, and software-defined radio are built on discrete-time models.
  • Biomedical engineering: ECG and EEG signal analysis, medical imaging reconstruction, and real-time patient monitoring use discrete-time filtering and estimation techniques.

The common thread across all these applications is that continuous-world signals get sampled, processed using the discrete-time tools covered in this guide (Z-transforms, transfer functions, state-space models, digital filters), and then reconstructed or acted upon in the physical world.