User Tools

Site Tools


R2R DAC and Audio

Audio and DACs

Audio performance of a DAC versus its bit resolution can be easily elaborated with simple math handling.

First, let's consider that the DAC maximum output level is 0dB: as a consequence, the DAC quantum is the opposite of the total DAC range, and its value expressed in percentage is equivalent to the accuracy of the DAC. This accuracy by extension is the basic accuracy expected from the resistors of a R2R DAC. Moreover, expressing the quantum in terms of dB gives a good indication on the dynamic range achieved by the corresponding DAC.

Results are summarised in the figure below :

The simplest

A 1 bit DAC can output only 0 or Vcc. Its accuracy is obviously poor (50% !) and its dynamic range is … none !

Accuracy rule of thumb

The deal for DAC accuracy is to consider that resistor accuracy shall be lower or equal to the dynamic quantum of the DAC. As soon as the accuracy of the resistor used in the R2R network is greater than the quantum expressed in percentage of the dynamic range, limit is exceeded.

Using 5% accuracy resistors

4 bit DAC can be achieved with 5% accuracy resistors. Dynamic range is 24dB.

Using 1% accuracy resistors

6 bit DAC can be achieved with 1% accuracy resistors. Dynamic range is 36 dB.

Using 0.01% accuracy resistors

13 bit DAC can be achieved with 0.01% accuracy resistors. Dynamic range is 78 dB. This explains why poor 16 bits DAC with an ENOB of 12 bits can achieve very clean quality sound if well filtered : with 78dB dynamic range, 13 bits DAC is good for audio replay.

The speech limit

Generic speech dynamic range is 45dB from whisper to yelling. Meaning that for proper and clean voice transcription, theoritically, 8 bit is optimum because it leads to a 48dB Dynamic range.

Human Dynamic range limit

The human ear full dynamic range is roughly 90dB : from low noise of a quiet night to loudness of standing in front of an aircraft engine :) This is achieved with 16 bits precision, which would require 0,001% precision resistors…

r2r_dac.txt · Last modified: 2020/09/17 18:56 by wadmin