I'm using an NI 4072 to measure a voltage which I expect to be around 0V. There's some noise, so I am taking 50 samples and arriving at a mean to return to a higher level function.
I was surprised to see that there were some NaNs being returned a the mean value. After all this is a 300V capable DMM and I'm measuring about 1.0V pk-pk AC noise on 0V DC. Taking a closer look, I added an indicator to show what range had been selected by the DMM (it's set in Autorange) and I noticed that it was 1V. So, I could see in my raw sample array a lot of values which were very close to 1V and given that there is the occasional NaN, I am obviusly 'sampling' voltages in excess of 1.05 (105% is the NaN overrange limit).
OK, so for my application, I could select 300V range and still get 1mV resolution which is fine for me, but it begs the question, how does the auto-range function work? Of course, I understand the objective of trying to maximise 'dynamic range' of the instrument, but I would question the sampling/filtering regime in place for the auto-range selection. If the peak value is *so* close to 105% of the range selected, doesn't that risk returning (unhelpful) NaNs?
So I would alert users to the potential for the auto-range to deliver a range setting whose maximum is very very close to the value being measured - such that if a variation in the value measured occurs within a sampling period it will return NaNs...at the same time wondering what have I missed about using this instrument that I have fallen 'victim' to this behaviour?
This is the exact reason to avoid autoranging besides the fact that it can be much slower. This is not just the NI device, but most autoranging devices. If you know the value to be around 1V, then set the range to the 10V scale. A novice uses the auto features when they do not know better. An expert knows the limitations of the instrument and tries to avoid those conditions (Unintended consequences).