Home Projects Software Contact About
Software/Signal Processing


  Phase Coherence has broad experience in scientific and technical computing. We have expertise developing embedded systems for high speed data acquisition and real time signal processing. We develop software on Mac OS X, Windows, and VxWorks platforms. We design custom GUIs to display scientific data and also do micro-controller design and prototyping for compact control systems. Some of our systems use National Instruments equipment as well. The group does some circuit design and fabrication in-house. In addition to supporting internal research activities, we provide consulting services. A few project examples are described below.

Members of the Phase Coherence staff are actively involved in open source development for Mac OS X. These projects include the X.Org for Mac OS X and general Darwin development. The leader of the software group, Torrey Lyons, is a committer on the X.Org Project and the founder of the XonX Project, which originally ported and supported X11 on Mac OS X.

Medical Imaging

Our group created a data acquisition, image processing, and storage solution for a coherent optical tomography research group interested in medical imaging. The data acquisition and some front-end processing is done on multiprocessor single board computers. Data is stored and retrieved from a RAID via fibre channel. The single board computers run VxWorks and a Cocoa based application running on Mac OS X controls data taking, data retrieval, and maintains a database of all data takes. Some of the system's features include:

  • 520 MB/s sustained RAID writes
  • 100 MS/s 12bit 2 channel sustained data acquisition
  • front end FPGA processing
  • low overhead fast file system on the RAID
  • data takes are displayed in real-time on the client app.
  • TCP/IP based Client-Server communication over Gigabit ethernet
Laser Radar

This was a demanding real-time signal processing application that required four quad-processor single board computers. A Cocoa based application, running on Mac OS X, was used to command the single board computers as well as other computers that controlled several motorized optical stages. The processing algorithms had to be very tightly optimized in order to meet the project's real-time requirements. The Mac OS X application had a wide assortment of visualization capabilities, including plotting Doppler spectrums, power returns, position maps, etc. This system was successfully deployed in a number of field trials to remote locations. System features include:

  • custom Altivec vectorized signal processing routines
  • 800 MS/s 10-bit data acquisition
  • Several types of plots for monitoring signal health
  • Automated servo control from the host GUI
  • TCP/IP based Client-Server communication
Remote Instrument Control

Our group developed a data acquisition, signal processing, and control system to be deployed in a pressure vessel. A remote single board computer interfaces with 7 motorized opto-mechanical stages and a number of status sensors for temperature, voltages, moisture, etc. The remote computer is sent commands over a fiber TCP/IP connection by an application running on a local desktop computer. The local application does all of the signal processing and visualization as well as allowing a user to control and monitor every aspect of the remote system. Since the remote computer is sealed in a pressure vessel, the remote computer application written in VxWorks must be robust and persistent for extended periods of time. Some of the system's features include:

  • 8 channels of 16-bit data acquisition at 100 MS/s
  • RS-485 serial controlled peripherals
  • 7 stages of servo motion control
  • all instrument control through user-friendly GUI
  • TCP/IP based Client-Server communication
© Phase Coherence, 2006. All rights reserved.