DSPRelated.com

Group Delay

Category: Fundamentals

Group delay is the negative derivative of a filter's or system's phase response with respect to frequency, representing how long different frequency components of a signal are delayed as they pass through the system. It is expressed in units of time (seconds or samples) and quantifies whether all frequencies experience the same delay or whether some are delayed more than others.

In practice

In digital filter design, group delay is a practical measure of how much a filter distorts the shape of a signal in the time domain. A filter with constant (flat) group delay across its passband delays all frequency components equally, preserving waveform shape -- this is called linear phase behavior (linear phase is formally defined by the phase response being an affine function of frequency, of which constant group delay is the direct consequence). FIR filters with symmetric or antisymmetric coefficients always exhibit linear phase under standard real-coefficient DSP assumptions. Most IIR filters (Butterworth, Chebyshev, elliptic) have non-constant group delay, meaning different frequency components arrive at different times and the output waveform can be distorted relative to the input even when all frequencies are within the passband -- though the effect may be minimal if the signal is narrowband or the delay variation across the occupied band is small.

In embedded control and signal-processing applications, group delay matters when the timing of a signal's shape -- not just its spectral content -- is important. Examples include ECG and vibration-monitoring systems, where phase relationships between frequency components carry diagnostic meaning, and feedback control loops, where excess delay reduces phase margin and can destabilize the loop. In these contexts, a designer might choose a linear-phase FIR over an IIR to avoid group delay variation, or select a Bessel IIR filter, which is specifically optimized for maximally flat group delay (in the analog prototype sense; flatness is approximate after discretization).

Computing group delay analytically requires differentiating the unwrapped phase of the filter's frequency response with respect to angular frequency. In practice this is often done numerically: the EmbeddedRelated post "Computing the Group Delay of a Filter" covers how to compute it efficiently, including a direct formula that avoids numerical differentiation artifacts. Knowing the actual group delay profile of a deployed filter helps predict latency at specific frequencies and catch unexpected phase distortion before it shows up as a mysterious artifact in data.

When total filter latency -- including group delay at signal frequencies of interest -- is too large for a given application, techniques such as running filters forward and backward (zero-phase filtering, feasible offline but not in real time) or using reduced-delay IIR designs can help. The EmbeddedRelated posts "Reduced-Delay IIR Filters" and "Part 11. Using -ve Latency DSP to Cancel Unwanted Delays in Sampled-Data Filters/Controllers" discuss practical approaches to managing or compensating for unwanted delay in both offline and real-time systems.

Discussed on DSPRelated

Frequently asked

What is the difference between group delay and phase delay?
Phase delay at a given frequency is the total accumulated phase shift divided by frequency (-phi(w)/w), representing the delay of a pure sinusoid at that frequency. Group delay is the negative derivative of phase with respect to frequency (-d*phi/dw), representing the delay of a narrowband signal (such as an amplitude-modulated envelope or a transient feature) centered at that frequency -- though for wideband signals this interpretation is approximate rather than exact. For a linear-phase filter the two are equal and constant; for most IIR filters they differ and both vary with frequency.
Why do symmetric FIR filters have linear (constant) group delay?
A symmetric FIR filter of length N has a phase response that is exactly linear: phi(w) = -w * (N-1)/2. Its derivative -- the group delay -- is therefore constant at (N-1)/2 samples across all frequencies. This is a mathematical consequence of the coefficient symmetry (or antisymmetry) and holds regardless of the specific coefficient values, as long as symmetry is maintained under standard real-coefficient DSP assumptions.
Does non-constant group delay always matter in practice?
Not always. If you only care about the magnitude of a signal within a band (e.g., detecting the presence or energy of a tone), non-constant group delay has no perceptible effect. It becomes important when the relative timing of frequency components matters -- such as in pulse-shape integrity, wideband transient detection, ECG analysis, or feedback control where delay directly affects phase margin.
How can I measure or estimate the group delay of a filter I have already implemented?
One numerical approach is to compute the FFT of the filter's impulse response to get the complex frequency response, unwrap the phase, then numerically differentiate with respect to frequency bin. A more robust direct method avoids the differentiation step entirely -- see the EmbeddedRelated post 'Computing the Group Delay of a Filter' for an efficient formula. For a deployed hardware system, the post 'Delay estimation by FFT' covers how to estimate delay from measured input/output signals.
Can group delay be negative, and what would that mean physically?
Mathematically, a filter transfer function can produce a region of negative group delay over some frequency range; this occurs in certain IIR designs and can appear in specific frequency regions of some all-pass sections, depending on the poles and zeros involved. Physically, negative group delay in a passive causal system does not allow a signal to arrive before it is sent -- it means the peak of an amplitude-modulated envelope appears to advance slightly, an effect that is real but bounded by causality. In DSP, predictive or look-ahead filter structures can also synthesize negative group delay over a band of interest; the EmbeddedRelated post 'Part 11. Using -ve Latency DSP to Cancel Unwanted Delays in Sampled-Data Filters/Controllers' discusses this technique for compensating unwanted delays.

Differentiators vs similar concepts

Group delay is often confused with propagation delay (a fixed, frequency-independent bulk latency through a physical medium or logic stage) and with phase delay (the total phase shift divided by frequency at a single tone). Group delay specifically characterizes how the envelope or shape of a wideband or modulated signal is delayed, and it is frequency-dependent for any non-linear-phase system. It is also distinct from algorithmic or pipeline latency, which is a fixed integer number of samples introduced by buffering or look-ahead in a DSP implementation rather than by the filter's phase response.