Data Acquisition Programs
The apparatus needs to be interfaced to a computer. We need a piece of equipment to read the digital pulses from the detectors, accumulate the detection counts and determine the coincident pulses. There are two platforms that we use. Both connect to the computer via the USB serial connection.
– Altera Educational Board. This board is based on an FPGA circuit that needs to be programmed. Instructions and downloads for this can be obtained from Mark Beck’s website. We have modified a version of these programs modified by colleagues at Berkeley so that they work with Altera DE-115 board.
– Red Dog board. This board is already programmed, so there it is easier to implement.
We have lots of experience with the Altera board, so below we provide links for programs. We currently use Matlab-based programs written by Behzad Khajavi, who wrote them as part of his PhD dissertation. The programs are dedicated for different types of experiments. More recently in 2021 Kiko Galvez adapted the Matlab programs to control the RedDog data acquisition board. Programs are in text format, so cut and paste into a Matlab blank document.
Matlab
Altera board
- 2 Detectors:
- ContinuousCounting (free running program for 2 detectors).
- ContinuousCountingPiezo_Altera (free running program for interference experiments that allows manual setting of piezo-electric voltage using Arduino circuit -see below).
- PiezoScan_2Detectors_Altera (program that scans the piezo-electric voltage for interference experiments).
- Tomography_Manual_Altera (program that takes a set of specified number of measurements pausing in between measurements for setting of optical elements such as waveplates or polarizers for doing tomography or Bell tests).
- Free-Running (Non-Gui, new).
- Paused Scan (Useful for Bell tests and other, new).
- Pacific Laser step motor scan (Useful for rotational or translational scans, used for HOM experiment, new)
- 3 Detectors:
- Paused_3Detectors_Altera (program for 3 detectors with specified set of measurements with pause for changing component settings, useful for experiments such as photon Stern Gerlachs or Hanbury-Brown-Twiss test).
- PiezoScan_3Detectors_Altera (program that scans the piezo for interference experiments with 3 detectors).
- Free-running (Useful for any purpose, new)
- Paused Scan (New version)
- Piezo scan (New Version)
- 4 detectors
- QKD_4Detectors_Altera (program that performs a specified set of measurements for use with 4 detectors).
- Free-running (New)
Red Dog board
(programs are in text format, so cut and paste into a Matlab blank document):
- 2 detectors:
- Free Running
- Paused Scan
- Piezo Scan
- Rotational Scan (for Pacific Laser stepper-motors rotator)
- 3 detectors:
Labview
We have some programs written in labview (Originally written by Basudev Chaudhuri and modified by Mehul Malik). We enclose them below.
- Dynamical phase: records photon counts as voltage sent to piezo is stepwise increased.
- Geometrical Phase: records photon counts pausing after every point–for manually changing a parameter, such as the orientation of a wave-plate or polarizer.
- MDyn2015Arduino16 is a labview program that runs arduino. (Contact us for more information on vi’s needed.
Support Programs
Some experiments drive a piezo-electric. Using Arduino Uno we have designed circuits that to provide a voltage that is scanned. The Arduino program talks to the acquisition programs and produces a voltage that needs to be amplified. Here we give a description of options for doing this. The Red Dog board has this incorporated.
– Description
– Arduino program with LTC1257 DAC: link
– Arduino program for home-made DAC: link
Altera DE2-115
This link has a zip file with files to program Altera DE2-115. Credit goes to Mark Beck and Jessica Lord, who wrote the original files for Altera DE2. Colleagues at Berkeley (Prof. Hartmut Haeffner et al) modified the programs and adapted them for Altera DE2-115, although they require a rewiring of the Beck/Lord box. With help from Hans Benze (Colgate) we modified one of the programs so that no rewiring is necessary.