Separate calc modulation freqs compilation step zhinst
Explanation of changes
Adds a separate compilation step in the zhinst backend for checking and setting the modulation frequencies according to the convention RF = LO + IF.
Motivation of changes
Before, if a user were to set an RF (in the ClockResource) and an LO frequency (which is not often the case), while leaving the IF unspecified, the IF would default to 0.0 in the construct_numerical_waveforms step, only to be calculated later from the RF and LO in the _add_lo_config step. The generated (RF) signal would therefore be at the wrong frequency (namely RF = LO + 0).
Merge checklist
See also merge request guidelines
-
Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer. -
New code is covered by unit tests (or N/A). -
New code is documented and docstrings use numpydoc format (or N/A). -
New functionality: considered making private instead of extending public API (or N/A). -
Public API changed: added @deprecated(or N/A). -
Tested on hardware (or N/A). -
CHANGELOG.mdandAUTHORS.mdhave been updated (or N/A). -
Windows tests in CI pipeline pass (manually triggered by maintainers before merging).
For reference, the issues workflow is described in the contribution guidelines.
Edited by Tobias Bonsen