Lock-in amplification is a technique used in many applications such as non-linear optics, spectroscopy and biomedical imaging. It is used to recover weak signals from noisy environments using a known carrier wave. Historically, this has been achieved using dedicated instruments, which suffer from slow connections to computer for further analysis. Here we present a technique that uses a PCIe waveform digitizer to stream data to a graphics processing unit, where digital lock-in amplification occurs. Briefly, the input signal is multiplied by an in-phase and quadrature reference before undergoing low-pass filtering with a sinc filter. The DC components of the in-phase and quadrature signals are then used to give the magnitude and phase of the signal. The bottleneck in this digital implementation is low-pass filtering due to the long filter length required to efficiently remove higher frequencies. To achieve the highest data throughput, convolution of the input signal with the low-pass filter was implemented in both time domain and frequency domain. Furthermore, decimation of the filtered data can further reduce processing time. Preliminary results show that the implemented digital lock-in amplification can sustain a continuous sampling rate of 3 billion samples per second. Using a 12 bit resolution analog to digital converter with an 800 mV input range, signals under 3 μV are reliably detectable. This GPU-based lock-in amplification implementation provides an ideal and low-cost solution for continuous and gapless signals acquisition.
|