FastDrag#

class iqm.pulse.playlist.fast_drag.FastDrag(n_samples, full_width, coefficients, suppressed_frequencies, compute_coefs_from_frequencies, number_of_cos_terms, suppressed_interval_widths, weights, center_offset=0)#

Bases: SuppressedPulse

Base class for IQ components of the Fourier Ansatz Spectrum Tuning (FAST) DRAG pulse.

The FAST DRAG pulse shapes the I-envelope in the frequency domain to suppress specified frequency intervals according to given weights. Furthermore, the Q-envelope is obtained as a derivative of the I-envelope similarly to ordinary DRAG. This class represents a base class for an implementation using cosine functions as the I-envelope basis functions. See [1] for more details on FAST DRAG.

Parameters:
  • number_of_cos_terms (int) – Number of cosine terms in the Fourier series expression of the I-component

  • suppressed_interval_widths (ndarray) – Widths of the suppressed frequency intervals (in Hz). The last element corresponds to the width of a potential cutoff interval.

  • weights (ndarray) – Weights corresponding to the suppressed frequency intervals

  • n_samples (int) –

  • full_width (float) –

  • coefficients (ndarray) –

  • suppressed_frequencies (ndarray) –

  • compute_coefs_from_frequencies (bool) –

  • center_offset (float) –

Module: iqm.pulse.playlist.fast_drag

Attributes

center_offset

number_of_cos_terms

suppressed_interval_widths

weights

full_width

coefficients

suppressed_frequencies

compute_coefs_from_frequencies

n_samples

Requested number of samples for the waveform.

Methods

non_timelike_attributes

Mapping from waveform attributes to the units of their calibration data, unless that unit is second.

static non_timelike_attributes()#

Mapping from waveform attributes to the units of their calibration data, unless that unit is second.

Used to construct the parameters for the calibration data required by the waveform. By default all the waveform attributes are “timelike” (the unit for their calibration data is s). However, some waveform attributes can be dimensionless, e.g. the relative amplitudes in a sum of consisting of multiple terms, or frequency-like (calibration data has the unit ‘Hz’). If a Waveform subclass has non-timelike attributes, it needs to redefine this method.

When the Waveform is constructed, all timelike calibration data is converted to units of the sampling window duration, and all frequency-like calibration data into units of inverse sampling window duration.

Return type:

dict[str, str]