laboneq.dsl.calibration
¶
Classes used in defining calibration for experiments.
laboneq.dsl.calibration.amplifier_pump
¶
AmplifierPump()
dataclass
¶
Bases: Observable
Settings for the SHF Parametric Pump Controller (SHFPPC).
Attributes:
Name | Type | Description |
---|---|---|
uid |
str
|
Unique identifier. If left blank, a new unique ID will be generated. |
pump_frequency |
float | Parameter | None
|
Set the pump frequency node. Default |
pump_power |
float | Parameter | None
|
Set the pump power node. Units: dBm. Default |
pump_on |
bool
|
Enable the pump tone. Default |
pump_filter_on |
bool
|
Enable the integrated low-pass filter for the pump tone. Default: |
cancellation_on |
bool
|
Enable pump tone cancellation. Default |
cancellation_phase |
float | Parameter | None
|
Set the phase shift of the cancellation tone. Units: radians. Default |
cancellation_attenuation |
float | Parameter | None
|
Set the attenuation of the cancellation tone. Positive values reduce the
cancellation tone power. Default |
cancellation_source |
CancellationSource
|
Set the source of the cancellation tone. Default: internal. |
cancellation_source_frequency |
float | None
|
Specify the cancellation tone frequency when using the external
cancellation tone generator. Leave at |
alc_on |
bool
|
Enable the automatic level control for pump tone output. Default |
probe_on |
bool
|
Enable probe tone output. Default |
probe_frequency |
float | Parameter | None
|
Set the frequency of the generated probe tone. Required if |
probe_power |
float | Parameter | None
|
Set the output power of the generated probe tone.
Units: dBm. Default: |
Notes
If an attribute is set to None
, the corresponding node is not set.
Some fields were renamed in version 2.24.0
AmplifierPump.pump_freq
is nowAmplifierPump.pump_frequency
AmplifierPump.pump_engaged
is nowAmplifierPump.pump_on
AmplifierPump.alc_engaged
is nowAmplifierPump.alc_on
AmplifierPump.use_probe
is nowAmplifierPump.probe_on
laboneq.dsl.calibration.calibratable
¶
Calibratable
¶
Bases: ABC
Abstract base class for objects that can have calibration attached.
Attributes:
Name | Type | Description |
---|---|---|
calibration |
Optional[SignalCalibration]
|
The calibration for this object. Implementations of Calibratable should document and set this attribute. |
create_info()
¶
Return the calibration type and status in a dictionary.
Used for introspection and debugging.
is_calibrated()
abstractmethod
¶
Return True if calibration has been set on this object.
Implementations of Calibratable should document and implement this method.
laboneq.dsl.calibration.calibration
¶
A container for calibration items.
Calibration()
dataclass
¶
Calibration object containing a dictionary of CalibrationItems.
Attributes:
Name | Type | Description |
---|---|---|
calibration_items |
mapping from a UID of a Calibratable to the actual CalibrationItem. |
items()
¶
Return a iterator over calibration items.
Returns:
Name | Type | Description |
---|---|---|
items |
Iterator[tuple[str, CalibrationItem]]
|
An iterator over tuples of UIDs and calibration items. |
keys()
¶
Returns an iterator over calibration UIDs.
Returns:
Name | Type | Description |
---|---|---|
keys |
Iterator[str]
|
An iterator over UIDs. |
load(filename)
staticmethod
¶
save(filename)
¶
Save calibration data to file.
The file is written in JSON format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
filename
|
str
|
The filename to save data to. |
required |
values()
¶
Returns an iterator over calibration items.
Returns:
Name | Type | Description |
---|---|---|
values |
Iterator[CalibrationItem]
|
An iterator over calibration items. |
laboneq.dsl.calibration.mixer_calibration
¶
MixerCalibration()
dataclass
¶
Bases: Observable
Data object containing mixer calibration correction settings.
Attributes:
Name | Type | Description |
---|---|---|
uid |
str
|
A unique id for the calibration. If not supplied, one will be generated. |
voltage_offsets |
list[float | Parameter] | None
|
DC voltage offsets. Supplied as a list of two values (for I and Q channels)
Both I and Q channel can be swept individually.
Units: Volts. Default: |
correction_matrix |
list[list[float | Parameter]] | None
|
Matrix for correcting the gain and phase mismatch between I and Q.
Each element can be swept individually.
If |
Examples:
Create a mixer calibration:
>>> MixerCalibration(
voltage_offsets=[0.02, 0.01],
correction_matrix=[[1.0, 0.0], [0.0, 1.0]],
)
laboneq.dsl.calibration.oscillator
¶
Oscillator()
dataclass
¶
This oscillator class represents an oscillator on a PhysicalChannel
.
All pulses played on any signal line attached to this physical channel will be
modulated with the oscillator assigned to that channel.
Attributes:
Name | Type | Description |
---|---|---|
frequency |
float
|
The oscillator frequency. Units: Hz. |
modulation_type |
ModulationType
|
The modulation type ( |
carrier_type |
CarrierType
|
Deprecated. The carrier type is no longer used. Default: Deprecated in 2.7 The Changed in 2.16
|
laboneq.dsl.calibration.precompensation
¶
BounceCompensation()
dataclass
¶
Bases: Observable
Parameters for the bounce correction component of the signal precompensation.
Use to correct reflections resulting from impedance mismatches.
Bounce compensation adds to the original input signal the input signal multiplied by a given amplitude and delayed by a given time.
See Filter Chain Specification for a description of the filter.
Attributes:
Name | Type | Description |
---|---|---|
delay |
The time to delay the added copy of the input signal by.
Default: |
|
amplitude |
The factor to multiply the amplitude of the added copy
of the input signal by.
Default: |
Note
Only supported on the HDAWG with the precompensation option. Ignored on other devices.
ExponentialCompensation()
dataclass
¶
Bases: Observable
Parameters for exponential under- and overshoot compensation.
Used to compensate for distortions due to LCR elements such as inductors, resistors, and capacitors.
See Filter Chain Specification for a description of the filter.
Attributes:
Name | Type | Description |
---|---|---|
timeconstant |
float
|
Exponential filter time constant. Default: |
amplitude |
float
|
Exponential filter amplitude. Default: |
Note
Only supported on the HDAWG with the precompensation option. Ignored on other devices.
FIRCompensation()
dataclass
¶
Bases: Observable
Parameters for FIR filter signal precompensation.
Used to compensate for short time-scale distortions.
The FIR filter performs a convolution of the input signal with the kernel specified by the coefficients below.
See Filter Chain Specification for a description of the filter.
Attributes:
Name | Type | Description |
---|---|---|
coefficients |
Coefficients for the FIR filter convolution kernel.
The first 8 coefficients are directly applied to the first eight
taps of the FIR filter at the full time resolution. The remaining
32 coefficients are applied to pairs of taps.
Default: |
Note
Only supported on the HDAWG with the precompensation option. Ignored on other devices.
HighPassCompensation()
dataclass
¶
Bases: Observable
Parameters for highpass filter signal precompensation.
Used to compensate for distortions due to AC-coupling, DC-blocks and Bias-tees.
See Filter Chain Specification for a description of the filter.
Attributes:
Name | Type | Description |
---|---|---|
timeconstant |
float
|
High-pass filter time constant. Default: |
clearing |
HighPassCompensationClearing
|
Deprecated and has no effect. Default: |
Note
Only supported on the HDAWG with the precompensation option. Ignored on other devices.
Changed in version 2.8
Deprecated clearing
argument: It has no effect.
Precompensation()
dataclass
¶
Bases: RecursiveObservable
Signal precompensation parameters.
Attributes:
Name | Type | Description |
---|---|---|
uid |
Unique identifier. If left blank, a new unique ID will be generated. |
|
exponential |
List of exponential precompensation filters. Default: |
|
high_pass |
A high pass precompenstation filter. Default: |
|
bounce |
A bounce precompensation filter. Default: |
|
FIR |
A FIR precompensation filter. Default: |
Setting or leaving an attribute above to None
will disable the
corresponding filter.
Note
Setting a precompensation filter may introduce a signal delay. The LabOne Q compiler will take this delay into account, but it will still be visible in the pulse sheet and when measuring the signal by other means (e.g. using an oscilloscope).
See Filter Chain Specification for details on the delays.
Note
Only supported on the HDAWG with the precompensation option. Ignored on other devices.
laboneq.dsl.calibration.signal_calibration
¶
SignalCalibration(amplitude=None, delay_signal=None, local_oscillator=None, voltage_offset=None, mixer_calibration=None, precompensation=None, oscillator=None, port_delay=None, port_mode=None, range=None, threshold=None, amplifier_pump=None, added_outputs=None, automute=False)
dataclass
¶
Bases: Observable
Calibration parameters and settings for a LogicalSignal.
Attributes:
Name | Type | Description |
---|---|---|
oscillator |
Oscillator | None
|
The oscillator assigned to the signal.
Determines the frequency and type of modulation for any pulses
played back on this line.
Default: |
local_oscillator |
Oscillator | None
|
The local oscillator assigned to the signal.
Sets the center frequency of the playback. Only supported by
SHFSG, SHFQA and SHFQC signals.
Default: |
mixer_calibration |
MixerCalibration | None
|
Mixer calibration correction settings.
Only supported by HDAWG IQ signals.
Default: |
precompensation |
Precompensation | None
|
Signal distortion precompensation settings.
Only supported by HDAWG signals.
Default: |
port_delay |
float | Parameter | None
|
An optional delay of all output on this signal.
Implemented by setting delay nodes on the instruments, and will
not be visible in the pulse sheet.
Not currently supported on SHFSG output channels.
Units: seconds.
Default: |
port_mode |
PortMode | None
|
On SHFSG, SHFQA and SHFQC, the port mode may be set to select
either amplified high-frequency mode (PortMode.RF, default) or
baseband mode (PortMode.LF).
Default: |
delay_signal |
float | None
|
Defines an additional global delay on this signal line.
Implemented by adjusting the waveforms and sequencer code emitted
for this logical signal, and is thus visible in the pulse sheet.
Default: |
voltage_offset |
float | Parameter | None
|
On the HDAWG lines, the voltage offset may be used to set a constant voltage offset on individual RF line. |
range |
int | float | None
|
The output or input range setting for the signal. |
threshold |
float | list[float] | None
|
Specify the state discrimination threshold. Only supported for acquisition signals on the UHFQA, SHFQA and SHFQC. |
amplitude |
float | Parameter | None
|
Amplitude multiplying all waveforms played on the signal line. Only supported by the SHFQA. |
amplifier_pump |
AmplifierPump | None
|
Parametric Pump Controller settings. |
added_outputs |
list[OutputRoute] | None
|
Added outputs to the signal line's physical channel port. Only available for SHFSG/SHFQC devices with Output Router and Adder (RTR) option enabled. Only viable for signals which point to 'SGCHANNELS/N/OUTPUT' physical ports. |
automute |
bool
|
Mute output channel when no waveform is played on it i.e for the duration of delays. Only available on SHF+ output channels. |