Skip to content

laboneq_applications.contrib.analysis.signal_propagation_delay

This module defines the analysis for a signal propagation delay experiment.

The experiment is defined in laboneq_applications.experiments.

In this analysis, we extract the optimum integration delay defined by the maximum of the integrated signal. Finally, we plot the data and mark the optimal delay.

analysis_workflow(result, qubit, delays, options=None)

The Amplitude Rabi analysis Workflow.

The workflow consists of the following steps:

Parameters:

Name Type Description Default
result RunExperimentResults

The experiment results returned by the run_experiment task.

required
qubit Qubit

The qubits on which to run the analysis. May be either a single qubit or a list of qubits. The UIDs of these qubits must exist in the result.

required
delays QubitSweepPoints

The delays that were swept over in the signal propagation delay experiment. delays must be a list of numbers or an array.

required
options TuneUpAnalysisWorkflowOptions | None

The options for building the workflow, passed as an instance of [TuneUpAnalysisWorkflowOptions]. In addition to options from [WorkflowOptions], the following custom options are supported: do_fitting, do_plotting, and the options of the [TuneupAnalysisOptions] class. See the docstring of [TuneUpAnalysisWorkflowOptions] for more details.

None

Returns:

Name Type Description
WorkflowBuilder None

The builder for the analysis workflow.

Example
options = TuneUpAnalysisWorkflowOptions()
result = analysis_workflow(
    results=results
    qubits=q0,
    delays=np.linspace(0e-9, 200e-9, 21),
    ],
    options=options,
).run()

extract_qubit_parameters(qubit, result, options=None)

Extract the optimal integration delay.

The optimal integration delay is defined by the port_delay which results in a maximum of the integrated signal.

Parameters:

Name Type Description Default
qubit Qubit

The qubit on which to run the analysis.

required
result RunExperimentResults

The experiment results returned by the run_experiment task.

required
options TuneupAnalysisOptions | None

The options for extracting the qubit parameters. See [TuneupAnalysisOptions], [TuneupExperimentOptions] and [BaseExperimentOptions] for accepted options.

None

Returns:

Type Description
dict[str, dict[str, dict[str, int | float | None]]]

dict with extracted qubit parameters and the previous values for those qubit

dict[str, dict[str, dict[str, int | float | None]]]

parameters. The dictionary has the following form:

dict[str, dict[str, dict[str, int | float | None]]]

```python

dict[str, dict[str, dict[str, int | float | None]]]

{ "new_parameter_values": { q.uid: { qb_param_name: qb_param_value }, } "old_parameter_values": { q.uid: { qb_param_name: qb_param_value }, }

dict[str, dict[str, dict[str, int | float | None]]]

}

dict[str, dict[str, dict[str, int | float | None]]]

```

dict[str, dict[str, dict[str, int | float | None]]]

If the do_fitting option is False, the new_parameter_values are not extracted

dict[str, dict[str, dict[str, int | float | None]]]

and the function only returns the old_parameter_values.

plot_data(qubit, result, qubit_parameters, options=None)

Create the signal propagation delay plot.

Parameters:

Name Type Description Default
qubit Qubit

The qubit on which to run the analysis. The UID of this qubit must exist in qubit_parameters.

required
result RunExperimentResults

The experiment results returned by the run_experiment task.

required
qubit_parameters dict[str, dict[str, dict[str, int | float | None]]] | None

the qubit-parameters dictionary returned by extract_qubit_parameters

required
options TuneupAnalysisOptions | None

The options for processing the raw data. See [TuneupAnalysisOptions], [TuneupExperimentOptions] and [BaseExperimentOptions] for accepted options.

None

Returns:

Type Description
dict[str, Figure]

dict with qubit UID as key and the figure as values.