[sdiy] discrete DAC accuracy

René Schmitz uzs159 at uni-bonn.de
Tue Jan 13 12:02:02 CET 2004


Hi Fredrik and Listers,

Fredrik Carlqvist wrote:
> Hello list!
> 
> I'm trying to calculate the absolute error of a discrete R-2R 16-bit DAC. If
> the resistor tolerance is 2%, is then the overall accuracy 2% for any binary
> code? At least it seems so in the 3-bit case. I don't have the tools for the
> 16-bit case.

The biggest error in an R2R DAC comes from the MSB. The accuracy of that 
determines how many more bits make sense. So that their contribution 
still are bigger than the error. With 2% resistors this would be 5 (!) 
Bits only. (1/2^5 = 3.125%)

This is contrary to the belief that not makeing use of the LSBs makes 
the DAC better... Its just that you don't make use of LSBs who are 
likely drowned in the noise anyway. The error is still the same.

> This should also imply that the maximum relative error between two
> consecutive binary codes is 4% since each code has a maximum absolute error
> of 2% and two consecutive codes can have opposing errors (as 0x8000 and
> 0x7fff). Am I right? 

Its still 2%. (The MSB alone can be seen as a divider, and opposing 
errors will result in an attenuation of (R*1.02/(R*0.98+R*1.02) -> 
(R/2R)*1.02) Resistors from the same manufacturing lot will exhibit 
smaller unit to unit variations, even if their absolute value is 
accurate only to 2% of what it says on the rings.

> This is of course not accurate enough for a VCO control voltage, but should
> be ok for a VCA, don't you think?

I don't know, 5 Bits doesn't sound so appealing to me. And 0.1%ers 
aren't that expensive. With these you could get to 9 or 10 Bits....


Cheers,
  René




More information about the Synth-diy mailing list