OpenRRI is an open-source software project designed to assist scientific researchers in acquiring and operating cost-effective interferometers based on the Range-Resolved Interferometry (RRI) technique [1]. An RRI-based interferometer offers flexible, wide measurement capabilities [2, 3, 4, 5, 6] in free-space and fiber-coupled setups while being cost-effective relative to commercially available interferometer products.
The mentioned interferometer operates using a laser diode, whose wavelength 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 and high linearity [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 micrometer precision over a wide range [6].
Below is a list of the basic hardware required to operate the interferometer:
- A single-mode laser diode that allows for mode-hop-free wavelength modulation within a range of at least 50 pm.
- 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.
rri_lib
Python library, which contains all RRI signal processing functions.daq
Python library, which provides an easy-to-use API for communicating with the Red Pitaya STEMlab 125-14 Board.- A cross-platform GUI application that utilizes the
rri_lib
anddaq
libraries to provide user-friendly operation of the interferometer.
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.