CPMG sequence#
In this section we show how to run the dynamical decoupling sequence CPMG.
The CPMG sequence consists in applying N equally spaced \(\pi\) pulses within two \(\pi / 2\) pulses. By increasing the number of \(\pi\) pulses \(T_2\) should increase since the estimation is less sensitive to noises of the type \(1/f\) eventually reaching the \(2 T_1\) limit.
The fit is again a dumped exponential of the following form:
Parameters#
- class qibocal.protocols.coherence.cpmg.CpmgParameters(delay_between_pulses_start: int, delay_between_pulses_end: int, delay_between_pulses_step: int, single_shot: bool = False, n: int = 1)[source]
Cpmg runcard inputs.
- n: int = 1
Number of pi rotations.
- hardware_average: bool = False
By default hardware average will be performed.
- single_shot: bool = False
- delay_between_pulses_start: int
Initial delay between pulses [ns].
- delay_between_pulses_end: int
Final delay between pulses [ns].
- delay_between_pulses_step: int
Step delay between pulses [ns].
- nshots: int
Number of executions on hardware.
- relaxation_time: float
Wait time for the qubit to decohere back to the gnd state.
Example#
A possible runcard to launch a CPMG experiment could be the following:
- id: CPMG
operation: cpmg
parameters:
delay_between_pulses_end: 100000
delay_between_pulses_start: 4
delay_between_pulses_step: 1000
n: 10
nshots: 1000
The expected output is the following:

\(T_2\) is determined by fitting the output signal using the formula presented above.