In [ ]:
from QGL import *
from auspex.qubit import *
We use a pre-existing database containing a channel library and pipeline we have established.
In [3]:
cl = ChannelLibrary(db_resource_name="my_config.sqlite")
pl = PipelineManager()
The APS2 requires mixers to upconvert to qubit and cavity frequencies. We must tune the offset of these mixers and the amplitude factors of the quadrature channels to ensure the best possible results. We repeat the definition of the spectrum analyzer here, assuming that the LO driving this instrument is present in the channel library as spec_an_LO
.
In [ ]:
spec_an = cl.new_spectrum_analzyer("SpecAn", "ASRL/dev/ttyACM0::INSTR", cl["spec_an_LO"])
cal = MixerCalibration(q2, spec_an, mixer="measure")
cal.calibrate()
If the plot server and client are open, then the data will be plotted along with fits from the calibration procedure. The calibration procedure automatically knows which digitizer and AWG units are needed in the process. The relevant instrument parameters are updated but not commited to the database. Therefore they may be rolled back if undesirable results are found.
In [ ]:
cals = RabiAmpCalibration(q2)
cal.calibrate()
In [ ]:
cal = RamseyCalibration(q2)
cal.calibrate()
Of course this is somewhat repetetive and can be sped up:
In [ ]:
cals = [RabiAmpCalibration, RamseyCalibration, Pi2Calibration, PiCalibration]
[cal(q2).calibrate() for cal in cals]
In [ ]:
cal = QubitTuneup(q2, f_start=5.2e9, f_stop=5.8e9, coarse_step=50e6, fine_step=0.5e6, averages=250, amp=0.1)
cal.calibrate()