Tagged: direction finding

DragonOS KerberosSDR Tutorials: Setting up Networked Direction Finding, Monitoring Multiple Signals Simultaneously

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.

KerberosSDR Uploading Bearing data to RDFMapper
KerberosSDR Uploading Bearing data to RDFMapper

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.

DragonOS LTS/10 KerberosSDR + HackRF One (qspectrumanalyzer, kismet, rtl_433, rtlamr, rtladsb)

Thesis on Locating Transmitters with TDoA and RTL-SDRs

Jan Hrach of the Faculty of Mathematics and Physics at Univerzita Karlova in the Czech Republic recently defended his Masters thesis titled "Passive emitter tracking". The main theme of the thesis was the use of RTL-SDRs for tracking transmitters via the Time Difference of Arrival (TDoA) technique. TDoA works by having multiple receivers spread out over a region. As long as the receivers are synchronized in time, we can calculate the difference in time that a signal took to arrive at each receiver, which allows us to pinpoint the location of a transmitter. The challenge is in the timing synchronization, and receiver placement. The thesis abstract reads:

We have implemented a TDOA multilateration of transmitters on an unmodified rtl-sdr receiver using transmitters with known location as a timing reference. We present a brief theoretical background and describe the measurement process which includes several approaches that correct the timing and frequency errors between the receivers. Additionally, we have implemented an angle of arrival direction finder using coherent rtl-sdr.

The thesis and associated code is available on the universities website at this link and it is written in English. Jan also does have a presentation available on YouTube, however it is presented in Czech and automated subtitles do not appear to be available. The video and results section of the thesis shows some good results that indicate that transmitters were able to be pinpointed with very good accuracy, however, localization only worked well on signals with good cross-correlation properties, like DVB-T. Only about half the tested broadcast FM stations could be located due to interference, FM being low bandwidth and FM being transmitted at lower frequencies which suffer from reflections and multipath all of which result in poorer correlation.

TDoA results achieved with RTL-SDRs distributed around Prague.
TDoA results achieved with RTL-SDRs distributed around Prague.

Networked Radio Direction Finding with KerberosSDR and RDFMapper

We've just uploaded a short Python script to GitHub that allows radio direction bearings from a KerberosSDR to be used with the RDF Mapper software created by Jonathan Musther. RDF Mapper is a (~US$25) program that was initially written for the RDF42, a kit based doppler direction finding system. RDFMapper runs on Windows/MacOS and Linux.

KerberosSDR is our experimental 4-Tuner Coherent RTL-SDR product made in collaboration with Othernet. It can be used for applications such as radio direction finding and passive radar. Currently it's available for US$149 on the Othernet store.

The RDF Mapper software allows you to upload bearings from multiple devices distributed around a city to a public RDF server, and view all the bearings on any internet connected PC. This can allow you to quickly triangulate the location of a transmitter.

Normally you would use RDFMapper combined with an RDF42 to upload bearings, but we've written a simple script that can be used to upload bearings generated by a KerberosSDR onto the server. The RDFMapper software can then be used to visualize those bearings.

The script is based on Python, and can run directly on the Pi 3/4 or Tinkerboard that is running the KerberosSDR, or on another PC that can see the KerberosSDR bearing server if you prefer.

Instructions are available on the GitHub page. Simply set unique station names for each of your distributed units, entry your lat/lon and fixed direction bearing. Then on the RDF Mapper software open the 'Web upload/download' tab and add the unique station ID name. All the other tabs for connecting to a GPS and serial port can be ignored, as those are used for the RDF42.

This script will only work for stationary KerberosSDR units as the lat/lon is fixed. If you want to try radio direction finding in a vehicle, we recommend using our Android App for a better experience. If there is interest, we may also add support for the Android app to upload to an RDFMapper server for mobile bearing uploads. 

Notes: RDFMapper runs on the system's default browser and it needs to run in either Chrome or Firefox to work. IE does not work. It also appears that Jonathan processes orders manually, so we just want to note that there may be a delay between payment and receiving the software.

RDF Mapper Software. Data from networked units.
RDF Mapper Software. Plotting bearing data from networked units.

Measuring Traffic in a Neighborhood with KerberosSDR and Passive Radar

KerberosSDR is our four tuner coherent RTL-SDR product made in collaboration with Othernet. With KerberosSDR applications like radio direction finding and passive radar are possible, and our free open source demo software helps to make it easier to get started exploring these applications. In this post we explore how a simple passive radar setup can be used to measure how busy a neighborhood is in terms of vehicular traffic.

KerberosSDR is currently available from the Othernet store for US$149.95, and the setup guide is available at www.rtl-sdr.com/ksdr.

Passive radar makes use of already existing strong 'illuminator' signals such as broadcast FM, DAB, digital TV and cellular. When these signals reflect off a moving metallic object like an aircraft or vehicle, it distorts the signal slightly. By comparing the distorted signal to a clean signal we can determine the distance and speed of the object causing the reflection. Wide reaching digital signals like DVB-T and DAB are often the best illuminators to use. Wideband cellular signals can also be used to detect more local targets.

In a simple passive radar system we use two directional antennas such as Yagi's. One Yagi points towards the broadcast tower and receives the clean non-distorted reference signal. This is known as the reference channel. A second Yagi points towards the area you'd like to monitor for reflections, and this is called the surveillance channel.

In our setup we point the reference channel Yagi towards a 601 MHz DVB-T transmitter roughly 33 km away. A second Yagi is placed on a vantage point overlooking a neighborhood. The Yagi's used are cheap DVB-T TV Yagi's that can be found in any electronics or TV retail store (or on Amazon for ~$30 - $60 USD).  In the software we used a bandwidth of 2.4 MHz and adjusted the gains for maximum SNR.

It is important that the surveillance channel is isolated from the reference signal as much as possible. We improve the isolation simply by placing a metal sheet next to the surveillance Yagi to block the reference DVB-T signal more. Note that putting the antennas outside will obviously result in much better results. These walls and windows contain metal which significantly reduce signal strength. We also added our RTL-SDR Blog wideband LNA to the surveillance channel powered by a cheap external bias tee to improve the noise figure of the surveillance channel.

KerberosSDR Passive Radar Setup
KerberosSDR Passive Radar Setup
Surveillance Antenna View
Surveillance Antenna View

The resulting passive radar display shows us a live view of objects reflecting. Each dot on the display represents a moving vehicle that is reflecting the DVB-T surveillance signal. In the image shown below the multiple colored objects in the left center are vehicles. The X-Axis shows the distance to the object, and the Y-Axis shows the doppler speed. Both axes are relative to the observation location AND the transmit tower location.

Vehicles on the Passive Radar Display
Vehicles on the Passive Radar Display

When there are more moving cars on the road during the day and rush hours, there are more blips seen on the passive radar display. Larger vehicles also produce larger and stronger blips. By simply summing the matrix that produces this 2D display, we can get a crude measurement of how busy the neighborhood is, in terms of cars on the road since reflections are represented by higher values in the matrix. We logged this busyness value over the course of a day and plotted it on a graph.

The resulting graph is as you'd intuitively expect. At 6AM we start to see an increase in vehicles with people beginning their commute to work. This peaks at around 8:30AM - 9am with parents presumably dropping their kids off to the neighborhood school which starts classes at 9AM. From there busyness is relatively stable throughout the day. Busyness begins to drop right down again at 7PM when most people are home from work, and reaches it's minimum at around 3am.

Traffic Busyness detected with KerberosSDR Passive Radar
Traffic Busyness detected with KerberosSDR Passive Radar

One limitation is that this system cannot detect vehicles that are not moving (i.e. stuck in standstill traffic). Since the doppler speed return will be zero, resulting in no ping on the radar display. The detection of ground traffic can also be distorted by aircraft flying nearby. Aircraft detections result in strong blips on the radar display which can give a false traffic result.

It would also be possible to further break down the data. We could determine the overall direction of traffic flow by looking at the positive and negative doppler shifts, and also break down busyness by distance and determine which distances correspond to particular roads. In the future we hope to be able to use the additional channels on the KerberosSDR to combine passive radar and direction finding, so that the the blips can actually be directly plotted on a map.

If you want to try something similar on the KerberosSDR software edit the RD_plot function in the _GUI/hydra_main_window.py file, and add the following simple code before CAFMatrix is normalized. You'll then get a log file traffic.txt which can be plotted in excel (remember to convert Unix time to real time and apply a moving average)

CAFMatrixSum = np.sum(CAFMatrix)
trafficLog = open("traffic.txt", "a")
logString = str(round(time.time())) + "," + str(round(CAFMatrixSum)) + "\r\n"
trafficLog.write(logString) 
trafficLog.close()

SignalsEverywhere: Driving around with KerberosSDR and Locating a P25 Transmitter

On this weeks episode of SignalsEverywhere, host Corrosive tests out our KerberosSDR coherent RTL-SDR unit for radio direction finding. If you didn't already know KerberosSDR is our experimental 4x Coherent RTL-SDR product. With it, coherent applications like radio direction finding (RDF) and passive radar are possible. Together with the KerberosSDR direction finding Android app it is possible to visualize the direction finding data produced by a KerberosSDR running on a Pi3/Tinkerboard.

In the video Corrosive uses the KerberosSDR together with the recently updated companion Android app to determine the location of a P25 control channel. By driving around with the app constantly collecting data he's able to pinpoint the location within about 15 minutes.

If this interests you, we also have some more driving demo videos available here.

Direction Finding With Kerberos SDR

In addition to his video, Corrosive has also created a very useful calculator that can be used to calculate the required antenna spacing for a circular or linear direction finding array that can be used with the KerberosSDR.

KerberosSDR App Update: Heatmap + Precise TX Localizing & Turn by Turn Navigation Demo Videos

We have just released an updated version of the KerberosSDR Android direction finding app. If you didn't already know KerberosSDR is our experimental 4x Coherent RTL-SDR product. With it, coherent applications like radio direction finding (RDF) and passive radar are possible. Together with the KerberosSDR direction finding Android app it is possible to visualize the direction finding data produced by a KerberosSDR running on a Pi3/Tinkerboard.

The KerberosSDR hardware is currently in preorder status on Indiegogo for the second production batch, and we expect it to be ready to ship out this month. If you preorder then you'll be able to purchase a KerberosSDR at a reduced price of USD$130. After shipping for batch two begins the price will rise to USD$150.

The new version of the KerberosSDR Android app adds the following features:

  1. Heatmap Grid Plotting
  2. Precise TX location pinpointing when enough data points are gathered
  3. Turn by turn navigation to the RDF bearing direction / TX location
  4. Bearing moving average smoothing

To understand what these features are, we've released two demo videos showing them in action. In the first video we use the new features to find an 858 MHz TETRA transmitter, and in the second video we find a 415 MHz DMR transmitter. The first video explains the new features so we recommend watching that first.

KerberosSDR Radio Direction Finding: Heatmap + Auto Navigation to Transmitter Location Demo 1

KerberosSDR Radio Direction Finding: Heatmap + Auto Navigation to Transmitter Location Demo 2

Upcoming KerberosSDR Software Updates: Automatically Estimate TX Location and Navigate There

KerberosSDR is our 4x Coherent RTL-SDR that we've developed together with Othernet. It can be used for tasks such as direction finding and passive radar. KerberosSDR was successfully crowdfunded over on Indiegogo, and the first batch has already been shipped. Currently we are taking discounted pre-orders for a second production batch on Indiegogo. Please note that the discounted pricing will expire when we ship, which according to the manufacturing schedule should be next month, so please get in quick if you're interested!

If you'd like to back the KerberosSDR project and purchase a unit, please see our Indiegogo page.

Below are some recent updates to the project:

Android App Software Improvements

The Android App allows a KerberosSDR user to drive around in a car, collecting angle of arrival data for a signal. Driving around and collecting multiple data points solves the multipath issue. In a single location it is possible for a signal's direction of arrival to be skewed or incorrect as it can bounce off multiple surfaces and appear to be arriving from a wrong direction. If we collect data from many locations, we can average out the multipath.

We've recently been working on improvements to the direction finding capabilities of the KerberosSDR, and in particular to our free Android App which records and plots data from the KerberosSDR server. We are still testing and finalizing these new features, but hope to release the updated app before the end of this month.

Recently added features to the app include:

  • Added the ability to determine the estimated location of a transmitter, providing there has been sufficient data collected.
  • Added a heatmap grid of the collected data which can be used to determine where most angle lines cross. Can take into account RF power data too.
  • Added the ability for the software to automatically navigate you to the estimated TX location via MapBox GPS turn by turn navigation.

Bellow are screenshots showing some of the new features. In this experiment we located an 858 MHz TETRA transmit tower. Initially the app will navigate you to the edge of the grid, in the direction that most DoA lines are pointing to. When there is sufficient data to be able to confidently pinpoint the TX location, it will begin navigating you to the estimated location. In the screenshots the placemarker represents the known location of the transmitter, and the circles indicate the location estimated from direction finding.

Below is screenshots from a 415 MHz DMR tower that we located with KerberosSDR. The antenna array was purposely kept small, with a diameter of only 12cm. Even with the small antenna array we were able to pinpoint the transmitter down to about 100 - 200 meters.

The app should also now be able to handle intermittent signals, via a squelch filtering function, although this has not been fully tested yet.

In order to navigate you must have a 3G/4G data plan on your phone, and your phone must have the ability to create a WiFi hotspot. The KerberosSDR server running on a Pi 3 or similar will then automatically connect to a WiFi hotspot named "KerberosSDR" running on your phone and provide data to the app via WiFi.

Batch 2 Manufacturing Updates

Batch 2 production is in full swing, and at the moment we're expecting completion by mid August. This batch will ship directly from China, so we should be able to ship them off fairly quickly rather than needing to first wait for them to arrive in the USA.

Magnetic Whip Antennas

We have been disappointed that it has been difficult to find low cost but good quality magnetic whip antennas to use with KerberosSDR and vehicles. The quality of antennas used in direction finding equipment can matter, as any signals leaking into the coax, or radiation pattern skew can affect results. We are working on sourcing some high quality magnetic whip antennas that have good ground coupling. These will be sold at a reasonable price on our store.

Future Updates

We are still working on improving the server software further too and future updates will include things like the ability to notch out unwanted signals during phase calibration, a simplified DoA set up wizard, an improved buffering scheme so that additional data and processing gain can be applied, and more.

The Raspberry Pi 4 looks to be an excellent candidate to be used with the KerberosSDR. We will begin releasing ready to use images for the Pi 4 in the future.

Thanks!

Every sale of a KerberosSDR helps fund further developments to the software and possible future iterations of the hardware. So we'd like to thank all backers once again!

LimeSDR Angle of Arrival Experiments at 145 MHz

Two J-Poles used in LimeSDR Angle of Arrival Experiments.
Two J-Poles used in LimeSDR Angle of Arrival Experiments.

Together with some Spanish amateur radio operators, Daniel Estevez performed an experiment with the goal of detecting the angle of arrival of meteor reflections coming from the GRAVES radar at 143.05 MHz.

The GRAVES radar at 143.05 MHz is often used by amateur radio astronomers as a way to detect the echos of meteors entering the atmosphere. The basic idea is that meteors leave behind a trail of ionized air which is reflective to RF energy. This RF reflective air can reflect the signal from the powerful GRAVES space radar in France, allowing the radar signal to be briefly received from far away. Detecting the angle of arrival from these reflections could help determine where the meteor entered the atmosphere.

Their experiments used a pair of J-Pole antennas and a LimeSDR receiver. The LimeSDR has two channels and can receive the signal coherently from both channels. The phase difference in the received signals from the two antennas can then be measured, and the angle of arrival calculated.

In their testing the first tested with 145 MHz amateur radio satellites. Unfortunately due to the low elevation of the antennas and multipath from terrain obstructions an angle could not be calculated. In a second experiment they tried receiving terrestrial APRS signals. With APRS they were successful and were able to determine the angle of arrival from multiple stations. Unfortunately for GRAVES meteor echoes they were not entirely successful, citing multipath issues due to houses, and the need for a clear view of the horizon.

We note that it may be possible to perform similar experiments with our KerberosSDR coherent RTL-SDR unit.