sech_pulse
The Boulder Opal Toolkits are currently in beta phase of development. Breaking changes may be introduced.
- sech_pulse(duration, amplitude, width=None, center_time=None)
Create a Signal object representing a hyperbolic secant pulse.
- Parameters:
duration (float) – The duration of the signal, \(T\).
amplitude (float or complex) – The amplitude of the pulse, \(A\).
width (float, optional) – The characteristic time for the hyperbolic secant pulse, \(t_\mathrm{pulse}\). Defaults to \(T/12\), giving the pulse a full width at half maximum (FWHM) of \(0.22 T\).
center_time (float, optional) – The time at which the pulse peaks, \(t_\mathrm{peak}\). Defaults to \(T/2\).
- Returns:
The hyperbolic secant pulse.
- Return type:
See also
signals.cosine_pulse()
Create a Signal object representing a cosine pulse.
signals.gaussian_pulse()
Create a Signal object representing a Gaussian pulse.
signals.sech_pulse_pwc()
Graph operation to create a Pwc representing a hyperbolic secant pulse.
signals.sech_pulse_stf()
Graph operation to create a Stf representing a hyperbolic secant pulse.
signals.square_pulse()
Create a Signal object representing a square pulse.
Notes
The hyperbolic secant pulse is defined as
\[\mathop{\mathrm{Sech}}(t) = \frac{A}{\cosh\left((t - t_\mathrm{peak}) / t_\mathrm{pulse} \right)} .\]The FWHM of the pulse is about \(2.634 t_\mathrm{pulse}\).
Examples
Define a displaced sech pulse.
>>> pulse = qctrl.signals.sech_pulse(duration=1, amplitude=1, center_time=0.4) >>> pulse.export_with_time_step(time_step=0.1) array([0.02998441, 0.09932793, 0.32180487, 0.84355069, 0.84355069, 0.32180487, 0.09932793, 0.02998441, 0.00903298, 0.00272073])