[sdiy] discrete DAC accuracy

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


Fredrik Carlqvist wrote:
> I appologize if I seem daft, but please try the following: 
> 
> The relative error between two consecutive codes will be largest at
> roll-over pairs like 0x8000-0x7FFF, 0x1000-0x0FFF etc. A pair like
> 0x8000-0x8001 will have a very small relative error.

Indeed.

> Worstcase absoulte error for the code 0x8000 is 2% (1.02/2.00) with 2%
> resistors. The absolute error for the code 0x7FFF is also 2%. The maximum
> relative error between these two particular codes is then around 4%. There
> is no principal difference between any other two consecutive codes. Ergo,
> worstcase relative error for two consecutive codes is 4%.
> 
> I do realize that only 6 or even just 5 of the 16 bits has anything to do
> with the absolute precision. But if any two consecutive binary codes are
> always within +/- 4% error relative to the other, then the output function
> must be monotonous!

It is not, simply because the output at 0x7fff might be bigger than that 
at 0x8000. Assume errors of +2% for 0x7fff and -2% for 0x8000. 
0x7fff*1.02 = 0x828e, and 0x8000 * 0.98 = 0x7d70.
See why it would not be monotoneous?

> PS I have already built it, and it *seems* monotonous!

Maybe the accuracy to measure it isn't high enough?

Cheers,
  René




More information about the Synth-diy mailing list