KerberosSDR – A 4x Phase Coherent RTL-SDR for Passive Radar, Direction Finding and More!
The RTL-SDR software defined radio phenomenon has changed the world by unlocking low cost access to the radio spectrum. Whilst RTL-SDR is now a relatively mature commodity item that almost everyone whose tinkered with electronics has played with, there is still so much more potential to be unlocked.
A phase coherent RTL-SDR can be made out of two or more RTL-SDR dongles that share a common clock. With a bit of help from a noise source, the RTL-SDRs can be synced together. Once synced interesting applications become available, such as direction finding, beam forming and passive radar.
Phase coherent RTL-SDRs have been worked on and demonstrated several times over the past few years, but at RTL-SDR.com we’ve been disappointed to find that so far there hasn’t been any easy way to replicate these experiments.
The required hardware has been difficult to build and access, and the software has been kept as unreleased closed source or has been too complicated to install and use.
With the Kerberos SDR we aim to change that by making phase coherent applications easier to access and run by providing ready to use hardware and good demo software with an open source DSP code base that can be extended.
Please note, although we are aiming to make KerberosSDR as easy to use as possible, at least a basic to moderate level of computer and radio technical knowledge is required, or you must be willing to learn. This is an experimental product and some willingness to experiment and explore solutions is required. The demo software that we provide is capable of doing direction finding and 2-RX passive radar. Your own custom code or applications will be required for custom applications.
If you back our campaign you’ll receive one KerberosSDR set. This includes:
- The KerberosSDR Board which has:
- 4x RTL-SDR R820T2 Receivers
- A wideband noise source that can be switched in software
- USB Hub so only one USB connection is required
- A calibration board for synchronizing samples with the noise source
- A shielded metal enclosure
- Cables for connecting the two boards and noise source
What you’ll need to provide: You’ll need to provide your own antennas for your application (e.g. four magnetic whips for direction finding, two directional antennas for passive radar), a 5V USB power supply, and a microUSB USB cable, and a Linux computing device like a PC/laptop or single board computer like a Raspberry Pi 3, Tinkerboard or Odroid XU4. (Must run Linux natively – VMs have too much USB lag for coherency).
Please Note: Images are of prototype hardware – subject to change slightly. The actual product will come in a metal enclosure with SMA antenna connectors.
KerberosSDR Hardware Specs
Each RTL-SDR on board the KerberosSDR is based on the R820T2 and RTL2832U chips, which are the same chips used in the most common RTL-SDR dongles.
- Frequency Range: 24 MHz – 1.7 GHz
- ADC Sample Rate: 2.4 MSPS
- Bit Depth: 8 Bits
KerberosSDR connects it’s RTL-SDRs to the calibration board via four u.FL cables. The calibration board then has four u.FL -> SMA cables that can be used to connect to antennas.
Please note that antennas are not included with the KerberosSDR. For direction finding applications you’ll need four omni-directional antennas (e.g. magnetic whips). For passive radar you’ll require two directional antennas.
The KerberosSDR takes a USB power input. Any 3A supply should be sufficient. On some modern PCs you may even be able to directly power the board without any additional power supply.
Some applications might include:
- Using passive radar to monitoring aircraft that do not transmit ADS-B
- Monitoring vehicle or marine traffic with passive radar
- Pinpointing the source of VHF/UHF noise, pirates, interference, jammers, unknown signals etc using direction finding
- Direction finding for amateur radio fox hunts
- Determining the location of rescue or stolen asset beacons
- Combining multiple small dishes to create a large dish for radio astronomy via beam forming.
- Using the four tuners as standard RTL-SDRs. e.g. two for trunking, one for ADS-B and one for weather satellites.
KerberosSDR Demo Software
For KerberosSDR we have hired Tamás Peto, a PhD student at Budapest University of Technology and Economics. He has developed an excellent open source Linux demo application that can be used for direction finding and passive radar. The DSP and synchronization code could easily be extended to implement other applications, or extend features.
The code can be found at https://github.com/rtlsdrblog/kerberossdr, and a guide to installing it can be found at www.rtl-sdr.com/ksdr. A support forum is available at https://www.rtl-sdr.com/forum/viewforum.php?f=9.
Any modern PC should be able to run the software fine. The PC will need to be able to run Linux. Single board PCs like the Odroid XU4 and Tinkerboard also work.
KerberosSDR Demo Applications
Radio Direction Finding
KerberosSDR can be used to find the bearing towards a signal using it’s coherent direction finding capabilities. The demo software by Tamás currently implements several direction finding algorithms such as Bartlett, Capon, Maximum Entropy (MEM) and MUSIC. The demo videos below show this in action.
Our open source demo software (to be released later when KerberosSDR ships) developed by Tamás Peto gives us a graph and compass display that shows the measured bearing towards the transmitter location. The measured bearing is relative to the antenna array, so we simply convert it by taking the difference between the car’s bearing (determined approximately via road direction and landmarks in Google Earth) and the measured bearing. This hopefully results in a line crossing near to the transmitter. Multiple readings taken at different locations will end up intersecting, and where the intersection occurs is near to where the transmitter should be.
In the image below you can see the five bearing measurements that we made with KerberosSDR. Four lines converge to the vicinity of the transmitter, and one diverges. The divergent reading can be explained by multipath. In that location the direct path to the transmitter was blocked by a large house and trees, so it probably detected the signal as coming in from the direction of a reflection. But regardless with four good readings it was possible to pinpoint the transmitting tower to within 400 meters.
In the future we hope to be able to automate this process by using GPS and/or e-compass data to automatically draw bearings on a map as the car moves around. The readings could also be combined with signal strength heatmap data for improved accuracy.
This sort of capability could be useful for finding the transmit location of a mystery signal, locating a lost beacon, locating pirate or interfering transmitters, determining a source of noise and more.
Android Direction Finding App
The app is available here.
We’ve worked on a simple companion Android app for the direction finding feature. Using the GPS and/or compass sensors on the Android phone, and the transmitter bearing given by the KerberosSDR we can plot a bearing towards the transmitter that we are tuned to.
The phone connects to a laptop WiFi hotspot running the KerberosSDR Linux software, and reads the bearing via a simple php HTML server.
Driving around with the KerberosSDR gives better results than when stationary as we can take multiple readings at different points which helps to average out multipath distortions.
In the image below we used a linear antenna array of four dipoles attached to the windscreen of a car. KerberosSDR was tuned to a TETRA transmitter at 858 MHz.
We drove down a street and then back up it. The red lines indicate the direction of the car as determined by GPS, the blue lines indicate the forward direction towards the transmitter, and the green lines the reverse direction. (a linear antenna array won’t know if the transmitter is in front or behind it). Next week we’ll continue testing with a circular array of antennas too which results in only one direction towards the transmitter.
You can see that the majority of blue/green lines point towards the TETRA transmitter which we’ve marked with a red location marker at the known location.
We’ve tested the app with a circular array of antennas and found it to work well. A circular array has the benefit over a linear array of providing only one direction towards the detected signal, but may be more susceptible to multipath issues. In our test the circular array was simply four magnetic whips placed on top of a car.
We then drove around for a while logging the data in the Android app. We can see that the majority of blue lines point towards the known transmitter location. Blue lines pointing away from the transmitter may be due to multipath or a briefly incorrect GPS heading (e.g. during a turn). Sometimes reflections or refractions of the signal can be more likely to be picked up if the direct path to the transmitter is really blocked. However if you have enough data points from driving around, it becomes much more clear where the actual transmitter is.
KerberosSDR can also be used for passive radar. Normal radar systems work by transmitting a pulse of RF energy, and listening to the reflections from objects like planes, cars and ships. Passive radar works by using already existing transmitters such as those for FM/TV and listening for reflections that bounce of objects.
With a simple passive radar system you need two directional antennas and two coherent receivers. One antenna points at the transmitting ‘reference’ tower, and the other at the ‘surveillance’ area where you want to listen for reflections. It’s important to try and keep as much of the reference signal out of the surveillance antenna as possible, which is why directional antennas like Yagi’s are used.
The result is a doppler vs time delay graph, where the reflection of aircraft, cars, ships and other objects can be seen. The doppler gives you the speed of the object relative to your antenna and the transmitting tower, and the time delay gives you the distance relative to your antenna and the transmitter tower.
The resolution of each individual vehicle is not great, but it is sufficient to see the overall speed of the highway and could be used to determine if a road is experiencing traffic slowdowns or not. When larger vehicles pass by it is also obvious on the display by the brighter blip that they show. The display also shows us that the highway direction coming towards us is much busier than the direction moving away.
Who is KerberosSDR For?
Anyone who has an interest in RTL-SDRs, radios, SDRs, ham radio or electronics could have some fun with KeberosSDR. It might also find use in commercial applications such as for detecting unlicenced radio stations, detecting asset beacons, or for monitoring traffic speeds/volume etc.
Please note that while we are attempting to make everything as easy as possible to setup and use, this is still a technical product which will require some skill to use. The open source software is considered as alpha, so anyone hoping to use it in a particular application may want to extend it. At this stage it is not considered as a plug and play commercial product, although we aim to hopefully reach that stage at some point.
To use KerberosSDR in coherent applications you should be comfortable with installing software in Linux (full copy and paste instructions will be provided), and you need to be willing to learn the basic physical concepts on how direction finding and passive radar works (simple concepts like antenna spacing, wavelength etc, and we’ll provide tutorials on this too). The current state of the demo software allows you to determine a bearing towards a signal in direction finding mode, and to create a 2-input passive radar.
Who are We?
RTL-SDR.COM and Othernet.is have collaborated to create KerberosSDR. RTL-SDR.COM is a blog about low cost SDRs such as the RTL-SDR, and also the manufacturer of the popular RTL-SDR V3 dongle. Othernet is a satellite service bringing free satellite data to the world. They have several years experience in developing SDR hardware.