Upgrading SDK software version from 2.5.0 to 2.6.0#
Version 2.6.0 made a change in the way in the way that flattop waveforms get constructed.
Previously, a flattop was created by first making a waveform that represented the rising and falling portions.
Then, when the to_flattop
method was called, the waveform would “split” in half and a hold would be placed
in between the rising and falling portions.
Now both of these steps are done with one call to either DCWaveform.create_dc_flattop
or RFWaveform.create_rf_flattop
.
This comes with the additional benefit of being able to control the rising and falling times independently
Changes |
2.5.0 |
2.6.0 |
---|---|---|
DC Flattop construction |
rise_fall_time = 50e-9
hold_time = 200e-9
dc_waveform = qcs.DCWaveform(
duration= 2 * rise_fall_time,
envelope= qcs.GaussianEnvelope(),
amplitude= 0.1
)
dc_flattop = dc_waveform.to_flattop(hold_duration=hold_time)
|
rise_fall_time = 50e-9
hold_time = 200e-9
dc_flattop = qcs.DCWaveform.create_dc_flattop(
rise_duration= rise_fall_time,
hold_duration= hold_time,
fall_duration= rise_fall_time,
envelope= qcs.GaussianEnvelope(),
amplitude= 0.1
)
|
RF Flattop construction |
rise_fall_time = 50e-9
hold_time = 200e-9
rf_waveform = qcs.RFWaveform(
duration= 2 * rise_fall_time,
envelope= qcs.GaussianEnvelope(),
amplitude= 0.1,
frequency = 3e9
)
rf_flattop = rf_waveform.to_flattop(hold_duration=hold_time)
|
rise_fall_time = 50e-9
hold_time = 200e-9
rf_flattop = qcs.RFWaveform.create_rf_flattop(
rise_duration= rise_fall_time,
hold_duration= hold_time,
fall_duration= rise_fall_time,
envelope= qcs.GaussianEnvelope(),
amplitude= 0.1,
frequency= 3e9
)
|