See also
A Jupyter notebook version of this tutorial can be downloaded here.

QRC advanced power settings#
In this tutorial, we show how to set a custom frequency plan for the QRC, enabling higher output power and input sensitivity.
Setup#
First, we are going to import the required packages and connect to the instrument.
[1]:
from __future__ import annotations
import matplotlib.pyplot as plt
import numpy as np
from qcodes.instrument import find_or_create_instrument
from qblox_instruments import Cluster, ClusterType
Scan For Clusters#
We scan for the available devices connected via ethernet using the Plug & Play functionality of the Qblox Instruments package (see Plug & Play for more info).
!qblox-pnp list
[2]:
cluster_ip = "10.10.200.42"
cluster_name = "cluster0"
Connect to Cluster#
We now make a connection with the Cluster.
[3]:
cluster: Cluster = find_or_create_instrument(
Cluster,
recreate=True,
name=cluster_name,
identifier=cluster_ip,
dummy_cfg=(
{
2: ClusterType.CLUSTER_QCM,
4: ClusterType.CLUSTER_QRM,
6: ClusterType.CLUSTER_QCM_RF,
8: ClusterType.CLUSTER_QRM_RF,
10: ClusterType.CLUSTER_QTM,
12: ClusterType.CLUSTER_QRC,
16: ClusterType.CLUSTER_QSM,
}
if cluster_ip is None
else None
),
)
cluster.reset()
print(cluster.get_system_status())
Status: OKAY, Flags: NONE, Slot flags: NONE
Get connected modules#
[4]:
# QRC modules
modules = cluster.get_connected_modules(lambda mod: mod.is_qrc_type)
# This uses the module of the correct type with the lowest slot index
module = list(modules.values())[0]
Frequency sweeps#
One of the most common experiments is to test the frequency response of the system, e.g. to find the resonance frequencies of a qubit or a resonator. For the purpose of this tutorial, we will sweep the full frequency range of the NCO. To improve SNR we can use a long integration time and multiple averages.
[5]:
MAXIMUM_SCOPE_ACQUISITION_LENGTH = 16384
module.sequencer0.integration_length_acq(MAXIMUM_SCOPE_ACQUISITION_LENGTH)
[6]:
module.disconnect_outputs()
module.disconnect_inputs()
# module.sequencer0.connect_sequencer("io0")
module.sequencer0.connect_out0("IQ")
module.sequencer0.connect_acq("in0")
module.sequencer0.nco_prop_delay_comp_en(True)
# The QRC has more input gain than other modules. To avoid overdriving the ADC, we set extra attenuation.
module.out0_att(20)
module.in0_att(20)
module.out0_in0_lo_freq(1e9)
module.sequencer0.nco_freq(50e6)
Following the RF control tutorial, we define a simple function that measures the amplitude in loopback vs the center frequency of the module. To avoid clipping the ADC when we increase sensitivity, we choose a very small signal amplitude.
[7]:
def measure_loopback() -> tuple[np.ndarray, np.ndarray]:
"""Measure frequency response in loopback across the whole frequency range."""
sequencers = [(module.slot_idx, 0)]
acquisitions = {"acq": {"num_bins": 1, "index": 0}}
seq_prog = """
move 1000,R0
reset_ph
set_awg_offs 10, 10 # set small signal
upd_param 200
loop:
acquire 0,0,100
sub R0, 1, R0
jnz @loop
stop
"""
sequence = {
"waveforms": {},
"weights": {},
"acquisitions": acquisitions,
"program": seq_prog,
}
sequences = {
(module.slot_idx, 0): sequence,
}
cluster.update_sequences(sequences, erase_existing=True)
lo_data = []
# 1 GHz to 10 GHz, in steps of 100 MHz
freqs_mhz = np.arange(1000, 10100, 100)
for freq in freqs_mhz:
module.out0_in0_lo_freq(freq * 1e6)
cluster.arm_sequencers(sequencers)
cluster.start_sequencers(sequencers)
cluster.wait_for_sequencers(sequencers, timeout=1)
data = cluster.get_all_acquisitions(sequencers=sequencers)[0]
data = data["acq"]["acquisition"]["bins"]["integration"]
module.sequencer0.delete_acquisition_data("acq")
lo_data.append(data["path0"][0] + 1j * data["path1"][0])
lo_data_db = 20 * np.log10(np.abs(lo_data))
return freqs_mhz, lo_data_db
To get a baseline, we perform the measurement with the standard frequency plan. We explicitly set the frequency plan to default first.
[8]:
module.user_freq_plan_switch(False)
freqs_mhz, lo_data = measure_loopback()
plt.plot(freqs_mhz, np.abs(lo_data))
plt.xlabel("Frequency [MHz]")
plt.ylabel("Amplitude [dB]")
[8]:
Text(0, 0.5, 'Amplitude [dB]')
To see what can be changed, we retrieve the currently active (i.e. the default) frequency plan from the module.
[9]:
module.get_current_frequency_plan()
[9]:
{'1000': {'Input DSA1': 0.0, 'Input DSA2': 12.0},
'10000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 0.0},
'10100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 3.5,
'Output DSA': 0.0},
'1100': {'Input DSA1': 0.0, 'Input DSA2': 11.0},
'1200': {'Input DSA1': 0.0, 'Input DSA2': 10.5},
'1300': {'Input DSA1': 0.0, 'Input DSA2': 10.0},
'1400': {'Input DSA1': 0.0, 'Input DSA2': 10.0},
'1500': {'Input DSA1': 0.0, 'Input DSA2': 10.0},
'1600': {'Input DSA1': 0.0, 'Input DSA2': 9.5},
'1700': {'Input DSA1': 0.0, 'Input DSA2': 9.5},
'1800': {'Input DSA1': 0.0, 'Input DSA2': 9.0},
'1900': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 6.0,
'Output DSA': 9.0},
'2000': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 9.0},
'2100': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 9.0},
'2200': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 9.5},
'2300': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 9.5},
'2400': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 9.5},
'2500': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 7.0},
'2600': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 7.5},
'2700': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 6.5},
'2800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 8.0},
'2900': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 14.5,
'Output DSA': 7.5},
'3000': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 14.5,
'Output DSA': 7.5},
'3100': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 14.5,
'Output DSA': 7.5},
'3200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 3.5,
'Output DSA': 10.0},
'3300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'3400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 10.0},
'3500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 11.0},
'3600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 10.0},
'3700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 3.0,
'Output DSA': 10.0},
'3800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'3900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'4000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'4100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 1.0,
'Output DSA': 8.0},
'4200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 8.0},
'4300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.0},
'4400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 7.5},
'4500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 8.5},
'4600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 9.5},
'4700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.5},
'4800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 9.5},
'4900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 9.5},
'500': {'Input DSA1': 0.0, 'Input DSA2': 13.0},
'5000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.5},
'5100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.5},
'5200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 8.0},
'5300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 8.0},
'5400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 8.0},
'5500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 4.0},
'5600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 7.5},
'5700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 7.5},
'5800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 7.5},
'5900': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 3.0},
'600': {'Input DSA1': 0.0, 'Input DSA2': 13.0},
'6000': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 2.0},
'6100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.5,
'Output DSA': 6.5},
'6200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.5,
'Output DSA': 6.5},
'6300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.0,
'Output DSA': 6.5},
'6400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 7.0},
'6500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 7.0},
'6600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 6.5},
'6700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.0,
'Output DSA': 4.0},
'6800': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 8.0},
'6900': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 8.0},
'700': {'Input DSA1': 0.0, 'Input DSA2': 13.0},
'7000': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 8.0},
'7100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 9.0},
'7200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 6.0},
'7300': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 4.0},
'7400': {'DAC Current (uA)': 15500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 0.0},
'7500': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 0.0},
'7600': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 2.0},
'7700': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 3.0},
'7800': {'DAC Current (uA)': 15500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 0.0},
'7900': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 0.0},
'800': {'Input DSA1': 0.0, 'Input DSA2': 12.5},
'8000': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 2.0},
'8100': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 1.5},
'8200': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 0.0},
'8300': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 1.0},
'8400': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 1.5},
'8500': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 2.0},
'8600': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 2.0},
'8700': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 2.0},
'8800': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 2.0},
'8900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 3.0},
'900': {'Input DSA1': 0.0, 'Input DSA2': 12.0},
'9000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 3.0},
'9100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 0.0},
'9200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 0.0},
'9300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 0.0},
'9400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.5,
'Output DSA': 8.0},
'9500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 8.0},
'9600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 8.0},
'9700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 0.0},
'9800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 0.0},
'9900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 0.0}}
The frequency plan is a nested dictionary, with the center frequency in MHz as key. For each center frequency, there are up to four settings:
“DAC Current (uA)”: Changes output amplitude, maximum is 40500
Output DSA: Offset on the output attenuator. Decreasing this increases output amplitude.
Input DSA 1 and 2: Input attenuators to flatten input sensitivity. Decreasing these values increases sensitivity. When increasing these settings, it is recommended to max out DSA 2 first, and only then increase DSA 1.
Now we can update the frequency plan, increasing input sensitivity in the 1-2 GHz band:
[10]:
patch = {
"1100": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1200": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1300": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1400": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1500": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1600": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1700": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1800": {"Input DSA1": 0.0, "Input DSA2": 0.0},
"1900": {"DAC Current (uA)": 20500, "Input DSA1": 0.0, "Input DSA2": 0.0, "Output DSA": 9.0},
}
# We need to first switch to the custom frequency plan, and the update
module.user_freq_plan_switch(True)
# with `save=True`, the frequency plan would be persistent across reboot and reset.
module.set_user_freq_plan_patch(save=False, plan_json=patch)
Now we confirm that the frequency plan was updated, and that we are using the custom plan:
[11]:
print(module.user_freq_plan_switch())
module.get_current_frequency_plan()
True
[11]:
{'1000': {'Input DSA1': 0.0, 'Input DSA2': 12.0},
'10000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 0.0},
'10100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 3.5,
'Output DSA': 0.0},
'1100': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1200': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1300': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1400': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1500': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1600': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1700': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1800': {'Input DSA1': 0.0, 'Input DSA2': 0.0},
'1900': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 9.0},
'2000': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 9.0},
'2100': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 9.0},
'2200': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 9.5},
'2300': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 9.5},
'2400': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 9.5},
'2500': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 7.0},
'2600': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 7.5},
'2700': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 6.5},
'2800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 8.0},
'2900': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 14.5,
'Output DSA': 7.5},
'3000': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 14.5,
'Output DSA': 7.5},
'3100': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 14.5,
'Output DSA': 7.5},
'3200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 3.5,
'Output DSA': 10.0},
'3300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'3400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 10.0},
'3500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 11.0},
'3600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 10.0},
'3700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 3.0,
'Output DSA': 10.0},
'3800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'3900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'4000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 2.5,
'Output DSA': 10.0},
'4100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 1.0,
'Output DSA': 8.0},
'4200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 0.0,
'Output DSA': 8.0},
'4300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.0},
'4400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 7.5},
'4500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 8.5},
'4600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 9.5},
'4700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.5},
'4800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 9.5},
'4900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 9.0,
'Output DSA': 9.5},
'500': {'Input DSA1': 0.0, 'Input DSA2': 13.0},
'5000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.5},
'5100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 9.5},
'5200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 8.0},
'5300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 8.0},
'5400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 8.0},
'5500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 4.0},
'5600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 7.5},
'5700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 7.5},
'5800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 8.5,
'Output DSA': 7.5},
'5900': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 8.0,
'Output DSA': 3.0},
'600': {'Input DSA1': 0.0, 'Input DSA2': 13.0},
'6000': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 2.0},
'6100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.5,
'Output DSA': 6.5},
'6200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.5,
'Output DSA': 6.5},
'6300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.0,
'Output DSA': 6.5},
'6400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 7.0},
'6500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 7.0},
'6600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 6.5},
'6700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.0,
'Output DSA': 4.0},
'6800': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 8.0},
'6900': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 8.0},
'700': {'Input DSA1': 0.0, 'Input DSA2': 13.0},
'7000': {'DAC Current (uA)': 35500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 8.0},
'7100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 9.0},
'7200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 6.0},
'7300': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 4.0},
'7400': {'DAC Current (uA)': 15500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 0.0},
'7500': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 0.0},
'7600': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 2.0},
'7700': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 3.0},
'7800': {'DAC Current (uA)': 15500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 0.0},
'7900': {'DAC Current (uA)': 20500,
'Input DSA1': 0.0,
'Input DSA2': 12.5,
'Output DSA': 0.0},
'800': {'Input DSA1': 0.0, 'Input DSA2': 12.5},
'8000': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 2.0},
'8100': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 1.5},
'8200': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 0.0},
'8300': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 1.0},
'8400': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 1.5},
'8500': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 2.0},
'8600': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 2.0},
'8700': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 7.0,
'Output DSA': 2.0},
'8800': {'DAC Current (uA)': 30500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 2.0},
'8900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 3.0},
'900': {'Input DSA1': 0.0, 'Input DSA2': 12.0},
'9000': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 3.0},
'9100': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 0.0},
'9200': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 0.0},
'9300': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.0,
'Output DSA': 0.0},
'9400': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.5,
'Output DSA': 8.0},
'9500': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 13.0,
'Output DSA': 8.0},
'9600': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 12.0,
'Output DSA': 8.0},
'9700': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 6.5,
'Output DSA': 0.0},
'9800': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 0.0},
'9900': {'DAC Current (uA)': 40500,
'Input DSA1': 0.0,
'Input DSA2': 5.5,
'Output DSA': 0.0}}
Finally, we repeat the measurement and compare to the baseline:
[12]:
freqs_mhz, lo_data_patched = measure_loopback()
plt.plot(freqs_mhz, np.abs(lo_data))
plt.plot(freqs_mhz, np.abs(lo_data_patched))
plt.xlabel("Frequency [MHz]")
plt.ylabel("Amplitude [dB]")
[12]:
Text(0, 0.5, 'Amplitude [dB]')
Stop#
Finally, let’s stop the sequencers if they haven’t already and close the instrument connection. One can also display a detailed snapshot containing the instrument parameters before closing the connection by uncommenting the corresponding lines.
[13]:
# Stop all sequencers.
module.stop_sequencer()
# Print status of sequencers 0 and 1 (should now say it is stopped).
print(module.get_sequencer_status(0))
print(module.get_sequencer_status(1))
print()
Status: OKAY, State: STOPPED, Exit Code: 0, Info Flags: FORCED_STOP, ACQ_SCOPE_DONE_PATH_0, ACQ_SCOPE_DONE_PATH_1, ACQ_BINNING_DONE, ACQ_SCOPE_DONE_PATH_2, ACQ_SCOPE_DONE_PATH_3, Warning Flags: NONE, Error Flags: ACQ_BINNING_FIFO_ERROR, Log: []
Status: OKAY, State: STOPPED, Exit Code: 0, Info Flags: NONE, Warning Flags: NONE, Error Flags: NONE, Log: []