diff --git a/doc/source/protocols/cpmg/cpmg.png b/doc/source/protocols/cpmg/cpmg.png new file mode 100644 index 000000000..eaf7c175a Binary files /dev/null and b/doc/source/protocols/cpmg/cpmg.png differ diff --git a/doc/source/protocols/cpmg/cpmg.rst b/doc/source/protocols/cpmg/cpmg.rst new file mode 100644 index 000000000..09d3c5750 --- /dev/null +++ b/doc/source/protocols/cpmg/cpmg.rst @@ -0,0 +1,50 @@ +CPMG sequence +============= + +In this section we show how to run the dynamical decoupling sequence CPMG. + +The CPMG sequence consists in applying N equally spaced :math:`\pi` pulses +within two :math:`\pi` pulses. By increasing the number of :math:`\pi` pulses :math:`T_2` +should increase until reaching the :math:`2 T_1` limit. + + +The fit is again a dumped exponential of the following form: + +.. math:: + + p_e(t) = A + B e^{ - t / T_2} + + +Parameters +^^^^^^^^^^ + +.. autoclass:: qibocal.protocols.coherence.cpmg.CpmgParameters + :noindex: + +Example +^^^^^^^ + +A possible runcard to launch a CPMG experiment could be the following: + +.. code-block:: yaml + + - 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: + +.. image:: cpmg.png + +:math:`T_2` is determined by fitting the output signal using +the formula presented above. + +Requirements +^^^^^^^^^^^^ + +- :ref:`single-shot` diff --git a/doc/source/protocols/index.rst b/doc/source/protocols/index.rst index 65d13f95d..95c5600a2 100644 --- a/doc/source/protocols/index.rst +++ b/doc/source/protocols/index.rst @@ -22,6 +22,7 @@ In this section we introduce the basics of all protocols supported by ``qibocal` t1/t1 t2/t2 t2_echo/t2_echo + cpmg/cpmg flux/single flux/crosstalk singleshot diff --git a/src/qibocal/protocols/coherence/cpmg.py b/src/qibocal/protocols/coherence/cpmg.py index 92ab29b38..e5407119f 100644 --- a/src/qibocal/protocols/coherence/cpmg.py +++ b/src/qibocal/protocols/coherence/cpmg.py @@ -151,7 +151,7 @@ def _plot(data: CpmgData, target: QubitId, fit: CpmgResults = None): fitting_report = table_html( table_dict( target, - ["T2 Spin Echo [ns]", "chi2 reduced"], + ["T2", "chi2 reduced"], [fit.t2_spin_echo[target], fit.chi2[target]], display_error=True, )