Post Go back to editing

Can I always get higher noise free bits by averaging the result of an ADC?

Product Number: AD7175-2


the datasheet of AD7175 says that it can get 20 noise free bits at 2.5 kSPS,

if I read out the result at this rate with an MCU and do averaging in the software, if I average 256 result to 1 result, I can get extra 4 bit since the noise is reduced to 1/256 original level.

Then I can get 24 noise free bits result, right? (I know we can get 24 noise free bits at 20SPS with this device but I don't want to discuss it)

Is it true that for any ADC, I can get higher noise free bits by averaging the result?

And the limit is the ADC's resolution? For example a 16 bit resolution ADC, I can always get up to 16 noise free bits as long as I average enough result?

  • Hi  ,

    Yes, you can. Averaging the measurements will increase the SNR thus increase resolution. You may also check this link for more information ADC Input Noise: The Good, The Bad, and The Ugly. Is No Noise Good Noise? | Analog Devices.

    I would suggest using the 20SPS to achieve 24 noise free bits and will also provide faster throughput time rather than taking 256 results using 2.5kSPS.



  • JC,


    In the link you provided, there is statement below:

    We can go even further and average 16 measurements per output; the output sampling rate is reduced to 6.25 kSPS, the SNR increases by another 6 dB, and the number of noise-free bits increases to 17

    Why the noise-free bits can increase to 17, which is even higher than the ADC's resolution which is 16?

    Let's consider a situation, the noise is <1LSB, the code read directly from ADC without software averaging for a specific voltage value is always 0xf000. The code will always be 16bit no matter how many times you average the result. There is no possibility that you get 17bit binary like (1111 0000 0000 0000.1).

    The only way to get higher resolution by averaging is that the code directly read by ADC is variating, like 0xf000 and 0xf001, the average would be 0xf000+0.5.

  • Hi,

    One thing to note here is the difference between the data output code resolution and the noise free resolution.

    The 24 bits or 16bits in the data register indicates the number of bits it uses to digitize an input signal (data word). However, the effective number of bits is limited due to noise, this refers to the accuracy of the converter which determines how many bits in the digital output code represent useful information about the input signal. This parameter is specified as noise free bits (as shown on the pk-pk noise and resolution) of the datasheet. The value depends on the filter type used and selected output data rate. 

    And yes, the more averaging you do the better the noise performance or resolution you can get but which also means the slower the actual output data rate. Averaging by 256 means the output data rate will be 256x slower. 

    The actual effective resolution varies depending on ADC architecture, input bandwidth, output data rate, dynamic range or full-scale range, gain settings or even the type of filter used. It can ideally go higher than the data output resolution but as you said it will be limited by the number of bits used on the data register which in the case of AD7175-2 is the 24bits.That is why if you take a look at the noise table in the datasheet the max resolution you can get is 24 bits but the actual could be better than this at the lowest Output data rate. 

    If you need higher resolution, then you can consider AD7177-2 which is a 32-bit ADC.