Time-Varying Delay-Line Reads
If denotes the input to a time-varying delay, the output can be
written as




Let's analyze the frequency shift caused by a time-varying delay by
setting to a complex sinusoid at frequency
:



where





Comparing Eq.(5.6) to Eq.
(5.2), we find that the
time-varying delay most naturally simulates Doppler shift caused by a
moving listener, with
That is, the delay growth-rate,


Simulating source motion is also possible, but the relation
between delay change and desired frequency shift is more complex, viz.,
from Eq.(5.2) and Eq.
(5.6),


The time-varying delay line was described in §5.1. As discussed there, to implement a continuously varying delay, we add a ``delay growth parameter'' g to the delayline function in Fig.5.1, and change the line
rptr += 1; // pointer updateto
rptr += 1 - g; // pointer updateWhen g is 0, we have a fixed delay line, corresponding to








Note that when the read- and write-pointers are driven directly from a model of physical propagation-path geometry, they are always separated by predictable minimum and maximum delay intervals. This implies it is unnecessary to worry about the read-pointer passing the write-pointers or vice versa. In generic frequency shifters [275], or in a Doppler simulator not driven by a changing geometry, a pointer cross-fade scheme may be necessary when the read- and write-pointers get too close to each other.
Next Section:
Multiple Read Pointers
Previous Section:
Doppler Simulation via Delay Lines