An RTL-SDR Phase Correlative Direction Finder

Over on YouTube user Tatu Peltola has uploaded a video showing his RTL-SDR based phase correlative direction finder in action. This set up uses three RTL-SDR dongles and three antennas to measure phase differences and thus determine the direction towards a signal source. All three RTL-SDR’s must be coherent, meaning that all three of their 28.8 MHz clock signals must come from the same source. 

In the video Tatu walks around the three antennas with a handheld radio. An arrow on a laptop screen points in the direction of the transmitter.

A known problem with RTL-SDR’s is that even with the clock sources synchronized there is still an unknown cause of additional phase shift. To solve this problem Tatu writes:

Each rtl-sdr is fed from the same reference clock to make their phase shift remain constant. They still have unknown phase shifts and sampling time differences relative to each other. This is calibrated by disconnecting them from antennas and connecting every receiver to the same noise source. Cross correlation of the noise gives their time and phase differences so that it can be corrected.

The three antennas used for direction finding.
The three antennas used for direction finding.
RTL-SDR phase correlative direction finder

Notify of

Inline Feedbacks
View all comments

Hi, how to start this software?


Very interesting, hope to see drawings and continuing updates.


Can you be a bit more specific on the hardware. schematics would be very nice 😉


Andyn – wonderful self awareness, I share your posture, and I share a sense of wonderment for autocorrelation. Great, great stuff.

Grumpy Old Coot

Very very cool. I need to build one of these.


The source code is available – from the comments in the video ” The software is quite experimental with no documentation for now so it might be a bit hard to understand, but it’s already available at


i hope someone make a ready to use “phase correlative direction finder” with 3 or 4 R820T2 Tuners.


An even number of antennas isn’t that good a number when trying to get rid of bearing ambiguities. Five elements give better results since there are five non-parallel antenna pair base lines in the array.

Oh, and I’m that overweight guy with a bad posture doing the walking on the video with a crappy Baofeng handheld. Tatu’s the one behind the cam 🙂


That is really awesome.