[sdiy] discrete DAC accuracy

Fredrik Carlqvist ifrc at iar.se
Tue Jan 13 15:08:13 CET 2004



Ah, now I see where I'm wrong!

Thank you René!

I knew it was too good to be true... 

Fredrik C

PS it still looks very good in my scope though. Perhaps just a fluke or a
result of getting all resistors from the same batch...



-----Original Message-----
From: René Schmitz [mailto:uzs159 at uni-bonn.de] 
Sent: Tuesday, January 13, 2004 15:02
To: Fredrik Carlqvist
Cc: 'Czech Martin'; synth-diy at dropmix.xs4all.nl
Subject: Re: [sdiy] discrete DAC accuracy


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