Newsgroups: sci.electronics
Subject: Clocks
Date: Tue, 29 Dec 1992 19:42:00

Thomas David Kehoe  Clocks

TD>I have a different clock problem...when using bucket brigade
TD>devices (BBDs), the clock frequency is twice the sampling
TD>frequency.  Is there a way to make the clock frequency
TD>four or eight times the sampling frequency?
TD>
The problem here sounds (pun?---ah, well) like a fundamental sampling
theory problem.  The BBD takes one sample at each clock ... there is
no
information inside each sample.  The Nyquist bandwidth is half the
sampling frequency.  Now, let's assume that you are sampling at
16kHz.
The Nyquist bandwidth is then 8kHz.  During the initial sampling, the
voltages in each "bucket" would be the same for either a 7kHz or a
9kHz
input signal.  This means that you had best do something to guarantee
that
the initial input frequencies are below 8 kHz, or, no matter what you
do,
things are going to end up sounding pretty odd.

But we're not finished.  Even if you *do* exclude all the above-8-kHz
frequencies that would "alias" to non-harmonically-related lower
frequencies, the raw output of your BBD would *still* contain higher
frequencies.  (Think of the output as a superposition of square waves
-
then look up the frequency spectrum of a square wave.)  As you've
noticed,
one of the frequencies that comes through is the Nyquist frequency
itself!

You *need* a low-pass filter on output to correctly reconstruct the
sound.
A handy low pass filter is the ear;  most adults simply do not hear
anything above 15kHz or so.  (Go to rock concerts if you want to make
your
biological low pass filter more effective.)

The cheapest way out of this is probably to stack up two BBD's to
double
the delay, then double your clock frequency to get back to the delay
you
want.  A sharp low pass filter with a notch tuned to the Nyquist
frequency
might work reasonably well.  Simple RC filters will almost certainly
*not*
work.  (An interesting - and solvable - filter theory problem is to
determine the behavior of an infinite-order RC filter network;  the
behavior, especially given the number of components used, is
disappointing, being not much different from a single RC filter.)

Try the following circuit - a Salen-Key 2nd order LP filter followed
by an
LC Notch filter;  it might do the trick, and with op-amps < $.50,
could be
cheap enough:

                         |~\              /-----Output
 in ---R---X----R--X-----|+ \             |
           |       |     |   \____x___r___X____L_____c____
           |       C2    |   /    |                       |
           C1      |   ,-|- /     |                      Gnd
           |      Gnd  | |_/      |
           |___________X__________|

X= Connection Point - not a component
R=1K (or so)
C1=C2=1.3/(2 * pi * NyquistFrequency * R)
        the 1.3 factor is a "fudge" to make the cutoff frequency just
        a little bit lower than Nyquist.  Nyquist = ClockFreq/2
r=(2 * pi * NyquistFreq * L) / 10   ... give or take.
        note: the smaller r, the sharper the highfreq notch, but the
              op-amp might have troubles with r < 100 ohms or so
(2 * pi * NyquistFreq * L) = 1 / (2 * pi * NyquistFreq * c)
        tune the LC to "short out" the Nyquist component of the
output
        signal.  BTW, the resistance of L should be << the value of
r.
        You might want to make L or c tunable.
If you keep the value of C1 * C2 constant, you can put a bit of a peak
in
the output response, just before the notch.  This might sound better. 
To
make a peak in the response, increase the value of C1 while reducing
the
value of C2.

Before anybody complains that this is an inelegant circuit, I already
know
that.  But, it is simple and easy.  Besides, a full-fledged 9th order
eliptical filter would have been a real pain to type out.

I hope this works.  Good luck.

-Dick
 rplourde@leotech.mv.com



 * Origin: Leo Technology (603)432-2517/432-0922 (HST/V32)
(1:132/189)
Xref: sparky sci.electronics:21312 sci.energy:6326 rec.autos.tech:17024