verification#

Schedules intended to verify (test) functionality of the system.

Module Contents#

Functions#

acquisition_staircase_sched(→ quantify_scheduler.Schedule)

Generates a staircase program in which the amplitude of a readout pulse is varied.

awg_staircase_sched(→ quantify_scheduler.Schedule)

Generates a staircase program in which the amplitude of a control pulse is varied.

multiplexing_staircase_sched(→ quantify_scheduler.Schedule)

Adds two simultaneous staircases where the amplitudes are varied in opposite order.

acquisition_staircase_sched(readout_pulse_amps: numpy.typing.NDArray[numpy.ScalarType], readout_pulse_duration: float, readout_frequency: float, acquisition_delay: float, integration_time: float, port: str, clock: str, init_duration: float = 1e-06, acq_channel: int = 0, repetitions: int = 1) quantify_scheduler.Schedule[source]#

Generates a staircase program in which the amplitude of a readout pulse is varied.

Schedule sequence

Reset – RO_pulse[i] – Acq[i]

Parameters:
  • readout_pulse_amps – amplitudes of the square readout pulse in Volts.

  • readout_pulse_duration – duration of the spectroscopy pulse in seconds.

  • readout_frequency – readout_frequency of the spectroscopy pulse and of the data acquisition in Hertz.

  • acquisition_delay – start of the data acquisition with respect to the start of the spectroscopy pulse in seconds.

  • integration_time – integration time of the data acquisition in seconds.

  • port – location on the device where the pulse should be applied.

  • clock – reference clock used to track the readout frequency.

  • batched – schedule to be run in batched mode in the hardware backend.

  • init_duration – The relaxation time or dead time.

  • acq_channel – The acquisition channel to use for the acquisitions.

  • repetitions – The amount of times the Schedule will be repeated.

Notes

This schedule can be used to verify the binning and averaging functionality of weighted acquisition for readout modules such as a Qblox QRM or a ZI UHFQA.

Because of the overlap between the readout pulse and the integration window, the change in readout pulse amplitude should show up immediately in the acquired signal.

awg_staircase_sched(pulse_amps: numpy.typing.NDArray[numpy.ScalarType], pulse_duration: float, readout_frequency: float, acquisition_delay: float, integration_time: float, mw_port: str, ro_port: str, mw_clock: str, ro_clock: str, init_duration: float = 1e-06, acq_channel: int = 0, repetitions: int = 1) quantify_scheduler.Schedule[source]#

Generates a staircase program in which the amplitude of a control pulse is varied.

Schedule sequence

Reset – MW_pulse[i] – Acq[i]

Parameters:
  • pulse_amps – amplitudes of the square readout pulse in Volts.

  • pulse_duration – duration of the spectroscopy pulse in seconds.

  • readout_frequency – readout_frequency of the spectroscopy pulse and of the data acquisition in Hertz.

  • acquisition_delay – start of the data acquisition with respect to the start of the spectroscopy pulse in seconds.

  • integration_time – integration time of the data acquisition in seconds.

  • mw_port – location on the device where the pulse should be applied.

  • ro_port – location on the device where the signal should should be interpreted.

  • ro_clock – reference clock connected to hdawg used to track the readout frequency.

  • mw_clock – reference clock connected to uhfqa used to track the readout frequency.

  • batched – schedule to be run in batched mode in the hardware backend.

  • init_duration – The relaxation time or dead time.

  • acq_channel – The acquisition channel to use for the acquisitions.

  • repetitions – The amount of times the Schedule will be repeated.

Notes

The control pulse is configured to be applied at the same frequency as the acquisition so that it shows up in the in the acquired signal.

This schedule can be used to verify the binning and averaging functionality of weighted acquisition in combination with the synchronization between the readout module (e.g., Qblox QRM or ZI UHFQA) and the pulse generating module (e.g., Qblox QCM or ZI HDAWG).

multiplexing_staircase_sched(pulse_amps: numpy.typing.NDArray[numpy.ScalarType], pulse_duration: float, acquisition_delay: float, integration_time: float, ro_port: str, ro_clock0: str, ro_clock1: str, readout_frequency0: float, readout_frequency1: float, init_duration: float = 1e-06, repetitions: int = 1) quantify_scheduler.Schedule[source]#

Adds two simultaneous staircases where the amplitudes are varied in opposite order.

The schedule will always use acquisition channels 0 and 1.

Parameters:
  • pulse_amps – Amplitudes of the square readout pulse in Volts. The second staircase will use this same array in reverse order.

  • pulse_duration – duration of the spectroscopy pulse in seconds.

  • acquisition_delay – start of the data acquisition with respect to the start of the spectroscopy pulse in seconds.

  • integration_time – integration time of the data acquisition in seconds.

  • ro_port – location on the device where the signal should should be interpreted.

  • ro_clock0 – Clock used to modulate the first staircase.

  • ro_clock1 – Clock used to modulate the second staircase.

  • readout_frequency0 – readout_frequency of the spectroscopy pulse and of the data acquisition in Hertz of the first staircase.

  • readout_frequency1 – readout_frequency of the spectroscopy pulse and of the data acquisition in Hertz of the second staircase.

  • init_duration – The relaxation time or dead time.

  • repetitions – The amount of times the Schedule will be repeated.

Returns:

The generated schedule.