Signal package¶
Submodules¶
Gates module¶
- class c3.signal.gates.Instruction(name: str = ' ', targets: Optional[list] = None, params: Optional[dict] = None, ideal: Optional[ndarray] = None, channels: List[str] = [], t_start: float = 0.0, t_end: float = 0.0)[source]¶
Bases:
object
Collection of components making up the control signal for a line.
- Parameters
ideal (np.ndarray) – Ideal gate that the instruction should emulate.
channels (list) – List of channel names (strings).
t_start (np.float64) – Start of the signal.
t_end (np.float64) – End of the signal.
- comps¶
Nested dictionary with lines and components as keys
- Type
dict
- Example¶
- comps = {
- ‘channel_1’{
‘envelope1’: envelope1, ‘envelope2’: envelope2, ‘carrier’: carrier }
}
- add_component(comp: C3obj, chan: str, options=None, name=None) None [source]¶
Add one component, e.g. an envelope, local oscillator, to a channel.
- Parameters
comp (C3obj) – Component to be added.
chan (str) – Identifier for the target channel
options (dict) –
- Options for this component, available keys are
- delay: Quantity
Delay execution of this component by a certain time
- trigger_comp: Tuple[str]
Tuple of (chan, name) of component acting as trigger. Delay time will be counted beginning with end of trigger
- t_final_cut: Quantity
Length of component, signal will be cut after this time. Also used for the trigger. If not given this invokation from components t_final will be attempted.
- drag: bool
Use drag correction for this component.
t_end (float) – End of this component. None will use the full instruction. If t_end is None and t_start is given a length will be inherited from the instruction.
- property name: str¶
Pulse module¶
- class c3.signal.pulse.Carrier(name: str, desc: str = ' ', comment: str = ' ', params: dict = {})[source]¶
Bases:
C3obj
Represents the carrier of a pulse.
- class c3.signal.pulse.Envelope(name: str, desc: str = ' ', comment: str = ' ', params: Dict[str, Quantity] = {}, shape: Optional[Union[Callable, str]] = None, use_t_before=False)[source]¶
Bases:
C3obj
Represents the envelopes shaping a pulse.
- Parameters
shape (Callable) – function evaluating the shape in time
- class c3.signal.pulse.EnvelopeDrag(name: str, desc: str = ' ', comment: str = ' ', params: dict = {}, shape: Optional[function] = None, use_t_before=False)[source]¶
Bases:
Envelope
- class c3.signal.pulse.EnvelopeNetZero(name: str, desc: str = ' ', comment: str = ' ', params: dict = {}, shape: Optional[function] = None, use_t_before=False)[source]¶
Bases:
Envelope
Represents the envelopes shaping a pulse.
- Parameters
shape (function) – function evaluating the shape in time
params (dict) – Parameters of the envelope Note: t_final