add mixing field and update assign frequency function (QAE-519)
Explanation of changes
Add mixing field to sequencer object in compiler. Currently in the module output’s settings, interm_freq (which stands for Intermediate Frequency or IF) is the frequency with which the device modulates the pulses. In this case, the internal LO frequency is not specified but is automatically calculated by the backend, such that the relation clock = lo + if is respected. When mixing is set to false this relation will be ignored. This will be the case when the LO is connected to an external device, such as a laser.
Motivation of changes
For certain applications (e.g lasers) we want to be able to set the lo withouth affecting the clock as it is an external device and doesn't need mixing.
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.md
andAUTHORS.md
have 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.