GithubHelp home page GithubHelp logo

ahesse93 / pyrpl-modification Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 2 MB

Modifies the FPGA for a RedPitaya of PyRPL, so that the built in lock in amplifier can output a sinusoidally frequency modulated oscillation

License: GNU General Public License v3.0

Verilog 100.00%
redpitaya fpga lock-in-amplifier pyrpl

pyrpl-modification's Introduction

pyrpl-freqmod

Modifies the RedPitaya FPGA of PyRPL, so that the built in lock in amplifier can output a sinusoidal frequency modulation

The output of IQ module 0 is added (after rescaling) to the phase step size of ASG module 0. If ASG 0 outputs a sine wave this will sinusoidally modulate its frequency with the frequency of the IQ module (useful eg for frequency modulating a microwave) The modulation depth can be set by changing the output amplitude of IQ module 0 - currently it should be set to about 2 MHz at full amplitude.

The same applies to IQ1 and ASG1, respectively.

IQ2 amplitude modulates both ASG 0 and ASG 1 - for this the modulation of IQ2 is multiplied with the output of the ASG, and the ASG output is added back to the product (after being divided by two), making all three bands the same height.

Also, IQ2 now outputs the sum (IQ2) and the difference (IQ2_2) of the output of IQ 0 and IQ 1.

The Verilog source code for the modified modules as well as the bitstream file are provided - all other files are identical to the ones provided on the PyRPL github repository (version 0.9.4.0)

To just use this modification replace red_pitaya.bin in your pyrpl folder with the file provided here - after this ASG 0 and IQ module 0 will automatically be wired together when you connect to a RedPitaya.
If you do not know the location of your pyrpl installation run pip show pyrpl

pyrpl-modification's People

Contributors

ahesse93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

diamond2nv

pyrpl-modification's Issues

Fixing the connection between IQ and ASG

When the oscillation outputted by the IQ module outputs negative values (= every half cycle) the output of ASG 0 looks really crappy, and absolutely not what it is supposed to look like
Seems to be an error in the signed addition / the conversion of the output of the IQ module

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.