## Tapped Delay Line (TDL)

A *tapped delay line* (TDL) is a delay line with at least one
``tap''. A delay-line *tap* extracts a signal output from
somewhere within the delay line, optionally scales it, and usually
sums with other taps for form an output signal. A tap may be
*interpolating* or *non-interpolating*. A non-interpolating
tap extracts the signal at some fixed integer delay relative to the
input. Thus, a tap implements a shorter delay line within a larger
one, as shown in
Fig.2.18.

Tapped delay lines efficiently simulate *multiple echoes* from
the same source signal. As a result, they are extensively used in the
field of *artificial reverberation*.

### Example Tapped Delay Line

An example of a TDL with two internal taps is shown in Fig.2.19. The total delay line length is samples, and the internal taps are located at delays of and samples, respectively. The output signal is a linear combination of the input signal , the delay-line output , and the two tap signals and .

The difference equation of the TDL in Fig.2.19 is, by inspection,

### Transposed Tapped Delay Line

In many applications, the *transpose* of a tapped delay line is
desired, as shown in Fig.2.20, which is the transpose of the tapped
delay line shown in Fig.2.19. A transposed TDL is obtained from a
normal TDL by formal *transposition* of the system diagram. The
transposition operation is also called *flow-graph reversal*
[333, pp. 153-155]. A flow-graph is transposed
by reversing all signal paths, which necessitates signal branchpoints
becoming sums, and sums becoming branchpoints. For single-input,
single-output systems, the transfer function is the same, but the
input and output are interchanged. This ``flow-graph reversal
theorem'' derives from *Mason's gain formula* for signal flow
graphs.
Transposition is used to convert direct-forms I and II of a digital
filter to direct-forms III and IV, respectively
[333].

### TDL for Parallel Processing

When multiplies and additions can be performed in parallel, the
computational complexity of a tapped delay line is
multiplies and
additions, where is the number of
taps. This computational complexity is achieved by arranging the
additions into a *binary tree*, as shown in Fig.2.21 for the
case .

### General Causal FIR Filters

The most general case--a TDL having a tap after *every* delay
element--is the general causal *Finite Impulse Response (FIR)*
filter, shown in Fig.2.22. It is restricted to be *causal*
because the output may not depend on *``future''* inputs
, , etc. The FIR filter is also called a
*transversal filter*. FIR filters are described in greater
detail in [449].

The *difference equation* for the th-order FIR filter in Fig.2.22
is, by inspection,

*transfer function*is

The STK class for implementing arbitrary direct-form FIR filters is
called Fir. (There is also a class for IIR filters named Iir.)
In Matlab and Octave, the built-in function `filter` is
normally used.

**Next Section:**

Comb Filters

**Previous Section:**

Digital Waveguides