quchip.control.signal_spec¶
Frame-agnostic drive signal specifications.
This module defines the data a drive emits to describe one scheduled
pulse without committing to any specific frame, carrier convention,
or engine IR representation. The spec carries ordinary-GHz frequencies
and envelope references only — no quchip.engine.ir nodes appear
here.
Stage 2 of the engine is the sole consumer that composes a
DriveSignalSpec with the resolved rotating frame and the
drive channel’s DriveModulation kind to produce the IR-level
SignalProgram AST. This keeps drives owning their local Hamiltonians
and the engine owning IR assembly, with no legacy fallback path.
Classes
|
How a drive channel's operator is time-modulated. |
|
Frame-agnostic description of one scheduled drive pulse. |
- class quchip.control.signal_spec.DriveModulation(value)[source]¶
Bases:
EnumHow a drive channel’s operator is time-modulated.
SINGLE_TONE— microwave IQ-style carrier mixing. In the lab frame the raw signal is mixed withexp(-i·2π·ν_d·t)and projected to its real part; under RWA the signal is decomposed into co- and counter-rotating components per Fourier band (Krantz et al. 2019, Eq. 89–90).DIRECT_REAL— real-valued baseband coupling (no carrier, no RWA), appropriate for flux-like drives (Koch et al. 2007, Sec. II; Krantz et al. 2019, Sec. V.A on flux tunability).EDGE_PUMP— real pump δ(t) on a modulable coupling’s strength: basebandδ(t) = Re s(t)when the scheduled op has no carrier, single-toneδ(t) = Re[s(t)·e^{-i·2π·ν_d·t}]when it does. The tone is never RWA-split — the coupling’s parametric hook already selected the retained operator structure (Didier et al., PRA 97, 022330 (2018) on parametric gate activation).
The engine dispatches on this tag in a single code path; adding a new modulation kind is an infrastructure change, not a per-drive special case.
- SINGLE_TONE = 'single_tone'¶
- DIRECT_REAL = 'direct_real'¶
- EDGE_PUMP = 'edge_pump'¶
- class quchip.control.signal_spec.DriveSignalSpec(envelope, start_time, duration, phase_offset, drive_freq)[source]¶
Bases:
objectFrame-agnostic description of one scheduled drive pulse.
The spec carries everything the engine needs to build the raw line signal and later compose it with the frame + carrier during modulation — expressed in ordinary GHz (frequencies) and ns (times), with no IR references.
- Parameters:
envelope (BaseEnvelope) – Pulse envelope reference. Its
waveform(t)is called at evaluation time; all differentiable pulse parameters live as leaves on the envelope (quchip.control.envelopes).start_time (float) – Onset of the pulse in ns.
duration (float) – Envelope duration in ns (the pulse is zero outside
[start_time, start_time + duration]).phase_offset (float) – Phase rotation applied to the raw line signal, in radians.
drive_freq (float | None) – Microwave carrier frequency in ordinary GHz for
DriveModulation.SINGLE_TONEchannels;Nonefor baseband (DriveModulation.DIRECT_REAL) drives.
- envelope: BaseEnvelope¶