If you weren't already aware KerberosSDR is our 4-channel phase coherent capable RTL-SDR unit that we previously crowdfunded back in 2018. With a 4-channel phase coherent RTL-SDR interesting applications like radio direction finding (RDF), passive radar and beam forming become possible. It can also be used as four separate RTL-SDRs for multichannel monitoring.
A single KerberosSDR combined with an antenna array is able to determine a bearing towards a signal source. By using multiple KerberosSDR units spread over a large area it is possible to triangulate the location of a transmitter and display it on a map. Corey's software uses a modified branch of our open source KerberosSDR code in order to generate a modified XML page that the mapping software polls for updated data. Some instructions on it's use are available on our forums and on the GitHub.
The image below shows three KerberosSDR stations on the map, and two transmitter locations that have been triangulated using the bearings from the three distributed KerberosSDR units.
Over on GitLab Josh Conway has released a design for an automatically adjusting antenna array which can be used with radio direction finding capable SDRs like our KerberosSDR. KerberosSDR is a SDR consisting of four RTL-SDRs connected to the same oscillator, a USB hub, a built in noise source and calibration hardware which allows software to use the four RTL-SDRs coherently. Coherent operation of SDRs enables interesting applications such as radio direction finding, passive radar and beam forming.
With coherent antenna array based direction finding, the optimal spacing between the antenna elements is proportional to the wavelength of the frequency being received. If you want to do RF direction finding on different frequencies, either multiple antenna arrays with different element spacings, or manually adjusting the antenna array with each frequency change is required.
Josh's design automates this problem with an antenna array that can adjust the spacing automatically. The design puts the antennas on an extending pantograph arm whose length is controlled via a threaded rod connected to a stepper motor. An Arduino microcontroller controls the stepper, thus allowing the spacing to be adjusted automatically.
A full description of the build is provided in the document on GitLab titled "provisional_patent_application.pdf". From Twitter it appears that Josh (@CrankyLinuxUser) was unable to secure a patent for this design, so he has released the design for free under AGLP3. Most of the parts are 3D printed, and the CAD stl files all appear to be available on the GitLab. The Arduino microcontroller firmware is also available.
If you weren't aware KerberosSDR is our 4-channel phase coherent capable RTL-SDR unit that we previously crowdfunded back in 2018. With a 4-channel phase coherent RTL-SDR interesting applications like radio direction finding (RDF), passive radar and beam forming become possible. It can also be used as 4 separate RTL-SDRs for multichannel monitoring.
In previous posts we've shown some interesting experiments performed with the KerberosSDR. For example:
We note that V2 of our KerberosSDR demo software is also on the way but a little delayed. We are aiming to release a beta around the end of the year, or early next year at the latest. The new software will have better handling of bursty intermittent signals, and paves the way for new developments coming in 2021 such as combined passive radar direction finding.
DragonOS is a ready to use Linux OS image that includes many SDR programs preinstalled and ready to use. The creator Aaron also runs a YouTube channel that has multiple tutorial videos demonstrating software built into DragonOS.
In a recent video Aaron has provided a two part tutorial showing how to set up and use KerberosSDR with the RDFMapper software on DragonOS. This allows you to network multiple KerberosSDR units together and display each units radio bearing on the same map. Two or more bearings crossing can be used to determine the location of a transmitter. In the future Aaron will use this setup to have multiple mobile and fixed KerberosSDR units connected together via Zero Tier. Aaron writes:
In this first video I show how to install software to control the KerberosSDR – A 4-Channel Phase Coherent RTL-SDR for Passive Radar, Direction Finding and more onto DragonOS Focal (Lubuntu 20.04 based). A fork of the main code is required due to some changes in dependencies and packages. This fork is only meant for or at least tested on Ubuntu, Kubuntu, and Lubuntu 20.04.
I also show some issues you may experience due to poor quality USB cables, insufficient power, and/or issues with USB ports being used to power the KerberosSDR or connect to it.
In this second video I show how to install and use RDFMapper with the KerberosSDR software and Android App. I also cover some common problems I've experienced with the current KerberosSDR Android App.
Recommended to watch the first video if you are planning to run the KerberosSDR on a PC or a SBC like the Raspberry Pi. This video and setup procedure can be adapted to use the Raspberry Pi/Android App instead of a PC.
I plan to make a couple more videos on this topic. By the end, it should be possible to have multiple KerberosSDR stations, both mobile and stationary, linked to one instance of RDFMapper over Zero Tier all simultaneously performing direction finding on one frequency.
In their experiment they set up both circular and linear antenna arrays for the KerberosSDR, then flew the drone in front of the antenna array while recording the bearings calculated by the KerberosSDR system. The results showed that the KerberosSDR was able to successfully track the drone's bearing with either antenna array, however the linear array produced more accurate results as expected.
We note that a linear array cannot differentiate if an object is in front or behind the array. However, if this knowledge is known it can be used instead of a circular array to get more accurate bearings that are less affected by multipath.
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.
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.
DragonOS is a ready to use Linux OS that includes various SDR programs preinstalled. The creator Aaron also runs a YouTube channel that contains multiple tutorial videos for DragonOS. One of the latest videos he's released is a tutorial that shows how to use one of our KerberosSDR (4x Coherent RTL-SDR) units to set up networked direction finding. To do this he uses our core KerberosSDR DSP software, along with RDFMapper, a third party bearing visualization tool with the ability to display bearing from multiple networked direction finding units.
The tutorial goes through the KerberosSDR software install procedure, shows how to set up the various parameters in the software, and then demonstrates it providing data to the RDFMapper software via our open source pyRDFMapper-KSDR-Adapter program. With this setup, you could run multiple KerberosSDR units around a city and use them to locate a signal source rapidly.
DragonOS LTS/10 Bearing Server (KerberosSDR, RDFMapper)
In addition to the direction finding video he's got another video that shows how to use a KerberosSDR and HackRF to simultaneously monitor various signals like home gas meters, ADS-B data, and 433 MHz ISM band devices using programs like rtlamr, rtladsb and rtl_433. What's particularly interesting is how he uses a program called Kismet to manage each radio on the device.
If you've been following KerberosSDR development (our US$149 4 channel coherent RTL-SDR), then you'll know that one interesting experiment that you can set up with it is a passive radar. Passive radar makes use of already exiting strong transmitters that broadcast signals such as FM, DAB and HDTV.
With one directional antenna pointing towards the transmitter, and one pointing in the general direction of moving objects like aircraft, it's possible to detect the transmitted signal being reflected off the aircraft's body.From the time delay and doppler shift detected in the reflected signal, a simple distance/speed plot showing the aircraft in motion can be created. This previous post shows an example of what information you could potentially collect in a range/speed graph over time. In the past we've also used passive radar to detect vehicles and measure how much traffic is in a neighbourhood.
However, with two antennas we can only get the detected object's range and distance information. If we use four antennas (one pointing towards the transmitter, and three pointing in the direction of objects), it is possible to use beam forming techniques combined to obtain an estimated map coordinate of the object. This is possible as we then we have distance information available from the passive radar algorithm, and bearing information available from the beam forming algorithm.
Tamas Peto who wrote our open source KerberosSDR code has been working on some new upcoming features for the KerberosSDR software, and beamformed direction finding of passive radar is one of them. We note that to be clear this software is not yet released, and we still expect there to be several months before it is ready. At the moment all data was processed manually offline after collecting data with a KerberosSDR as part of this early test.
The image below shows an example of a recent measurement made from an aircraft. The red tracks show the actual ADS-B GPS coordinates of the aircraft, and the black line indicates the positional data measured from a DAB signal reflecting off the aircraft body. The orange line to the east indicates the main lobe of the three beam formed directional antennas, and the lines to the west indicate transmit towers.
The measured trajectory is only about 1-2 km off the actual one. Tamas notes that the position offset may be because at the moment altitude is not measured yet.
Other upcoming features that are planned for the KebrerosSDR code include being able to use direction finding on short bursty signals, improvements to networked direction finding and beamforming which may be useful for applications like radio astronomy and performance improvements.
KerberosSDR can be purchased from the Othernet store or Hacker Warehouse, and every purchase helps us fund development of more interesting features like passive radar beamforming!