Skip to content
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

Precomp #488

Closed
wants to merge 16 commits into from
Closed

Precomp #488

wants to merge 16 commits into from

Conversation

ysalatheZI
Copy link
Contributor

Changes proposed in this pull request:

  • Added new function 'run_realtime_predistortion' to the ZI_HDAWG8 device driver.
  • Added new nodes for controlling the AWG8 trigger outputs to node_doc_HDAWG8.json.
  • Added a Jupyter notebook with information on how to use the function run_realtime_predistortion to the AWG8_examples.

@AdriaanRol : The added functionality should make it easier to use the real-time pre-distortion with the HDAWG V1 devices. Let's discuss the further steps.

@coveralls
Copy link

coveralls commented Jun 22, 2018

Pull Request Test Coverage Report for Build 3543

  • 37 of 93 (39.78%) changed or added relevant lines in 5 files are covered.
  • 2 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.02%) to 38.143%

Changes Missing Coverage Covered Lines Changed/Added Lines %
pycqed/measurement/kernel_functions_ZI.py 25 31 80.65%
pycqed/instrument_drivers/physical_instruments/ZurichInstruments/ZI_HDAWG8.py 0 10 0.0%
pycqed/instrument_drivers/physical_instruments/ZurichInstruments/ZI_base_instrument.py 0 17 0.0%
pycqed/instrument_drivers/physical_instruments/ZurichInstruments/zishell_NH.py 0 23 0.0%
Files with Coverage Reduction New Missed Lines %
pycqed/instrument_drivers/physical_instruments/ZurichInstruments/ZI_base_instrument.py 1 0.0%
pycqed/measurement/kernel_functions_ZI.py 1 54.69%
Totals Coverage Status
Change from base Build 3541: -0.02%
Covered Lines: 20075
Relevant Lines: 52631

💛 - Coveralls

@AdriaanRol
Copy link
Contributor

@ysalatheZI I will take a detailed look at this when the new v1 devices arrive in Delft next week and I can test the feature.

However, from a quick scan I have a comment. I see that the run_realtime_predistortion method requires passing the arguments for the predistortion filters to be used. This goes against the core idea of storing settings like these in parameters in order to ensure that the settings can be reconstructed after an experiment.

I would suggest implementing it in a slightly different way.

  1. Add parameters to the HDAWG driver to contain the filter coefficients. Most likely this equates exposing the parameters that are set within the method directly to the ZIPython listNodesJSON method. If you call the create_parameter_file method when you have created the instance they should show up in the parameter file and become part of the driver automatically.
  2. Replace the run_realtime_distortion method with a parameter that enables/disables the distortions on a per channel basis.

If there is a specific order in which everything needs to be set for it to work properly then it makes sense to create a distinction between a private version of these parameters and a public version. The public version is then what is logged (could be done by adding ManualParameters) and the private is part of the ZIPython API that is not exposed.

Best,

Adriaan

Copy link
Contributor

@AdriaanRol AdriaanRol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comment

Yves Salathe and others added 12 commits July 5, 2018 09:27
This makes it possible to directly use the latest JSON node description of HDAWG. Especially the node type "String" is now supported.
JSON file exported using the LabOne Data Server rev. 53973.
Corrected the bounce correction test based on insights from experiments and hardware implementation.
Remove wrapper function, which is no longer necessary for using the real-time pre-distortion compensation filters. Updated jupyter notebook with examples how to use the output compensation nodes.
Updated with new measurement. Enable real-time bounce compensation with optimized coefficients.
+ added new plot
+ corrected typo in existing plot
Avoid 3-letter abbreviations in node names.
This adds support for 4-port HDAWGs.
@AdriaanRol
Copy link
Contributor

Closing pull request as changes have been merged into the develop_awgv1_devices branch with some modifications.

@AdriaanRol AdriaanRol closed this Jul 18, 2018
@AdriaanRol AdriaanRol deleted the precomp branch July 18, 2018 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants