Expression
An expression is a mathematical formula that can be evaluated.
Expressions can either be evaluated once at the beginning of a sequence, or multiple times for each shot.
When an expression is evaluated for each shot, its value can be different every time if it depends on a variable that changes between shots.
Analog expression
An analog expression is a mathematical expression that takes either a real value or a dimensioned value.
10: a constant value40 kHz: a constant value with a unit(10 MHz + 20 kHz) / 2: an algebraic formulasin(0.5): a formula with a function5 * red_mot.detuning: a formula with a variable
Digital expression
A digital expression is a mathematical expression that takes only two values: Enabled or Disabled.
It can be one of the following:
A digital constant, such as Enabled or Disabled.
The name of a parameter that has a digital value.
A function that returns a digital value.
Available functions
square_wave(x, duty=0.5)
Return a periodic square waveform.
Arguments
x: The variable over which to evaluate the waveform.
When the fractional part of x is between 0 and duty, the waveform is Enabled. When the fractional part of x is between duty and 1, the waveform is Disabled.
Must be a dimensionless analog expression. Can be either a scalar or a time-dependent expression.
duty: The duty cycle of the square wave, optional.
Must be an expression that evaluates to a dimensionless scalar in the interval [0,1].
Example
square_wave(t * 1 kHz - 0.2, 60%) returns a square wave with a frequency of 1 kHz, an initial phase of 0.2, and a duty cycle of 60%.
Warning
For instruments that don’t support loop instructions, the square_wave function will be unrolled. This can result in a long programming time on the instrument.
The period of the square wave is rounded to the nearest integer multiple of the instrument’s time step.
Added in version 6.18.0.