Pulse programming in the field of experimental physics refers to engineering sinusoidal electromagnetic waveforms to have programmable frequencies, phases, and amplitudes. The main techniques and terminology arose in the study of nuclear magnetic resonance (NMR) during the 1970s, but has since been adopted in many other experimental settings, usually associated with quantum computing experiments. These include electron spin resonance (ESR), trapped ions, quantum dots, the phase/flux/charge across a superconducting junctions, and many other quantum bit implementations. Traditionally, pulse programmers were built using hard-wired analog electronics to produce a fixed sequence of waveforms, but modern pulse programmers make use of direct digital synthesis programmable electronics controlled by a personal computer to make precisely reproducible sequences.

Open source pulse programming

edit

There are several commercial pulse programmers available whose designs are proprietary. A notable open source pulse programmer system was originally designed by Paul Pham as part of his master's thesis at MIT under Isaac Chuang. It was first deployed in Rainer Blatt's quantum optics and spectroscopy group Archived 2005-11-23 at the Wayback Machine at the University of Innsbruck, and was later adopted by the following trapped ion research groups:

Further extensions to the system were designed and implemented by Paul Pham while he resided at 419 Boylston in Seattle, with major contributions from Philipp Schindler at Innsbruck and Lutz Petersen at MPQ. As of 2010, the core part of the pulse programmer system (the FPGA sequencer board) is no longer being actively maintained. However, the Innsbruck group has designed and assembled its own custom DDS boards which generate the actual waveforms that is compatible with the FPGA sequencer board.

A new open source system called ARTIQ is being developed by M-Labs.