Synchronize mixers¶
Tip
Starting from version 2.12.0, the Presto API has an autoconfiguration feature to select the
optimal DAC configuration automatically based on your choice of frequencies. When using this
feature, calls to configure_mixer()
are handled differently and do not require any
special care to be synchronized across different ports.
If do not use the autoconfiguration feature and still want to specify the DAC settings manually, keep reading. Otherwise, head over here to see how to update your old code.
When setting up digital mixers with Hardware.configure_mixer()
the parameter sync
indicates when to start the mixers. When we pass sync=False
the mixer is ‘armed’ and the
numerically-controlled oscillator (NCO) connected to the LO port of the mixer is ready to be
started. When we pass sync=True
that mixer’s NCO is ‘armed’ and all the already armed NCOs are
started at the same time. The default value of the sync
parameter is True
.
In the following example, the NCO that is at 5 GHz starts first. After that, mixers with NCO frequencies 6 and 7 GHz start together.
pls.hardware.configure_mixer(freq=5e9, in_ports=1, out_ports=1)
pls.hardware.configure_mixer(freq=6e9, in_ports=2, out_ports=2, sync=False)
pls.hardware.configure_mixer(freq=7e9, out_ports=3, sync=True)