new_walsh_sequence
qctrlopencontrols.new_walsh_sequence(duration, paley_order, pre_post_rotation=False, name=None)
Creates the Walsh sequence.
Parameters
- duration (float) – Total duration of the sequence (in seconds).
- paley_order (int) – The paley order of the Walsh sequence.
- pre_post_rotation (bool , optional) – If
True
, a rotation is added at the start and end of the sequence. Defaults toFalse
. - name (string , optional) – Name of the sequence. Defaults to
None
.
Returns
The Walsh sequence.
Return type
Notes
The Walsh sequence is defined by the switching function given by a Walsh function. To define the Walsh sequence, we first introduce the Rademacher function 1, which is defined as
The -th Rademacher function is thus a periodic square wave switching times between over the interval . The Walsh function of Paley order is denoted and defined as
where is the binary representation of . That is
where indexes the most significant binary bit of .
The -th order Walsh sequence 2 is then defined by
with offset times defined at the switching times of the Walsh function.
References
[1] H. Rademacher, Math. Ann. 87, 112–138 (1922).
[2] H. Ball and M. J Biercuk, EPJ Quantum Technol. 2, 11 (2015).