# How is SNR defined in a DAC?

In the datasheet of the dsPIC33FJ128GP802 it is said that the SNR of the 16 bit audio DAC module is 61 dB. What does this mean? How much RMS white noise voltage should I hope to see?

I know the SNR is the ratio of the "signal I want" and the noise. Which signal is used as "the signal I want" when the manufacturer specifies that 61 dB value? Is it a sinusoidal signal of maximum peak-to-peak voltage?

• One of the main causes of DAC noise is the 'quantization' noise. It is not really a 'noise' in the sense that it doesn't have random characteristics, it is also very non linear, but it is modelled, for ease of use, as a random noise with RMS value defined by the resolution of the DAC – Claudio Avi Chami May 8 '18 at 3:55
• analog.com/media/en/training-seminars/tutorials/MT-001.pdf – mkeith May 8 '18 at 4:23
• Usually 20log(Vsignal(rms)/Vnoise(rms)) -- where Vsignal is a FULL SCALE sine wave. – Scott Seidman May 9 '18 at 18:48

dB is used to express a ratio between two values like voltages, powers, etc. Here, with RMS voltages Vsignal and Vnoise:

SNR ratio in dB = $S = 20 \log_{10} V_{signal} / V_{noise}$

or if you turn it inside out, with SNR ratio S (in dB)

$V_{noise} = 10^{-S/20} V_{signal}$

Simple version is "20dB means multiply voltage by x10" so 60dB is x1000 so the RMS noise should be about 1/1000 the max RMS output voltage. If the max output voltage is 2V RMS, expect around 2mV RMS noise.

You can use power instead of voltage. Since power is proportional to the square of voltage, 10dB multiplies power by 10, and 20dB multiplies power by 100.

$P_{noise} = 10^{-S/10} P_{signal}$

Note that RMS and peak voltage are different! A sine wave will have $V_{peak} = \sqrt 2 V_{rms}$ (note: this is peak, not peak-to-peak) but white noise does not have a well-defined peak value. Rather, noise has a statistical distribution (like "95% chance that noise amplitude is below X").

We therefore use RMS voltage (or power) to characterize noise. Unfortunately this is very difficult to measure on your analog scope.

You can check your spec by using a PC soundcard, but it will need to have better SNR than the DAC (shouldn't be difficult). Basically,

• Set DAC to output a sine of max amplitude, check it doesn't clip, adjust gain on soundcard, then acquire waveform.

• Set DAC to output silence, then acquire. If the DAC has a mute feature which causes it to shut off when outputting silence, then you'll have to use either a DC level, or a 1LSB sine.

• Turn DAC off, then acquire to measure soundcard noise floor

Then you can compute the RMS power digitally, and compare. It is preferable to use a FFT and compare noise floors, this is the best if you know what the FFT noise floor actually is and how it is computed.

EDIT: RMS noise voltage or power is specified along with a bandwidth. Using a wider measurement bandwidth lets more noise power through, so the RMS value will increase. This depends on the noise spectral power density, which is not known here. For an audio DAC the usual noise measurement bandwidth would be up to 20kHz (only audible noise matters here) so if you want to do a measurement, make sure your bandwidth is correct. For example if the ADC samples at 96k it will acquire more noise than when it samples at 48k due to higher bandwidth.

• Excellent answer. If my DAC can output values between 0 V and 3.3 V, then the maximum peak voltage for a sine signal is 1.65 V. Thus RMS value is 1.16 V and with 61 dB of SNR the noise RMS voltage should be around 1.04 mV. Am I ok? Thanks again! – user171780 May 9 '18 at 16:34
• Yes, that's it. Unfortunately you can't measure the RMS noise value on the scope, but the soundcard should work. Check my edit. – peufeu May 9 '18 at 19:33

A perfect 16-bit DAC should have 6db*16 = 96 bits, +- the "noise" of the quantization, which has an RMS value of Vquanta / sqrt(12).

Thus to drop from 96 db +- to 61dB SNR indicates this is not really a 16 bit DAC.

• ...or a really bad one. No expert here, but I have heard rumours complaining about the 16bit DAC/ADC from Microchip. IIRC there was also a topic here, on EE.SE about this. It could be just rumours, so I'd be happy to correct my views if it weren't true. – a concerned citizen May 8 '18 at 7:12