14
\$\begingroup\$

I would like to make a circuit that causes an audio delay using discrete components.

I know I can do small phase shifts using an opamp, but I am looking for something in the millisecond or second range.

Is there any way, at least easily, to do this with discrete components?

EDIT: I would like to know this for both the purposes of synchronization as well as reverb and such. This may take two completely different paths, but both paths are applicable to work I will be doing.

\$\endgroup\$
5
  • \$\begingroup\$ can you give a bit more detail about what you mean? are you doing delay for synchronization? \$\endgroup\$
    – Kortuk
    Oct 22, 2010 at 2:45
  • 1
    \$\begingroup\$ It sounds like an adjustable echo or reverb effect he's going for. \$\endgroup\$
    – Jesse
    Oct 22, 2010 at 2:48
  • 2
    \$\begingroup\$ Not offering this as a solution, but I remember back in the 1960's working with a band that had a reverb using a coiled spring with a transducer at one end and a pickup on the other. Worked pretty well unless someone accidentally kicked the box with their shoe, then all hell broke loose. en.wikipedia.org/wiki/File:Reverb-2.jpg \$\endgroup\$
    – tcrosley
    Oct 22, 2010 at 15:22
  • \$\begingroup\$ That is awesome. \$\endgroup\$
    – Kellenjb
    Oct 22, 2010 at 15:31
  • \$\begingroup\$ It's probably easier to do with digital circuitry. \$\endgroup\$ Jan 11, 2018 at 21:58

2 Answers 2

12
\$\begingroup\$

One common method is to use a circuit know as a bucket brigade.

These circuits consist of a chain of capacitors. Connecting the capacitors are switches. By driving the control signal for the switches the signal is transferred from one capacitor to the next each time the control (or clock) signal transitions. The time delay you can achieve is limited by the number of stages you have and the slowest sampling rate you can tolerate.

Because you need many stages to create a longer delay it is not really practical to implement this with discrete components. There are a few ICs that implement the function varying from 512 to 4096 stages. With 4096 stages a 20kHz sampling rate will give you 100 ms of delay. You could cascade a number of delay lines together, but you will be losing signal quality with each section.

If signal quality and the length of the delay is important, then digital sampling techniques will be very hard to pass up.

\$\endgroup\$
6
  • \$\begingroup\$ Hmm, very interesting. \$\endgroup\$
    – Kellenjb
    Oct 22, 2010 at 13:25
  • 2
    \$\begingroup\$ Something of a theory question: Is it even possible to create a frequency-independent time-shift circuit with just linear components? (ideal resistors, op-amps, caps...) \$\endgroup\$
    – Nick T
    Oct 22, 2010 at 14:38
  • \$\begingroup\$ @Nick: How accurate does it need to be? A frequency-independent time shift means a linear phase shift with frequency, right? So I'd guess it's possible to approximate with all-pass filters. \$\endgroup\$
    – endolith
    Oct 22, 2010 at 16:25
  • 1
    \$\begingroup\$ @Nick A bucket brigade is a sampling circuit. Although it is not digital it has the same sampling rate and frequency response limitations that digital techniques. Aside from those fundamental limitation (that apply to digital sampling techniques also) this is a frequency-independent time shift. \$\endgroup\$ Oct 22, 2010 at 22:18
  • 1
    \$\begingroup\$ Would a 4096-element bucket-brigade device actually pass each signal through 4096 caps? I would think it would be much more efficient to each cap connected in sequence to a common bus which would alternate between storing a value and reading out the next one. \$\endgroup\$
    – supercat
    May 17, 2013 at 1:12
8
\$\begingroup\$

There are a lot of ways to get a delay, but I don't know of any that just use "discrete components". The best way to do reverb in the modern world is to use a DSP.

The only way I know of to do this "analog" is to use physical objects like rooms or metal plates, or magnetic tape.

"In the millisecond or second range" is a pretty huge range, you know. If you have a circuit that produces 1 ms of delay, you would need 1,000 of them to get to 1 second. Older reverbs created long tails using feedback, rather than long delay elements. Schroeder reverb, enhanced version

You can use all-pass filters to add short delays, but they delay different frequencies by different amounts, resulting in phase distortion. 4 - Delay correction, Projects

alt text alt text

Otherwise you need to use bucket brigade devices, which emulate a slow transmission line. But they aren't really analog (they used switched capacitors which are analog in voltage but discrete in time, so they alias etc just like digital) and aren't feasible to make from discrete components anyway.

bucket brigade circuit Figure 1: A simple eight-stage bucket-brigade device (or BBD) delay line.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ bucket brigade are analogue. They are a sampling circuit. What they don't do is quantize. Digital sampling is the combination of sampling (zero order hold) in the time axis, and quantisation (analogue to digital conversion) on the amplitude axis. \$\endgroup\$ Oct 22, 2010 at 22:21
  • \$\begingroup\$ @Clint: Yeah, but it's not "really" analog. :) PWM amplifiers are analog, too, but it's so different from what we usually mean by the word that they get sloppily called "digital amplifiers". \$\endgroup\$
    – endolith
    Oct 22, 2010 at 23:40
  • 3
    \$\begingroup\$ 3 classifications that are used in signal processing: Continuous, Discrete, and Digital \$\endgroup\$
    – Kellenjb
    Oct 25, 2010 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.