DMM linearity comparison - Page 1
Forum section: electronics / general

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 16, 2017, 09:24:55 pm
content: Hi,after the nice thread about DMM noise, I would like to compare DMM linearity. I think this is the most important thing for metrology use. I want to derive all decades from a single voltage source (7V LTZ1000 for example). This is not only useful for DCV, even resistance transfers can be done like that.The meter should give at least 7.5 digits for this comparision.There are severeal ways to measure the linearity. The easiest way is the way Dr. Frank showed some time ago. One will use a stable controllable voltage source and measure different voltages with the DUT in parallel to a 3458A. After that you will calculate a linear regression against the 3458A values and plot the error from the linear function.Another approach is to use a chain of equal resistors. At first you measure the voltage on every single resistor and after that you measure the summing voltages.I did both for my two 34401As (see attachments)Another thing I tried with my Agilent 34401A is to use the good linearity to calibrate itself and using a calibrated LTZ1000 (7.156V) as a starting point. For this experiment I wrote a little script (Python) which measured some voltages (see selfcal.png) from the Fluke 5440B in parallel with a 3458A. At first I short the measurement cables and the script will measure the offsets in all ranges. After that I connected the cables to the Fluke 5440B and the script takes all the listed measurements.For the calculations I used the 7.156V measured by the 3458A as the "true value" and calculated everything else from the measurements. As you can see my 34401A can bring itself easily below the 24h specifications.I'm very interested in how linear are other DMMs below the 3458A price class which also gives 7.5 digits or more (over GPIB).BestPhilipp

author: lukier
author_rank: Unknown
timestamp: November 16, 2017, 09:59:21 pm
content: Good idea.I always wondered what's the real life linearity of my DMMs (3457A, K2015, K2001, 34401A we know from Dr Frank's research).Unfortunately, being a low rent volt-nut, I don't have 3458A. I do have Fluke 5440B, but I don't trust it that much as it was subject to serious repairs (I got it for parts or repair), also even brand new it is specified to 0.5ppm + 1.5uV on the 0-11V range, therefore very close to linearities in DMM specs (usually something like 1ppm + 1pmm).I've read about the resistor divider chain method here on the forum so I might try that, I have some 10 pcs sets of Vishay's S102K 10k and 100k and some Soviet S5-61 hermetic resistors. I would need to think a bit and do some math to figure out what are the limitations of this method.

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2017, 12:12:12 am
content: Quote from: e61_phil on November 16, 2017, 09:24:55 pmI'm feeling lazy; do you have a URL for that?

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 06:46:24 am
content: Quote from: tggzzz on November 17, 2017, 12:12:12 amhttps://www.eevblog.com/forum/testgear/hp34401-measurement-of-linearity/Quote from: lukier on November 16, 2017, 09:59:21 pmYes and no. There are some differences between the individiual 34401As. I tested three and they differ (see first post). Moreover, the Fluke 5440B at work isn't as linear as the 5442A from Dr. Frank. The tested 34401As are around the 5440B. One is worse, one is better and one is more or less equal.If you really want to know how linear your instrument is, you have to measure exactly yours. But nevertheless, one get a good overview which instruments are good for a transfer and which ones not.Edit: The two curves shows the results from two different 3458As. Both were measuring at the same time. Therefore, even the 3458As aren't perfect, of course.

author: Mickle T.
author_rank: Frequent Contributor
timestamp: November 17, 2017, 06:47:07 am
content: INL: Solartron 7081, Datron 1271, Advantest R6581T, HP 34401A, Keithley 2100.Voltage source is Datron 4000A, calibrated to better than 0.1 ppm INL.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 08:25:39 am
content: And here are severeal runs with a Keysight 34470A and a Keysight 34461A

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 08:44:05 am
content: and separate graphs for the measured 34401As...

author: HighVoltage
author_rank: Super Contributor
timestamp: November 17, 2017, 10:25:57 am
content: Very interesting, I have plenty of DMMs to compare.Now I need to get up to speed on Python.

author: TiN
author_rank: Super Contributor
timestamp: November 17, 2017, 11:10:29 am
content: Is there an app that makes this plots?

author: tszaboo
author_rank: Super Contributor
timestamp: November 17, 2017, 11:12:51 am
content: Quote from: TiN on November 17, 2017, 11:10:29 amIt is an app called Microsoft excel.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 11:49:20 am
content: Quote from: NANDBlog on November 17, 2017, 11:12:51 amThe Fluke 5440B and the resistor measurements are plotted with Excel. All other plots are done by Python with matplotlib.

author: try
author_rank: Regular Contributor
timestamp: November 17, 2017, 12:37:12 pm
content: Hi e61_Phil,Quote from: Mickle T. on November 17, 2017, 06:47:07 amgood stuff.Now give me all the information you have!I want to see the difference between both 3458As in a graph and a calculated standard deviation over that series.Grußtry

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 12:45:34 pm
content: You can see the difference between the two 3458A in the Fluke 5440B plot. Both plots are measured simultaneously.

author: TiN
author_rank: Super Contributor
timestamp: November 17, 2017, 04:27:11 pm
content: Now we talking, andQuoteNo avail for public code version to download and try?

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 04:50:26 pm
content: Quote from: TiN on November 17, 2017, 04:27:11 pmSorry, can't follow

author: TiN
author_rank: Super Contributor
timestamp: November 17, 2017, 06:21:33 pm
content: I just wanted to see if there is a ready to use Py app, which collects data and plots near graphs.10V linearity is part of my calibration software, but it does not plot any graphs. Attached are results of four 3458A's tested vs 5700A (within 2 days calibration).It's more test of linearity of calibrator, than a meters though.

author: Andreas
author_rank: Super Contributor
timestamp: November 17, 2017, 08:25:50 pm
content: Hello,more interesting would be the parameters used to make the measurements.For the 34401A I guess it is 100NPLC in 10V range as the noise is around 2uVpp.But the 34461A looks weird to me.below 2V the noise seems to be around 0.2uVpp and above it seems to increase up to 2uVpp.Do you switch ranges during the measurement?With best regardsAndreas

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 08:59:27 pm
content: Quote from: TiN on November 17, 2017, 06:21:33 pmI put some lines of Python together to control the Fluke 5440B and read the DMMs. The data was written into an Excel File. Another Python script reads the Excel data, calculate the linear regression and plot the data. The scripts are on my measurement computer. I search them tomorrow. Nothing fancy and only hacked together..Quote from: Andreas on November 17, 2017, 08:25:50 pmSome of the measurements are already quite old. But, I'm sure I used fixed 10V range and 100NPLC for the 34470A and 34461A. On the 34401A I normaly use 10 times 10NPLC. For the selfcal I used 1000NPLC on the 3458A and 100 time 10NPLC on the 34401A.Did anyone measure a Keithley 2000?

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2017, 10:31:43 pm
content: Quote from: TiN on November 17, 2017, 06:21:33 pmCan you explain a bit more over the first three rows? And do you have the data in a text format which is easily python readable to create a similiar plot as mine?

author: Andreas
author_rank: Super Contributor
timestamp: November 17, 2017, 10:32:50 pm
content: Hello,I did a check (would not say measurement) on my K2000 + 34401A.Method:- resistor string of 20 not calibrated resistors (metal film 1K 0.1% with 15ppm/K)- source from battery supplied LM399#2 6860 mV- resistor string is tapped at 7/10 to get a buffered ~10V output voltage. (battery 2)- the difference of the resistor string is buffered (battery 3) and output to the DMMs.offset measured at beginning and end of the measurement.As noise is relatively high I average the measurement values over 1 minute to get below 0.5uVpp noise for a single measurement.As 3 measurements (or 4 with the offset) are used for 1 INL value the total noise is sqrt(3) * single value.HP34401A ~15 samples 100 NPLC averaged in 10V rangeK2000 ~94 samples 10 NPLC averaged in 10V rangeI measure U10 and then a pair of voltages (U3 and U7)The error E = U10 - U3 - U7 is distributed across the 3 voltages according to the distance from 0V or 10V (approximation of a parabola = green dots on pictures).A error E = 10uV (maximum measured value) gives around 5uV for U3 and 5uV for U7. (red dots on the pictures)So typically a error from 3V is also mirrored to 7V (perhaps a better pin pointing would be possible with additional difference measurement to U5).There also seems to be a instability at the 7V tap which is probably no INL error but due to the 7->10V buffer.I will have to do additional measurements.All in all I am below the 1-2ppm specced INL.with best regardsAndreas

author: saturation
author_rank: Super Contributor
timestamp: November 18, 2017, 12:43:24 pm
content: Data for 8.5 digit DMMhttps://translate.google.com/translate?hl=en&prev=/search%3Fq%3Deefocus%2Bstupid%2Bblog%2B3458a%26hl%3Den%26safe%3Doff%26client%3Dfirefox-a%26hs%3D42K%26rls%3Dorg.mozilla:en-US:official%26prmd%3Divns&rurl=translate.google.com&sl=zh-CN&twu=1&u=http://www.eefocus.com/stupid/blog/08-06/150647_4b553.html

author: Dr. Frank
author_rank: Super Contributor
timestamp: November 18, 2017, 12:59:18 pm
content: Quote from: e61_phil on November 17, 2017, 12:45:34 pmHello,I propose, that you run both 3458A against each other for several more passes, as you did with the other instruments. (see also hp journal 4/89)These linearity tests are very sensitive to fluctuations / noise, especially, when you approach the 3458As region of resolution and linearity, on the order of 0.01ppm.Finally, it would be great, if you would draw the difference between both 3458A, but not vs. the 5440B.That would better display the non-linearity of the A/D of the 3458As, so that you get a real quantitative measure of the INL (is it really about 0.02ppm??).Frank

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 18, 2017, 01:10:10 pm
content: I stored for every measurement the value of the Fluke 5440B, both 3458A and the DUT. Therefore, I have plenty of data in which I can compare both 3458A.I will have a look into the data in the evening.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 18, 2017, 08:40:51 pm
content: I've attached first data for HP3458A vs HP3458A. The picture contains 68 measurements (data set from Keysight 34461A). If I have time I will create a graph with the average INL and error bars (and more datapoints).I also attached the scripts I used. Both very simple and not written for anybody else than myself...lin_meas.py is the script which runs the measurement. It simply steps the Fluke 5440B from 0V to 11V and repeats the measurement until both 3458A stays within 1µV. The data is written in an Excel sheet.read_lin.py reads this Excel sheet and uses Scipy linregress to calculate the linear regression.Both scripts contain some silly stuff which I wouldn't do this way in python today (especially the for loop can be done much more elegant with a numpy vector). Nevertheless, one can see how the measurements were done.PS: Hmm, I can't upload Python files (*.py).. I renamed it to .txtEdit: Added a picture with 149 measurementsEdit2: You have to keep in mind, that one run will take about 55min. Therefore, there is also a lot of drift included in the measurements.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 19, 2017, 08:06:27 am
content: To get a feeling of the drift of both 3458A against each other I took again the data from the 34461A measurement. I took the 10V measurement values and calculated the difference between the 3458As. After that I calculate the derivative of the drift curve. This should reflect the drift within a measurement. (X axis is the still the measurement time)Edit: Added the averaged INL of the 3458As. Error bars represent one sigma.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 20, 2017, 05:00:23 pm
content: I will get a Keithley 2002 to test it against the two HP3458As.I'm have nearly no experience with Keithley DMMs. Can anybody tell me the best settings on the K2002 for this experiment?I'm also thinking about the procedure. Perhaps one should measure 10V again every 10 steps, to calculate the drift and reduce the influence of the drift.

author: Kleinstein
author_rank: Super Contributor
timestamp: November 20, 2017, 07:45:40 pm
content: The "drift" in the 10 V difference looks very much like noise. I would expect reference noise to a big a part of this. Compensating for reference drift / noise can be tricky. One might be able to compensate drift and the very low frequency noise part, but one would would add some other noise from the extra readings. With the two 3458 the noise looks rather random with little 1/f part. So chances are it would not help, but only add extra noise.Taking reading at this very low level, one might have an eye on settling. At that very low level, there can be some slow settling component due to DA in caps that are in the signal path. A second possible slow effect at that level can be self heating of resistors - though this would more effect ranges with gain and not so much the direct through 10 V or 20 V ranges. Switching to 10 V might add some such settling trouble.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 21, 2017, 02:17:53 pm
content: Here is the first Keithley 2002 result.Keithley 2002 configuration:K2002.write("*RST")K2002.write("sense:volt:dc:rang 10")K2002.write(":init:cont off")K2002.write(":VOLT:DC:DIG 9")K2002.write(":syst:azer:type sync")K2002.write(":VOLT:DC:nplc 50")K2002.write(":volt:dc:aver:tcon rep")K2002.write(":volt:dc:aver:coun 2")K2002.write(":volt:dc:aver on")

author: Andreas
author_rank: Super Contributor
timestamp: November 21, 2017, 07:10:02 pm
content: Hmm,2*3458A on the diagram.Where is the K2002?with best regardsAndreas

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 21, 2017, 08:46:39 pm
content: Quote from: Andreas on November 21, 2017, 07:10:02 pmBoth are the Keithley 2002. One against the HP3458A#1 and the other against HP3458A#2.

author: Pipelie
author_rank: Regular Contributor
timestamp: January 15, 2018, 02:34:00 pm
content: Hi Phil,I ran some test at last weekend, thanks for the script you share herehttps://www.eevblog.com/forum/metrology/is-the-fluke-5440b-really-an-artifact-cal-instrument/25/here are some results, and sorry, just raw data yet.

author: e61_phil
author_rank: Frequent Contributor
timestamp: January 15, 2018, 10:50:25 pm
content: Quote from: Pipelie on January 15, 2018, 02:34:00 pmHi,Thanks!Could you explain what excatly was measured? Did you use two 3458A?

author: Pipelie
author_rank: Regular Contributor
timestamp: January 16, 2018, 11:41:23 am
content: Quote from: e61_phil on January 15, 2018, 10:50:25 pmHi,I just install and setup the software Environments? and then run the script you share which is lin_meas.py. and nothing changes in this script.and yes, I use two 3458.the room temperature is around 11-12 degree during the measurement.and at least 4 hours warm-up time.

author: TiN
author_rank: Super Contributor
timestamp: October 21, 2018, 08:12:07 pm
content: How about we make this project a bit revived?I'm getting all bits together in python, to make something more user friendly.Sneak peak of some initial result so far:

author: e61_phil
author_rank: Frequent Contributor
timestamp: October 21, 2018, 08:18:44 pm
content: Great!!I guess your Y-axis mean all ppm values are related to 10V. Is that right?

author: TiN
author_rank: Super Contributor
timestamp: October 21, 2018, 08:31:39 pm
content: I think it's related to best-fit curve.Code:p = np.polyfit(real,ideal,1)pv = np.polyval(p,real)diff = ideal-pvdiff_ppm = (diff/10.0)*1000000.0Test data DSV-file.I have createdgithubrepo, which we can use to work on code.Todo:* Add GPIB datacollector app. So far plan to support sources: Fluke 5440B, 5700A, 5720A, 5730A. meters: HP3458A, 34401A, Fluke 8508A, Keithley 2001/2002.* Add data formatter for DSV/CSV files.

author: lukier
author_rank: Unknown
timestamp: October 21, 2018, 08:39:09 pm
content: Quote from: e61_phil on October 21, 2018, 08:18:44 pmYes, that's ppm full scale so in that case 10V. I think in the next revision we should be collecting sdev as well to have error bars.The calculating script has rather unfortunate naming, because the values from the calibrator (5720A or 5440B) are called 'ideal', while 3458A measurments are called 'real', but in reality I treat 3458A as ideal (in absence of a JJA) and calculate the calibrators INL. Probably adding sdev and doing some root sum squares with 3458A INL specs (AFAIR 0.05ppm) could improve the calibrators' INL estimates.Suggestions for more mathematically sound calculations are very welcome!

author: e61_phil
author_rank: Frequent Contributor
timestamp: October 21, 2018, 08:49:42 pm
content: Yes, that code snipet does what I meant.I think it would be great if we can agree on a common raw data format. csv is just fine I think. I really like to have the raw data and can do some further math with it.I attached a couple of runs with two 3458As and a Fluke 8508A hooked to a Fluke 5440B (unfortunately only positive voltages).@Tin: What is dutc in your file?

author: TiN
author_rank: Super Contributor
timestamp: October 21, 2018, 08:53:00 pm
content: dutc is 8508A.Perhaps we should make format compatible with up to 8 DUTs off same source + 8 aux datastreams (temperatures, ambient data, etc)?Data points on measured value + sdev?

author: lukier
author_rank: Unknown
timestamp: October 21, 2018, 08:55:43 pm
content: Here are some of my tests of 5440B vs 3458A, but please don't use it as a reference as my 5440B had serious repairs done, including replacing magic JFETs (with some Farnell ones) in the DAC oven. Somebody with a proven "vanilla" 5440B should provide better data.

author: e61_phil
author_rank: Frequent Contributor
timestamp: October 21, 2018, 09:03:01 pm
content: Quote from: TiN on October 21, 2018, 08:53:00 pmYes, let's do it this way.How do you collect the data?My data with the 8508A was recorded 60s after setting the new value on the 5440B. That isn't very clever. It would be better to record some data and decide on that data if the measurement is stable. I did something like that for another measurement. I collected the readings until five successive readings are within 300nV. That worked just fine. After that I saved the average of the readings and one could also save the std. dev. Perhaps one should use more than 5 readings for a proper std. dev.I used GPIB trigger for the two 3458As and send *TRG to the 8508A to let the meters integrate simultaneously.I would also prefer to stricly divide the software in data acquisition and the math after that. That would be easier with different platforms.

author: e61_phil
author_rank: Frequent Contributor
timestamp: October 21, 2018, 09:31:15 pm
content: Quote from: lukier on October 21, 2018, 08:55:43 pmI used the same data as posted above to plot the INL of my 5440B. I had it better in mind...I plotted the data this way:Code:def compare_lin(dut, reference):slope, offset, *_ = stats.linregress(dut, reference)error = [((value * slope + offset) - reference) /10 *1e6 for i, value in enumerate(dut)]return reference, errorI used SciPy linregress to calculate offset and slope, but that shouldn't matter.

author: lukier
author_rank: Unknown
timestamp: October 21, 2018, 09:37:17 pm
content: Quote from: e61_phil on October 21, 2018, 09:31:15 pmWe should settle if error = f(value)-reference or error = reference - f(value)Otherwise every other plot will be flipped upside-down.

author: e61_phil
author_rank: Frequent Contributor
timestamp: October 21, 2018, 09:40:27 pm
content: Quote from: lukier on October 21, 2018, 09:37:17 pmOh, I didn't notice that. I prefer [measurement - "true"_value]. That will give a + if the measurement is too high or a - if it is too low. That's the way I do it in all of my recordings (calibrations).

author: Pipelie
author_rank: Regular Contributor
timestamp: November 01, 2018, 05:02:55 am
content: making some progress, here is what I got.

author: TiN
author_rank: Super Contributor
timestamp: November 01, 2018, 05:14:20 am
content: -10 to -1 looks greatDid you try with reversed 3458A?

author: Pipelie
author_rank: Regular Contributor
timestamp: November 01, 2018, 05:25:54 am
content: Quote from: TiN on November 01, 2018, 05:14:20 amyes, I did.here it is:5440 source 0-11V and 0.05v each step, the input of 3458 was reversed.the reading of 3458 was multiply by -1 before I plotted the graph.it‘s too bad that the polarity relay is NOT at the output Of PWM DAC but between the master voltage reference and PWM switch.

author: Kleinstein
author_rank: Super Contributor
timestamp: November 01, 2018, 08:43:33 am
content: The curve is interesting, as it shows the curved form for the positive side is due to the 5440 and not the 3458.Having the polarity between reference and PWM DAC is an odd position, as it requires a larger voltage range for the switches. However one can still change the polarity at the output, by just reversing the leads. So one can also see this as an extra option. For some reason the negative side seems to work better than the positive.

author: lukier
author_rank: Unknown
timestamp: November 01, 2018, 11:11:35 am
content: Quote from: Kleinstein on November 01, 2018, 08:43:33 amMy theory is that the test takes too long, as it is 0.1V steps (or here even 0.05V), therefore ACAL on both 3458A and 5440B drifts and it is hard to maintain the temperature for so long in a hobby environment - hence why it gets worse on the right hand side.For me INL is mostly important for transfer accuracy and this one is usually specified at 15-20min or similar.I prefer to run with 1V steps but do many passes. HP when evaluating 3458A also did only few data points on JJA, but more passes (see 1989 journal).

author: Pipelie
author_rank: Regular Contributor
timestamp: November 02, 2018, 04:27:00 am
content: lukier,each "run" take almost 2 hours, I don't think that's too long for both 3458a and 5440b.I did try to run with 1V step and the shape of the curve is pretty much the same, I will do more test with 1V step in this weekend.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 02, 2018, 07:46:12 am
content: What about a 10V step after each (or several) measurement points? This way one could reduce drift effects.

author: Kleinstein
author_rank: Super Contributor
timestamp: November 02, 2018, 10:57:15 am
content: A repeated 10 V step in between would complicate the way to look at the results, as different scaling would be used. It might also add some noise. Another point is that it can upset self heating effects and might thus need longer waiting time than. relatively small steps help with thermal settling a little.I think just a few repeated runs (e.g. 3-6) should be good enough to see and with averaging also suppresses much of the drift effects.However there is also a little downside: if there are more DNL like errors on the small scale, like jumps in the INL curve, these might also be smoothed out in some cases.I personally would prefer something like 0.5 V steps and thus about 20 data points in the curve.I don't think the curved shape is an effect of drift. It repeats in several runs and seem to be related to the 5540.

author: Pipelie
author_rank: Regular Contributor
timestamp: November 04, 2018, 05:43:35 am
content: I modified the script and took 51 runs last night. the setup of 3458 is 10V,50NPLC, and each run takes 10 minutes.there are only 5 runs within +/-0.1ppm INL span, and 26 runs within 0.15ppm (peak to peak).all in all, the shape of the curve is identical.

author: Kleinstein
author_rank: Super Contributor
timestamp: November 04, 2018, 08:48:05 am
content: The 0.5 V point looks a little odd. I would guess this is an effect of the source, as 0.5 v should be nothing special for the ADC. It the calibrator still using the same range, ore going to a lower range ?

author: Pipelie
author_rank: Regular Contributor
timestamp: November 04, 2018, 11:28:20 am
content: yeah, that's odd to me too. if you look close in my previous posted reply #44 and #46, you will find out they all look odd at 0.5V point.I don't think the calibrator using the lower range at 0.5V, because the low range using the different output binding post call divider output.

author: TiN
author_rank: Super Contributor
timestamp: November 12, 2018, 11:23:57 pm
content: Time to bump the thread, eh? I'm currently away in Japan, but it doesn't mean I can't voltnut meters over the internet thru GPIB tunnels.Testing MM's 4808 calibrator (uncalibrated) versus his 3458s for DCV INL.Data sampled every 1% step from -110 to 110% of the scale. Both meters configured NPLC100, DELAY0, AZERO ON and ran DCV ACAL before test start. Data might be still compromised by aircon, as it's kinda wobbly during the sweep. Purple and green charts are direct INL of the meter vs calibrator's programmed value. Orange line is difference between two 3458A's used in the test. Each step have soak time 20 second after programming calibrator output to allow settling. Configuration for calibrator :S0R6F0O1=.10V sweep. About +/-0.2ppm INL over the span. Delta INL between meters <+/-0.12ppm (should be at least twice better, so perhaps more tuning for settings can be done). Could be also cabling issue or thermal EMF offset, to cause the zero crossing jump. I'm not very familiar with 4808 INL performance to judge now.1V sweep is more interesting, in respect of delta INL between metersSame dataset, but zoomed in ppm INL scale to +/-0.05 ppm. I'd say +/-0.03ppm in full -1.1 to +1.1V sweep is impressive.Now running 100mV test.About same as 1VDC sweep, with max INL error +/- 0.03 ppm. Chicken dinner winner.Retest 10V again, with NPLC50 instead of 100 now:And 100V INL sweep:Negative polarity is somewhat strange. There is ~40 second delay on each 1V step, so it's hard to tie that just on self-heating errors of the HV divider.

author: macboy
author_rank: Super Contributor
timestamp: November 13, 2018, 05:10:14 pm
content: Any data on Keithley 2001? It's 7.5 digits (20 000 000 count) with a spec of 1 ppm typical and 2 ppm max INL. I'd like to see real data though.

author: TiN
author_rank: Super Contributor
timestamp: November 14, 2018, 04:41:19 am
content: 21M count actually. Got rid of all 2001's, so can't do a test

author: TiN
author_rank: Super Contributor
timestamp: November 15, 2018, 10:59:20 am
content: Few more sweeps with NPLC20 and NPLC20 with short delay (2s instead of 20sec):Short delay times, same NPLC20:Perhaps it's safe to assume that long NPLC100 not required to do INL test with <0.1ppm data between 3458A's.

author: Kleinstein
author_rank: Super Contributor
timestamp: November 15, 2018, 01:34:14 pm
content: For the linearity tests it might need some time for the points to have the source and meters in thermal equilibrium. So especially the first point or so should have some soaking time, of maybe 1-5 minutes. The later points are a little less critical, as the steps are relatively small. Having the data well away from stable temperature is a different thing and adds the time as another variable.With only 2s per point and some 40 points per curve one might still be a little on the fast side, so that the source and meters may not be in stable state. I think the 20 seconds were reasonable. One could alternatively use a few more points - this might help to get a noise estimate. Especially with higher voltages there is likely quite some noise - alone from the references in the source and meter.If one has to wait a little longer at each point, one could as well use longer integration or take a few more points.I think the spline / polynomial curve is not a good way to show the data. Individual symbols and maybe additional connecting lines should be the better choice.It might also be a good ideal to have at least 3 runs to get an idea how reproducible the curves are. There is superimposed drift and maybe significant noise.Some of the INL contributions (especially effects from the rundown) can be higher with short conversions, like 1 PLC. So there might be a difference between a single 100 PLC conversion (internally maybe done as average of 10 PLC conversions) and the average of 100 conversions at 1 PLC each. This test could be even done without a super stable source.

author: TiN
author_rank: Super Contributor
timestamp: November 15, 2018, 02:19:13 pm
content: Thank you, Kleinstein, interesting view as well. I was already thinking about making 0.01V steps on 1V instead of 0.1V. Running now 60second NPLC200 sweep first.3458A internally does not do any samples faster than 10NPLC, but using blocks of 10NPLC measurements (signal + zero if enabled) to give longer "NPLC" results.I'll add multiple runs later on too.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 15, 2018, 03:16:08 pm
content: I would also take a couple of measurements until a certain stability is reached. With the Fluke 5440B and the 3458A it took some measurements (at 100NPLC) to settle.

author: TiN
author_rank: Super Contributor
timestamp: November 16, 2018, 01:18:30 am
content: Here isPython appused to log data from both meters and control W4808 calibrator.You can see there I take 15 readings:for ix in range (0,15): #take more samplesand then use last 5 readings median (median = np.median(array[5:])) as final data on each step.

author: acts238willy
author_rank: Regular Contributor
timestamp: November 16, 2018, 01:49:52 am
content: Question...I have six 732As and a 732B that I rescued off fleabay years ago.They all march steadily along with each other.Is there any use in doing a 10, 20, etc., 70V exercise with them?I could run four 3458s and chart the readings at different voltages?

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 16, 2018, 08:08:36 am
content: Quote from: TiN on November 16, 2018, 01:18:30 amAh, sorry. I thought you only take one measurement.I did it like this to wait until the readings are stable:Code:data = []while True:data.append( float( hp3458A.read() ) )if len(data) > 4 and ( (max(data[-5:]) - min(data[-5:]) ) < 500e-9):breakmeas = np.mean(data[-5:])Surely, there is a shorter way to write this in python. And 500nV isn't applicable on all ranges.

author: Kleinstein
author_rank: Super Contributor
timestamp: November 16, 2018, 09:13:08 am
content: The median is usually the method of choice if there are some possibly outliers. With more normal noise the average is usually be better choice to get low noise data. However the difference is not that large.5 points are a little on the short side, but otherwise it could be interesting to also get an idea about the noise. At least with shorter integration one could use something like 10-20 conversions at 20 PLC and than calculate the average and std-deviation.Waiting for 5 points within 500 nV is a little tricky, as this might take very long, possibly forever if too noisy and it is still not very sensitive to residual settling / drift. If settling is a problem it would be more about looking for the slope (e.g. linear regression slope, which is not that complicated or slow) is below a certain limit. To avoid very long waiting, one could allow the limit to go up with time - so more noisy data would take longer, but not for ever.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 16, 2018, 02:33:02 pm
content: I used it not to average the noise. It was used to wait for stabilization. One have to experiment a little bit with the limit. 500nV was working quite good in the 10V range with my SR1010-1k measurements.I haven't tried a linear regression yet, but I don't think it will fit the e-function very well in this case. But one can try it

author: Kleinstein
author_rank: Super Contributor
timestamp: November 16, 2018, 05:20:11 pm
content: The linear regression does not need to fit a e function. It is more like an estimator for the slope, using more of the points. It would not work for the initial phase, when there is possible ringing. So it might take both a small maximum difference and small slope.Normally I would mainly rely on a delay, and the signal stability only as an additional check.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 16, 2018, 05:46:19 pm
content: For a measurement with fixed connectors a constant delay might be ok.My experience with hand plugged things (did some linearity tests with a SR1010-1k some time ago) is, that it take very different times to settle. Even if you try to touch it very little and short. Sometimes it settles within the first 5 measurements to 500nVpp and sometimes after 20 measurements.Which/how many points do you want to use to derive the slope?

author: Kleinstein
author_rank: Super Contributor
timestamp: November 16, 2018, 06:24:57 pm
content: For the slope I would use the same number of points as the real measurement, maybe leave out some of the later ones if the interval is really long. So 5-10 points look reasonable - with 10 points one could also calculate a reasonable standard deviation.

author: Pipelie
author_rank: Regular Contributor
timestamp: November 17, 2018, 07:15:25 pm
content: just attach some data for comparison.and attach the raw data as well.D4000 vs 3458 INL of 10V(-11V to 0V 0.1V step 100NPLC).pngD4000 vs 3458 INL of 10V(0.1V to 0V 11V step 100NPLC).pngthose two plots and 3458A#_CMP are using the script from e61_phil with some modification(average of 10 reading), thanks sharing the script. about 3 hours/run.//////////////5440B vs 3458A&D1281 INL of 10V(+-11V_0.1V step, 100NPLC_FAST OFF).pngand this plot are using the script from TiN, each data is average of 5 reading. about 10 hours/run

author: Kleinstein
author_rank: Super Contributor
timestamp: November 17, 2018, 07:40:50 pm
content: The error signal shows quite some correlation between the meters. This would suggest that the error is more due to the calibrator than the meters. With the script from e61_phil , there might be changes in the waiting time.

author: e61_phil
author_rank: Frequent Contributor
timestamp: November 17, 2018, 08:00:13 pm
content: Quote from: Kleinstein on November 17, 2018, 07:40:50 pmYes, the script waits until all measurements are within 1µV. Perhaps one can wait a fixed time and compare the results?I don't know the 1281, but I assume it is as slow as the 8508A. If that is the case one could increase the NPLC of the 3458A to integrate as long as the 1281 (for the measurement with the 1281).

author: Pipelie
author_rank: Regular Contributor
timestamp: November 18, 2018, 03:12:29 am
content: Quote from: e61_phil on November 17, 2018, 08:00:13 pmyeah, the D1281 is as slow as the 8508A.5440B vs 3458A&D1281 INL of 10V(+-11V_0.1V step, 100NPLC_FAST OFF).pngand this plot are using the script from TiN, each data is average of 5 reading. about 10 hours/run,soaping time is 10 seconds and then takefivefour reading, return the average of them.

author: TiN
author_rank: Super Contributor
timestamp: November 18, 2018, 10:33:20 am
content: Just a note - 8508A on RESL8, FAST_OFF is much slower than 1281, equivalent to about NPLC1020.

author: Pipelie
author_rank: Regular Contributor
timestamp: November 19, 2018, 01:52:29 am
content: here are results of Datron 4950 vs 3458, testing setup: soaping time: 10 seconds, 200NPLC on 3458A, D4950 is using HiAcc mode, Band OFF, CERT ON. Average of 4 reading.Note: D4950 is 7.5 digit DMMTEMP?#A1 is the internal temperature of 3458, TEMP?#D1 is the internal temperature of Datron 4950

author: Pipelie
author_rank: Regular Contributor
timestamp: November 29, 2018, 04:21:04 am
content: I'm done with testing the linearity of DMM now, no more meter for testing.I hope you guys like it.the linearity of DMM34401 is impressed.as usual, each data is average of 4 reading. the delay time for Fluke 5440B is 10 seconds.

author: niner_007
author_rank: Frequent Contributor
timestamp: December 09, 2018, 10:22:03 am
content: does anyone have one for 34470A and for DMM7510? 34470A is supposed to be 0.5ppm, while DMM7510 is supposed to be 1ppm, would be interesting to see how they really hold

author: Kleinstein
author_rank: Super Contributor
timestamp: December 09, 2018, 12:13:48 pm
content: The INL error can be different between different units. One of the likely larger error sources is the self heating of the input resistor to the integrator. This mainly results in a 3rd power contribution proportional to the resistors TC. It gets even more complicated with an resistor array with partial, but not perfect thermal coupling and matching. With good resistors the individual resistors can be quite different and even different sign and the TC and thus the resulting INL can depend on temperature.So these test only reflect the linearity of individual units, not for a type of meter.So it would need tests with quite a few units to also judge other units.

author: TiN
author_rank: Super Contributor
timestamp: January 07, 2019, 02:25:57 pm
content: Just having fun during lunch-time break:Animation shows polynom fit order from 1 to 31, using 8508A sweep from -19.9 to +19.9 V.

author: e61_phil
author_rank: Frequent Contributor
timestamp: March 23, 2019, 07:55:26 pm
content: I measured the Fluke 5730A a some weeks ago, but I think I never posted the results. Here is a measurement against two 3458A and a 8508A.All line up very well and the 8508A doesn't look as bad as in TiNs measurements. But I measured only from 0 to 10V. Perhaps the 8508A has problems if one is going through zero? I will run some tests about that..

author: Kleinstein
author_rank: Super Contributor
timestamp: March 23, 2019, 10:08:37 pm
content: The expected INL is in the same order of magnitude for the 3458, 8508 and the 57xx calibrator. So it can be tricky to tell who is at fault if it's not a straight line.For going through zero there could be a jump in the calibrator - at least TiN's 5720 seem to have a slight jump there. They tend to use just relays to reverse polarity and thus an offset error would cause a jump near zero.The better DMMs tend to measure across zero without anything special. Though there are a few exceptions (e.g. the 6581 and similar have a transition in run-up mode very close to 0). The 3458 ADC circuit also shows some odd circuitry (zero glitch jump circuit) to operate near zero crossing - though I somewhat doubt it would be active with normal measurements.The curve TiN showed has quite a lot of U³ contribution, which could be a thermal effect of resistors or similar. Reducing the range from +-20 to +-10 V would reduce the U³ part by a factor of 8.

author: TiN
author_rank: Super Contributor
timestamp: March 24, 2019, 06:16:46 am
content: Each of the point on my graph is actually 5 or more samples, not single sample. I added that to get idea of point noise graphically as well. But that makes a graph look extra "jumpy".And conditions/settings matter a lot when trying to do anything below own noise of the DMMs reference.Wouldn't trust much on anything below 0.2ppm, does not matter what DMM it is, just because in real life at this level you are much limited by reference noise.

author: branadic
author_rank: Super Contributor
timestamp: April 22, 2019, 04:45:06 pm
content: Measured Prema 5017SC and R6581D against Datron 4000A. Looks like the calibrator needs some calibration. Attached are the measured raw values as well as the mean values with standard deviation.-branadic-

author: e61_phil
author_rank: Frequent Contributor
timestamp: April 23, 2019, 06:23:57 pm
content: The graphs looked like the shape of both instruments is somewhat similar. Therefore, I would use the Advantest as reference. I also assume that is the most linear instrument of the three.The standard deviation of 0.3ppm at 10V for the 5017 seems to be really high. That is almost 2ppm peak peak. Is that a normal value for the Prema?

author: branadic
author_rank: Super Contributor
timestamp: April 23, 2019, 06:42:42 pm
content: I think I found the cause for that. I have the automatic filter activated (refering to the manual all specs given are valid only with this filter actived), which calculates the moving average over 10 values and additionally caluclates the difference between the latest two values and compares it with a difference stored in the meter. This filter is only restarted if range, function or integration time is changed. So obviously the measured values are worse due to the filter settings and I should have manually restarted the filter after changing the values on the calibrator or wait long enough for the filter to settle.I will perfom the measurements for the Prema 5017 SC again.-branadic-

author: e61_phil
author_rank: Frequent Contributor
timestamp: April 23, 2019, 06:44:52 pm
content: Isn't it possible to switch the filter off and do the averaging later?

author: TonyStewart
author_rank: Contributor
timestamp: April 23, 2019, 06:50:17 pm
content: I find the best ADC INL test is to use a perfect DAC (tested with a hardware counter for every value)- Then compare analog input vs analog output on an AC coupled scope in A-B differential mode ( DC coupled may saturate DSO input) or use a Diff Amp. DC coupled and use DAC as X axis and Diff err. output as Y axis. (Feeding ADC digital to DAC)- By sweeping the input with a triangle and find exactly why the ADC has errors from noise, linearity , missing codes from noisy Vref, gain and offset errors all can be explicitly measured.That is how I discovered a flaw in Burr Brown's early best performing ADC hybrids that were built to Mil-Std 883 quality level.- They had internal noise on Vref from internal digital noise at some thresholds like xx0111xxxxxx to xx1000xxxxxxThen error for rising and falling slope triangle waves at high speed ,may indicate either a filter group delay error or a Nyquist aliasing error or S&H "memory error" from previous value and not using a proper plastic dielectric for the S&H. (Ceramics have memory)- That seems to be the problem on the PREMA results.

author: maginnovision
author_rank: Super Contributor
timestamp: April 23, 2019, 07:14:56 pm
content: Quote from: branadic on April 23, 2019, 06:42:42 pmThe fast filter is auto filter but settles quicker. I've tried average filter also which you can manually reset but I'm not sure what it's really doing because it seems less stable.Last time I calibrated the datron I ended up just doing a quick range switch and back to reset it. I think you can manually 'trig' it but the range switch up/down was easier.

author: branadic
author_rank: Super Contributor
timestamp: April 23, 2019, 08:36:59 pm
content: Did a quick check with filter off, integration time 2s, 100 values per voltage step, range 0V ... 10V. The pictures looks much better now.Will check different integration times the next days over the full range. Prema 6048 uses the same ADC and is specified to have 0,1ppm linearity, refering to Mickle T. table:https://www.eevblog.com/forum/testgear/8-5-digit-dmm/msg270530/#msg270530I'm not sure if they are selected, since there is some marking on top of it.-branadic-

author: jaromir
author_rank: Unknown
timestamp: September 09, 2020, 08:58:18 pm
content: Apologies for resurrecting this old thread, but I thought it's good idea to ask about DMM linearity in DMM linearity thread.I wonder if anyone measured linearity of old 'brown-shoebox' series of Keithley multimeters? Perhaps it's scattered somewhere here on forum, but I can't find it.I know it's not typical volt-nut gear, but types 196 and 192 or similar 193 should be able to output 3M and 2M counts, being borderline there. They do have some differences in internal design (and step to K2000 series was quite a bit of rework again) so I wonder how and if it resulted in linearity differences.

author: antintedo
author_rank: Contributor
timestamp: September 10, 2020, 03:22:32 am
content: Results for K192 and some newer DMMs can be found in a thesis linked here:https://www.eevblog.com/forum/testgear/dmm-linearity/msg698554/#msg698554

author: Kleinstein
author_rank: Super Contributor
timestamp: September 10, 2020, 07:25:38 am
content: The ADC part in the keithley 192-199 look quite similar. There is not much in common with the K2000. There is a little similarity in the K2001. In some aspects it's similar to the HP3456, using CMOS logic chips for reference switching and switching only one side.One general contribution to INL is resistor self heating - this can vary between units, as there are good and not so good resistors.

author: krasimir.k
author_rank: Contributor
timestamp: April 08, 2021, 06:52:38 am
content: Hello,I got yesterday my linearity test report for mine 3458a and 34401a against Josephson Voltage Standard.The measurement was performed in Bulgarian Institute of Metrology.The report includes data for 0.1/1/10V ranges.I will try to send my Advantest R6581T till end of this year, but first I have to replace the dim screen.Regards,Krasi

author: guenthert
author_rank: Frequent Contributor
timestamp: April 09, 2021, 04:37:58 pm
content: Quote from: krasimir.k on April 08, 2021, 06:52:38 amDo I read the measurements correctly? The linearity looks outstanding, pity about the gain error. There's a 100ppm error in the 10V range for the 34401A. That is out of specification. Has that (old) instrument been recently calibrated?EDIT: I didn't. The graphs are in  not µV/V. Don't mind me then.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 09, 2021, 04:49:11 pm
content: With the 34401 is does not really make that much sense to use a JJA for a INL test. The test would be limited by the LM399 meter internal reference. This would already limit a test with a more common Fluke 5700 or similar. As a countermeasure it would take mutlitple runs of the votlage range, not just some 20 readings in a row at each votlage.So much of the deviations seen for the 10 V range may very well be explained by reference noise.The INL in the 100 mV and 1 V ranges look like mainly a U³ component, like what is expected from resistor self heating (e.g. die gain stage). This part can vary between units - so another meter may have different errors.

author: Mickle T.
author_rank: Frequent Contributor
timestamp: April 09, 2021, 06:02:37 pm
content: Quote from: Kleinstein on April 09, 2021, 04:49:11 pmSingle resistor self heating (with linear R(T) approximation) gives only a U2component of INL.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 09, 2021, 07:15:47 pm
content: The first component from resistor self heating is usually an error proportional to U³: the power is proportional to U² and the voltage error than resistor change times voltage.In some circuits there is a DC offset added at parts of the circuit and this may than give a U² term. Also heating from amplifiers may be more proportional to current.The 34401 seems to correct the turn over error (mainly the square part) numerically based on calibration. The service calls for a special cal point for the -10 V/10 V.So the U² term if present for any reason (e.g. nonlinerity at the ADC's 4053 switches, which can result in a small U² term) but also thermal effect in the resistor array (temperature effecting the offset) is likely corrected. As only the lower ranges show the pronounced U³ term, I would suspect the resistors setting the gain.

author: krasimir.k
author_rank: Contributor
timestamp: April 10, 2021, 05:16:03 pm
content: Here is more info about the gain error of the 3458a in the INL report. Sorry for the long story ...Lets starts with the drift of my LTZ1000. Between 19.06.2019 and 11.06.2020 I made two calibrations against Fluke 7009N in Bulgarian Institute of Metrology (BIM). The absolute difference was 2uV (0.2ppm), but the measurement uncertainty was 21uV in 2019 and 34uV in 2020. The Fluke 7009N itself was calibrated in BIPM France in 20.12.2017. Based on these numbers, I think that my LTZ1000 is stable enough.When I bought the 3458a at the end of 2020, there was -5.3ppm difference against my LTZ1000 based voltage reference.Not bad for a DMM calibrated before 8 years with 8ppm year spec :-)The 3458a and 34401a were adjusted with same LTZ1000 based 10V reference in period of around 6 months.The 34401a was adjusted in June 2020 by me with the LTZ1000 ref. and the 3458a was adjusted by me again in 29 Dec 2020 after adding 100K resistor parallel to the 15K in A9 voltage reference board. Because of this modification, during the whole Jan 2021, I saw 25uV down drift with 3458a measurements against my 10V reference, because of the new temp set point which is normal.In middle of the February I got an unexpected call from Bulgarian Metrology Institute. They ask me if I would give them my 34401 and 3458 for INL test, because they need equipment to test the Josephson Voltage Standard INL test procedures with as many DMM they can found. The price which I had to paid was very low so I agreed without any doubts :-) If I know that before, I had to skip the 100K resistor modification before the INL measurements in this short 1.5 month period.So lets return back to the gain error:I do not have statistics about the drift of the 3458a during Feb 2021, but I expect to be around 10uV. So if I sum the Jan+Feb drift + LTZ1000 calibration uncertainty this will make around 70uV possible gain error. Not near the 115uV, but big enough to explain this big gain error.When the 3458a returned back from BIM in February, I adjust the 3458a once more time at the end of February and during March I measure about 7uV drift against my LTZ1000. The first 10 days of April, the drift is down to 2uV, so seems the 3458's voltage reference is starting stabilizing around 3 months after 100K resistor modification. But the full stabilization can take few more months.My LTZ1000 will be calibrated in May 2021 again against the Fluke 7009N. But this time the Fluke 7009N itself will be calibrated against Josephson Voltage Standard during April 2021. So the uncertainty will be very low.Regards,Krasi

author: Kleinstein
author_rank: Super Contributor
timestamp: April 10, 2021, 06:33:23 pm
content: I remember reports that having multiple DMMs in parallel can cause some unexpected interactions - especially the R6581T (and similar) can have quite some spikes in the input current from auto zero switching, that may effect the votlage source and thus the readings on the other meters.One would normally not adjust the 3458 meter that often and better just note the difference how much it has drifted. This makes it easier following drift over a longer time.For the INL tests it may be nice to also note the mode the DMMs were operated in. From the RMS noise my guess is 10 PLC for the 34401 (which makes sense).The 3458 noise data are not so clear: The noise is a bit on the low side for 1PLC mode, especially at higher voltage where the reference noise would also add. For 10 PLC mode the noise is a bit high, at least for the 10 V case. The reference voltage should be OK, as the noise in 100 mV and 1 V range looks quite a bit lower. The INL may be slightly different for the 1 PLC mode compared to the 10 PLC mode, normally used for precision readings.For completeness one should also note the number of readings used, as this would show the uncertainty due to noise. The number of repeats does not seem to be that high, as the noise numbers are scattering quite a bit. For the 3458 the noise could be quite a significant part of the observed deviations.The plots would make more sense after subtracting the gain error.The error bars for the 34401 seem to correspond to the Stddev. data, which are likely for single readings, but the final data should be more like the average over some 10-100 such readings. So the actual noise may be lower. However epseically with the 34401 there can be added reference drift and low frequency noise.

author: TiN
author_rank: Super Contributor
timestamp: April 10, 2021, 06:54:15 pm
content: krasimir.kSince you have two calibrations, what was calculated drift of your LTZ1000 standard?QuoteWait here a second, so standard was never calibrated since end of 2017? I didn't expect this from NMI lab, to be honest.I'd say going for 100K modification was a good choice, I can only wish to see more people who do not need full +50°C ambient functionality ability do it. 1.5 months for settling is usually enough for LTZ1000A A9 reference. You do have to keep 3458A permanently powered on, however.Could be best if BIM would adjust your 3458A for you vs JJ, so you could know internal LTZ1000A A9 value with very good confidence. Then you could "transport" that value to your LTZ1000 reference at home, using 3458A as a transfer box (I know, many in EU will throw tomatoes at me on this suggestion, but it's better than nothing).Perhaps next step would be to evaluate thermal stability of your 3458A (you can cycle on/off airconditioner in the room, while logging data over few days), so you can estimate TC error of your 10V measurements as well.Looking forward to hear more about your results.

author: krasimir.k
author_rank: Contributor
timestamp: April 11, 2021, 05:12:00 am
content: Hi TiNThe drift based on absolute calibration values between June 2019 and June 2020 was 2uV only, but the uncertainty increased from 21uV in 2019 to 34uV in 2020. You can see in the attached screenshots.Yes, they calibrated their voltage references and resistance references on 3 years base.Now they have JJA, so they will stop sending the Fluke 7009N to France and probably will start calibration every year.I can not keep running the 3458a 24/7 because the DMM it is located next to my bed :-). But I'm running the last 3 months at least 12-14 hours per day.Regards,Krasi

author: krasimir.k
author_rank: Contributor
timestamp: April 11, 2021, 05:56:01 am
content: Hello,Here are the charts, based on raw data from the Supracon's programmable Josephson junction array system.The Agilent 3458a is within the spec according the "Transfer Accuracy/Linearity" table in the 3458a datasheet document for 10V and 1V range and out of spec for 0.1V range.The INL of the HP 34401a is within the datasheet spec : 2ppm of reading and 1ppm of the range.The INL of the HP 34401 is about 4 times better then the spec for 10V and 1V range.Regards,Krasi

author: Kleinstein
author_rank: Super Contributor
timestamp: April 11, 2021, 07:55:03 am
content: The specs for the 3458 in the 10 V range are for 0.05 ppm of the range plus 0.05 ppm of the reading. So the measured current curve is still inside this.The spec limits for the 1 V and 0.1 V range are even higher (0.3 +0.1 ppm and 0.5+0.5 ppm). This is natural as this includes amplifcation, that can add some INL errors.Also the measurement curve likely shows more noise effects. The 100 mV range may be effected by noise quite a bit.Even though the JJA source may be near perfect, there can still be noise from the distribution system and the DMM reference can also show noise / short time drift during the time for the measurements. The difference from the ideal line is quite small and thus just the random DMM noise can be significant. The deviation from the straight line is not only INL error but also includes ADC noise, amplifer noise, source noise (likely small) and DMM reference noise.Especially the LM399 ref in the 34401 can really limit the results, if the measurement is done in one run and not by repeating the squence several times. It is not so uncommon for a LM399 reference to show popcorn type jumps of some 0.5 ppm (3.5 µV) at some random times. If this happens during the measurement it can really though of the whole curve.

author: krasimir.k
author_rank: Contributor
timestamp: April 11, 2021, 08:38:00 am
content: Thank you very much, Kleinstein!I really forgot the "Transfer Accuracy/Linearity table" and only remember the number 0.05ppm.I will update my post with the correct data.Regards,Krasi

author: rf-design
author_rank: Regular Contributor
timestamp: April 16, 2021, 08:52:42 am
content: If the linearity measurement is a sequential procedure why it is exercised in the most error covering manner?1. Starting with the most negative input voltage2. Progress with lowest positive increments3. Only a single measurement for a single INL pointWhat are the practical reasons against a random voltage pointanda number of measurment points above 1?

author: Kleinstein
author_rank: Super Contributor
timestamp: April 16, 2021, 09:24:27 am
content: The INL test usually does a larger number of readings. The data krasimir.k showed include a stdDev column, and this needs more readings to calculate. From the scattering of the RMS values I would guess some 20-100 readings.I agree that a simple sequence startung at one end going up is not the best. There is nothing wrong with starting at one end an than go to one direction, as this would make a linear drift of the meter look like a change in gain only. The other possible reason is to have small steps and thus less settling time (DMM and source) needed.The problem is having 1 pass and thus quite some sensitivity to drift and low frequency noise.It is likely better to do multiple passes, so more like 10 readings each and than 10 passes instead of 200 readings at each point. This would allow averaging also to suppress lower frequency reference noise, which can be an issue especially for some meters like the 34401.It often takes some settling time, so it is a compromise between reference noise suppression ( more passes, less data at a time) and overall noise from more averaging.The test can not work with lowest increments - it would just take too much time with a slow (e.g. 1 Minute for each point) and high resolution DMM (e.g. > 1 million counts). So the INL test is allways only a partial test checking on a small fraction of the possible readings.

author: Pipelie
author_rank: Regular Contributor
timestamp: March 24, 2022, 05:58:24 am
content: it seems that there is no DMM7510 INL plot on the forum yet, I've tested the INL of the units in my lab. Here it's the result.1. Source: Fluke 5700EP2. DMM 2xDMM7510, and one 3458A as a comparison.3. setup on 7510: filter off, auto-zero on, >10G impedance. NPLC 2(I took 50 samples at each point and got the mean value in my script)as you can see in the plot below, the Positive input is pretty good, better than I expected(as good as my 34401).The INL of negative input is very different.and the Spec of ADC INL is 1ppm of reading + 1ppm of range.

author: Andreas
author_rank: Super Contributor
timestamp: March 24, 2022, 07:37:13 am
content: Hmm,what are the comp1 and comp2 measurements?with best regardsAndreas

author: HighVoltage
author_rank: Super Contributor
timestamp: March 24, 2022, 07:50:19 am
content: I also don't understand comp1 and comp2Also, you mentioned your 34401A can you add that one to your graph, if you have the numbers.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 24, 2022, 08:32:51 am
content: Dear E-Design posted INL DMM7510 data taken for one side in this thread:https://www.eevblog.com/forum/testgear/all-about-keithley-dmm7510-bugs-and-features-recipes-advice-notes/msg3402056/#msg3402056

author: Pipelie
author_rank: Regular Contributor
timestamp: March 24, 2022, 09:30:31 am
content: @Andreas and @HighVoltagethe 7510#1 and 7510#2 are the INL of two DMM 7510 I measured.and then I did poly fit on those curves in excel for fun, and I labeled them as 7510#1Comp. 1, 7510#2Comp. 2.

author: Pipelie
author_rank: Regular Contributor
timestamp: March 24, 2022, 09:32:17 am
content: Quote from: HighVoltage on March 24, 2022, 07:50:19 amHighVoltage, you can find it here.https://www.eevblog.com/forum/metrology/dmm-linearity-comparison/75/

author: e61_phil
author_rank: Frequent Contributor
timestamp: March 24, 2022, 11:00:40 am
content: Quote from: Pipelie on March 24, 2022, 05:58:24 amMay it be an artifact of the fitting? Could you also publish raw data?

author: Pipelie
author_rank: Regular Contributor
timestamp: March 24, 2022, 12:13:24 pm
content: Quote from: e61_phil on March 24, 2022, 11:00:40 amSure, It could be.I've uploaded the raw data. have fun!the file name with #1 is the data of my first DMM7510, #2 is the second one.there is no 3458A data in the files, I've measured 3458 INL over 5700 many times, there is no need to do it again.the 3458A curve on the plot is one of the typical INL of 3458A for reference only.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 25, 2022, 11:15:00 am
content: Quote from: Pipelie on March 24, 2022, 12:13:24 pmI have processed one of the files. The error reaches 3 ppm. On the graphs above, the error is much smaller. Am I forgetting something?

author: Kleinstein
author_rank: Super Contributor
timestamp: March 25, 2022, 11:37:03 am
content: The curve gets a little better if a common slope is subtracted. The INL still does not look that great, reaching 0.9 ppm FSPart of the jump around zero may be due to the calibrator - there is at least a chance to have some offset error there before polarity change.The positive side on it's own looks quite good, but the negative side does not look good. Also the combination is odd: at least the INL contributions I am aware of tend to not change so abrupt at around zero. So the square and cubic part would more be expected to effect both side about equally.This makes me wonder a little how much numerical correction of the INL is alread included.Edit:I just realized that there are 3 curves for 2 x DMM7510, so the 3 rd curve seems to be more like the 3458. makes me susepect that the odd curve is to a large part an effect of the calibrator and not the DMMs.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 25, 2022, 11:40:30 am
content: Quote from: Kleinstein on March 25, 2022, 11:37:03 amTo what extent it applies to measurements? After all, we consider the devices calibrated. Those should they be in tolerance without any additional amendments?An additional correction makes the graph look nice. But at the same time it says that there is a problem with the devices.

author: e61_phil
author_rank: Frequent Contributor
timestamp: March 25, 2022, 11:51:09 am
content: Quote from: Pipelie on March 24, 2022, 12:13:24 pmThanks, but it seems that all DUTs are in the same file, but not measured at the same time? Especially measuring the 3458A against the 7510 at the same moment in time would be interesting.And it is not fun to parse the data with several headers..Which DUT is which? duta is what?

author: macaba
author_rank: Regular Contributor
timestamp: March 25, 2022, 12:10:23 pm
content: Quote from: MegaVolt on March 25, 2022, 11:15:00 amIt seems to me that you should pick the fitting that makes the most sense for the situation (and state the fit you used in the chart title, e.g. "Endpoint fit INL"). In my opinion, that's usually endpoint linear fit (y=mx+c on first and last points to make the first and last points have 0PPM error on the chart) as this reflects a "perfect calibration to extremes" (because the actual calibration always drifts). In Pipelie's data, it looks like it would be better to use 0V and most positive value due to the defect in the negative region. I don't think it makes sense to do a general linear fit in most cases.

author: e61_phil
author_rank: Frequent Contributor
timestamp: March 25, 2022, 02:08:35 pm
content: Quote from: macaba on March 25, 2022, 12:10:23 pmOne should do a least-square fit against the reference. In that case the gain and offset of the DUT doesn't matter.

author: Pipelie
author_rank: Regular Contributor
timestamp: March 26, 2022, 03:46:49 am
content: I forgot to mention.here it's the info of files.the file name with #1 is the data of my first DMM7510, #2 is the second one.there is no 3458A data in the files, I've measured 3458 INL over 5700 many times, there is no need to do it again.the 3458A curve on the plot is one of the typical INL of 3458A for reference only.I also used gain and offset correction on the INL plot.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 27, 2022, 07:54:22 am
content: The gain and offset correction (which is the same as subtracting a fitted straight line) should be done for the whole curve, not seprate for the positive and negative side.The way the data are shown, as some smooth curve is confusing - it should be some point like symbols and not a smooth curve suggsting there would be a smooth curve. A good part of the scattering may very well be noise. The average over 50 readings of 2 PLC is not very much and the DMM7510 does have a problem with extra low frequency noise for about that time scale.It is a bit surprising to get such a poor linearity only for the negative side, and than 2 meters behaving nearly identical. Could there be a problem with settling ? It may be worth taking more data at each step and look at the frist and later data separate.For noise the averaging over multiple 2 PLC readings may be best, but the INL could be better for true 10 PLC at a piece.

author: Pipelie
author_rank: Regular Contributor
timestamp: March 27, 2022, 04:53:57 pm
content: Quote from: Kleinstein on March 27, 2022, 07:54:22 amthe DMM itself usually uses different gain and offset for the positive and negative input, however, the F5700 doesn't. that's why I did the correction separated.Keithley's ADC has the best performance while it runs at 1~5PLC, I've calculated the SDEV of 50 samples and printed it in log files, you can check the SDEV in the files.I don't think there is a problem in my setting and it's not worth the effort to test it again at this point.

author: e61_phil
author_rank: Frequent Contributor
timestamp: March 27, 2022, 05:27:00 pm
content: Here is what I get without any smoothing or differentiation between positive and negative.INL is calculated this way:def ppm_inl(dut, ref):slope, intercept, rvalue, pvalue, stderr = stats.linregress(dut, ref)return (ref - (dut * slope + intercept)) / 10 * 1e6Simple linear regressionI took the first measurement of one filedata = pd.read_csv("DCV_10vdc_F5700EP_DMM7510_2PLC_avg50_2.csv.txt", nrows = 219)

author: Kleinstein
author_rank: Super Contributor
timestamp: March 27, 2022, 06:06:47 pm
content: If the DMM uses a separate gain and offset for both signs, than part of the INL problem could be from a not so ideal calibration. For later use one does not really care why the DMM causes an error. Ideally there should be no breake in the gain and offset, as the ADC also works in the range across zero. The region around zero is often the most critical one, but the critical point may as well be a few mV off 0 V and a change in gain offset thus is more like a dangerous correction that can add another discontinuity at zero.The Fluke calibrator should have some internal parameter for the offset and this would effect the polarity reversal. So I somewhat understand that some correction here may make sense. However this would be only an offset shift, not a change in the gain.