Time and Frequency Corrections in a Distributed Radio Network Using Gnu Public Radio

When using low-cost analog to digital converters (ADCs), synchronization between multiple ADCs is often difficult to achieve, but desirable for applications such as direction-of-arrival or time-of-arrival processing. A lack of synchronization between multiple ADCs can result in offsets that are introduced when the sampling (eventually) begins: a sample timing offset, a frequency offset, and a phase offset. Each of these can change over time and must be actively tracked to maintain synchronization. In this paper, an adaptive method for correcting these offsets using software feedback loops is presented. In addition, a bulk timing offset must be determined, since separate ADC dongles do not provide their packets synchronously. The system is implemented in Gnuradio with low-cost RTL-SDR receivers as a proof-of-concept.