I want to get accuracy of 0.1% in the following analog signal measurement: AC voltage in the range of 0-300V (0.1% = 300 mV)

Then what is the minimum no of bits or resolution of ADC that I can use?

My understanding is following:

If I use 16 bit ADC then I get:

300/65536 => 0.0045 => 0.4%

So I need an ADC with better than 16-bit resolution.

Is my understanding correct in this calculation?

Edit: adding more details:

I want to do all calculations based on ideal cases only at this time. I am not worried about the frequency of signal, sampling rate or power supply issues of the design at the moment.

If I also need to use the same ADC for following signal measurements with 0.1% accuracy: Current (DC and AC) in the range of 0-50 A. (0.1% = 50m A) Resistance in the range 0f 0-10 MOhm. (0.1% = 10k Ohms)

Then what additional conversion factors I had to include in my calculations?

For example how will it effect my calculation when I convert a current signal or resistance related signal into voltage to feed into my ADC?

Can a 16-bit ADC fulfill the 0.1% accuracy design requirement in all of the above V, A, R measurements?

  • \$\begingroup\$ Can you share a schematic showing the ADC and preconditioning circuit? \$\endgroup\$
    – The Photon
    Sep 1, 2020 at 2:13
  • \$\begingroup\$ This is such a complex question that worrying about the ADC now seems premature. Design the (very complex) hardware you will need for each of those measurements first and then evaluate your ADC needs in light of your design choices. But yes, at least on paper a 10 or 12 bit ADC is what you need. \$\endgroup\$ Sep 1, 2020 at 2:20
  • 1
    \$\begingroup\$ Pay attention to units and you'll catch errors more easily. 300V/65536 = 0.0045V = 4.5mV. Or resolution as a % F.S. = 1/65536 = 0.000015259 = 0.0015% (dimensionless) \$\endgroup\$ Sep 1, 2020 at 3:03
  • \$\begingroup\$ Your numbers just don't make sense. A resolution of 0.1% (of anything) is just 1 part in 1000, which only requires 10 bits if you assume everything is ideal. I think you are mixing up the units and the percentages. \$\endgroup\$ Sep 1, 2020 at 20:29

3 Answers 3


300/65536 => 0.0045

You just calculated that if everything is ideal, measuring a 300 V signal with a 16-bit ADC gives a resolution of 4.5 mV.

Earlier you said you want an accuracy of 300 mV, so this resolution is more than enough to achieve your desired accuracy.

However, resolution is only one of the requirements to achieve your accuracy goal. You must also be careful of the initial accuracy of your ADC and any preconditioning circuit used, as well as power supply rejection, any interference sources, any thermal drift, etc. Depending on your signal frequency, you may need to worry about the frequency response of your system and any drift.

In principle, a 10 bit ADC will give a resolution of about 0.1% of full scale, but to make sure the discretization error is only a small part of your error budget, I'd recommend to use a 14 or 16 bit ADC for this project.

  • \$\begingroup\$ I have added some more details in my post. Can you comment again? \$\endgroup\$
    – homecloud
    Sep 1, 2020 at 2:12

Generate an error budget.

  • for each voltage divider

  • for each opamp

  • for each Switching Regulator that will inject trash into Ground and into Rails

  • know the PSRR for each opamp, at switch_reg ringing frequencies

  • injected trash, from line_voltage switch_regs that couple electrostatically (displacement currents) into your high impedance voltage dividers

  • how to initially set the signal_chains to be "accurate" (that is, calibrated)

  • how often to reexamine the Calibration.

  • Must the system remain 0.1% or better for 40 years in orbit?

Your goal of 0.1% (does someone DIE if that is not met? or just get Least Significant Digit flicker on a display?) can be met by 10 bit ADC but requires an error budget that is extreme for all the other error sources.

Thus 12 bits or 14 bits (with Temperature Stability spec'd in the ADC data sheet) is more reasonable.


"I want to get accuracy of 0.1% in ... Then what is the minimum no of bits"

You need error below 1 part in 1000. That can be done assuming a perfect ADC , with 500 steps correctly placed, such that no step is more than 1/1000 away from the actual signal value.

So select N the no. of bits to give at least 500 steps : so the MINIMUM is N = 9 giving 512 steps.

Now nothing is perfect so a practical minimum would be 10 bits, 1024 steps. Then, with a perfect 10 bit ADC, the gap between steps is about 0.1% so you are never more than 0.05% (0.5 LSB) away from a step.

You need those steps to be correctly spaced : look for an ADC with INL and DNL (Integral and Differential Non-Linearity) better than 0.25 or 0.5 LSB. This describes the actual step sizes, which may be 0.25 or 0.5 LSB (0.025% or 0.05%) away from the perfect step value.

This also assumes you can map the 0 to 300V range to the ADC's input range (e.g. 0 to 5V), with an accurate attenuator.

So if you can eliminate other sources of error you can JUST meet your accuracy goal (error budget) with a 10 bit ADC.

There may be good economic reasons for using a 12 bit ADC and simplifying the rest of the error budget.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.