Skip to content

QM Octave API

qm.octave.qm_octave.QmOctave

calibrate_element

Calibrate the up converter associated with an element for the given LO & IF frequencies.

  • Frequencies are given as a list of tuples : [(LO,IF1)(LO,IF2)...]
  • The function need to be run for each LO frequency and element separately

  • If close_open_quantum_machines is set to True one must open a new quantum machine after calibration ends

PARAMETER DESCRIPTION
close_open_quantum_machines

If true (default) all running QMs will be closed for the calibration. Otherwise, calibration might fail if there are not enough resources for the calibration

TYPE: bool

element

The name of the element for calibration

TYPE: str

lo_if_frequencies_tuple_list

a list of tuples that consists of all the (LO,IF) pairs for calibration

TYPE: list DEFAULT: None

save_to_db

If true (default), The calibration parameters will be saved to the calibration database

TYPE: boolean DEFAULT: True

Calibrate the mixer associated with an element for the given LO & IF frequencies.

get_clock

Gets the clock info for a given octave name

PARAMETER DESCRIPTION
octave_name

The octave name to get clock for

TYPE: str

:returns ClockInfo: Info about the clock as an object

load_lo_frequency_from_config

Loads into the octave synthesizers the LO frequencies specified for elements in the element list

PARAMETER DESCRIPTION
elements

A list of elements to load LO frequencies for from the configuration

TYPE: Union[List[str], str]

set_clock

This function sets the octave clock type - internal, external or buffered. It can also set the clock frequency - 10, 100 or 1000 MHz

  • Internal can only be 10 MHz
  • External can be 10, 100, or 1000 MHz
  • Buffered and External behave the same when using 1000 MHz clock
  • ClockType & ClockFrequency will be deprecated soon, users should use clock_mode: ClockMode instead
PARAMETER DESCRIPTION
octave_name

The octave name to set clock for

TYPE: str

clock_type

clock type according to ClockType

TYPE: ClockType DEFAULT: None

frequency

Clock frequency according to ClockFrequency

TYPE: ClockFrequency DEFAULT: None

clock_mode

Clock mode according to ClockMode

TYPE: ClockMode DEFAULT: None

set_downconversion

Sets the LO source and frequency for the downconverter of a given element. Sets also the mode of the I and Q lines after downconversion

  • The LO source will be the one associated with the element's upconversion.
  • If only the element is given, the LO source and frequency for downconversion will be the same as those set for the upconversion of the element.
  • IFMode sets the I/Q lines mode after downconversion and can be:
    • direct: bypass
    • envelope: goes through an envelope detector for advanced applications
    • Mixer: goes through a low frequency mixer for advanced applications
PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

lo_source

LO source according to the allowed LO sources

TYPE: RFInputLOSource DEFAULT: None

lo_frequency

The LO frequency

TYPE: float DEFAULT: None

if_mode_i

Sets the I channel mode of the downconverter

TYPE: IFMode DEFAULT: IFMode.direct

if_mode_q

Sets the Q channel mode of the downconverter

TYPE: IFMode DEFAULT: IFMode.direct

disable_warning

Disable warnings about non-matching LO sources and elements if True

TYPE: Boolean DEFAULT: False

set_lo_frequency

Sets the LO frequency of the synthesizer associated with the given element. Will not change the synthesizer if set_source = False

PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

lo_frequency

The LO frequency

TYPE: float

set_source

Set the synthesizer (True) or just update the local database (False)

TYPE: Boolean DEFAULT: True

set_lo_source

Associate the given LO source with the given element. Always be sure the given LO source is internally connected to the element according to the Octave Block Diagram in the documentation

PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

lo_port

One of the allowed sources according the internal connectivity

TYPE: OctaveLOSource

set_qua_element_octave_rf_in_port

Sets the octave down conversion port for the given element.

PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

octave_name

The octave name

TYPE: str

rf_input_index

input index - can be 1 or 2

TYPE: RFInputRFSource

set_rf_output_gain

Sets the RF output gain for the up-converter associated with the element. RF_gain is in steps of 0.5dB from -20 to +20 and is referring to the maximum OPX output power of 4dBm (=0.5V pk-pk) So for a value of -20 for example, an IF signal coming from the OPX at max power (4dBm) will be upconverted and come out of Octave at -16dBm

PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

gain_in_db

The RF output gain in dB

TYPE: float

set_rf_output_mode

Configures the output switch of the upconverter associated to element. switch_mode can be either: 'on', 'off', 'trig_normal' or 'trig_inverse':

  • 'trig_normal' mode a high trigger will turn the switch on and a low trigger will turn it off
  • 'trig_inverse' mode a high trigger will turn the switch off and a low trigger will turn it on
  • 'on' the switch will be permanently on.
  • 'off' mode the switch will be permanently off.
PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

switch_mode

switch mode according to the allowed states

TYPE: RFOutputMode

set_use_input_attenuators

Sets the use of IQ attenuators for the downconverter associated with the element.

PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

use_iq_attenuators

True to use IQ attenuators, False otherwise

TYPE: bool

update_external_lo_frequency

Updates the local database on the external LO frequency (provided by the user) associated with element

PARAMETER DESCRIPTION
element

The name of the element

TYPE: str

lo_frequency

The LO frequency

TYPE: float