To be able to properly interact with a superconducting quantum system one needs to know the resonance frequency of the readout resonator that is coupled to the qubit. To find out the needed frequency we perform a straight forward spectroscopy routine.
The configuration defines the quantum element
rr the readout resonator.
We define 2 inputs, one for the
I component and one for the
Furthermore, we define two operations
long_readout, associated with the respective pulses.
Both pulses define a constant signal on the
I component and zero on the
That is because we are just interested in the resonance frequency so we care only about the magnitude of the signal.
resonator_spectroscopy consists of an outer averaging loop and an inner scanning loop.
The inner loop scans a range of frequencies and in each cycle changes the frequency using the
and then measures the readout resonator using the
In between measurements we also use the
wait command to let the resonator relax to its vacuum state.
wait command one needs to specify a time period in
ns during which all the specified elements receive zero signal.
stream_processing block we save the incoming stream of data into a
A buffer is an array of a certain size that are used to store the incoming data in a shape of the buffer.
Here we create a
buffer of size 100 with
buffer(100) command, to store the results from each of the scanned frequencies.
While saving the results to the
buffer we also keep a running average using
Such that at the end we'll have an array cell for each frequency and the averaged value
of the I,Q response at that frequency.
⚠ Note that the buffer output anything only when full, i.e if the buffer of size 100 but one only saves 70 values it will be empty at the fetching stage.
No post processing provided. One needs to use the extracted I,Q values to determine the resonance frequency by the response spectrum.