add_rectangle_pulse

LinearDrivingField.add_rectangle_pulse(amplitude, frequency, phase, duration, start=None, rise_time=0, fall_time=0, is_effective_amplitude=False)

Add a rectangular pulse to this driving field.

The pulse has a constant-amplitude flat top and optional raised-cosine rise/fall ramps.

Parameters:
  • amplitude (float) – Flat-top amplitude of the pulse (in \(\text{T}\)).

  • frequency (float) – Carrier frequency of the pulse (in \(\text{MHz}\)).

  • phase (float) – Carrier phase (in radians).

  • duration (float) – Total pulse duration including any ramps (in \(\mu\text{s}\)).

  • start (float | None) – Absolute start time of the pulse (in \(\mu\text{s}\)). See the note below for the three ways to set it; defaults to this field’s current last_pulse_end.

  • rise_time (float) – Duration of the raised-cosine ramp up from zero (in \(\mu\text{s}\), default 0).

  • fall_time (float) – Duration of the raised-cosine ramp down to zero (in \(\mu\text{s}\), default 0).

  • is_effective_amplitude (bool) – If True, interpret amplitude as the effective (rectangular-equivalent) amplitude and scale the flat top up so the pulse area matches amplitude * duration despite the ramps.

Note

start can be set three ways:

  • None (default): append after the previous pulse on this field (this field’s own last_pulse_end).

  • a float: an explicit absolute time (in \(\mu\text{s}\)).

  • model.last_pulse_end: the global end, i.e. after the latest pulse across all driving fields – use this to start a pulse on one field right after a sequence built on another field.

Raises:

SimphonyError – If duration is not positive, a ramp time is negative, or rise_time + fall_time exceeds duration.