Contenu principal

Group Delay and Phase Delay

The group delay of a filter is a measure of the average time delay of the filter as a function of frequency. The group delay is defined as the negative first derivative of the filter's phase response. If the complex frequency response of a filter is H(ejω), then the group delay is

τg(ω)=-ddωH(ejω),

where H(ejω) is the continuous (unwrapped) phase of H(ejω).

The phase delay of a filter is defined as the negative of the phase divided by the frequency:

τp(ω)=-H(ejω)ω.

FIR Filters

The complex frequency response of an order-Nlinear-phase FIR filter can be expressed as H(ejω)=A(ω)e-jωN/2, where A(ω) is the amplitude. This table defines the phase, group delay, and phase delay.

Specification

Definition

Function

Phase

H(ejω)={-ωN/2,A(ω)>0-ωN/2+π,A(ω)<0

phasez

Group delay

τg(ω)=-ddωH(ejω)={N/2,A(ω)>0N/2,A(ω)<0

grpdelay

Phase delay

τp(ω)=-H(ejω)ω={N/2,A(ω)>0N/2-π/ω,A(ω)<0

phasedelay

For a linear-phase FIR filter, the group delay is constant over the entire frequency range. However, the phase delay is constant only at the frequencies where A(ω) is positive.

Verify that a fourth-order FIR filter with a symmetric vector of coefficients has linear phase.

fs = 2000;
fc = 200;
N = 4;
b = fir1(N,fc/(fs/2))
b = 1×5

    0.0284    0.2370    0.4692    0.2370    0.0284

islinphase(b)
ans = logical
   1

Use the grpdelay function to compute group delay of a filter. The group delay is one-half the filter order.

grpdelay(b,1,[],fs)

Figure contains an axes object. The axes object with title Group Delay, xlabel Frequency (Hz), ylabel Group delay (samples) contains an object of type line.

Use the phasedelay function to compute the phase delay of a filter. For this linear-phase FIR filter, the phase delay and group delay are constant over the entire frequency range.

phasedelay(b,1,[],fs)

Figure contains an axes object. The axes object with title Phase Delay, xlabel Frequency (Hz), ylabel Phase delay (rad/Hz) contains an object of type line.

IIR Filters

A linear phase response imposes the constraint H(z)=H(1/z), where z=ejω. To satisfy this constraint, an IIR filter would require to have poles outside the unit circle, which makes the filter unstable. Therefore, IIR filters do not have a linear phase.

Verify that a fourth-order Butterworth lowpass filter does not have linear phase.

[b,a] = butter(N,fc/(fs/2));
islinphase(b,a)
ans = logical
   0

Plot the group delay and the phase delay of the Butterworth lowpass filter. Since IIR filters lack linear phase, the group delay and phase delay are not constant over frequency. Also, the maxima in the group delay and phase delay plots are located around the filter cutoff frequency.

grpdelay(b,a,[],fs)

Figure contains an axes object. The axes object with title Group Delay, xlabel Frequency (Hz), ylabel Group delay (samples) contains an object of type line.

phasedelay(b,a,[],fs)

Figure contains an axes object. The axes object with title Phase Delay, xlabel Frequency (Hz), ylabel Phase delay (rad/Hz) contains an object of type line.

See Also

|