DAC "error"
Paul Schreiber
synth1 at airmail.net
Thu Jan 13 19:45:32 CET 2000
>
> First off, this math was slightly off, sorry.
>
> 128 * 1/12V = 10.666V
> 10.666 / 2096 = .002604V LSB step size
> .002604 / 4 = .000651V error
>
> > No, the problem is that the "error" is even if the DAC is "perfect", you
can
> > hit in steps of 2.584mv. The error is 2.584/83.3 or 3,1%! Barf!
>
> I believe what you are saying is that the desired output voltage might
> fall between two steps and therefore the error is related to the step
> size or resolution of the DAC. This is certainly true if the
> application requires accurate selection of arbitrary voltages.
>
> My point was that if instead the application only required selecting
> 83.3mV steps starting from 0V then one could tune the DAC output so that
> every 32nd step was 83.3mV higher (this is where the .002604V LSB step
> size comes from, as 32 * .002604 = .0833V). In this way the error is
> related to the relative accuracy (1/4 LSB or .000651V) of the DAC
> instead.
Yes and no.
Lets say you want to step 83.3mv exactly with a 8-bit DAC. In order to do
this, you
manipulate the *reference voltage* so that:
256 step * 83.3mv/step = 21.33V ! nope
OK, let's try this: a 8-bit DAC with 4 steps (codes) per note:
256 steps * 20.825mv = 7.23V nope
OK, try 8 steps per note:
256 * 10.4125mv = 3.361V now you have something to work from!
But 10.4mv is too big an error, as I suggest you need say 1mv for agrument's
sake. So you can see
the 8-bit offer "too few choices" to cover a wide range.
So let's again go "backwards" with a 12-bit system. For a "perfect DAC", we
instantly pick
a Vref of 4.096V (made by Maxim) so the "perfect DAC" can hit from 0 to
4.095V in 1mv steps.
See, it really doesn't matter *what* value the DAC hits, just *how close*!
In a VCO application,
I condend if you don't hit within 500uV *total error* you are asking for
trouble! But for a "budget" system,
a 12-bit DAC with 1/4LSB linearity with a Vref of 4.096V and 20ppm drift
should cover 95%
of gear. This would *average* less than 0.75% error, good enough to satisfy
most ears.
But if you are driving multiple, tracking VCOs you better buy 16-bits!
The lesson I'm teaching is that you think only in terms of *error*. And that
has 2 components:
the "granularity" of the DAC (number of bits) and the lineraity (how
accurate can you hit a specific voltage
within 1 step?). And then the system components: the drift of the reference
and any buffers after the DAC!
But, with cheap serial I/O 14-bit DACs from Analog Devices, Maxim and Linear
Tech why even *consider*
less?
Paul S.
More information about the Synth-diy
mailing list