### Author Topic: HP34401 - Measurement of Linearity  (Read 23674 times)

0 Members and 1 Guest are viewing this topic.

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #25 on: June 11, 2017, 07:45:12 am »
Hmm, I think we can use this setup to make an even stronger claim about the non-linearity of a particular fractional voltage.

Consider a slightly simpler setup: a 5V reference which has 5 1k resistors, giving us taps of 1V, 2V, 3V, 4V and 5V.

Naturally, our resistors will have some error, so we cannot simply measure the 1V tap and declare that it should be 1.000000V.

However, if we measure every 1V span (0-1, 1-2, 2-3, 3-4, 4-5), since these spans must add up to the total, if we average the 5 measurements, we should be able to claim that the average is exactly 1/5 of Vref (no matter the error of each individual resistor, as long as they didn't drift during the measurements).

I threw together a spreadsheet to play with this idea.  I randomly assigned some error to each resistor, then calculated what some of the average spans were.  The result is very close -- possibly we are seeing cumulative rounding errors here?

(I did this twice, the second time with a more intentionally biased set of errors in the resistors)

(the bolded values at the bottom of each "span of" column are the average of all of the spans -- in theory these averages should be exactly 5.000000, 4.500000 and 2.000000)
« Last Edit: June 11, 2017, 07:49:48 am by cellularmitosis »
LTZs: KX FX MX CX PX Frank A9 QX

#### Andreas

• Super Contributor
• Posts: 3281
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #26 on: June 11, 2017, 09:45:34 am »
Hello,

the more I re-think what I´m actually doing:
It is a "pattern matching" to the parabolic error curve of the LTC2400.

So for a generalized measurement of INL Franks method with exactly matched resitors (see also his LTZ1000 in LTZ1000 thread) would be the easier way.

In my case it is very similar to what you described in the previous posts.
Each measurement is given a "weighting factor" for the INL according to the parabolic shape.
So a value with exactly mid-scale (2500 mV) of the ADC gets 100% (factor 1.00)
A value zero and full scale get 0%. (because they are calibrated out later by offset and full scale adjustment).
1250 mV  and 3750 mV (half away of mid scale) get 100-25 = 75%

Actual formula for weighting factor is: W = 1-((ABS(2500-rdg)/2500)*(ABS(2500-rdg)/2500))
where 2500 is mid-scale in mV and rdg is ADC value normalized to 5000 mV full scale (before full scale adjustment)

the INL-value for the set of the first three measurements then is done by
Inl (mV) =(L12-L15-L18)/(M15+M18-M12)

the 2nd set
Inl(mV) =(L12-L21-L24)/(M21+M24-M12)

with Lx = readings and Mx = weighting factors
L12 and M12 are averaged values of 2 measurements (beginning and end of 2 sets)

With best regards

Andreas

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #27 on: July 02, 2017, 06:54:23 pm »
I had an idea for a linearity check which is somewhere in between Andreas and Frank's approach.

The idea is to take a small fixed voltage and then stack it on top of other voltages to move it through an ADC's range.  At each point, toggling the small voltage on/off should result in the same delta, regardless of what voltage it is stacked on top of.

Here, this is done with a voltage divider, the top range of which is coarse and the bottom of which is fine.  Two rotary switches are then used to tap from either end of the divider, resulting in coarse and fine steps.  These two taps form the positive and negative output.

An example of usage: toggling between fine position 1 and 2 shows a change of 0.1V.  The user then steps the coarse tap through all of its positions, and at each coarse position the fine tap is toggled between position 1 and 2.  The deviation from 0.1V is used to measure the deviation in linearity at that point in the ADC's range.

By selecting between two stacked 5V references, you can use this to evaluate a 10V DMM, or a 5V LTC2400.

The BOM cost could range from $30 to$50, depending upon resistor selection.  In theory you only need this to be stable long enough to run through the coarse switch taps and take a dozen readings, so the cheaper resistors might be fine.

I thought I'd post the schematic for feedback before spinning a board.  Thanks in advance!

I have a 34401A and a few LTC2400's, so potentially I can compare results against Andreas' and Frank's approach.

(I included a PNG of the schematic as a teaser, but the resolution is too low -- open the PDF instead).
« Last Edit: July 02, 2017, 07:06:49 pm by cellularmitosis »
LTZs: KX FX MX CX PX Frank A9 QX

#### Andreas

• Super Contributor
• Posts: 3281
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #28 on: July 02, 2017, 07:16:42 pm »
Hello,

still do not understand how you will do the linearity check without knowing the exact resistor values.
(or the deviations against each other).

For the references:
They are not equal to the PPM-Level. (e.g 5.001 and 5.002 V)

I would make a possibility to measure:
Sum of voltages A + B (10.003)  and B + A (10.003V) and the Tap in between. (either 5.001 or 5.002V)
Difference of voltages A-B (0.001V) (which has usually less absolute error in e.g. 100 mV range).
(Each reference with a own 9V-Block).
So for the 10V-Range you can calculate the "average value" and by the difference the Tap voltages.
(or you could adjust the references to be equal to make it easier).

with best regards

Andreas

#### Kleinstein

• Super Contributor
• Posts: 14543
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #29 on: July 02, 2017, 07:21:56 pm »
For the switching between the test voltage one could consider CMOS switches (e.g. MUX) instead of a mechanical one. Even the cheap ones like 4051 have a surprisingly low voltage offset.  With a small µC for control, one could let the system run without user interaction and thus for a long time.

For just short time measurements under stable conditions, an conventional OP like OP177 might be a better choice than an AZ OP. Az OPs produce some spike like noise and this can under some conditions lead to surprising effects, like sensitivity to capacitance.

The idea behind the system with fine and coarse steps is that the fine step should be always the same, no matter what the coarse setting is.

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #30 on: July 02, 2017, 08:23:55 pm »
The idea behind the system with fine and coarse steps is that the fine step should be always the same, no matter what the coarse setting is.

Yeah, that's the idea I was going for.  I tried to make a visual representation of it here:

The small bump should measure the same on top of each coarse step.

LTZs: KX FX MX CX PX Frank A9 QX

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #31 on: July 02, 2017, 08:28:30 pm »
For the switching between the test voltage one could consider CMOS switches (e.g. MUX) instead of a mechanical one. Even the cheap ones like 4051 have a surprisingly low voltage offset.  With a small µC for control, one could let the system run without user interaction and thus for a long time.

Interesting, I was watching a teardown of the EDC 501 and I noticed it looks like only some of the "bits" use relays.  I guess the rest are using MUXes?

For just short time measurements under stable conditions, an conventional OP like OP177 might be a better choice than an AZ OP. Az OPs produce some spike like noise and this can under some conditions lead to surprising effects, like sensitivity to capacitance.

Oh, interesting.  I wasn't sure if the input offset voltage of a regular op-amp varies at all when the input voltage changes.  If so, that could ruin the assumptions around my linearity setup.  Is Vos independent of input voltage?
LTZs: KX FX MX CX PX Frank A9 QX

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #32 on: July 02, 2017, 08:35:04 pm »
By selecting between two stacked 5V references, you can use this to evaluate a 10V DMM, or a 5V LTC2400.

This was maybe a bit confusing.  Initially I only designed this with a 5V reference for use with the LTC2400.  Then I realized that for the cost of one additional reference, I could enabled a 10V mode and use it against the 34401A.  The circuit is intended to stay in either 5V or 10V mode for the duration of the test (and could be populated for just 5V operation).
LTZs: KX FX MX CX PX Frank A9 QX

#### The Soulman

• Frequent Contributor
• Posts: 980
• Country:
• The sky is the limit!
##### Re: HP34401 - Measurement of Linearity
« Reply #33 on: July 02, 2017, 08:38:58 pm »
The idea behind the system with fine and coarse steps is that the fine step should be always the same, no matter what the coarse setting is.

Yeah, that's the idea I was going for.  I tried to make a visual representation of it here:

The small bump should measure the same on top of each coarse step.

Can you explain how you can accurately estimate (non)linearity by small bumps.
I'd assume multiple points (accurate voltages) are needed over the entire range?

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #34 on: July 02, 2017, 08:52:03 pm »
Can you explain how you can accurately estimate (non)linearity by small bumps.

Well, I'm not totally sure yet.  I'm assuming I'm going to get a result which looks similar to this, but I'm not 100% sure how to turn that into a correction curve yet.

Edit: Oops, this is a 16 million count ADC, not a 1.6 million count.  Assume all of the measurements are an order of magnitude larger.
« Last Edit: July 02, 2017, 08:53:53 pm by cellularmitosis »
LTZs: KX FX MX CX PX Frank A9 QX

#### Andreas

• Super Contributor
• Posts: 3281
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #35 on: July 02, 2017, 09:09:58 pm »
Can you explain how you can accurately estimate (non)linearity by small bumps.

It will not work:
Estimate that INL will be -1 ppm (-10uV) at mid-level (5V) and zero at 0V and 10V (because of zero and full scale adjustment).
If you do a bump of 100mV on the 5V this will give around -1ppm -1% = 0.99 ppm or -9.9 uV.
But noise is in the order of up to 3 uV in 10V range.
So no chance to accurately detect the small slope change.

I'd assume multiple points (accurate voltages) are needed over the entire range?
Yes that.

Oh, interesting.  I wasn't sure if the input offset voltage of a regular op-amp varies at all when the input voltage changes.  If so, that could ruin the assumptions around my linearity setup.  Is Vos independent of input voltage?

No of course not.
The parameter in the data sheet is CMRR (or nearly the same: PSRR).
So for high linearity measurements you might want a buffer whos floating power supply is shifted with the input voltage.
The LTC2057 has around 150 dB CMRR or 0.03uV/V

Even the cheap ones like 4051 have a surprisingly low voltage offset.
With a small µC for control, one could let the system run without user interaction and thus for a long time.

Mhm around 100 Ohms RDS,On and up to 0.1 uA leakage current at room temperature.
And do not forget the level shifters to translate from 3/5V to the MUX supply voltage.

With best regards

Andreas

The following users thanked this post: cellularmitosis

#### cellularmitosis

• Supporter
• Posts: 1111
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #36 on: July 02, 2017, 09:25:40 pm »
Thank you Andreas, I very much appreciate your analysis!
LTZs: KX FX MX CX PX Frank A9 QX

#### Kleinstein

• Super Contributor
• Posts: 14543
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #37 on: July 03, 2017, 05:37:07 pm »
The circuit shown for the resistor chains has the OPs in a circuit where the common mode voltage does not change if the other chain is switched. So any possible CMR error of the OPs would be similar to slight variations of the resistors - so it would not matter.

No matter how you do it, the measurement of INL in the ppm range is close to the noise limit. So this problem is not limited to the circuit shown. So one will need a lot of repetitions. So I would not expect any INL measurement on something like th 34401 or LTC2400 to be fast - more like days. Especially the LTC2400 can be difficult, as the noise is rather high and after first order correction the INL can be rather low.

The test with the small bump at different level is more like a kind of DNL testing, comparing the slope at different offsets. Compared to the classical histogram test this is testing a larger range, but still more like DNL. One might be able to integrate the measured errors if the Bump is large enough, like the size of the steps used for the offset.

In the circuit shown the R_on of the switches does not really matter. It is only the OPs bias current that will flow there. Usually the Bias current is low and relatively constant. So the change in current flowing through the switches is really low. Anyway the R_on would have to be compared to the impedance of the resistor chain - more like in the 10 K range.

Leakage however can be a problem - though again it would only be the change in leakage, that would really matter. Especially with the cheap CMOS switches the worst case leakage ratings are usually very conservative, as testing is slow and expensive. Of cause there are better switches too, that are not that expensive.

#### Andreas

• Super Contributor
• Posts: 3281
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #38 on: July 03, 2017, 08:23:34 pm »
Hello,

LTC2400 to be fast - more like days. Especially the LTC2400 can be difficult, as the noise is rather high and after first order correction the INL can be rather low.

One run with 10 resistor taps on each combination on the LTC2400 is below 2 hours.
(averaging around 300 single measurements over 1 minute for each data point to reduce noise).

Ok I usually repeat the measurement.
One with a 2:1 capacitive divider (0-10V) and one with a 1:1 buffer (0-5V) just to sort out bad measurements. (e.g. bad contacts).

Thank you Andreas, I very much appreciate your analysis!

of course you can use a 1K resistor string to measure the parabolic part of the LTC2400 with the method above.
But I fear you will have to termally stabilize the 5V references so that during the measurement the drift is below 2 uV.

With best regards

Andreas

#### Andreas

• Super Contributor
• Posts: 3281
• Country:
##### Re: HP34401 - Measurement of Linearity
« Reply #39 on: July 08, 2017, 03:52:13 pm »
Hello,

another possibility with a unadjusted resistor string without any assumptions
(so it will work also on a HP34401A).

Each single resistor voltage has to sum up without error to the corresponding sum voltage of any number of resistors.
The difference between the measured sum and the calculated sum is a measure of the INL-Error.

ADC25 is adjusted with above method to get the parabolic part of INL.
6749 ppb is the current calibration correction value corresponding to -33.7 uV unadjusted deviation at 2500mV.

For verification INL was measured on a resistor string with 20* 1K 0.1% 15ppm/K metal film resistors supplied from LM399#3.
The resistor string has its feedback tap for the buffer on resistor 14+15 so there is a 7V -> 10V transfer.
The ADC is used with a 2:1 capacitive (LTC1043) divider. Readings are in mV after the 2:1 divider.
To reduce noise from 10uVpp to around 1uVpp the measurements are averaged over one minute (around 300 samples).

Result (INL including noise)
maximum deviation of measured points -3.6 uV = -0.72 ppm (5V ADC-range)
average deviation -1.25uV = 0.25 ppm (5V ADC range).

My target of INL below 1ppm (similar to 6.5 or 7.5 digit instruments) is reached.

with best regards

Andreas

Edit: temperature (internal of ADC) was between 28.6 to 29.7 deg C during measurement.
« Last Edit: July 08, 2017, 04:09:24 pm by Andreas »

The following users thanked this post: The Soulman

Smf