# Zero-order hold The **zero-order hold** (ZOH) is a mathematical model of the signal reconstruction a real [[Digital-to-analog_converter|digital-to-analog converter]] performs: converting a discrete-time sequence of samples into a continuous-time signal by holding each sample's value fixed for one full sample interval, so the output is a piecewise-constant staircase rather than the smooth waveform an ideal reconstruction would produce. It stands in deliberate contrast to the [[Whittaker–Shannon_interpolation_formula|Whittaker–Shannon interpolation formula]], the non-causal ideal that a zero-order hold approximates using only the sample already in hand rather than samples still in the future. The microsim on this page draws both the staircase a hold produces in time and the frequency-domain penalty that staircase carries, and lets the reader drag the sample rate, the input frequency and a reconstruction filter's cutoff to see the two trade against each other. A zero-order hold has applications well beyond audio and instrumentation converters: any system that samples a variable, computes on the samples, and then acts on the result until the next sample arrives is behaving as a zero-order hold on its output, which is why the model appears throughout digital control and communications engineering wherever a [[Linear_time-invariant_system|linear time-invariant system]] is driven by a sampled input. The name situates the model in a family: a zero-order hold reproduces each sample as a constant, a polynomial of degree zero, for the duration of the interval, while a first-order hold would instead draw a straight line between consecutive samples, and higher-order holds would fit higher-degree polynomials through more of them. Only the zero-order member of that family is trivial to build from ordinary sample-and-hold circuitry, which is why it, rather than any of its smoother relatives, is the hold every conventional digital-to-analog converter actually implements. The same operator gives its name to a discretization method in control design: converting a continuous-time controller into an equivalent discrete-time one "by zero-order hold" means finding the discrete system whose output at every sampling instant matches a continuous system driven through this exact hold, one convention among several — a first-order hold or a bilinear approximation are the usual alternatives — for turning an analysis done in continuous time into one a digital controller can execute sample by sample. ## Time-domain model In the time domain a zero-order hold is defined by its [[Impulse_response|impulse response]]: a single rectangular pulse of height 1/T and width T, the sampling period, so that a unit impulse arriving at time zero produces a flat plateau of height 1/T from t = 0 to t = T and nothing before or after. Formally, `h_r(t) = (1/T)*rect((t - T/2)/T)`, a rectangular pulse of unit area centred on T/2 rather than on the impulse that triggers it[^tib122]. Convolving that pulse with an ideal sample train — a sum of scaled [[Dirac_delta_function|Dirac delta]] impulses spaced T apart, one at every sampling instant — reproduces exactly the staircase a real digital-to-analog converter outputs: each impulse is replaced by a flat tread at the sample's value, held until the next impulse arrives and replaces it. The same idea is built directly into circuitry: a sample-and-hold amplifier charges a capacitor to the input voltage at the sampling instant and then disconnects it, leaving the capacitor's own charge to hold that voltage until the next instant, a zero-order hold implemented in analog components rather than computed in software. A concrete case makes the mathematical effect vivid: holding samples of a 1 Hz cosine taken at 3 samples per second produces an output that looks block-like and barely sinusoidal, while the same cosine held from samples taken at 10 per second looks convincingly like a smooth cosine again[^tib125]. Because the hold can only use the sample it has already received, its effect is a delay as well as a smoothing: the centroid of each rectangular tread sits at T/2 past the sample instant it represents, so a zero-order hold adds a fixed group delay of T/2 to every frequency component that passes through it, rather than the frequency-dependent distortion a non-linear delay would cause. This makes the hold a genuinely causal building block, and the simplest possible bridge across the [[Discrete_time_and_continuous_time|discrete-time/continuous-time]] boundary: the ideal reconstruction filter the [[Nyquist–Shannon_sampling_theorem|sampling theorem]] calls for is non-causal and therefore unusable in real time[^tib118], while a [[Linear_time-invariant_system|linear time-invariant system]] built as a zero-order hold needs only the one sample already in hand and a place to store it. ## Frequency-domain model In the frequency domain the same rectangular impulse response has a [[Fourier_transform|Fourier transform]] `H_ZOH(f) = T*sinc(f*T)*exp(-j*pi*f*T)`, where `sinc(x) = sin(pi*x)/(pi*x)`[^tib122]. The exponential term is exactly the group delay found in the time-domain model, a linear phase shift equal to T/2 seconds at every frequency; in a digital control loop that fixed lag must be budgeted like any other delay in the loop, since a zero-order hold's phase contribution matters even where its magnitude droop is mild. The magnitude term, the sinc envelope, is the part that costs something in amplitude. Unlike an ideal reconstruction filter, which is flat across the whole passband and zero above it, the sinc envelope droops steadily from a value of 1 at zero frequency to zero at the sampling frequency f_s = 1/T and every multiple of it, so a zero-order hold attenuates the top of the passband it is meant to pass unchanged. At exactly the [[Nyquist_frequency|Nyquist frequency]] f_s/2 the droop reaches `20*log10(2/pi)`, about −3.92 dB, a fixed fraction that does not depend on T[^tib122], an effect old enough in instrumentation to have its own name, the aperture effect, from the days when a mechanical sampling gate held a voltage across a finite aperture time rather than an electronic one doing the same job in nanoseconds. The same envelope also fails to suppress the spectral images the sampling process creates near f_s, 2f_s and beyond; it only tapers them, which is why textbooks describe a practical [[Digital-to-analog_converter|digital-to-analog converter]]'s output stage as, in effect, a stair-step followed by a [[Low-pass_filter|low-pass filter]][^dyer050]. Raising the sample rate, [[Oversampling|oversampling]] before conversion, pushes those images and the associated droop further from the band of interest; where that is impractical, a digital compensation filter shaped to the inverse of the sinc envelope can flatten the passband before the hold, at the cost of amplifying noise near the band edge, a standard remedy wherever the drooping few decibels near the top of the band matter more than the extra complexity. Control engineers more often meet the same operator in the s-domain, as a [[Laplace_transform|Laplace transform]] rather than a Fourier one: `H(s) = (1 - exp(-s*T))/s` is the transfer function of the identical rectangular pulse, and it is the standard way a zero-order hold is folded into a sampled-data feedback loop when the rest of the loop is analysed in continuous time. ## Microsims The primary sketch draws the zero-order hold two ways at once. Three draggable sliders set the sample rate f_s, the frequency of a test sine wave, and the cutoff of a reconstruction low-pass filter shown as a shaded band in the frequency pane. The time pane overlays the smooth input, the sample instants, and the resulting staircase so the reader can watch the treads track — or fail to track — the curve they are meant to approximate; the frequency pane draws the sinc envelope analytically alongside stems for the true tone and its spectral images near f_s and 2f_s, scaled by that same envelope, with the filter's passband edge shown as a moving vertical line. A diagnostics panel reports, among other figures, the samples per cycle, the droop at the input frequency and at the Nyquist frequency, the group delay, and whether any image energy still leaks past the reconstruction filter's cutoff. Moving that cutoff independently of the sample rate shows two failure modes separately: set it too high and the tapered images leak through as a buzzy overlay on the recovered tone; set it too low and the filter begins to cut into the wanted signal itself, a trade the diagnostics panel's image-leak readout makes explicit. Because the frequency pane is drawn from the closed-form spectrum of a sampled sine rather than measured from the staircase pixel by pixel, the droop and image heights the reader sees match the previous section's equations exactly, including the fixed droop at the [[Nyquist_frequency|Nyquist frequency]] that no choice of sample rate changes. A three.js companion, built on the [[Whittaker–Shannon_interpolation_formula]] framework sketch, renders the hold beside the ideal sinc reconstruction it approximates. *Try:* Push the sample-rate slider down until the samples-per-cycle readout drops toward two, and watch the diagnostics panel flip to "ALIASED" in the sketch while the staircase stops resembling the input it is holding. ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Zero-order_hold) : [Wikitube](https://en.wikitube.io/wiki/Zero-order_hold) Skeleton mirrored at revision 1235522344. Prose, emphasis and the microsims are Wikitube's own. ## See also - [[Digital-to-analog_converter]] - [[Whittaker–Shannon_interpolation_formula]] - [[Nyquist–Shannon_sampling_theorem]] - [[Nyquist_frequency]] - [[Low-pass_filter]] - [[Impulse_response]] - [[Oversampling]] ## References The primary sketch derives its frequency pane analytically from the known spectrum of a sampled sine rather than from a numerical transform of the staircase itself, and it draws the reconstruction filter as an ideal brick wall for clarity rather than a realizable circuit; both are illustrative simplifications. Page numbers below are PDF pages of the open editions cited. [^tib118]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 118–119 (PDF pages). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tib122]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 119–122 (PDF pages). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tib125]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 123–125 (PDF pages). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^dyer050]: Dyer, J.; Davis, C. *Measurement and Instrumentation: An Introduction to Concepts and Methods*. 2020, pp. 50–51 (PDF pages). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/measurement-and-instrumentation-an-introduction-to-concepts-and-methods . CC BY-NC-SA. <!-- Hubs: Signal_processing. Portals: PORTAL_Signal_Processing. Signal Processing portal wave 1 · 2026-09-17 · drafted. -->