Variable ramp generator
Don Tillman
don at till.com
Thu Jul 8 20:56:14 CEST 1999
From: mbartkow at et.put.poznan.pl
Date: Thu, 8 Jul 1999 15:55:52 +0200
I like this. Two diodes smartly inserted into a wave mixer do the "min"
trick. There is a problem yet, how to scale the amplitudes of the rising
and the falling saw in order to ensure constant amplitude of the combined
wave. Needless to say the latter is necessary for further waveshaping.
(You realize this whole crazy thing was thought up while sitting in
the bathroom...)
Okay, we want:
a control voltage from, say, -1.0 volts to +1.0 volts,
two output currents, Iout1 and Iout2
1/Iout1 + 1/Iout2 should remain constant (at 1.0mA, we can scale later)
Iout1 should start near 1.0mA at Vc = -1.0V
hit 2.0mA at Vc = 0V.
hit some high value, say 15mA at Vc = +1.0V
Iout2 should go in the opposite direction
There's an exponential equality that is very useful here:
1/(1 + exp(A)) + 1/(1 + exp(-A)) = 1
(Easy to prove.)
And the 1+exp curve is just the sort of curve we're looking for.
So, for a range of roughly 1 to 16, choose a reasonable input
scaling factor, say ln(16 - 1)...
Iout1 = 1.0 + e^(2.708 * Vc)
and
Iout2 = 1.0 + e^(2.708 * (-Vc))
These curve are relative easy to implement with bipolar transistors.
A quick table (made in Excel) shows that it works:
Vc Iout1 Iout2 (1/Iout1 + 1/Iout2)
------------------------------------------
-1.00 1.0667 15.9992 1.0000
-0.95 1.0763 14.0998 1.0000
-0.90 1.0874 12.4410 1.0000
-0.85 1.1001 10.9922 1.0000
-0.80 1.1146 9.7268 1.0000
-0.75 1.1312 8.6217 1.0000
-0.70 1.1502 7.6565 1.0000
-0.65 1.1720 6.8136 1.0000
-0.60 1.1970 6.0774 1.0000
-0.55 1.2255 5.4344 1.0000
-0.50 1.2582 4.8729 1.0000
-0.45 1.2956 4.3824 1.0000
-0.40 1.3385 3.9541 1.0000
-0.35 1.3876 3.5800 1.0000
-0.30 1.4438 3.2533 1.0000
-0.25 1.5081 2.9680 1.0000
-0.20 1.5818 2.7188 1.0000
-0.15 1.6662 2.5011 1.0000
-0.10 1.7628 2.3110 1.0000
-0.05 1.8734 2.1450 1.0000
0.00 2.0000 2.0000 1.0000
0.05 2.1450 1.8734 1.0000
0.10 2.3110 1.7628 1.0000
0.15 2.5011 1.6662 1.0000
0.20 2.7188 1.5818 1.0000
0.25 2.9680 1.5081 1.0000
0.30 3.2533 1.4438 1.0000
0.35 3.5800 1.3876 1.0000
0.40 3.9541 1.3385 1.0000
0.45 4.3824 1.2956 1.0000
0.50 4.8729 1.2582 1.0000
0.55 5.4344 1.2255 1.0000
0.60 6.0774 1.1970 1.0000
0.65 6.8136 1.1720 1.0000
0.70 7.6565 1.1502 1.0000
0.75 8.6217 1.1312 1.0000
0.80 9.7268 1.1146 1.0000
0.85 10.9922 1.1001 1.0000
0.90 12.4410 1.0874 1.0000
0.95 14.0998 1.0763 1.0000
1.00 15.9992 1.0667 1.0000
-- Don
More information about the Synth-diy
mailing list