Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
First-Order Allpass Interpolation
A delay line interpolated by a first-order allpass filter is drawn in
Fig.4.3.
Intuitively, ramping the coefficients of the allpass gradually
``grows'' or ``hides'' one sample of delay. This tells us how to
handle resets when crossing sample boundaries.
The difference equation is
Thus, like linear interpolation, first-order allpass interpolation requires
only one multiply and two adds per sample of output.
The transfer function is
 |
(5.2) |
At low frequencies (
), the delay becomes
 |
(5.3) |
Figure 4.4 shows the phase delay of the first-order
digital allpass filter for a variety of desired delays at dc. Since
the amplitude response of any allpass is 1 at all frequencies, there
is no need to plot it.
Figure 4.4:
Allpass-interpolation phase
delay for a variety of desired delays (exact at dc).
![\includegraphics[width=\twidth]{eps/allpass1}](img946.png) |
The first-order allpass interpolator is generally controlled by
setting its dc delay to the desired delay. Thus, for a given desired
delay
, the allpass coefficient is (from
Eq.(4.3))
From Eq.(4.2), we see that the allpass filter's pole is at
, and its zero is at
. A pole-zero diagram for
is given in Fig.4.5. Thus, zero delay is provided
by means of a pole-zero cancellation! Due to inevitable
round-off errors, pole-zero cancellations are to be avoided in
practice. For this reason and others (discussed below), allpass
interpolation is best used to provide a delay range lying wholly
above zero, e.g.,
Figure 4.5:
Allpass-interpolator pole-zero diagram for
.
![\includegraphics[width=\twidth]{eps/ap1pz}](img952.png) |
Note that, unlike linear interpolation, allpass interpolation is not
suitable for ``random access'' interpolation in which interpolated
values may be requested at any arbitrary time in isolation. This is
because the allpass is recursive so that it must run for enough
samples to reach steady state. However, when the impulse response is
reasonably short, as it is for delays near one sample, it can in fact
be used in ``random access mode'' by giving it enough samples with
which to work.
The STK class implementing allpass-interpolated delay is
DelayA.
Subsections
Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]