qiboteam / qibocal

Quantum calibration, characterization and validation module for Qibo.
https://qibo.science
Apache License 2.0
28 stars 4 forks source link

Timing and sweepers #891

Open alecandido opened 1 week ago

alecandido commented 1 week ago

This issue apparently involves all the routines with a time-related sweeper, and it spans Qibolab as well.

It was initially spotted in https://github.com/qiboteam/qibolab/pull/914#discussion_r1645439749 that the start time of the readout pulse in a Rabi experiment should be played right after the drive pulse is finished, for all the values in the sweepers.

However, the only way the Qibocal routine can specify this, is by playing the readout pulse at the end of the drive for the initial value of the sweeper. Hoping for the best.

This is not a full specification of how the experiment should be performed, since the start value of the readout should be updated by the sweeper, but there is no specification of that in the platform.sweep() inputs. Instead, the acceptable solutions would be:

Current Qibocal is more or less the best it can be done with the present Qibolab, but still the implementation is flaky or just wrong, and we should upgrade it as soon as Qibolab will support one of the options above.

alecandido commented 1 week ago

I still have to confirm, but I suspect that this is not an issue with most of the drivers, because of an implicit push for the measurement at the end of the experiment, that would be an issue on its own (because we lose part of the control over the readout pulses timing).

Is this the case? @stavros11 @hay-k