Calibrating the Analyzer Using SCPI

There are several ways to calibrate the analyzer using SCPI depending on your measurement needs. As from the Cal Wizard, you can perform a Guided Cal, Unguided Cal, or ECal. This topic explains the differences in these calibration choices when using SCPI commands.

Note: ALWAYS send ALL measurement setup commands BEFORE initializing a remote calibration.

See Also

Synchronizing the Analyzer and Controller (During a calibration)

See SCPI Calibration Examples

Guided Calibrations

Guided versus Unguided is the style of calibration that is selected on the first page of the Calibration Wizard. A remote 'guided' cal does not present the cal wizard, but prompts for specific standards to be connected. In a remote 'Unguided', the steps must be 'hard-coded'.

Note: To perform an Unguided Calibration, use ONLY the Sens:Corr commands (NOT Guided).


From the Cal Wizard or from a SCPI program, ECal is fast, accurate, and very repeatable. Unlike from the Cal Wizard, you can use SCPI to perform ECal using either the Guided or Unguided commands. The Unguided commands are easiest to use. However, the following situations require that you use the Guided commands.

ECAL Notes:

See Using ECal to learn about all of the ECal features.

Creating Cal Sets

There are several ways to store guided cal data into a unique Cal Set. The following is probably the easiest. It does not require the name of an existing Cal Set and it allows you to name the Cal Set.

SENS:CORR:COLL:GUID:INIT  'start the cal with no cal set argument

'Perform the cal

SENS:CORR:COLL:GUID:SAVE 'create cal set with auto-generated name or to cal register

SENS:CORR:CSET:NAME 'MyCalSet'  'name the current cal set.

Applying Cal Sets and Cal Types

A Cal Set is applied to the channel and saved at the completion of a guided cal according to the preference setting SENS:CORR:PREF:CSET:SAVE.

When you select a Cal Set to apply to an uncalibrated channel, the analyzer attempts to find the most comprehensive calibration type in the Cal Set and turn it ON. In addition, changing a measurement parameter (for example, from S11 to S21) will also initiate an attempt to apply the best Cal Type and turn correction ON.

There may be times when you do not want the most comprehensive Cal Type. For example, say there is a Full 2-port Cal Set applied, but there is only an S11 measurement displayed. If measurement speed is a concern, you can apply a Full 1-Port Cal Type from that same Cal Set and save time by not doing the extra background sweeps. Learn more about background sweeps.

If you change the measurement parameter, the analyzer will reapply the Full 2-Port Cal Type.

See the SCPI and COM commands for Cal Sets and Cal Types.

Uploading Error Terms

Note: There was a method described here for WinCal 3.x that involved a preference setting. That method is no longer supported.

To upload error terms into a created or selected Cal Set:

SENS:CORR:CSET:Data <term> <port> <port> <data>

This method puts error terms into a Cal Set, outside of a Guided or Unguided calibration session.

The Cal Set can then be applied at any time.

See SENS:CORR:CSET commands.

Unguided Cals and Calibration Classes

The following describes how to perform an unguided calibration using SCPI. The objective here is to make clear the relationship between the physical port on which a standard is being measured, the actual device in the cal kit, and the SCPI command used to acquire the device.

Calibration standards classes are ‘categories’ of standard types.  To perform a 2 port calibration, the cal wizard requires the following types of standards to be measured:

3 reflection standards on the forward port:

Likewise, 3 reflection standards are required for the reverse port:

There is also a transmission standard that is measured in both directions:

The following illustrates the relationship between cal kit physical standards and calibration classes. Here is a list of the physical devices in my calibration kit.

Standard #1 = "3.5 mm male short"

Standard #2 = "3.5 mm male open"

Standard #3 = "3.5 mm male broadband load"

Standard #4 = "Insertable thru standard"

Standard #5 = "3.5 mm male sliding load"

Standard #6 = "3.5 mm male lowband load"

Standard #7 = "3.5 mm female short"

Standard #8 = "female to female characterized  thru adapter"

Standard #9 = "0-2 Load"

Standard #10 = "Open"

Standard #11 = "Non-insertable thru"

Standard #12 = "3.5 mm female lowband load"

Standard #13 = "3.5 mm female sliding load"

Standard #14 = "3.5 mm female broadband load"

Standard #15 = "3.5 mm female open"

When you perform a calibration remotely using SCPI, you don’t specify the device number directly.  Rather, you specify the class you want to measure.  Each device in the calibration kit is assigned to a class.  And since more than one device can be assigned to the same class, each class contains an ordered list of devices. The class assignments are set using the Advanced Modify Cal Kit dialog or the SCPI command:

SENS:CORR:COLL:CKIT:ORDer<class>, <std>, <std>, <std>, <std>,<std>,<std>,<std>

The 85052B kit used in the example program has the following standard list for each class:  The list was obtained by issuing the corresponding SCPI query:

SENS:CORR:COLL:CKIT:OLIST1?   S11A = +2,+15,+0,+0,+0,+0,+0

SENS:CORR:COLL:CKIT:OLIST2?   S11B = +1,+7,+0,+0,+0,+0,+0

SENS:CORR:COLL:CKIT:OLIST3?   S11C = +6,+5,+3,+12,+13,+14,+0

SENS:CORR:COLL:CKIT:OLIST4?   S21T = +4,+8,+0,+0,+0,+0,+0

SENS:CORR:COLL:CKIT:OLIST5?   S22A = +2,+15,+0,+0,+0,+0,+0

SENS:CORR:COLL:CKIT:OLIST6?   S22B = +1,+7,+0,+0,+0,+0,+0

SENS:CORR:COLL:CKIT:OLIST7?   S22C = +6,+5,+3,+12,+13,+14,+0

SENS:CORR:COLL:CKIT:OLIST8?   S12T = +4,+8,+0,+0,+0,+0,+0

When you perform the calibration, you acquire data by issuing the ACQuire command:

SENS:CORR:COLL:ACQ <class>[, <subst> ]

For example:



The SFOR command tells the wizard to make the next acquisition in the forward direction.  The ACQuire command specifies that we are measuring the 2nd device in the list for STANA.  And since we are measuring SFORward, then STANA refers to class #1 or S11A.  The list of devices for this class are specified in the OLIST1 query above.

Alternately, you could modify the device order for the S11A class to move device #15 into the first position (SENS:CORR:COLL:CKIT:ORDER1).  When the desired device is in the first position, you need not specify the order number in the ACQuire command.  The default is the first device in the OLIST.  This works well for two port network analyzers where the order for S11A,B,C classes is set up for port 1 and the order for S22A,B,C is set up for port 2.  With the kit set up in the proper order, you eliminate the need to specify the substandard number (SST<n>).

See an example: Perform an Unguided 2-port Cal on a 4-port analyzer.