MeasurementConfig Example¶
This notebook runs offline with a mocked ExperimentSystem and shows:
- Build with
MeasurementConfigFactory - Build
MeasurementConfigdirectly
In [ ]:
Copied!
from typing import cast
from unittest.mock import Mock
from qubex.backend import ExperimentSystem
from qubex.measurement.measurement_config_factory import MeasurementConfigFactory
from qubex.measurement.models import (
MeasurementConfig,
)
from typing import cast
from unittest.mock import Mock
from qubex.backend import ExperimentSystem
from qubex.measurement.measurement_config_factory import MeasurementConfigFactory
from qubex.measurement.models import (
MeasurementConfig,
)
Prepare mock ExperimentSystem¶
Factory only needs control_params.readout_amplitude in this example.
In [ ]:
Copied!
mock_experiment_system = Mock(spec=ExperimentSystem)
mock_experiment_system.control_params = Mock()
mock_experiment_system.control_params.readout_amplitude = {
"RQ00": 0.02,
"RQ01": 0.025,
}
factory = MeasurementConfigFactory(
experiment_system=mock_experiment_system,
)
mock_experiment_system = Mock(spec=ExperimentSystem)
mock_experiment_system.control_params = Mock()
mock_experiment_system.control_params.readout_amplitude = {
"RQ00": 0.02,
"RQ01": 0.025,
}
factory = MeasurementConfigFactory(
experiment_system=mock_experiment_system,
)
1) Build with MeasurementConfigFactory¶
In [ ]:
Copied!
config_from_factory = factory.create(
mode="avg",
shots=2048,
enable_dsp_sum=True,
)
print(config_from_factory.to_json(indent=2))
config_from_factory = factory.create(
mode="avg",
shots=2048,
enable_dsp_sum=True,
)
print(config_from_factory.to_json(indent=2))
2) Build MeasurementConfig directly¶
In [ ]:
Copied!
config_direct = MeasurementConfig(
mode="avg",
shots=2048,
interval=150 * 1024,
frequencies={"Q00": 5.0, "Q01": 5.2},
enable_dsp_demodulation=True,
enable_dsp_sum=True,
enable_dsp_classification=False,
line_param0=(1.0, 0.0, 0.0),
line_param1=(0.0, 1.0, 0.0),
)
print(config_direct.to_json(indent=2))
config_direct = MeasurementConfig(
mode="avg",
shots=2048,
interval=150 * 1024,
frequencies={"Q00": 5.0, "Q01": 5.2},
enable_dsp_demodulation=True,
enable_dsp_sum=True,
enable_dsp_classification=False,
line_param0=(1.0, 0.0, 0.0),
line_param1=(0.0, 1.0, 0.0),
)
print(config_direct.to_json(indent=2))