Chirp#

class iqm.pulse.playlist.waveforms.Chirp(n_samples, freq_start, freq_stop, alpha=0.05, phase=0)#

Bases: Waveform

Linear chirp, defined as

\[f(t) = A \: \omega[\alpha, N] \: \cos(2\pi \int (f_{0} + (f_{1} - f_{0}) t) \: \mathrm{d}t),\]

where \(\omega[\alpha, N]\) is a cosine-tapered window. For \(\alpha = 1\) it becomes rectangular, and for \(\alpha = 0\) it becomes a Hann (or raised cosine) window.

The chirp pulse is valued inside the Nyquist zone, such that \(f_{0}\) and \(f_{1}\) are constrained in the range \([-0.5, 0.5]\).

Parameters:
  • freq_start (float) – Initial frequency of the chirp waveform in the Nyquist zone.

  • freq_stop (float) – Final frequency of the chirp waveform in the Nyquist zone.

  • alpha (float) – Alpha parameter of the cosine-tapered window. Defaults to 0.05.

  • phase (float) – Phase of the waveform. Defaults to 0

  • n_samples (int) –

Module: iqm.pulse.playlist.waveforms

Attributes

alpha

phase

freq_start

freq_stop

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.

_sample(sample_coords)#

Actually samples the waveform.

Parameters:

sample_coords – coordinates of the samples to be returned

Returns:

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

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]