Tracking RTL-SDR Passive Radar Detections with a Kalman Filter

Back in January we posted about Max Manning's work about building a passive radar system out of two RTL-SDR dongles modified to share the same local oscillator. He's recently extended this code, adding the ability to automatically track any detected objects on the range-doppler display.

Passive Radar works by using already existing powerful transmitters such as those for TV/FM. A receiver listens for these signals being reflected off of objects like aircraft and vehicles, and compares the reflection with a signal received directly from the transmitter. From this information a doppler (speed) vs range graph of detected objects can be calculated and displayed.

By measuring the path an object travels across the range-doppler display some interesting information about the objects movement can be obtained. However, the display can be noisy, with the reflected object often coming in and out of view on the display. In order to track an object across the range-doppler display in the face of these uncertainties Max uses a Kalman filter to obtain smoothed results. A Kalman filter is an algorithm which combines actual data with predicted data, with the weighting depending on measurement confidence. The result is shown in the video below. A smooth and accurate track of an aircraft can be seen.

Max notes that in the future he'll be working on tracking multiple aircraft detected by the passive radar, and also incorporating direction finding data in his results in order to get cartesian coordinates which could be plotted on a map.

We note that Max's GNU Radio code should be compatible with our KerberosSDR unit, which already has the clock sharing hack built in to the hardware.


  1. Guilherme Bonança

    If there were two signal sources( tv/radio broadcast in different locations) and only one object reflecting , would it be possible to pin point the location?

    • Max

      Yes! With a single transmitter you can localize a target to an ellipse; with two you can localize it to the intersection of two ellipses, which can contain up to 4 points.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.