Remote Spectrum Monitor : SCPI SPA Commands : :CALCulate Subsystem
 
:CALCulate Subsystem
The commands in this subsystem process data that has been collected via the SENSe subsystem.
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol[:DATA]<frequency list>
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol[:DATA]?
Title
Limit Control Data
Description
This command sets or queries the control data (X-axis values) for the specified limit.
The numeric suffix on LIMit specifies which limit number to query or set data. If the suffix is omitted, the command will refer to limit 1.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
This command takes a list of one or more frequency values as parameters. For example: CALC:LIM1:CONT:DATA 1 MHz, 2MHz, 3MHz
Note that it is permitted to set one or more invalid 'placeholder' values of Not-A-Number (NAN). The placeholder value for NAN is 9.91e37. If a control data point contains a value of 9.91e37, limit line interpolation from the previous data point, and to the next data point, will not occur. This is useful for defining discontiguous (or segmented) limit lines within a single limit.
For example, to define a limit line of two discontiguous segments, one from 1 MHz to 10 MHz, and another from 20 MHz to 30 MHz, send the following control data:
CALC:LIM1:CONT:DATA 1MHz, 10MHz, 9.91e37, 20MHz, 30MHz.
Note that the upper (or lower) data, if used, should contain the same amount of points as the control data (see CALC:LIM:FAIL? for details on what happens when this is not true). Thus, when using placeholders in control data, it is recommended that placeholders are also used in the upper (or lower) data.
For example:
CALC:LIM1:CONT:UPP 0dBm, 10dBm, 9.91e37, 10dBm, 0dBm
The exact value for the middle point does not matter, as interpolation will always be skipped due to the control data containing NAN, but using NAN for the corresponding upper (or lower) data value will make it easier to remember that the point is a placeholder.
Parameters:
<frequency list>
Syntax Example
:CALC:LIM1:CONT:DATA 1MHz, 2MHz, 3MHz
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer[:DATA] <amplitude list>
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer[:DATA]?
Title
Lower Limit Data
Description
This command sets or queries the lower limit data (Y-axis values) for the specified limit. The numeric suffix on LIMit specifies which limit number to query or set data. If the suffix is omitted, the command will refer to limit 1. If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON). This command takes a list of one or more amplitude values as parameters. For example,
CALC:LIM1:LOW:DATA 1 dBm, 2 dBm, 3 dBm
Note that it is permitted to set one or more data values of +/- infinity. The placeholder value for +/- infinity is +/-9.9e37. If a lower data point contains a value of +/-9.9e37, the amplitude at that point will be treated as if it were +/- infinity (i.e. the lower limit will either always fail or always pass at that point).
It is also permitted to set one or more invalid 'placeholder' values of Not-A-Number (NAN). This is useful for defining discontiguous (or segmented) limit lines within a single limit. For details, and an example, of using placeholder values, see CALC:LIM:CONT:DATA.
Parameters
<amplitude list>
Syntax Example
:CALC:LIM1:LOW:DATA 1 dBm, 2 dBm, 3 dBm
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer[:DATA] <amplitude list>
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer[:DATA]?
Title
Upper Limit Data
Description
This command sets or queries the upper limit data (Y-axis values) for the specified limit. The numeric suffix on LIMit specifies which limit number to query or set data. If the suffix is omitted, the command will refer to limit 1. If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON). This command takes a list of one or more amplitude values as parameters. For example, CALC:LIM1:UPP:DATA 1 dBm, 2dBm, 3 dBm.
Note that it is permitted to set one or more data values of +/- infinity. The placeholder value for +/- infinity is +/-9.9e37. If an upper data point contains a value of +/-9.9e37, the amplitude at that point will be treated as if it were +/-infinity (i.e. the upper limit will either always pass or always fail at that point). It is also permitted to set one or more invalid 'placeholder' values of Not-A-Number (NAN). This is useful for defining discontiguous (or segmented) limit lines within a single limit. For details, and an example, of using placeholder values, see CALC:LIM:CONT:DATA.
Parameters:
<amplitude list>
Syntax Example
:CALC:LIM1:UPP:DATA 1 dBm, 2 dBm, 3 dBm
:CALCulate{[1]}:LIMit:ACTive?
Title
Limit Active
Description
Queries the numbers of all active limit lines in ascending order.This command returns a empty string if no limits are active.
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:COMMent <string>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:COMMent?
Title
Limit Comment
Description
Associates a user-defined comment with each limit. The set version of this command takes a single parameter that is a string containing the desired comment. The query version returns the comment that is set.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<string>
:CALCulate:LIMit:ALARm?
Title
Limit Alarm
Description
This command enables/disables the AAE notification for limit failures.
Parameter(s)
<0 | 1 | ON | OFF>
Query Return
0 | 1
Default Value
OFF
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:COMMent <string>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:COMMent?
Title
Limit Comment
Description
Associates a user-defined comment with each limit. The set version of this command takes a single parameter that is a string containing the desired comment. The query version returns the comment that is set.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameter(s)
<string>
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol[:DATA] <numeric_value> {HZ | KHZ | MHZ | GHZ}, {<numeric_value> {HZ | KHZ | MHZ | GHZ}}, ...
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol[:DATA]?
Title
Limit Control Data
Description
This command sets or queries the control data (X-axis values) for the specified limit.
The numeric suffix on LIMit specifies which limit number to query or set data. If the suffix is omitted, the command will refer to limit 1.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
This command takes a list of one or more frequency values as parameters. For example,
CALC:LIM1:CONT:DATA 1 MHz, 2MHz, 3MHz
Note that it is permitted to set one or more invalid ’placeholder’ values of Not-A-Number (NAN). The placeholder value for NAN is 9.91e37. If a control data point contains a value of 9.91e37, limit line interpolation from the previous data point, and to the next data point, will not occur. This is useful for defining discontiguous (or segmented) limit lines within a single limit.
For example, to define a limit line of two discontiguous segments, one from 1 MHz to 10 MHz, and another from 20 MHz to 30 MHz, send the following control data:
CALC:LIM1:CONT:DATA 1MHz, 10MHz, 9.91e37, 20MHz, 30MHz
Note that the upper (or lower) data, if used, should contain the same amount of points as the control data (see CALC:LIM:FAIL? for details on what happens when this is not true). Thus, when using placeholders in control data, it is recommended that placeholders are also used in the upper (or lower) data. For example,
CALC:LIM1:CONT:UPP 0dBm, 10dBm, 9.91e37, 10dBm, 0dBm
The exact value for the middle point does not matter, as interpolation will always be skipped due to the control data containing NAN, but using NAN for the corresponding upper (or lower) data value will make it easier to remember that the point is a placeholder.
Parameter(s)
<numeric_value> {HZ | KHZ | MHZ | GHZ}, {<numeric_value> {HZ | KHZ | MHZ | GHZ}}, ...
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol:MODE <char>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol:MODE?
Title
Limit Control Mode
Description
Choose either ABSolute or RELative limit.
In ABSolute mode, the control value of the limit line is defined by absolute physical values (Hz).
In RELative mode, the control value of the limit line is relative to the center frequency (Hz).
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<char>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:CONTrol:SHIFt <freq>
Title
Limit Control Shift
Description
Move a limit line along the control axis. This command changes the value of:
:CALCulate<n>:LIMit<k>:CONTrol[:DATA]
Issuing this command multiple times will change the limits each time will shift the control axis by 5 Hz.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<freq>
Syntax Example:
Issuing this command multiple times will change the limits each time.
CALC:LIM1:CONT:SHIFT 1 Hz
CALC:LIM1:CONT:SHIFT 1 Hz
CALC:LIM1:CONT:SHIFT 1 Hz
CALC:LIM1:CONT:SHIFT 1 Hz
CALC:LIM1:CONT:SHIFT 1 Hz
Remark
This will shift the control axis by 5 Hz
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:COPY <number>
Title
Limit Copy
Description
Copies a limit line. For example, :CALC:LIM1:COPY 2 copies limit 1 to line 2. If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<number>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:DELete
Title
Limit Delete
Description
Deletes a limit line. If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
:CALCulate:LIMit:ENVelope:OFFSet <numeric_value> {DBM}
:CALCulate:LIMit:ENVelope:OFFSet?
Title
Limit Envelope Offset
Description
This command sets/gets the limit envelope offset. This defines how far away from the measured signal indicated the limit envelope is placed. Use :CALCulate:LIMit:TYPe to set the currently active limit line.
Parameter(s)
<numeric_value> {DBM}
Query Return
Numeric (dBm)
Default Value
3 dBm
Default Unit
dBm
Range
-100 dBm to 100 dBm
:CALCulate:LIMit:ENVelope:POINt <numeric_value>
:CALCulate:LIMit:ENVelope:POINt?
Title
Number of Limit Envelope Points
Description
This command sets the number of inflection point for the limit envelope.
Parameter(s)
<numeric_value>
Query Return
Numeric
Default Value
21
Range
2 to 41
:CALCulate:LIMit:ENVelope:SHAPe <SQUare|SLOPe>
:CALCulate:LIMit:ENVelope:SHAPe?
Title
Limit Envelope Shape
Description
This command sets/gets the currently active limit envelope shape.
Parameter(s)
<SQUare|SLOPe>
Default Value
SQUare
Range
SQUare|SLOPe
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:ENVelope:UPDate:Y
Title
Update Limit Envelope Amplitude
Description
This command updates the amplitude of the upper and lower limits without changing the frequencies of the inflection points.
Parameter(s)
none
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:FAIL?
Title
Limit Fail
Description
This command queries the result of a limit check. All traces that have had checking enabled (via CALC:TRAC:CHEC) will be evaluated against the upper and lower data of the specified limit, unless the limit STATe is OFF (in which case this command will always return 0), or the upper or lower STATe is OFF (in which case only the data with STATe ON will be checked).
If the sweep has not completed yet, the partial trace will be evaluated. If INITiate:CONTinuous is ON, a snapshot of the trace at the time this command was received will be evaluated against the limit. This command returns 1 if any of the checked traces violate the limit, otherwise it returns 0.
When a limit is evaluated, there are some rules that are followed if the cardinality of the limits control, upper, and lower data are not equal. If there are fewer control data points than upper or lower data points, then only the first n upper or lower points will be evaluated, where n is the number of control points. If there are fewer upper or lower points than control points, then the effective number of upper or lower points will be increased to the number of control points, with the 'extrapolated' points having a value equal to the last upper or lower point.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer[:DATA] <numeric_value> {DBM}, {<numeric_value> {DBM}}, ...
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer[:DATA]?
Title
Lower Limit Data
Description
This command sets or queries the lower limit data (Y-axis values) for the specified limit.
The numeric suffix on LIMit specifies which limit number to query or set data. If the suffix is omitted, the command will refer to limit 1.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
This command takes a list of one or more amplitude values as parameters. For example,
CALC:LIM1:LOW:DATA 1 dBm, 2dBm, 3 dBm
Note that it is permitted to set one or more data values of +/- infinity. The placeholder value for +/- infinity is +/-9.9e37. If a lower data point contains a value of +/-9.9e37, the amplitude at that point will be treated as if it were +/-inifinity (i.e. the lower limit will either always fail or always pass at that point).
It is also permitted to set one or more invalid ’placeholder’ values of Not-A-Number (NAN). This is useful for defining discontiguous (or segmented) limit lines within a single limit. For details, and an example, of using placeholder values, see CALC:LIM:CONT:DATA.
Parameter(s)
<numeric_value> {DBM}, {<numeric_value> {DBM}}, ...
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer:ENVelope:CREate
Title
Create Lower Limit Envelope
Description
This command is used to create an Lower limit envelope on the selected trace.
Parameter(s)
none
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer:MODE <char>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer:MODE?
Title
Limit Lower Mode
Description
Choose either ABSolute or RELative limit.
In ABSolute mode, the control value of the limit line is defined by absolute physical values (dBm).
In RELative mode, the control value of the limit line is relative to the reference level (dB).
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<char>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer:SHIFt <relative amplitude>
Title
Lower Limit Shift
Description
Move the lower limit up or down by a relative amplitude. This command changes the value of:
:CALCulate<n>:LIMit<k>:LOWer[:DATA]
:CALCulate<n>:LIMit<k>:LOWer[:DATA]
Remark:
Issuing this command multiple times will change the limits each time.
Parameters:
<relative amplitude>
Syntax Example:
CALC:LIM1:LOW:SHIFT 1 dB
CALC:LIM1:LOW:SHIFT 1 dB
CALC:LIM1:LOW:SHIFT 1 dB
CALC:LIM1:LOW:SHIFT 1 dB
CALC:LIM1:LOW:SHIFT 1 dB
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Remark
Will shift the lower limit by 5 dB
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer:STATe <boolean>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:LOWer:STATe?
Title
Lower Limit State
Description
Turns ON or OFF the lower limit.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<boolean>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:NAME <string>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:NAME?
Title
Limit Name
Description
Associates a user-defined name with each limit. The set version of this command takes a single parameter that is a string containing the desired limit name. The query version returns the name that is set.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<string>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:STATe <0 | 1 | ON | OFF>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:STATe?
Title
Limit State
Description
Turns the limit check for a specific limit ON or OFF.
When CALC:LIM:STATE is ON, any changes to the limit data or control for that limit will cause CALC:LIM:UPP:STATE and CALC:LIM:LOW:STATE to automatically be set ON.
When CALC:LIM:STATE is OFF, any changes to the limit data or control for that limit will cause CALC:LIM:UPP:STATE and CALC:LIM:LOW:STATE to automatically be set OFF.
Parameters:
<0 | 1 | ON | OFF>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:TRACe:CHECk <boolean>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:TRACe:CHECk?
Title
Limit Trace Check
Description
This command turns the limit check for a specific trace on and off.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<0 | 1 | ON | OFF>
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer[:DATA]?
Title
Upper Limit Data
Description
This command sets or queries the upper limit data (Y-axis values) for the specified limit.
The numeric suffix on LIMit specifies which limit number to query or set data. If the suffix is omitted, the command will refer to limit 1.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
This command takes a list of one or more amplitude values as parameters. For example,
CALC:LIM1:UPP:DATA 1 dBm, 2dBm, 3 dBm
Note that it is permitted to set one or more data values of +/- infinity. The placeholder value for +/- infinity is +/-9.9e37. If an upper data point contains a value of +/-9.9e37, the amplitude at that point will be treated as if it were +/-inifinity (i.e. the upper limit will either always pass or always fail at that point).
It is also permitted to set one or more invalid ’placeholder’ values of Not-A-Number (NAN). This is useful for defining discontiguous (or segmented) limit lines within a single limit. For details, and an example, of using placeholder values, see CALC:LIM:CONT:DATA.
Parameter(s)
<numeric_value> {DBM}, {<numeric_value> {DBM}}, ...
:CALCulate:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer:ENVelope:CREate
Title
Create Upper Limit Envelope
Description
This command is used to create an Upper limit envelope on the selected trace.
Parameter(s)
none
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer:MODE <char>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer:MODE?
Title
Upper Limit Mode
Description
Choose either ABSolute or RELative limit.
In ABSolute mode, the control value of the limit line is defined by absolute physical values (dBm).
In RELative mode, the control value of the limit line is relative to the reference level (dB).
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<char>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer:SHIFt <relative amplitude>
Title
Upper Limit Shift
Description
Move the upper limit up or down by a relative amplitude. This command changes the value of
:CALCulate<n>:LIMit<k>:UPPer[:DATA].
Issuing this command multiple times will change the limits each time.
CALC:LIM1:UPP:SHIFT 1 dB
CALC:LIM1:UPP:SHIFT 1 dB
CALC:LIM1:UPP:SHIFT 1 dB
CALC:LIM1:UPP:SHIFT 1 dB
CALC:LIM1:UPP:SHIFT 1 dB
Will shift the upper limit by 5 dB
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<relative amplitude>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer:STATe <boolean>
:CALCulate{[1]}:LIMit{[1]|2|3|4|5|6|7|8|9|10}:UPPer:STATe?
Title
Upper Limit State
Description
Turns ON or OFF the upper limit.
If a limit of the specified number does not already exist, a default limit will be created first (having empty data, with state set to ON).
Parameters:
<0 | 1 | ON | OFF>
:CALCulate:PEAK:COUNt <numeric_value>
:CALCulate:PEAK:COUNt?
Title
Peak Count
Description
The desired number of peaks to be reported by FETC:PEAK? query.
Parameter(s)
<numeric_value>
Query Return
Numeric
Default Value
1
Range
1 to 6
:CALCulate:PEAK:THReshold <numeric_value> {DBM}
:CALCulate:PEAK:THReshold?
Title
Peak Threshold Level
Description
Sets the threshold level which peak powers must exceed to be reported by FETC:PEAK? query.
Parameter(s)
<numeric_value> {DBM}
Query Return
Numeric (dBm)
Default Value
0 dBm
Default Unit
dBm
Range
-150 dBm to 30 dBm
:CALCulate:PEAK:THReshold:STATe <0 | 1 | ON | OFF>
:CALCulate:PEAK:THReshold:STATe?
Title
Peak Threshold State
Description
Turn ON|OFF the threshold that peak powers must exceed to be reported by PEAKS? query.
Parameter(s)
<0 | 1 | ON | OFF>
Query Return
0 | 1
Default Value
OFF