I'm thinking of creating a precision low frequecy generator (<20HZ) by
taking a computer generated stereo sinewave output with (say) one
channel o/p 5000Hz and the other (say) 5002.5Hz, feeding into a
summing input of an op amp and then putting the signal through a low
pass filter to recover a 2.5Hz sine wave. Do you think this will work,
or have I missed something?
Dirk
You need to define precision.
How about this. You can make a simple sine wave generator feeding a
square wave to a switched capacitor filter. Now if the clock for the
switched capacitor filter was the output of the sound card, you would
get a much lower frequency sine wave than the clock. The square wave
generator is made by dividing down the switched capacitor filter
clock.
Let's do a simple example. The sound card is putting out 100Hz. Let
the clock to corner of the filter be 100. Now you have a filter at
1Hz. Divide the switched capacitor clock by 128 to make things simple.
This gives you a square wave at 0.78125Hz. This is in the passband of
the switched capacitor filter. The first harmonic you need to worry
about is the 3rd, or 2.34375Hz. Use an elliptic switched capacitor
filter with a transition ratio less that 2, and the 3rd harmonic and
the remaining harmonics will be filtered.
The frequency of the sine wave will be very precise. Fidelity is
another story. You would be doing well to get about 70db down.
There are trick you can do to reduce the harmonics fed to the switched
capacitor filter. One simple trick is to feed a signal that is 1 1 1
0 -1 -1 -1 0 , that is, reduce the size of the jump, which in turn
reduces the harmonics. You could also generate a signal with resistor
taps to reduce the jumps further.
If you have a bigger budget, use a digital sine wave generator scheme
(dac and rom), where again the clock is from the sound card.
I saw a DAC on the parallel port mentioned. This doesn't work well
unless you use DOS. The port control timing is not very good in modern
operating systems.