laboneq.dsl.calibration
¶
Classes used in defining calibration for experiments.
laboneq.dsl.calibration.amplifier_pump
¶
AmplifierPump
dataclass
¶
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_freq |
float | Parameter | None
|
Sets the pump frequency node. Default |
pump_power |
float | Parameter | None
|
Sets the pump power node. Default |
cancellation |
bool
|
Enable pump tone cancellation. Default |
alc_engaged |
bool
|
Enable the automatic level control for pump
tone output. Default |
use_probe |
bool
|
Enable probe tone output. Default |
probe_frequency |
float | Parameter | None
|
Sets the frequency of the generated probe tone.
Units: Hz. Default: |
probe_power |
float | Parameter | None
|
Sets 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.
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 |
Optional[List[float]]
|
DC voltage offsets. Supplied as a list of two values (for I and Q channels)
Units: Volts. Default: |
correction_matrix |
Optional[List[List[float]]]
|
Matrix for correcting the gain and phase mismatch between I and Q.
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 |
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)
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 | 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. |