Hi, I've been trying to get as much as possible out of my meter - thus let me kindly ask experts here on the process how to post-process data I get from my meter and how to improve it.
The meter I use is a trusty HP34401A - thus nothing related to the real metrology, a pity, but this is more less a general question - how to "compensate" a dmm data during a measurement. So far I do it as follows (see below a graph from today's run):
In past I made several "tempco scans" - I ran the DMM against the hot Vref (ie. an LTZ1000A) from its cold state to its hot state while measuring the Vref and DMM's internal temperature - I get a curve - ie. the raw data in BLUE below.
As you may see it looks pretty linear, with aprox +0.52ppm/C. Based on that I get a tempco coefficient (or "coefficients" as I will do with higher order polynomials).
During the measurement I do - upon each incoming raw 100PLC sample - following (all below is done via an stm32 mcu parsing the incoming raw DMM data and making all calcs in double precision, all data are captured in a csv file):
a) I do capture raw data - BLUE (together with date/time, ambient and DMM's internal temp, moving stddev for DMM's temp and raw voltage data, ms timestamps, ppm value, etc),
b) I do a gain and offset correction (the params gathered in past against a Fluke from a metrolab and LTZ1000 calib recently),
c) then I do a tempco correction (a linear one so far, from 36C internal dmm temp up) - RED,
d) then I do moving median filter (upon 7 last samples) in order to get rid of occasional outliers - GREY,
e) and then I do moving TEMA smoothing for fun - YELLOW.
PS: my internal DMM temperature fully stabilizes after aprox 2.5hours..
Thus I get data I can play with in excel after the measurement. I am not sure whether the process above is optimal, however. The dmm's tempco is not perfectly linear as you may see after the dmm's internal 36C kicks off (the temperature difference ambient vs dmm's internal is aprox 18.5C after it gets stable, therefore I decided to start the TC compensation from 36C - such it kicks off from aprox 17.5C ambient worst case), therefore I am going to use a higher order polynomial to compensate the TC.
Add up the HP34401A's noise, LM399 popcorn and a dozen of other factors - and the uncertainty is rather high in this setup, sure, but let me focus on the basic process above - is there something I can improve further on?