laboneq_applications.qpu_types.twpa
¶
Traveling Wave Parametric Amplifier (TWPA), parameters and operations.
TWPA
¶
Bases: QuantumElement
A class for Traveling Wave Parametric Amplifiers.
PARAMETERS_TYPE = TWPAParameters
class-attribute
instance-attribute
¶
REQUIRED_SIGNALS = ('acquire', 'measure')
class-attribute
instance-attribute
¶
calibration()
¶
Generate calibration from the parameters and attached signal lines.
Returns:
Name | Type | Description |
---|---|---|
calibration |
Calibration
|
Prefilled calibration object from TWPA parameters. |
TWPAOperations
¶
Bases: QuantumOperations
Operations for TWPA.
QUBIT_TYPES = TWPA
class-attribute
instance-attribute
¶
set_pump_cancellation(twpa, cancellation_attenuation, cancellation_phaseshift, cancellation, calibration=None)
¶
Sets the pump cancellation of the given twpa.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
twpa |
TWPA
|
The parametric amplifier to set the pump cancellation of. |
required |
cancellation_attenuation |
float | SweepParameter
|
The attenuation to set in dB. |
required |
cancellation_phaseshift |
float | SweepParameter
|
The phase shift to set in degrees. |
required |
cancellation |
bool
|
If True, the cancellation is on and the cancellation source is internal. If False, the cancellation is off and the cancellation source is switched to external for cross-talk reduction. |
required |
calibration |
Calibration | None
|
The experiment calibration to update (see the note below).
By default, the calibration from the currently active
experiment context is used. If no experiment context is
active, for example when using
|
None
|
Raises:
Type | Description |
---|---|
RuntimeError
|
If there is an attempt to call |
set_pump_frequency(twpa, frequency, calibration=None)
¶
Sets the pump frequency of the given twpa.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
twpa |
TWPA
|
The parametric amplifier to set the pump frequency of. |
required |
frequency |
float | SweepParameter
|
The frequency to set in Hz. |
required |
calibration |
Calibration | None
|
The experiment calibration to update (see the note below).
By default, the calibration from the currently active
experiment context is used. If no experiment context is
active, for example when using
|
None
|
Raises:
Type | Description |
---|---|
RuntimeError
|
If there is an attempt to call |
set_pump_power(twpa, power, calibration=None)
¶
Sets the pump power of the given twpa.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
twpa |
TWPA
|
The parametric amplifier to set the pump power of. |
required |
power |
float | SweepParameter
|
The power to set in dBm. |
required |
calibration |
Calibration | None
|
The experiment calibration to update (see the note below).
By default, the calibration from the currently active
experiment context is used. If no experiment context is
active, for example when using
|
None
|
Raises:
Type | Description |
---|---|
RuntimeError
|
If there is an attempt to call |
set_readout_amplitude(twpa, amplitude, *, calibration=None)
¶
Sets the readout amplitude of the measure line.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
twpa |
TWPA
|
The twpa associated with the measure line. |
required |
amplitude |
float | SweepParameter
|
The amplitude to set for the measure line in units from 0 (no power) to 1 (full scale). |
required |
calibration |
Calibration | None
|
The experiment calibration to update (see the note below).
By default, the calibration from the currently active
experiment context is used. If no experiment context is
active, for example when using
|
None
|
Raises:
Type | Description |
---|---|
RuntimeError
|
If there is an attempt to call |
Notes
Currently set_readout_amplitude
is implemented by setting the
amplitude of the measure line signal in the experiment calibration.
This has two important consequences:
-
Each experiment may only set one amplitude per readout line, although this may be a parameter sweep.
-
The set readout amplitude or sweep applies for the whole experiment regardless of where in the experiment the amplitude is set.
This will be improved in a future release.
set_readout_frequency(twpa, frequency, *, rf=True)
¶
Sets the frequency of the given readout line.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
twpa |
TWPA
|
The parametric amplifier to set the readout frequency of. |
required |
frequency |
float | SweepParameter
|
The frequency to set in Hz.
By default the frequency specified is the RF frequency.
The oscillator frequency may be set directly instead
by passing |
required |
rf |
bool
|
If True, set the RF frequency of the transition. If False, set the oscillator frequency directly instead. The default is to set the RF frequency. |
True
|
Raises:
Type | Description |
---|---|
RuntimeError
|
If there is an attempt to call |
Notes
Currently set_frequency
is implemented by setting the
appropriate oscillator frequencies in the experiment calibration.
This has two important consequences:
-
Each experiment may only set one frequency per signal line, although this may be a parameter sweep.
-
The set frequency or sweep applies for the whole experiment regardless of where in the experiment the frequency is set.
This will be improved in a future release.
twpa_acquire(twpa, handle)
¶
Perform an acquisition on the twpa.
The acquire operation performs only an acquisition. If you wish to play
a readout pulse and perform an acquisition, use the measure
operation.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
handle |
str
|
The handle to store the acquisition results in. |
required |
twpa |
TWPA
|
The twpa to acquire the signal from. |
required |
twpa_delay(twpa, time)
¶
twpa_measure(twpa, handle, readout_pulse=None)
¶
Performs a readout measurement on the given twpa.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
twpa |
TWPA
|
The twpa to perform the readout measurement on. |
required |
handle |
str
|
The handle to store the acquisition results in. |
required |
readout_pulse |
dict | None
|
A dictionary of overrides for the readout pulse parameters. The dictionary may contain sweep parameters for the pulse
parameters other than If the Otherwise the values override or extend the existing ones. |
None
|
TWPAParameters
¶
Bases: QuantumParameters
Parameters for the TWPA.
alc_on: bool = True
class-attribute
instance-attribute
¶
cancellation_attenuation: float | None = None
class-attribute
instance-attribute
¶
cancellation_on: bool = False
class-attribute
instance-attribute
¶
cancellation_phase: float | None = None
class-attribute
instance-attribute
¶
cancellation_source: CancellationSource | None = CancellationSource.EXTERNAL
class-attribute
instance-attribute
¶
electric_delay: float | None = 0
class-attribute
instance-attribute
¶
probe_frequency: float | None = None
class-attribute
instance-attribute
¶
probe_on: bool = False
class-attribute
instance-attribute
¶
probe_power: float | None = None
class-attribute
instance-attribute
¶
pump_filter_on: bool = True
class-attribute
instance-attribute
¶
pump_frequency: float | None = None
class-attribute
instance-attribute
¶
pump_on: bool = True
class-attribute
instance-attribute
¶
pump_power: float | None = None
class-attribute
instance-attribute
¶
readout_amplitude: float | None = 0.5
class-attribute
instance-attribute
¶
readout_frequency: float | None
property
¶
Readout baseband frequency.
readout_integration_delay: float | None = 2e-08
class-attribute
instance-attribute
¶
readout_length: float | None = 5e-06
class-attribute
instance-attribute
¶
readout_lo_frequency: float = None
class-attribute
instance-attribute
¶
readout_pulse: dict = attrs.field(factory=lambda: {'function': 'const'})
class-attribute
instance-attribute
¶
readout_range_in: float | None = 10
class-attribute
instance-attribute
¶
readout_range_out: float | None = 5
class-attribute
instance-attribute
¶
voltage_bias: float | None = 0
class-attribute
instance-attribute
¶
demo_platform(n_twpas)
¶
Return a demo TWPA QPU with the specified number of TWPAS.
The returned setup consists of:
- 1 SHFPPC
- 1 SHFQA/SHFQC
The maximum number of ParamAmplifiers is 4 (which is the number of measure lines on the SHFQA).
The TWPAs share a single multiplexed readout line.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
n_twpas |
int
|
Number of TWPAS to include in the QPU. |
required |
Returns:
Type | Description |
---|---|
QuantumPlatform
|
The QPU. |