[sdiy] Continously Variable Symmetry Triangle
Don Tillman
don at till.com
Tue Jul 8 09:46:20 CEST 2003
> Date: Mon, 07 Jul 2003 23:51:37 +0200
> From: ASSI <Stromeko at compuserve.de>
>
> I've found Don Tillmans article(*) and his brilliant idea that
> saves the multiplier that would otherwise be needed to keep the
> amplitude constant
Thank you!
> However, the symmetry modulation of that circuit is far from
> linear with the CV (x is the bipolar modulation variable with a
> range of [-1,1]).
True, the modulation is not linear; it's a bell-shaped curve where the
amount of modulation slows down significantly at the endpoints.
Actually... thanks for bringing this up. I hadn't thought about that
aspect of the circuit very closely because I was happy enough to find
any reasonable solution to the problem.
Some explanation for folks just tuning in: My circuit is a voltage
controlled duty cycle sawtooth waveshaper. The duty cycle control
voltage input is expected to be from -5.0V to +5.0V, and the resulting
duty cycle of the sawtooth is (if I have my scaling calculation
correct):
Vc DutyCycle
+5.0 9%
+4.0 14%
+3.0 20%
+2.0 28%
+1.0 39%
0.0 50%
-1.0 61%
-2.0 72%
-3.0 80%
-4.0 86%
-5.0 91%
So the control is not linear. While this nonlinearity is perhaps an
annoyance on an LFO, I'll claim that it's a big feature on an audio
frequency VCO. Our sense of hearing doesn't really hear duty cycle as
such; we hear the harmonic content changing, and as the duty cycle of
the waveform approaches 0% or 100% the harmonic content changes very
quickly. So slowing down that change at the endpoints makes the
control more musically functional. Both for this circuit and a
standard PWM square wave.
(This is theoretical talk; I haven't actually built the circuit.)
That's cool, but it leaves us in a less than elegant situation in the
user interface department: the voltage controlled duty cycle sawtooth
circuit has an inappropriate curve when used as an LFO, and, that
curve is substantially different than the standard PWM square wave
circuit.
The second problem can be solved by deriving the PWM square wave from
the voltage controlled duty cycle sawtooth circuit -- just feed the
two OTA outputs into a comparator.
So that leaves linearizing the duty cycle curve when using this
circuit as an LFO...
> The sum of both currents (or gains) in Don's circuit is
>
> (1) 4 cosh^2 x/2
I don't know what the significance of the sum of both currents means
to the linearity of the modulation.
The duty cycle for a given control voltage is:
DutyCycle = 1 / (1 + e^(Vc * Kscale))
Where Vc is the control voltage, Kscale is a number like 0.46 for the
values in the schematic, and a DutyCycle of 0.5 is a 50% triangle
wave. (That's how I made the table above.)
This is the same equation as the transfer function of a diff amp
(ignoring various constants and scaling factors). So I think you can
compensate for this nonlinearity exactly by preceeding the circuit
with an anti-diff-amp (a diff amp in the feedback loop of an opamp).
So I would recommend deriving a PWM square wave at the same time and
linearizing the control voltage only if the circuit is going to be
used as an LFO.
-- Don
--
Don Tillman
Palo Alto, California
don at till.com
http://www.till.com
More information about the Synth-diy
mailing list