-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not rearrange real-time sweepers (ZI) #852
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #852 +/- ##
==========================================
+ Coverage 66.60% 66.66% +0.05%
==========================================
Files 55 55
Lines 5917 5900 -17
==========================================
- Hits 3941 3933 -8
+ Misses 1976 1967 -9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks, great to me. However, I will wait a bit to merge it until qibolcal routines get the proper order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that sweepers order should not change, in any case. This should be honored, both to give more control to the user (and avoid unexpected behavior), and to keep the driver simple and minimal (the first motivation is more important than the second, but they are both relevant and, in this case, pointing in the same direction).
I can understand that this is also solved by rearranging sweepers, but if there were other reasons to keep the second order, it should be also solved by a sufficient relaxation time. Isn't it? |
Yes! EDIT: added a plot related to that to the main description of the PR for completeness. |
@hay-k rebased with the flux pulse hotfix so the issue I found is gone and we can merge it. |
Currently, the ZI driver may change the order of real-time sweepers in certain situations. This was most probably historically done for the following two reasons:
Recently, we discovered that (and confirmed by laboneq developers), that point 1 does not exist. As for point 2, with @Jacfomg we observed that order of real-time sweeps may affect the quality of acquired data (for physical reasons, and not specific to instrument). In light of this it seems that the better decision is that the driver not change the order of sweeps. It is better to let qibocal decide which order works best for which experiment.
Below is output from qubit flux dependence experiment, where flux sweep is done as an amplitude sweep for a long square flux pulse. So we have nested 2 real-time sweeps (flux pulse amplitude and qubit drive frequency). The first plot corresponds to the case where frequency sweep is the inner loop, and for the second plot the frequency sweep is the outer loop.
Looks like the rapid changes in amplitude (when the amplitude sweep is the inner one) result into some vertical shadows. The two experiments above were done using

relaxation_time = 2000
. Increasing it mitigates the shadowing issue, as seen from the below plot done withrelaxation_time=20_000
:Checklist: