KerberosSDR: Tracking a Weather Balloon Radiosonde with Radio Direction Finding

The KerberosSDR is our 4-channel phase coherent capable RTL-SDR unit that we previously successfully crowdfunded back in 2018.  With a 4-channel phase coherent RTL-SDR interesting applications like radio direction finding, passive radar and beam forming become possible. It can also be used as 4 separate RTL-SDRs for multichannel monitoring.

KerberosSDR can be purchased from our partner store at https://othernet.is/products/kerberossdr-4x-coherent-rtl-sdr.

In one of our latest tests we've been able to track a weather balloon radiosonde via the direction finding ability of KerberosSDR. These balloons are launched twice daily by meteorological agencies around the world, and the radiosonde carried by the balloon transmits an RS-41 signal continuously throughout it's flight sending back telemetry such as weather information and GPS coordinates. The KerberosSDR tracks the bearing towards the balloon using only the raw signal - it does not decode. Having the actual GPS location from the RS41 data allows us to compare and confirm that the KerberosSDR is indeed tracking the bearing of the balloon.

In this test we used the excellent 4-element dipole array made by Arrow Antennas. In particular we used the 406 MHz element version as the RS-41 signal is broadcast at 403 MHz. The antenna array is mounted on the roof, the KerberosSDR is in the attic connected to a Raspberry Pi 4. Our KerberosSDR Android app is used to plot the bearings. A separate RTL-SDR running on the video recording PC is connected to it's own antenna and is used to receive and decode the RS41 signal. The free software RS41 Tracker is used to decode and map the balloon for location confirmation. 

We are currently using the latest beta code in development (unreleased at the time of this post - it will be released within 1 to 2 months) which handles non-continuous intermittent signals better.

Arrow Antennas 4-Element Dipole Array Mounted on Roof

The short video below shows a timelapse of the RS41 decoder tracking a balloon which circled the south of our KerberosSDR. The red line indicates the zero degree direction of the antenna array, while the blue line indicates the estimated direction of the balloon determined via the MUSIC radio direction finding technique.

The GPS balloon map from RS41 tracker is overlayed on top of the KerberosSDR Android app map for clarity via video editing. We can see that it mostly tracks the balloon to within a few degrees. When the blue bearing line diverges this is due to the balloon's line of sight path to the antennas being obscured by terrain, buildings or trees. When this is the case a multipath signal reflecting off surrounding hills tends to become dominant.

In the second short video below the weather balloon tracked northwards. Towards the north, north west and north east we have antenna obstructions in the form of rising terrain, houses and hills, so the overall accuracy is poorer. However, it still tracks within a few degrees most of the time.

Finally the YouTube video below shows the same as the above, but in the second half includes the full screen including the KerberosSDR DoA graphs and SDR# waterfall showing signal strength.

KerberosSDR Tracking a Weather Balloon Radiosonde with Radio Direction Finding

In the future we hope to test with two or more KerberosSDR units producing multiple bearing lines on RDFMapper, hopefully resulting in cross points that can be used to estimate the actual location of the balloon.

11 comments

    • admin

      In theory yes. But you need to build a 4-input downconverter, and each downconverter must have their clock synchronized to the same local oscillator. You need to also ensure that signal path lengths are identical.

      • yanis

        Can I buy a 4-input downconverter and if I can which one should I buy, how can I synchronize their clock to the same local oscillator. How can I ensure that the signal path lengths are identical ?

        Sorry for asking too much, thanks in advance

        • Timmy

          You have not said what exactly you are trying to do ?

          If it is WiFi, a cheaper, easier, and probably more accurate solution might be to use a WiFi device that is supported by “Kismet” along with a GPS to provide geolocation coordinates for each packet received. So Kismet would record to a log file the RSSI (Received Signal Strength Indication) for each packet seen (as well as each packet) and the GPS location of the receiver. This would be similar to what Google and Wigle do using mobile phones to map the location of WiFi routers, bluetooth devices and cell towers.

          Because the uncertainty added by jitter of the oscillator, and PLL’s if frequency synthesizer are used, in downconverters summed with the uncertainty of the oscillator and PLL’s in the frequency synthesizer in a SDR receiver it could reduce the accuracy at higher frequencies (unless expensive low jitter parts are used).

          • Timmy

            One other nice feature of Kismet, probably more interesting to others than related to your question, is that it can also support RTL-SDR devices as a data sources.
            e.g.
            SDR-rtl433 (Sensors)
            SDR-rtlamr (AMR power meter)
            SDR-rtladsb (ADSB airplanes)

            But you need to be running a Linux Operating System for Kismet.

  1. Ryan Gedminas

    Very interesting, I was planning on doing the same soon. The launchsites often have a constant beacon active to reserve their channels, I will try to locate one of these already knowing the launchsites location.

    • admin

      We do. The point of the post is to show that the DFing technique can follow the GPS coords of the balloon, thus confirming that the DFing technique is working as expected.

    • alx

      obviously, balloons was used for calibration purpose and code adjustments as they are slowmovers and provide real coordinates

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.