qblox_scheduler.backends.qblox.operations.pulse_library#
Standard pulse-level operations for use with the qblox_scheduler.
Classes#
Operation that resets the feedback trigger addresses from the hardware. |
|
Wrapper on top of NumericalPulse to provide a simple interface for creating a pulse |
Module Contents#
- class LatchReset(portclock: tuple[str, str], t0: float = 0, duration: float = 4e-09)[source]#
Bases:
qblox_scheduler.operations.hardware_operations.pulse_library.LatchResetOperation that resets the feedback trigger addresses from the hardware.
Currently only implemented for Qblox backend, refer to
ResetFeedbackTriggersStrategyfor more details.
- class SimpleNumericalPulse(samples: numpy.ndarray | list, port: str, clock: str = BasebandClockResource.IDENTITY, gain: complex | float | operations.expressions.Expression | collections.abc.Sequence[complex | float | operations.expressions.Expression] = 1, reference_magnitude: qblox_scheduler.operations.pulse_library.ReferenceMagnitude | None = None, t0: float = 0)[source]#
Bases:
qblox_scheduler.operations.hardware_operations.pulse_library.SimpleNumericalPulseWrapper 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.
gain – Gain factor between -1 and 1 that multiplies with the samples, by default 1.
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 TimeableSchedule.
Example
from qblox_scheduler.operations.hardware_operations.pulse_library import ( SimpleNumericalPulse ) from qblox_scheduler import TimeableSchedule waveform = [0.1,0.2,0.2,0.3,0.5,0.4] schedule = TimeableSchedule("") schedule.add(SimpleNumericalPulse(waveform, port="q0:out"))
{'name': 'eec6225f-11ea-4324-94ee-8a3fdd4e555f', 'operation_id': '2088280753343681239', 'timing_constraints': [TimingConstraint(ref_schedulable=None, ref_pt=None, ref_pt_new=None, rel_time=0)], 'label': 'eec6225f-11ea-4324-94ee-8a3fdd4e555f'}