Thanks to lukier for kick in the butt, I got around to run some python snakes to measure (or should I better say, estimate?) linearity errors of the above mentioned Hulk calibrator.
So here are some pretty charts, impressed even me... Can't be that good.
Method is rather simple, python application programs DC voltage of the Hulk output from -10.9 to +10.9, with range locked to 11V. Steps in programming are 0.1V, for good resolution. Calibrator ran internal zero before test.
As detector we use ADC with best linearity possible : 3458A. Actually two of them, connected to Hulk output, using Belden cable and bare copper spade lugs.
Then collected data points are calculated for deviation from best-fit polynom, and error calculated in ppms from 10VDC scale. Numpy code to do that:
p = np.polyfit(real,ideal,1) # Fit polynom to data
pv = np.polyval(p,real) # Calculate deviation from polynom
diff = ideal-pv # Determine delta
diff_ppm = (diff/10)*1000000.0 # Calculate scale in ppms
Some comments for less verse readers:
* Thin blue line is meter 3458A (GPIB 3)
* Thin pink line is second meter 3458B (GPIB 2)
* Thick brown line is INL data of 3458B minus INL data of 3458A. This essentially to remove INL of the calibrator source itself, to get difference between two 3458As.
* Orangle line is bonus, Fluke 8508A versus Hulk calibrator. Settings RESL8, FAST_OFF, equivalent to about NPLC1040.
Differential INL between 3458A is quite cool +0.09 to -0.06 ppm peak to peak. Matching the 0.1 ppm specification of the 3458A well, for what it's worth.
Then I turned off aircon in calroom, and let ambient temperature to climb +29C. Idea is that it may help INL data, by removing drafts and temperature variations?
This test still running (Beware, full sweep takes multiple hours, so not 100% correct way, as best INL specified only for minutes/tens minutes periods, not hours), that's why data not finished.
* Thin blue line is meter 3458A (GPIB 3)
* Thin pink line is second meter 3458B (GPIB 2)
* Thick brown line is INL data of 3458B minus INL data of 3458A. This essentially to remove INL of the calibrator source itself, to get difference between two 3458As.
* Orangle line is bonus, Fluke 8508A versus Hulk calibrator. Settings
RESL7 this time, FAST_OFF, equivalent to about
NPLC104.
* This graph also have Keithley 2002 meter added for giggles. NPLC50, DFILT OFF.
* Bold magenta and violet lines are difference of K2002 from either of 3458s.
As sanity check, I got remote access to <90day calibrated Fluke 5730 in far far away galaxy. So I ran very same code on 5730A and 3458A (another one, not mine) so we can glance over the data from this setup as well.
10V , NPLC50. Same configuration of the calibrator as my 5720A Hulk.
1V range, NPLC 100. Rangelock at 2.2V range.. Otherwise same configuration.
Comments?