Sampled Data Systems
Analyze and design discrete-time control systems using z-transform techniques.
Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.
Sampling and holding
A sampled-data loop contains both continuous dynamics and sampled signals. A sampler records values every T seconds; a zero-order hold maintains each command until the next update. A discrete transfer model depends on the sampling period and hold assumption. Sampling frequency is fs = 1/T. For an ideally bandlimited input, sampling must exceed twice its highest frequency for unique reconstruction; practical anti-alias filtering and control bandwidth require margin. The reconstruction criterion alone does not guarantee a satisfactory control loop.
Exact state update
For xdot = Ax + Bu with input held constant over each interval: x[k+1] = Ad x[k] + Bd u[k], where Ad = exp(AT) and Bd = ∫0ᵀ exp(Aτ)B dτ. Continuous modes map as z = exp(sT). Left-half-plane poles map inside the unit circle. A causal rational discrete system is BIBO stable when every uncancelled pole has |z| < 1.
Worked example
For ydot = −y + u and T = 0.1 s, Ad = exp(−0.1) = 0.904837 and Bd = 1 − exp(−0.1) = 0.095163. y[k+1] = 0.904837y[k] + 0.095163u[k]. With zero initial state, G(z) = 0.095163/(z − 0.904837), equivalently 0.095163z⁻¹/(1 − 0.904837z⁻¹). For a unit step y[k] = 1 − 0.904837^k. At k = 10, time is 1 s and y = 0.63212.
Common mistakes
Do not equate s with z. Do not omit sample delay or the hold assumption. Stable continuous dynamics do not guarantee stability after arbitrary digital feedback gains and computational delays are introduced.
Quick check
- What does a zero-order hold do? Keeps the command constant between updates.
- Where must stable discrete poles lie? Strictly inside the unit circle.
- Is the sample period part of the model? Yes.
Finished this topic? Mark it so your progress, study plan and readiness keep up.
Stuck on something here?