Synchronize mixers


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)