# Error Analysis due to Voltmeter Constraints

I got a situation: at the moment I am unable to access both channels for Keithley 2182A nanovoltmeter using LabVIEW. However, for some odd reason, while I cannot access the channels at once, LabVIEW does give me the ability to access channel 1 and the ratio between the two channels - from which I use those points to find channel 2.

However, again, because of my hardware, it appears I would need a minimum of two measurements (the minimum size of my buffer is of two), so I am wondering if the following decisions are sound with experimental good practices:

1. Given that I get two measurements for channel 1 (V1), I cannot just pick one of them (either at random or deliberately) so I calculate the mean of the two measurements and keep the mean measurement of V1.
2. Likewise, given two measurements of the Ratio of channels 1 and 2 (V1/V2), I too calculate the mean and keep the mean measurement of V1/V2.
3. And finally, I calculate the ratio between these two measurements to yield the mean of channel 2 (V2).

Right now this is just a draft, proof-of-concept so I can do some measurements to teach myself basic lab techniques. However, I also know, from experience, that what I just described sounds like really bad in terms of error propagation. For instance, I think I can able to stand by steps 1 and 2 in terms of error propagation, but the third step, the ratio, I am wondering: how bad is this ratio measurement in terms of error propagation?

Also, any books, papers, etc about experimental techniques in electronics would be greatly appreciated!

• This is an electrical engineering subject, specifically on the subject of instrumentation.
– Bob D
Feb 27, 2020 at 20:18
• Ok then, I will move this post there. My apologies. If it helps, I am a physics MS student, so I hope you can understand why I came here with this question. Feb 27, 2020 at 20:24
• No problem. I didn't mean to be critical. But you will get much better feedback on the engineering site. Good luck.
– Bob D
Feb 27, 2020 at 20:34

I don't own a Keithly 2182A so I can't verify this answer, but I think the command sequence shown below in Listing 1 should be a good starting point for your program. Of course, you will need to reconfigure some of the settings to meet your requirements.

See also the User's Manual for the Keithley Model 2182/2182A Nanovoltmeter (document 2182A-900-01 Rev. B / May 2017). This manual is available for download from Tektronix's website (https://www.tek.com).

Listing 1.

//
// Configure the instrument's settings to a known/default condition
//

*RST
*CLS

//
// Configure input channel 1
//

:SENSe:CHANnel 1
:SENSe:FUNCtion 'VOLTage:DC'
:SENSe:VOLTage:DC:RANGe 10      // Use fixed range for fastest readings.
:SENSe:VOLTage:DC:NPLC 0.01     // Use lowest NPLC setting for fastest readings.
// (NPLC := Number of Power Line Cycles)

//
// Configure input channel 2
//

:SENSe:CHANnel 2
:SENSe:FUNCtion 'VOLTage:DC'
:SENSe:VOLTage:DC:RANGe 10      // Use fixed range for fastest readings.
:SENSe:VOLTage:DC:NPLC 0.01     // Use lowest NPLC setting for fastest readings.

//
// Disable instrument features that slow down the measurement speed
//

:DISPlay:ENABle OFF             // Turn off display to increase speed.
:SYSTem:AZERo:STATe OFF         // Disable autozero to increase speed, but may cause
// drift over time.
:SENSe:VOLTage:DC:LPASs OFF     // Turn off analog filter for speed.
:SENSe:VOLTage:DC:DFILter OFF   // Turn off digital filter for speed.

//
// Trigger a measurement cycle
//
// NB: *RST disables continuous trigger initiation
// :INITiate:CONTinuous OFF
//
// NB: *RST sets the trigger count to 1 (one)
// :TRIGger:COUNt 1
//

:ABORT                          // Reset the trigger system
:INITiate:IMMediate 1           // Trigger one measurement

//
// Code that waits for the triggered measurement to finish
// do {
//    sleep 100 ms              // Sip some coffee
//    *STB?                     // Query the instrument's status byte
//    (enter status, store status in variable STB_VALUE)
// } while ( MEASUREMENT AVAILABLE (MAV) bit is not set in STB_VALUE );
//

//
// Fetch the measurement data
//

:FETCH?