Open terrorfisch opened 6 years ago
Furthermore one may wants to compensate the pulse in channel A by some modification to channel B and vice versa.
I am preferring to put this into the HardwareSetup
class. There is already a mapping with an arbitary function. This needs to be extended to take all channels as arguments. This solves the crosstalk compensation issue.
The problem of (pre-)distortion can only be solved if the complete program is run through some kind of filter. It can obviously not be done locally as the transients between different waveforms have to be taken into account.
Together with @pcerf I came up with the idea to do this during the sequencing controlled by flags bound to an identifier. In this way it can be made pulse template specific.
In the original design I would have placed it in a step after sequencing which would then carry out final logical channel to hardware mapping and also take care of hardware/setup specific error correction. However, I am not yet sufficiently aware of all the changes that were made to sequencing and waveforms to make a call here. Doing the correction during the sequencing would mess up the clean separation of sequencing into an abstract waveform sequence from actual hardware requirements and make the whole process more complicated, so I'd refrain from doing that if it all possible and practical.
Implementation fo linear cross talk compensation in the Waveform
class via a generalized Transformation
class. There is no interface yet
https://github.com/qutech/qc-toolkit/tree/issues/149_linear_crosstalk_compensation
Based on #312
Adds pandas dependency.
The user wants to define a pulse that is preferrably independent of experiment specific distortions(filters, bias-t, ...).
We need a way to make the compensation for that easy and general.