OpenRRI

Open-source software for range-resolved interferometry

OpenRRI is an open-source software project, licensed under LGPLv3, designed to assist scientific researchers in acquiring and operating a cost-effective interferometer based on the RRI technique [1]. An RRI-based interferometer offers flexible, wide measurement capabilities [2, 3, 4, 5, 6] while maintaining a low cost relative to commercially available interferometer products.

The mentioned interferometer operates using a laser diode, whose optical frequency is sinusoidally modulated through a laser injection current; the demodulation process is based on the RRI technique. This interferometer enables the measurement of relative displacement with sub-nanometer precision [5] and allows to resolve multiple interference sources within a single optical signal, thereby opening up possibilities for new interferometer configurations. Additionally, the RRI technique offers absolute distance measurement with precision up to 10µm over a wide range [6], which can be utilized for measuring interferometer dead paths and characterizing optical configurations.

Below is a list of the basic hardware required to operate the interferometer:

  • A laser diode that allows for mod-hop-free frequency modulation within a range of at least 6 GHz (~50 pm for 1550nm central wavelength).
  • A corresponding laser driver.
  • A photodetector corresponding to the wavelength in use.
  • A data acquisition board (with at least 1 DAC and 1 ADC) that meets the requirement of having the ADC and DAC share the same trigger or clock. In this project, Red Pitaya STEMlab 125-14 is used, and the prepared hardware image is made available by us.

You can find a list of hardware units that we have tested and utilized here.

The OpenRRI project consists of the following parts:

  • A hardware image containing the FPGA bitfile and Linux drivers for the Red Pitaya STEMlab 125-14 board.
  • A Python library, which contains all RRI signal processing functions and an easy-to-use data acquisition API for communicating with the Red Pitaya STEMlab 125-14 Board.

Please note: The OpenRRI code provided is not a real-time implementation of the RRI algorithms and can only aquire data over a limited recording period, depending on the chosen sample rate.

See the Literature page for the full list of references.