Variables¶
Variables are used to describe sweeping acquisition experiments.
Output variables¶
Output variables provide a way to sweep over a range of values on a resource. An output variable will have a customizable range of values over which it iterates.
Tip
The unqualified term “variable” typically refers to output variables.
Type¶
An output variable has an associated type. It must be one of:
- Float
Each produced value is a floating point value, with an integral portion and a decimal portion.
For example, “-5.5”.
- Integer
Each produced value is an integer value. If any of the generated values contain a decimal portion, it is truncated.
For example, “5”.
- Quantity
Each produced value is a floating point value with a corresponding unit.
For example, “12.3 GHz”.
Constant value¶
Each variable is assigned a constant value. By default, this value is ignored; however, there are several options which make use of this value.
For example, if the variable is set to be a “constant variable”, then its value is never iterated; instead, its value is set to the constant value at the beginning of a sweep and then left there for the entire duration.
Note
The constant value of a variable always incorporates the type and units of the variable.
See also
Order¶
Each output variable has an order to which it belongs, defined by an integer value (either negative, zero, or positive). This order is used to determine the looping sequence for variable iteration and has no bearing on the values of the variable.
Variables which share the same order value are stepped together. Variables which have a greater order value are stepped more slowly (ie. they are on an outer loop of the iteration) relative to those which have a lesser order value.
Warning
In a single order, whichever variable has fewest values dictates how many values the other variables will have. Any excess values for the longer variables are silently truncated.
For example, if variables A, B, C, and D have orders of -5, 1, 1, and 10, respectively, then:
- D will iterate most slowly
- B and C will iterate in lockstep, between D and A
- A will iterate most quickly
Note that since constant variables by definition do not iterate, they are all put into a separate virtual order, and so are ignored from the point of view of the ordering discussion.
Smooth setting¶
During a sweep, it is sometimes beneficial to avoid abruptly setting variables to values, since this can correspond to large jumps in current or potential difference in configured devices. To reduce the negative effect of changing values, the variables can optionally be “smoothly set” at various times:
- Smooth setting from constant value
- At the start of a sweep, the variable is set to the constant value, and then (over the desired number of steps) swept towards its inital value at the start of the sweep.
- Smooth setting to constant value
- At the end of a sweep (even if the sweep is prematurely aborted), the variable is smoothly swept from its final value to its constant value.
- Smooth transition between loop iterations
- At the end of a single iteration of an order, if that order was not the slowest-stepping outer loop order, the variable is smoothly swept back to its initial value so that it can be stepped over again.
Note
Each smooth setting step is always 100 ms in duration.
See also
Input variables¶
Typically referred to as “measurements”, input variables provide a way of gathering data from resources.
There exist two types of measurements: scalar and list. Scalar measurements correspond to the acquisition of single values over time (eg. an amplitude or a frequency); list measurements correspond to the acquisition of a list of values over time (eg. a waveform captured by an oscilloscope). Naturally, if the measurements are done several times, scalar measurements produce one-dimensional data, while list measurements produce two-dimensional data.
See also