CosineRiseFallDerivative#

class iqm.pulse.playlist.waveforms.CosineRiseFallDerivative(n_samples, full_width, rise_time, center_offset=0.0)#

Bases: Waveform

Derivative of a waveform that has a sinusoidal rise and fall, and a constant part in between.

f(t)={sin(π(tc+p/2)/r)t(cp/2)[r,0]sin(π(tcp/2)/r)t(c+p/2)[0,r]0otherwise

where c is center_offset, r is rise_time, and p is the plateau width, calculated via p:= full_width - 2 * rise_time.

Its values are in [1,1].

Parameters:
  • full_width (float) – Duration of the support of the pulse, >= 2 * rise_time.

  • rise_time (float) – Duration of the sinusoidal rise (and fall) part of the waveform, >= 0.

  • center_offset (float) – The waveform is centered at this offset from the midpoint of the sampling window.

  • n_samples (int) –

Module: iqm.pulse.playlist.waveforms

Attributes

center_offset

full_width

rise_time

n_samples

Requested number of samples for the waveform.

Methods

_sample(sample_coords)#

Actually samples the waveform.

Parameters:

sample_coords (ndarray) – coordinates of the samples to be returned

Returns:

array of samples (same shape as sample_coords, dtype == float)

Return type:

ndarray