iqm.pulse.playlist.hd_drag.evaluate_hd_drag_q_envelope

iqm.pulse.playlist.hd_drag.evaluate_hd_drag_q_envelope#

iqm.pulse.playlist.hd_drag.evaluate_hd_drag_q_envelope(t_arr, pulse_duration, derivative_coefs_arr, cosine_coefs_arr)#

Evaluate Q-envelope of HD DRAG given the coefficients of the derivative terms and the cosine terms.

The Q-envelope is defined as \(Q(t) = \sum_{n=0}^{K} \beta_{2n} g^{(2n+1)}(t)\), where \(K\) is the number of suppressed frequency ranges, \(\{beta_{2n}\}\) are the coefficients of the derivative terms, and \(g(t)\) is the basis envelope. The pulse is assumed to start at time -pulse_duration/2, and end at time pulse_duration/2.

Parameters:
  • t_arr (ndarray) – Array of time points, at which the function is to be evaluated

  • pulse_duration (float) – Pulse duration in the same units as t_arr

  • derivative_coefs_arr (ndarray) – Coefficients of the derivatives

  • cosine_coefs_arr (ndarray) – Coefficients of the cosine terms in the basis envelope

Returns:

Q-envelope of a HD DRAG pulse evaluated at t_arr

Return type:

ndarray