An allpass filter has unity magnitude response but variable phase delay properties.
The difference equation for a first-order allpass interpolation filter is given by
A block diagram for a first-order allpass interpolation filter is shown in Fig. 16.
Figure 16:
A first-order allpass interpolated delay line.
The frequency response of the first-order allpass interpolation filter is
At low frequencies (as
, the delay becomes
Figure 17 shows the phase delay, calculated with the Matlab script interpolate.m, of the first-order allpass filter for fractional delay values between 0.1 and 2.
Figure 17:
Phase delay for allpass interpolation with fractional delays between 0.1 and 2.
For a given desired fractional delay , the allpass coefficient is determined as
where is best maintained in the range
to achieve maximally flat phase delay response together with the fastest decaying impulse response, a desired characteristic when dealing with dynamic delay values and their associated transient responses.
The transient responses, calculated with the Matlab script aptransient.m, of first-order allpass filters used to implement several different fractional delay values are shown in Fig. 18. Note how values of closer to 0.0 have significantly longer transient “tails”.
Figure 18:
Impulse response of first-order allpass filters with fractional delay settings of = 0.1, 0.4, 0.7, and 1.0.