pulse_library#

Standard pulse-level operations for use with the quantify_scheduler.

Module Contents#

Classes#

LatchReset

Operation that resets the feedback trigger addresses from the hardware.

SimpleNumericalPulse

Wrapper on top of NumericalPulse to provide a simple interface for creating a pulse

class LatchReset(portclock: tuple[str, str], t0: float = 0, duration: float = 4e-09)[source]#

Bases: quantify_scheduler.operations.operation.Operation

Operation that resets the feedback trigger addresses from the hardware.

Currently only implemented for Qblox backend, refer to ResetFeedbackTriggersStrategy for more details.

class SimpleNumericalPulse(samples: numpy.ndarray | list, port: str, clock: str = BasebandClockResource.IDENTITY, reference_magnitude: quantify_scheduler.operations.pulse_library.ReferenceMagnitude | None = None, t0: float = 0)[source]#

Bases: quantify_scheduler.operations.pulse_library.NumericalPulse

Wrapper on top of NumericalPulse to provide a simple interface for creating a pulse where the samples correspond 1:1 to the produced waveform, without needing to specify the time samples.

Parameters:
  • samples – An array of (possibly complex) values specifying the shape of the pulse.

  • port – The port that the pulse should be played on.

  • clock – Clock used to (de)modulate the pulse. By default the baseband clock.

  • reference_magnitude – Scaling value and unit for the unitless samples. Uses settings in hardware config if not provided.

  • t0 – Time in seconds when to start the pulses relative to the start time of the Operation in the Schedule.

Example

from quantify_scheduler.backends.qblox.operations.pulse_library import SimpleNumericalPulse
from quantify_scheduler import Schedule

waveform = [0.1,0.2,0.2,0.3,0.5,0.4]

schedule = Schedule("")
schedule.add(SimpleNumericalPulse(waveform, port="q0:out"))
{'name': '4fa60566-d6a0-4c65-9191-c69dbe6aa7ff', 'operation_id': '-8830517373693661692', 'timing_constraints': [{'rel_time': 0, 'ref_schedulable': None, 'ref_pt_new': None, 'ref_pt': None}], 'label': '4fa60566-d6a0-4c65-9191-c69dbe6aa7ff'}