-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] - Multiple qubit measure lines in UHFQA in spectroscopy mode #10
Comments
Hi @YuanG13 - thanks for reporting this. |
Yes, but only one qubit is intended and meant to be measured in that experiment. Since we are using qiskit circuits, if a nexperiment contains coupler but only one qubit is measured, which has longer measure pulse time (>2.3us, for example fluxonium), the circuit should contains 2 qubits and the meas_level is spectroscopy. However regardless the experiment, counting Nonetype as an additional hardware oscillator seems too strict. |
I agree that we should probably improve the error message in this case, but as I understand the issue, this appears because there are two measurment lines in the experiment? |
Yes there are two lines, but only one Hardware oscillator is assigned, the other one is not assigned with any Hardware oscillator(None), as I described in the description. It should not be counted as multiplexing since only one frequency is involved. |
@YuanG13 using one line with hardware and another one with software oscillator is not possible in spectroscopy mode, you can only use a single readout line with hardware modulation in this mode. |
But the experiment I am showing was running correctly before. Is it possible that we have a measure_1 but do not assign any oscillator to it(None)? |
Yes, that is possible, if you do not assign an oscillator in the SignalCalibration, it will default to None. |
Nothing will do on that measure_1 and acquire_1. But the drive_1, flux_1 might have pulses. So we either assign a None oscillator to the SignalCalibration of measure_1, acquire_1, or do not define SignalCalibration for measure_1, acquire_1 while still keep drive_1, flux_1 the same. Which one should be more reasonable from your perspective? |
I would suggest to remove the measure_1 and acquire_1 signal lines from the experiment. Then it should work already now, but as long as the lines are defined, their properties will be checked for conflicts with possible behavior. In this case one conflict will be that measurement multiplexing is not possible in spectroscopy mode. |
@YuanG13 - I will change this into a feature, since we will be adding functionality here, and I believe there is a simple workaround for the moment. This is planned as part of the integration of qubit objects as high level experiment objects, which is currently being planned |
Hi @YuanG13, as discussed, we close this ticket. |
Describe the bug
with experiment using UHFQA, and spectroscopy mode, get compilation error :
Attempting to multiplex several HW-modulated signals (measure_0, measure_1) on uhfqa, which does not support oscillator switching
.in the experiment, there are 2 qubits sharing the same physical measure line, but in
SignalCalibration
only one is assigned anOscillator
withModulationType.HARDWARE
, the other is assigned anOscillator
withModulationType.SOFTWARE
.The error raised from
laboneq/compiler/code_generator/analyze_events.py", line 418, in analyze_oscillator_switch_events
and the reason is that in
line405
,hw_oscillators
contains both signals even one of them hassignals[signal_id].hw_oscillator=None
, and the code thinks there are two different hardware oscillators.To Reproduce
Steps to reproduce the behavior:
example.zip
Expected behavior
do not add the signal to the dictionary if the hardware oscillator is None
Code & Screenshots
If possible, add example code or serialized LabOne Q data objects, like the Experiment and DeviceSetup, that allow us to reproduce the behavior.
If applicable, add screenshots to help explain your problem.
Versions used:
Context
The text was updated successfully, but these errors were encountered: