[sdiy] Digital ADSR - Converting Digital into Piecewise Linear
David G. Dixon
dixon at interchange.ubc.ca
Sun Feb 20 00:48:39 CET 2011
> If you have a clock that is controlling output data rate that is
> based on a sawtooth. Then you have a synchronous and continuous
> analog function that can be used to control an analog cross fader.
>
> If you take two DACs and output the current sample in the first one
> and the next sample in the second DAC. Using the sample clock
> sawtooth wave to cross fade to the next sample instead of stepping
> gives you a linear line segment rather than a staircase. I believe
> this would be true linear interpolation and covert the digitally
> stored samples back into a continuous analog function.
This is very similar to Henry Walmsley's scheme for interpolating between
consecutive voltages in a fader-driven variable waveform VCO.
> Two linear wired 2164 VCAs with a precision control voltage inversion
> and offset op-amp is all that is required to make an analog cross
> fader.
Indeed, I use this subcircuit in several of my own designs, as either a
crossfader or a ring modulator. My new Tricore VCO will use it to generate
through-zero FM. It's an awesomely little circuit.
> Why John Blacet didn't prewire his dual linear VCA module this
> way is probably because his envelope generators already output the
> offset and inverted signal needed to make a cross fader out of two
> linear VCAs. But the single quibble I can come up with for the whole
> Blacet module line is that the Dual Linear VCA module wasn't prewired
> as a cross fader.
One can make the same complaint about the Doepfer A-133 VC Polarizer, which
is essentially the same circuit.
> The line generated will have angular steps rather than a continuous
> curve. But the angular direction changes in the line should be much
> less audible than a discrete step. In this case I'm guessing that a
> reconstruction filter at half the sample rate might eliminate the
> "corners" on the line and output a smooth curve.
>
> If I recall correctly Don Buchla used this technique in the model 248
> Multiple Arbitrary Function Generator. In the model 257 he generates
> a linear interpolation of two functions by controlling two 4066
> switches into a common node with a 31.2 Khz clock and 0 to 100%
> pulse width modulation then reconstructing the analog function by
> filtering the pulse train with a 15 Khz Lowpass Sallen-Key filter.
>
> There was also an article on piece wise linear synthesis in
> Electronotes where the author introduced the concept of a "ramp shot"
> circuit which could be chained to generate piece wise linear functions.
More information about the Synth-diy
mailing list