Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
can you give a bit more detail about what you mean? are you doing delay for synchronization? – Kortuk Oct 22 '10 at 2:45
It sounds like an adjustable echo or reverb effect he's going for. – Jesse Oct 22 '10 at 2:48
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 – tcrosley Oct 22 '10 at 15:22
That is awesome. – Kellenjb Oct 22 '10 at 15:31
up vote 8 down vote accepted

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.

share|improve this answer
Hmm, very interesting. – Kellenjb Oct 22 '10 at 13:25
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...) – Nick T Oct 22 '10 at 14:38
@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. – endolith Oct 22 '10 at 16:25
@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. – Clint Lawrence Oct 22 '10 at 22:18
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. – supercat May 17 '13 at 1:12

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 (switched capacitor = discrete time device) 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.

share|improve this answer
endolith, that answer is sexy. – Kortuk Oct 22 '10 at 16:12
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. – Clint Lawrence Oct 22 '10 at 22:21
@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". – endolith Oct 22 '10 at 23:40
3 classifications that are used in signal processing: Continuous, Discrete, and Digital – Kellenjb Oct 25 '10 at 17:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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