Numerical Computation of Group Delay
The definition of group delay,
A more useful form of the group delay arises from the
logarithmic derivative of the frequency response. Expressing
the frequency response
in polar form as
Since differentiation is linear, the logarithmic derivative becomes
im
im
In this case, the derivative is simply
where
denotes ``
ramped'', i.e., the
th coefficient of
the polynomial
is
, for
. In
matlab, we may compute Br from B via the
following statement:
Br = B .* [0:M]; % Compute ramped B polynomialThe group delay of an FIR filter
im
re
D = real(fft(Br) ./ fft(B))where the fft, of course, approximates the Discrete Time Fourier Transform (DTFT). Such sampling of the frequency axis by this approximation is information-preserving whenever the number of samples (FFT length) exceeds the polynomial order
Finally, when there are both poles and zeros, we have
Straightforward differentiation yields
and this can be implemented analogous to the FIR case discussed above. However, a faster algorithm (usually) results from converting the IIR case to the FIR case:
where
C = conv(B,fliplr(conj(A)));It is straightforward to show (Problem 11) that
and the group delay computation thus reduces to the FIR case:
re
Next Section:
Computing Reflection Coefficients to Check Filter Stability
Previous Section:
Vocoder Analysis








