Baseband sequencer modes#
IQ mode#
As presented in the sequencers user guide, the waveforms played on both paths of a given sequencer can be modulated by the numerically controlled oscillator (NCO), such that these waveforms are assembled into an IQ pair that reads:
We call this default behavior of the NCO modulation IQ (or complex) mode: an example of output in this configuration is shown in the Fig. 1 below.
IQ sequencer mode. The I and Q channels are mixed together with the NCO and then combined such that#
In the example the path_0 (\(I\)) consists of a constant offset with small amplitude, whereas the path_1 (\(Q\)) consists of a sinusoidal signal with larger amplitude.
In practice the activation this IQ modulation of the waveforms is achieved via the qblox-instruments API with the
following instructions:
<module>.sequencer<X>.mod_en_awg(True) # activates the modulation of the waveforms by the NCO
<module>.sequencer<X>.nco_freq(<nco_frequency>) # sets the NCO frequency to <nco_frequency> (in Hz)
<module>.sequencer<X>.connect_sequencer("out<Z>") # connects the output of the sequencer to the physical output port(s)
Additional details about the NCO and the way to connect a sequencer to output ports can be found in the
NCO control tutorial and the API reference documentation of
QCM.connect_sequencer().
Real sequencer mode#
However, one also sometimes needs to generate signals that do not consist of an IQ pair, but can instead oscillate
around a non-zero value. We call this second mode of operation of the sequencers real sequencer mode. In that case,
the NCO modulates only one of the two paths of the sequencer (the path_0 by convention). The other path (path_1)
bypasses the mixing stage with the NCO and can be used to generate an unmodulated signal that is then combined with the
modulated path_0 signal. The resulting output reads:
An example of output in this configuration is shown in the Fig. 2 below, using the same input waveforms (offset and sine wave) as in the previous example.
Real sequencer mode The notion of I and Q channels vanishes. The path_0 channel is modulated by the NCO and then combined with the unmodulated path_1 channel (bypassing the NCO).#
The activation of the real sequencer mode is achieved via the qblox-instruments API with the Sequencer.real_mode_en
instruction:
<module>.sequencer<X>.mod_en_awg(True) # activates the modulation of the waveforms by the NCO
<module>.sequencer<X>.nco_freq(<nco_frequency>) # sets the NCO frequency to <nco_frequency>
<module>.sequencer<X>.real_mode_en(True) # [<- IMPORTANT LINE] activates the real sequencer mode
<module>.sequencer<X>.connect_sequencer("out<Z>") # connects the output of the sequencer to the output port(s)
For an example, see the tutorial.