-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Users of the software need to specify qubit control pulses of arbitrary complexity used to influence the state of qubits in experiments.
Pulses are elementary control signals (voltage over time) for qubit hardware. Basic pulses can be defined via interpolated time-value-tables or directly as waveforms (specifying a value for every tick for a given sample rate). More complex pulses can be constructed by nesting, i.e., combining existing pulses. Also, conditional branching and looping should be supported.
Pulses can be parameterized, meaning that a pulse definition can be used as a template which only defines a general control signal structure but leaves certain concrete values (e.g. height of a peak or duration of a slope) open until given concrete values.
The more abstract representation of pulses (tables, nesting, conditional logic) must be translated to sequences of time-voltage-values that the hardware can interpret to generate a corresponding control signal.