Why make ADC with high resolution, when reference voltage accuracy is low? - Page 1
Forum section: electronics / beginners

author: LinuxHata
author_rank: Frequent Contributor
timestamp: January 01, 2024, 07:43:15 am
content: Hello.I'm trying to get understanding of how ADCs work, in terms of practical resolution and precision.I'm considering MCP3425 as "all in one" package, for a matter of simplicity.Datasheet provides data as follows:16-bit ΔΣ ADCOn-Board Voltage Reference: - Accuracy: 2.048V ± 0.05%So now let's say, I've connected 1megaohm resistor between input pins, and I'm applying 2.048 volts to it, with setting PGA to 1As I understand, The resolution will be 2.048*2(full swing)/65536=0.000625 volts, which is great, but since voltage reference accuracy is ± 0.05% , which is 0.001024 of 2.048 volts, measured data can't be more precise than reference, so practical resolution will be 0.001 volts, which means that 16 bit is not necessary at all?

author: eleguy
author_rank: Regular Contributor
timestamp: January 01, 2024, 07:58:47 am
content: There are all kind of "accuracies" for example like the initial and the drift one. If the drift is smallish (needs to be defined in your application) then one can always calibrate the initial VREF inaccuracy away (in the code or sometimes even with the ADC chip features) and still get more out with 16b ADC than it quickly seems like.

author: tszaboo
author_rank: Super Contributor
timestamp: January 01, 2024, 08:03:21 am
content: There are ratiometric measurements, where the reference accuracy doesn't matter much.

author: ArdWar
author_rank: Frequent Contributor
timestamp: January 01, 2024, 08:13:28 am
content: Because you can still extract information from the code resolution even if you can not extract the absolute value from it.From your example, your ADC can still "know" if the input moves up by 625 microvolts even if it doesn't know whether the absolute value was actually 1.234 or 1.236 Volts. In several DAQ system that is sufficient to be usable depending on what information you actually want to extract.There's also another question on what was that "± 0.05%" actually is.Most precision voltage reference (probably not this one tbf) have rather loose initial voltageaccuracywhile having excellent long termprecisionand well characterized tempco. If it is the case you can get much better absolute accuracy by doing calibration and/or autozero procedure etc.One example for this is the famous LTZ1000. It is good enough for 8.5 digit multimeter, a whooping ~28 bit equivalent resolution. It's accuracy? ±5%.

author: Andy Chee
author_rank: Super Contributor
timestamp: January 01, 2024, 08:27:58 am
content: If you only need a 16-bit measurement in the form of a percentage i.e. 0xFFFF = 100%, 0x0000 = 0%, then as long as the voltage reference is stable and doesn't fluctuate too much, the accuracy of the voltage reference is irrelevant.However if your 16-bit measurement is for, say, a precision voltmeter, then yes an accurate voltage reference is required.

author: LinuxHata
author_rank: Frequent Contributor
timestamp: January 01, 2024, 08:38:16 am
content: Thanks!So as I understand, that 0.05% is initial offset value, not the over time/temperature change?

author: Kleinstein
author_rank: Super Contributor
timestamp: January 01, 2024, 08:56:24 am
content: The computer using the ADC can take the actual reference value into account after an additional adjustment measurent. The 0.05% accuracy is rather good for the absolute value and some lower demand uses may actually be based on that initial accuracy.With many other ADCs the difference is much larger. E.g. with the MCP3911 it is some +-2.5 % for the internal reference voltage with a 24 bit ADC (though the effective resolution is a bit lower). It is more like the normal case that the actual value of the referrence does not matter and an individual software calcibration factor is used. This is especially for higher resolution.In many uses, even if the absolute value is not accurate it can still help to have additional resolution, not to add extra noise.With SD ADCs (especially the 24 bit ones) the resolution is more a thing how much bits are send out and available to the computer. The actual noise and errors are a different thing and the effective / useful resolution is often lower. At a low speed and with a serial interface a few extra bit however also don't hurt. It is absolutely OK if the quatization noise is not the main noise source - more like a fail if it would be.

author: ArdWar
author_rank: Frequent Contributor
timestamp: January 01, 2024, 09:18:19 am
content: Quote from: LinuxHata on January 01, 2024, 08:38:16 amFrankly we don't know unless you ask MCP directly.They claim ±0.05% only once and it's on the "fluff" part of the datasheet where I often regard anything said there as unreliable. They won't even specify it on the characteristics table, and kind of bury them among the offset and gain error charts.

author: RoGeorge
author_rank: Super Contributor
timestamp: January 01, 2024, 09:28:53 am
content: Quote from: LinuxHata on January 01, 2024, 07:43:15 amAccuracy, precision and resolution are not intercheangeable terms. These shooting-target pics highlight the differences:https://duckduckgo.com/?q=accuracy%2C+precision%2C+resolution&iax=images&ia=images

author: voltsandjolts
author_rank: Unknown
timestamp: January 01, 2024, 09:54:33 am
content: Just correcting a typo..Quote from: tszaboo on January 01, 2024, 08:03:21 amratiometric

author: CaptDon
author_rank: Super Contributor
timestamp: January 01, 2024, 02:30:02 pm
content: Indeed, nearly all of our sensor data on the locomotives was derived from 'ratiometric' sensors. If the reference dropped a little bit so did the ratiometric voltage and overall position sensing accuracy remained very very good! The initial ADC conversion data was obtained by using lab grade calibrated pressures or physical position measurements and as stated, variations of the reference voltage even if it drifted 1 or 2 percent made an unnoticeable change in sensor readings after initial calibration. As another poster stated, if the ADC were going to be used as an absolute digital voltage reading device then drift would matter but the meter would tend to undergo a lab reference calibration routine prior to release and the initial offset would be calibrated out.

author: JustMeHere
author_rank: Frequent Contributor
timestamp: January 01, 2024, 05:35:08 pm
content: Watch any of the videos where Dave is testing voltage against his reference equipment. It will be "off" of the exact value, but within spec. Not jumping all over the place.Although with a 16 ADC, you will be subject to picking up noise. That's noise and not the 0.05%. Oversampling can help. Shielding helps even better.Consider a lower resolution as you may have more noise than the 16 bit accuracy will benefit from.

author: CaptDon
author_rank: Super Contributor
timestamp: January 01, 2024, 09:49:18 pm
content: Another seemingly strange thing about high resolution ADC devices is that a small amount of noise is intentionally left in ahead of the ADC or in some cases a bit of 'dither' noise is actually added and the 'accepted result data' is data averaged over several samples which allows resolving the Least Significant Bits to a higher degree of accuracy. Often the analog system noise to a certain degree is 'engineered in'.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 01, 2024, 10:09:58 pm
content: I somewhat doubt that they extra add noise. With the SD type ADCs there is often no natural / hard quantization limit. It is more that one has a given noise level and during the design of the ADC they can decide on how many bit to give out for the result. In addition the noise get more for higher data rates and many of the SD ADCs allow for different speeds. They tend to give out enough bits of the result so that the quantization noise is not the limiting factor, at least for many speeds. The quoted resolution is usually for the lowest speed. So it is thus natural that the last bit(s) are not rock stable.When comparing the ADC noise / stability with reference values one much also keep in mind that the ADC is not only used near full scale, but often also with only a small farction, like 1/10 for a DMM with the normal 1:10:100 spaced ranges and close to the point where the next smaller range may be just available.

author: tggzzz
author_rank: Super Contributor
timestamp: January 01, 2024, 10:33:54 pm
content: I worked for a company which made an attenuation meter which had a headline resolution of 0.001dB, and an accuracy of 0.1dB. That is 100 times worse.The customers were interested in theresolutionandstabilityduring a test run. The test run took a week, since alargecable drum was temperature cycled from room temperature to the temperature of the abysmal deep.The customers measured attenuation changes. They used other equipment to measure the absolute attenuation.

author: voltsandjolts
author_rank: Unknown
timestamp: January 02, 2024, 03:29:52 pm
content: Just correcting a typo..Quote from: tggzzz on January 01, 2024, 10:33:54 pmabyssalThe ocean ain't that bad!

author: tggzzz
author_rank: Super Contributor
timestamp: January 02, 2024, 05:09:43 pm
content: Quote from: voltsandjolts on January 02, 2024, 03:29:52 pmArrrgh! Well spotted.Actually, you are correcting an autocorruption that I entered correctly - and didn't bother to read.I hate fondleslabs.

author: coppice
author_rank: Super Contributor
timestamp: January 02, 2024, 05:24:53 pm
content: Quote from: LinuxHata on January 01, 2024, 07:43:15 amADCs are used for many purposes, and there are a variety of specs which are important in some applications and irrelevant in others. These days most modern ADCs have both poor voltage stability, and a horrible DC offset, that can drift around with temperature quite a bit. However, they need to have a high resolution, because they are being used to digitise a signal in things like comms, audio and video systems. Very few signal processing applications really care much about gain, as long as it doesn't go wild or change too fast. Most signal processing applications don't care about a DC offset, as they will perform some kind of DC estimation and removal.Bottom line: its horses for courses.

author: radiolistener
author_rank: Super Contributor
timestamp: January 02, 2024, 06:37:38 pm
content: Quote from: LinuxHata on January 01, 2024, 07:43:15 amNo, it is necessary. Precision of reference voltage is important for absolute measurements. But in most cases relative measurements is enough. In practice, 0.001V absolute precision is good enough for many absolute measurements, but for relative measurements more higher resolution is important.For AC measurments ADC resolution is even more important, because allows to see very weak signals at specific frequencies on background of very strong signal with using filtering. Higher resolution ADC has better dynamic range.

author: peter-h
author_rank: Super Contributor
timestamp: January 02, 2024, 06:53:43 pm
content: As someone who has been doing precision analog for decades, I can tell you that achieving 16 bitaccuracyin production is incredibly hard.That is 1 part in 64k or better than 0.01%.So yes it is for ratiometric stuff, or for measurements where resolution is needed but not accuracy.So you can just laugh at 18 bit and better still 22 or 24 bit ADCs.The other thing is noise. It is really hard to get noise down to 16 bit level. The analog end needs to be well shielded from the rest of the digital product. This is not cheap to do, especially in production. And the supplies need to be filtered, but normal DC-DC converters are really noisy.For sure averaging many readings is a good technique but you get only sqrt() i.e. 100 readings improve noise by 10x. And delta-sigma ADCs are pretty slow to start with!

author: coppice
author_rank: Super Contributor
timestamp: January 02, 2024, 07:04:49 pm
content: Quote from: peter-h on January 02, 2024, 06:53:43 pmLet's say you are measuring mains power, like a typical metering chip in a utility meter. Those metering chips generally use 24 bit ADCs with pretty high noise levels. Is that dumb? Not at all. Power is the correlation of voltage and current. If the two ADC channels are truly independent their noises are independent, and don't corelate. The noise in the ADCs only affects a very short term measurement. You can get 22 bits or more of real linear performance from many of those ADCs.ADCs are not generic products. They are made for specific purposes, and vendors tighten the performance parameters which matter for their purpose. To keep costs down they don't keep any other specifications tight.

author: mawyatt
author_rank: Super Contributor
timestamp: January 02, 2024, 07:48:25 pm
content: Quote from: peter-h on January 02, 2024, 06:53:43 pmVery trueBest,

author: LinuxHata
author_rank: Frequent Contributor
timestamp: January 03, 2024, 05:54:49 am
content: I think discussion went a bit different way.As I understand it, that 0.05% is the fluctuation of the reference voltage. So when you have such high fluctuation, does it matter whenever you do absolute or relative measurement with such high number of bits?

author: Andy Chee
author_rank: Super Contributor
timestamp: January 03, 2024, 06:01:06 am
content: Depends on whether it is a "slow" fluctuation (drift) or "fast" fluctuation.And it very much depends on the nature of the signal you're attempting to measure (battery DC voltage, music/speech audio sampling, or radio frequency SDR).

author: Kleinstein
author_rank: Super Contributor
timestamp: January 03, 2024, 09:05:34 am
content: Quote from: LinuxHata on January 03, 2024, 05:54:49 amThe 0.05% are for the absolute value of the reference voltage, likely at a nominal temperature of 20 or 25 C. The fluctuations are another thing and usually less. For the temperature it is not that clear though on top they say -40 to +85 C. A TC of 15ppm/K would already give more variations. However this a typical value. The parameter table shows the error under gain error as 0.05% typical and 0.35% max.A point to take into account is also that the input is not very high impedance (2.25 Mohm typical at gain 1 and less with gain). For 0.1% accuracy the signal source should thus be less than 2.2 Kohm impedance (or correct for the loading). The inputs are differential, but one still has to have a path for the common mode voltage / bias current.I have played quite bit with the 1 channel version MCP3421 and the noise is not that bad. As an integrating ADC and with a suitable aperture (with 50 Hz this means averaging 3 consecutive readings) the mains hum can be suppressed reasonable well. With 60 Hz aready a single conversion with 3.75 SPS suppresses mains hum.

author: peter-h
author_rank: Super Contributor
timestamp: January 03, 2024, 09:33:34 am
content: QuoteFor ratiometric stuff (e.g. PT100) a cheap reference like the 10 pence TL431 does the job perfectly - it's got to be stable for a fraction of a second only. 22uF cap across itIf you want longer term accuracy then you have gotta spend some cash like an ADR441. You can get 0.02% initial accuracy with these 5-10 buck ref chips. There is a number of these, pin compatible, some others from LT/ADI.I am using a MCP3550 and the perf, while obviously not "22 bit" (see my comments above about illusory specs) is damn good for the money. You could easily build a DVM with it which is accurate to 0.01% (with some factory cal, and bear in mind best resistors are 0.005% and those cost a fortune). Conversion time is 80ms. My PCB layout is good but with little shielding... it could be a lot better with a proper compartmented enclosure. Yes it needs an op-amp on the front of it - I use a TLV2333.In reality anybody who is after accuracy better than say 0.1% has either got to spend money, or have a factory cal procedure where corrections are stored in flash etc. And you will never get better than about 0.05% without factory cal no matter how much you spend.

author: coppice
author_rank: Super Contributor
timestamp: January 03, 2024, 05:06:35 pm
content: Quote from: peter-h on January 02, 2024, 06:53:43 pm16 bits is easy to achieve. Wide bandwidth is easy to achieve. Its trying to achieve both at the same time where things get interesting. For example, ADI has a nice line of MCU+ADC parts for industrial monitoring that will give you something not far from 24 bit performance, but its at 10 samples per second. At that rate you can dynamically calibrate out DC offsets, and the noise goes way down.

author: radiolistener
author_rank: Super Contributor
timestamp: January 11, 2024, 12:10:31 am
content: Quote from: coppice on January 03, 2024, 05:06:35 pmIt's the same as Heisenberg's uncertainty principleThe more precision you're get for amplitude resolution (bits) the less precision you get for frequency resolution (less sample rate). And vice versa...

author: uliano
author_rank: Regular Contributor
timestamp: January 11, 2024, 07:55:40 am
content: Quote from: peter-h on January 03, 2024, 09:33:34 amI'm just trying to grok the topic of... "converter with more than 12 bits" so I may be overlooking something and be talking bullshit.I read in the datasheet that it has a max of 6ppm INL which in my mind means that this is just as good as 1e6/6 or 166k so maybe some fraction more than 17 bits.you (I mean someone with practical experience on the matter) mention easily 0.01% which should be around 13 and some fraction bits, say 14 as it was easy.My conundrum is the following:Why on earth have I to buy a converter with so many more bits 5 in theory more likely 8 in practice than the actual number for which I'm granted some kind of accuracy? If I'm not wrong even for ratio measurement the INL stands as the accuracy limit.What is the purpose of those extra bits? Wouldn't it be better buy an 18 bit converter with a 1 bit max INL? or keeping account your practical experience if needed to go to 0.01% a 14bit converter still with 1 bit INL?Even averaging won't change the INL so there should be really no use in those extra bits.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 11, 2024, 09:54:19 am
content: The may value for the INL in the ADC datasheet is usually a test limit. The tests done on the ADC chips are done to detect that limit, but the actual performance is usually better. The INL testing is relatively slow and demanding and better testing would add to the costs. For the MCP3550 the INL also seems to follow a simple curve and if really needed one could apply a correction. Already a best fit curve instead of the end point curve would nearly half the error.Even if the INL is not perfect the extra resolution is still usefull, as long it is monotonic (similar to the no missing codes creterium). The extra bits do reduce the noise and they can also help to avoid rounding errors when applying a scaling factor. Also when looking only at a part of the range, e.g. with a PT1000 sensor. The MCP3550 is reasonable choice to directly read a PT1000 in a minimalistic circuit with only a ref. resistor and maybe one more for ref. scaling. Depending on the temperature range the ADC may only use something like from 250 mV to 350 mV with a 1 V reference. Over this reduced range the INL error is less relevant. The noise should be good enough to get about 2 mK resolution. It may look odd to use only such a small part of the ADC range, but why not if they are cheap - 2 more precision resistors with a comparable stability to make a full bridge may be more expensive.

author: uliano
author_rank: Regular Contributor
timestamp: January 11, 2024, 01:45:06 pm
content: So if I got it right, I can take advantage of the cheap part provided that my input spans only a limited range or using a rather complex (time and resource consuming) fitting procedure, while more accurate (and expensive) parts are needed for all the other cases.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 11, 2024, 02:56:06 pm
content: The PT1000 sensor is an example of the sensor that gives a limited range. e.g. the resistor changing from some 800 to 1200 ohms (depends on the temperatures used). The relatively cheap high resolution ADCs make it attractive to use it directly with only a half bridge (1 resistor + PT1000).The INL correction in case of the MCP3550 is not that complex: probably just an additional U³ term is already quite good. So 1 extra parameter to measure / fit. The may only need some 3 ot 4 test points to measure with good accuracy. The correction is than adding the U³ correction term. So something like 4 multiplicatons and 1 addition. The ADC is rather slow (some 12 SPS) and the calculaton thus still fast relative to the ADC speed.With SD ADCs having a few more bits in the result does not cost much. For the quoted resolution this is often either the bits that are avaiable, no matter how noisy or the no missing code resolution. It is natural that the ADC or DAC is not perfect in all aspects - it would be stupid to through away bits of the result, just because the INL or other parameter can not make it a perfect part to this accuracy. With the SD ADCs one could even argue it is a bit stupid to not have some extra bits in the result, just to avoid significant quantization noise.

author: uliano
author_rank: Regular Contributor
timestamp: January 11, 2024, 03:08:10 pm
content: As far as the focus is only on quantitation noise, wouldn't it be enough to have just one bit more?

author: iMo
author_rank: Super Contributor
timestamp: January 11, 2024, 03:31:29 pm
content: With applying math you can improve everything, except the "long term stability" and random fluctuations.Today it does not matter whether the reference initial accuracy is 1% or 0.05%, whether it has got 0.1ppm/C or 20ppm/C, whether the INL is 0.1LSB or 5LSB with a weird shape, whether your ADC is 12bit or 20bit.You may get "almost any" precision/accuracy/resolution with help of calibration and correction math done with ADC output inside the MCU. It will cost you the time, and the output data rate goes down (needed for averaging, oversampling, curve fitting, smoothing, filtering, TC corrections, etc), however.. But the MCUs are pretty fast today even with double precision floating point, with large memories, thus for many apps is such an approach quite feasible.

author: coppice
author_rank: Super Contributor
timestamp: January 11, 2024, 04:06:40 pm
content: Quote from: iMo on January 11, 2024, 03:31:29 pmEr, not really. Most MCUs have a temperature sensor these days, and the application can be calibrated to provide pretty good temperature correction for other things in the same die, at the factory. However, things age, and they don't always age in an accurately predictable manner. So, its not usually feasible to make long term temperature correction super accurate. It has limits.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 11, 2024, 04:11:44 pm
content: One more bit would still be somewhat visible quatization noise. It may take more like 2 bits to make it irrelevant. So enough resolution to have the other nosie sorces at 1-2 LSB makes sense.For the slow higher resolution ADCs it also makes sense that the INL specs are not that good compared to the noise specs, as the noise slows down a stricter INL test. Getting much better resolution for the INL is possible with low resolution fast ADCs where one can take 1000s of readings for each possible result and use statistics. However this just does not work in a sensible time frame for a slow 22 bit ADC.Correcting a simple, smooth INL, like a U² or U³ part is relatively easy and it only takes a limtied number of measured points to fit / get the extra parameters. With a more weired shape it gets much more tricky and the measurement of the actual curve alone may be too difficult / time consuming to be practical. The math for calculating the result of less of an issue. So good INL to start with can be an important (but demanding) parameter. Just the numerical resolution / small quatization steps is more like simple.

author: uliano
author_rank: Regular Contributor
timestamp: January 11, 2024, 04:15:32 pm
content: on a second thought,To calibrate for the cubic INL I need to acquire 4 samples providing those four different test voltages even more accurate than the desired INL (for the error propagation in the fit estimate).Not so easy, and not inexpensive at all!So unless the calibration extrapolated from datasheet curves (probably a bad idea, as those curves are samples and not a statistic on the production) it should probably much cheaper to buy the part with "native" better INL

author: iMo
author_rank: Super Contributor
timestamp: January 11, 2024, 04:45:06 pm
content: The aging (or the "long term stability" as I wrote above) is the showstopper for applying any math here.For example the new REF70x0 in the LCCC package discussed recently here shows 75-125ppm voltage drop during the first 10k hours (see the DS rev 09/2023). The VSSOP package is even worse. BTW.- it seems it is using digital TC correction..The fixing the INL - it depends on the application how much effort you invest, the better the initial INL the less effort needed.The resolution improvement - a sigma delta ADC is a good example - it is a 1bit ADC with XXX thousands oversamplings, thus you can do that with any N bit ADC as well..

author: uliano
author_rank: Regular Contributor
timestamp: January 11, 2024, 05:02:52 pm
content: Quote from: iMo on January 11, 2024, 04:45:06 pmif you redo the calibration frequently (each time you turn on or whatever) the drift should not be such a problem, however I agreeQuote

author: Kleinstein
author_rank: Super Contributor
timestamp: January 11, 2024, 05:08:06 pm
content: The smooth curve of the MCP3550 INL is likely part of the ADC design, like voltage dependent charge injection or not full settling at some point. So that INL curve could well be relatively common between different units. Just an initial guess from the DS could well cut the expected INL in half. On the other hand a more complex shaped INL may depend on severatl internal parameters and could be more variable.Testing the parameters is not easy, but also not that difficult. The required accurary is only relative to each other. One may get away with just a simple sum of 2 voltages test: e.g. 2 x 2.5 V ref. voltages in series and than measure a short (0V), the two sources separate (2.5 V) and one reading of the sum (5 V). Ideally 0+5 - 2.5 - 2.5 is zero, but with INL there will be a residual difference than can be used to fit the one extra parameter for the INL. Depending on the circuit where the ADC is used in, this may be easy or need extra provisions (e.g. data interface and path to apply the test signal) for testing.Starting with a better part would be an option, but even there, one may need a test. A tricky part with some of the ADCs based on swiched capacitors (many SAR and SD types) is that external parts like the input buffer and reference buffer can effect the INL. The demand on those buffers can be quite high (e.g. fast settling and thus high BW) and the buffers for the best INL may not be the lowest drift ones or too high in power. So even if the specs call for < 1 ppm for the given ADC, this may not be true if used with different driver chips or maybe just a different layout than in the manufactureres test.For the reference the initial values is often less impoartant, as there can be several parts effecting the overall gain and an individual adjustment for the scale factor may be needed anyway.A large drift can however be a no go.

author: iMo
author_rank: Super Contributor
timestamp: January 11, 2024, 05:09:37 pm
content: Quote from: uliano on January 11, 2024, 05:02:52 pmWell, against what you will calibrate during ie. power on?All references are aging, or fluctuating, or die..You may have an app where you calibrate your ADC (incl. its ref) against an external metrological reference from time to time (like 1year period). But in between you do not know where you are, you may just extrapolate with some uncertainty.

author: radiolistener
author_rank: Super Contributor
timestamp: January 11, 2024, 05:29:46 pm
content: Quote from: Kleinstein on January 11, 2024, 04:11:44 pmNoise is good for precision. Without noise your measurement error will be very high, because with no noise the least meaning bits will stuck at some value and will be unable to represent small variations.

author: uliano
author_rank: Regular Contributor
timestamp: January 11, 2024, 05:46:20 pm
content: Quote from: iMo on January 11, 2024, 05:09:37 pmYou should be able to calibrate (after and not during power on) for the INL which is a relative deviation, the external device would be required only for absolute calibration