Recommended DAC configurationΒΆ
In order to output frequencies up to 9 GHz, Presto uses a digital-mixing stage just before the
digital-to-analog converter (DAC). dac_mode
and DAC sampling rate dac_fsample
are two
parameters one needs to choose depending on the output frequency.
Tip
Starting from version 2.12.0, the Presto API can select the optimal DAC configuration automatically
based on your choice of frequencies. Just set dac_mode=DacMode.Mixed
and leave the default
dac_fsample=None
, and the API will do the rest. For example:
with pulsed.Pulsed(
address="192.168.20.42",
adc_mode=AdcMode.Mixed,
dac_mode=DacMode.Mixed,
) as pls:
...
If you still want to specify the DAC settings manually, or if you want to learn more, keep reading.
A helper function utils.recommended_dac_config()
can recommend the optimal configuration: we
just pass the frequency we want to output and it will return the suggested dac_mode
and
dac_fsample
:
dac_mode, dac_fsample = recommended_dac_config(5.2e9)
The returned parameters can be used directly by passing them to a Pulsed
or
Lockin
instance. For example:
with pulsed.Pulsed(
address=presto_address,
port=presto_port,
ext_ref_clk=ext_ref_clk,
adc_mode=AdcMode.Mixed,
adc_fsample=AdcFSample.G2,
dac_mode=dac_mode,
dac_fsample=dac_fsample,
) as pls:
The function can also print all DAC configurations compatible with the requested frequency, and calculate the frequency of the nearest spurious signals that are generated due to digital mixing. Further, it suggests an appropriate analog filter that can be connected to the output of Presto to suppress these spurs:
dac_mode, dac_fsample = recommended_dac_config(5.2e9, print_all=True)
Valid DAC configurations for signal at 5200.0 MHz:
* Mixed42-G8 (score 1680):
- low-frequency spur: 2800.0 MHz
- high-frequency spur: 10800.0 MHz
- compatible band-pass filters: ['VBFZ-5500-S+', 'ZBSS-6G-S+', 'ZVBP-5G-S+']
* Mixed02-G6 (score 1173):
- low-frequency spur: 800.0 MHz
- high-frequency spur: 6800.0 MHz
- compatible band-pass filters: ['ZVBP-5G-S+']
Finally, recommended_dac_config()
can plot all of the recommended combinations of DAC
sampling rates and modes (bands of blue, orange and green), the targeted frequency, and nearest
spurs in red:
dac_mode, dac_fsample = recommended_dac_config(5.2e9, plot=True)
Depending on your application, the recommended settings might not be the optimal ones. In this case, you are always able to manually set all the configuration parameters.