pulse_compensation_library#
Pulse compensation operations for use with the quantify_scheduler.
Module Contents#
Classes#
| Apply pulse compensation to an operation or schedule. | 
Attributes#
| Port on the hardware; this is an alias to str. | 
- class PulseCompensation(body: quantify_scheduler.operations.operation.Operation | quantify_scheduler.schedules.schedule.Schedule, qubits: str | Iterable[str] | None = None, max_compensation_amp: dict[Port, float] | None = None, time_grid: float | None = None, sampling_rate: float | None = None)[source]#
- Bases: - quantify_scheduler.operations.operation.Operation- Apply pulse compensation to an operation or schedule. - Inserts a pulse at the end of the operation or schedule set in - bodyfor each port. The compensation pulses are calculated so that the integral of all pulses (including the compensation pulses) are zero for each port. Moreover, the compensating pulses are square pulses, and start just after the last pulse on each port individually, and their maximum amplitude is the one specified in the- max_compensation_amp. Their duration is divisible by- duration_grid. The clock is assumed to be the baseband clock; any other clock is not allowed.- Parameters:
- body – Operation to be pulse-compensated 
- qubits – For circuit-level operations, this is a list of device element names. 
- max_compensation_amp – Dictionary for each port the maximum allowed amplitude for the compensation pulse. 
- time_grid – Grid time of the duration of the compensation pulse. 
- sampling_rate – Sampling rate for pulse integration calculation. 
 
 - property body: quantify_scheduler.operations.operation.Operation | quantify_scheduler.schedules.schedule.Schedule[source]#
- Body of a pulse compensation.