If we consider our digital audio samples
to correspond to successive moments in
time, then time shifting the signal by
samples
corresponds to a delay of
time units, where
is the
sample rate. (If
is negative, then we are saying that
the output predicts the input; this isn't practical in systems,
such as Pd, that schedule computations in order of
time.)
Figure 7.3 shows one example of a linear delay network: an assembly of delay units, possibly with amplitude scaling operations, combined using addition and subtraction. The output is a linear function of the input, in the sense that adding two signals at the input is the same as processing each one separately and adding the results. Moreover, they are time invariant, i.e., they create no new frequencies in the output that weren't present in the input.
In general there are two ways of thinking about
delay networks. We can think in the time domain, in which we draw waveforms as
functions of time (or of the index
), and consider
delays as time shifts. Alternatively we may think in the frequency domain, in which we dose the
input with a sinusoid (so that its output is a sinusoid at the same
frequency) and report the amplitude and/or phase change brought by
the network, as a function of the frequency (encoded in the complex
number
). We'll now look at the delay network of
Figure 7.3 in each of the two ways in
turn.
![]() |
Figure 7.4 shows the
network's behavior in the time domain. We invent some sort of
suitable test function as input (it's a rectangular pulse eight
samples wide in this example) and graph the input and output as
functions of the sample number
. This particular
delay network adds the input to a delayed copy of
itself.
A frequently used test function is an impulse, which is a pulse lasting only
one sample. The utility of this is that, if we know the output of
the network for an impulse, we can find the output for any other
digital audio signal--because any signal
is a
sum of impulses, one of height
, the next one
occurring one sample later and having height
, and so on. Later, when the networks get more
complicated, we will move to using impulses as input signals to
show their time-domain behavior.
On the other hand, we can analyze the same
network in the frequency domain by considering a (complex-valued)
test signal,
![]() |
Figure 7.5 is a graph,
in the complex plane, showing how the quantities
and
combine additively. To add complex
numbers we add their real and complex parts separately. So the
complex number
(real part
,
imaginary part
) is added coordinate-wise to the
complex number
(real part
, imaginary part
). This is shown graphically
by making a parallelogram, with corners at the origin and at the
two points to be added, and whose fourth corner is the sum
.
As the figure shows, the result can be
understood by symmetrizing it about the real axis: instead of
and
, it's easier
to sum the quantities
and
, because they are symmetric about the real
(horizontal) axis. To do this we rewrite the gain
as:
Since the network has greater gain at some
frequencies than at others, it may be considered as a filter, that can be used to separate
certain components of a sound from others. Because of the shape of
this particular gain expression as a function of
, this kind of delay network is called a
(non-recirculating) comb
filter.
The output of the network is a sum of two
sinusoids of equal amplitude, and whose phases differ by
. The resulting output amplitude can
therefore be checked against the prediction of Section 1.6--and they agree. The result
also agrees with common sense: if the angular frequency
is set so that an integer number of periods fit into
samples, i.e., if
is
a multiple of
, the output of the delay is
exactly the same as the original signal, and so the two combine to
make an output with twice the original amplitude. If the delay is
half the period, on the other hand (so that
) the delay output is out of
phase and cancels the input exactly.
This particular delay network has an interesting
application: if we have a periodic (or nearly periodic) incoming
signal, whose fundamental frequency is
radians
per sample, we can tune the comb filter so that the peaks in the
gain are aligned at even harmonics and the odd ones fall where the
gain is zero. To do this we choose
,
i.e., set the delay time to exactly one half period of the incoming
signal. In this way we get a new signal whose harmonics are
, and so it
now has a new fundamental frequency at twice the original one.
Except for a factor of two, the amplitudes of the remaining
harmonics still follow the spectral envelope of the original sound.
So we have a tool now for raising the pitch of an incoming sound by
an octave without changing its spectral envelope. This octave
doubler is the reverse of the octave divider introduced back in
Chapter 5.
The time domain and frequency domain pictures are complementary ways of looking at the same delay network. When the delays inside the network are smaller than the ear's ability to resolve events in time--less than about 20 milliseconds--the time domain picture becomes less relevant to our understanding of the delay network, and we turn mostly to the frequency-domain picture. On the other hand, when delays are greater than about 50 milliseconds, the peaks and valleys of plots showing gain versus frequency (such as that of Figure 7.6) become crowded so closely together that the frequency-domain view becomes less important. Both are nonetheless valid over the entire range of possible delay times.