# 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:

Signal

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])