AD7124-8, ENOB calculation

Dear Technical Support Team,

I want to measure ENOB for AD7124-8 ADC, by using EVAL-AD7124-8 evaluation board.

I used a 16-bit precision sine wave as input. Via python (numpy.fft), I processed the conversion results and got the signal spectrum.

ENOB = (SINAD[db] - 1.76)/6.02.

SINAD = 20 * log10(V_rms/RSS) , V_rms - fundamental tone amplitude, RSS = sqrt((A1^2 + A2^2 + ... + An^2)/(n - 1)) - average of the sum of squares all frequencies in the

Nyquist band (Fs/2) excluding DC and fundamental tone.

I get values of ENOB for different input frequencies, but all of these are less than indicated in  datasheet.

I use  full power mode, sync4, filter word 384, gain 8. (page 28 in datasheet). According to datasheet ENOB = 21,9bit , but I got only 12.9 (for 1Hz input)

By the way, this value of ENOB (21,9)  indicated for the entire frequency range or it should decrease with increasing input frequency?

ENOB very important for me.

What am I doing wrong?

  • +1
    •  Analog Employees 
    •  Super User 
    on May 31, 2021 3:03 AM


    The AD7124-8 is a DC type ADC so specifically designed for DC signals. Giving an input of 16-bit precision sine wave to the ADC is noisy. The value indicated on the datasheet (page 28, table 9) "21.9" is the effective resolution not an effective number of bits(ENOB). ENOB is different from effective resolution. Effective resolution is usually used in DC signal and in other applications, codes flicker on the system output even the input is only DC and it reduces the peak-to-peak resolution. Effective resolution is calculated using rms noise given on the formula:

    6.02N + 1.76 = 20log + 1.76 = 20log(rms noise/full-scale input), where N is the peak-to-peak resolution.

    Another thing is the values presented in the datasheet are typical and generated with a differential input voltage of 0 V when the ADC is continuously converting on a single channel.