Category: Applications

A LimeSDR Mini Based Doppler Radar

Thanks to Luigi (aka @luigifcruz and PU2SPY) for writing in and submitting to us his LimeSDR based doppler radar blog post. The LimeSDR Mini is a low cost two port TX and RX capable SDR. Luigi's doppler based radar makes use of one TX port to transmit the radar signal, and the RX port to receive the reflection. The idea is that the if the object being measured is moving, the received reflected signal will be altered in phase due to the doppler effect.

In terms of hardware, Luigi's radar uses the LimeSDR Mini as the TX/RX radio, a Raspberry Pi 3 as the computing hardware, an SPF5189Z based LNA on the RX side, and two cantenna antennas. It transmits a continuous wave signal at 2.4 GHz.

Luigi's LimeSDR Based Doppler Radar
Luigi's LimeSDR Based Doppler Radar

On the software side it uses a GNU Radio program to transmit, receive and process the returned signal. Luigi's post goes over the DSP concepts in greater detail, but the basic idea is to measure the phase shift between the transmitted and reflected signal via a Multiply Conjugate block, and then decimate the output to increase the resolution. The result is then output on a frequency domain waterfall graph. The GNU Radio is all open source and available on Luigi's Github.

In order to test the system Luigi first set up a test to measure an electric fan's blade speed. The result was clearly visible line in the spectrogram which moved depending on the speed setting that the fan was set to.

Software Defined Radar - Continuous Wave Doppler Radar w/ LimeSDR

In his second test Luigi measures the speed of vehicles by placing the radar on the sidewalk, pointed at cars. The result was clear indication of the vehicle passes as shown by the longer vertical lines on the graph below. The smaller lines have been attributed to pedestrians passing by.

LimeSDR Vehicle Doppler Radar Results: Each long line indicates a vehicle, and shorter lines indicate pedestrians.
LimeSDR Vehicle Doppler Radar Results: Each long line indicates a vehicle, and shorter lines indicate pedestrians.

In a third test, Luigi measured vehicle speeds in tougher conditions, with the radar placed 50 meters away from the highway, at 45 degrees, and with weeds in the way. The radar still generated obvious lines indicating vehicles passes. Finally, in his fourth test, Luigi tested the speed accuracy of his radar by measuring a car driving at a known speed. The results showed excellent accuracy.

Software Defined Radar - Continuous Wave Doppler Radar w/ LimeSDR

An Overview on RF Direction Finding with RTL-SDRs

Thanks to K2GOG of the Hudson Valley Digital Network for writing in a sharing with us his latest blog post which is a useful overview of some direction finding techniques that can be used with RTL-SDR dongles. RF direction finding is the act of using a radio to determine the physical location of a signal.

In his post K2GOG mentions our successfully crowd funded KerberosSDR which will be shipping in January next year. KerberosSDR is our 4x coherent RTL-SDR, and one possible application is to use it as a four antenna phase coherent direction finder. K2GOG explains the phase coherent concept in his post quite elegantly.

While looking over KerberosSDR, K2GOG was also reminded of another direction finding technique called heat mapping which can be performed with a single RTL-SDR. This process involves driving around with an RTL-SDR and GPS logger, measuring the signal power as you drive and combining it the current GPS coordinates. From that data a heat map can be generated, which shows where the signal is the strongest, and therefore where the likely source is. The RTLSDR Scanner application by eartoearoak makes doing this easy, and in his post K2GOG provide a short tutorial on setting it up.

A heatmap generated by K2GOG with an RTL-SDR, GPS and RTLSDR Scanner.
A heatmap generated by K2GOG with an RTL-SDR, GPS and RTLSDR Scanner.

An Open Source VOR Receiver for Airspy and RTL-SDR

Thank you to Thierry Leconte (TLeconte) for writing in and submitting his new command line based open source software called vortrack. Vortrack is a simple VOR decoder which calculates the angle towards the VOR. It is compatible with both RTL-SDR and Airspy radios, and runs on Linux.

In the past we've seen several other posts about RTL-SDRs being used to decode VOR signals, but Thierry's implementation appears to be the easiest way to get a bearing straight away. You'll get the most use out of the software if you install it on a portable device like a Raspberry Pi and take it out for a drive as you'll be able to see the VOR angle changing then.

VOR stands for VHF Omnidirectional Range and is a way to help aircraft navigate by using fixed ground based beacons. The beacons are specially designed in such a way that the aircraft can use the beacon to determine a bearing towards the VOR transmitter. VOR beacons are found between 108 MHz and 117.95 MHz, and it's possible to view the raw signal in SDR#.

A DVOR Ground Station at an Airport. Source Wikipedia.
A DVOR Ground Station at an Airport. Source Wikipedia.

Motherboard Article: Creating an IMSI Catcher with an RTL-SDR

Motherboard, an online technology magazine has recently run an article titled "With $20 of Gear from Amazon, Nearly Anyone Can Make This IMSI-Catcher in 30 Minutes". The article describes how an RTL-SDR together with the IMSI-Catcher Linux software can be used to collect IMSI numbers from cellphones connected to a nearby cell tower. The IMSI is a unique number assigned to each SIM card and collecting this data could be used to identify if someone is in the area covered by the cell tower.

The IMSI-Catcher software only works with the older 2G GSM signals which are now being phased out in some countries and are relatively unused in others. Also unlike more advanced IMSI-Catchers which create a fake cell tower signal, the RTL-SDR based IMSI-Catcher can only collect IMSI numbers when the cellphone first connects to the cell tower.

One of our older posts with a YouTube tutorial video explains the RTL-SDR IMSI Catcher in more detail. 

IMSI-Catcher Python Script
IMSI-Catcher Python Script

Measuring Broadcast FM Multipath Distortion with an RTL-SDR

Over on GitHub user jj1bdx has just released a new tool called rtl_power-fm-multipath which can be used for estimating broadcast FM multipath distortion with an RTL-SDR. Broadcast FM multipath is caused when a signal is received from multiple directions due to it reflecting off and refracting through physical objects like buildings and terrain. As the reflected/refracted signals will be delayed it can cause echo like distortions in the RF signal which can cause issues like poor digital decoding, poor FM audio reception and ghosting in analogue video.

The multipath distortion estimation method works by measuring the ratio of the strength of direct/reflected radio waves which results in the desired/undesired (D/U) ratio. This measurement method was proposed by Komiya87 and JushinFM who both wrote papers in Japanese describing the method. In summary the methodology is:

  • Measure the maximum peak strength for +-50kHz spectrum of the target FM station
  • Obtain the maximum value (Lmax) and minimum value (Lmin) within the spectrum
  • Obtain the ratio of the maximum and minimum values L = Lmax / Lmin (note: Lmax and Lmin are real values (not in dB), and L must be > 1)
  • The estimated D/U ratio R = (L+1) / (L-1) (in the real value, not in dB)

The rtl_power-fm-multipath program is based on rtl_power and works by using rtl_power to record power measurements for 5 minutes, then sending the data to a peakhold function which computes the maximum power value for each frequency, and then calculations the distortion ratio.

An example of Multipath Distortion on a DAB+ Signal. From Gough Lui's post https://goughlui.com/2015/03/28/trip-to-hk-cn-2014-part-5-rtl-sdr-more-radio-ais-night-photos/
An example of Multipath Distortion on a DAB+ Signal. From Gough Lui's post at https://goughlui.com/2015/03/28/trip-to-hk-cn-2014-part-5-rtl-sdr-more-radio-ais-night-photos

Setting up Air Traffic Control Audio Sharing with Broadcastify, RTL-Airband, RTL-SDR and a Raspberry Pi

Over on YouTube Fuzz The Pi Guy has uploaded a video tutorial showing how to set up a Broadcastify air traffic control audio feed with RTL-Airband and an RTL-SDR running on a Raspberry Pi. This allows you to publicly share your received air traffic control audio online via sites like Broadcastify.

The video is based on a comprehensive Radioreference text tutorial which takes you through the process from scratch. Setting it up involves installing the Raspbian OS, installing RTL-SDR, installing and setting up RTL-Airband, configuring ezstream and then ensuring that everything runs automatically on boot. It's a fairly involved setup process, but the video helps make things easier.

How To Setup Broadcastify On A Raspberry Pi Using RTL_AM For Aviation

Video Tutorial: Installing GNU-Radio on Windows 10

Over on YouTube user Petr Horký has uploaded a helpful tutorial video showing how to install GNU Radio on Windows 10. Petr goes through the steps from installing Python, pip and other dependencies like numpy and pyqt, to installing GNU Radio itself and then ensuring that the system PATH is set correctly.

GNU Radio is a block based programming language for building digital signal processing applications (e.g. demodulators/decoders). It is very useful for experimenting with more advanced SDR concepts, and there are also many RTL-SDR compatible applications built with GNU Radio as well. GNU Radio is typically run on Linux, but can also run on Windows now too, although perhaps not every program will be compatible.

How to install GNU Radio Companion on Windows 10 (pip, environment variables)

USA-Satcom XRIT Decoder Updated

USA-Satcom is the programmer of XRIT Decoder (not to be confused with XRITDecoder by CM2ESP), which is a popular (paid) Windows decoding application for GOES weather satellites. Recently, over on the SDRplay forums RSP2user made a note about the latest update:

USA-Satcom has just released v2.1.0.0 of the XRIT Decoder. Along with enhancements for the XRIT Decoder, a new RSP Streamer X has been released and is operable with the RSP1A, RSP2, and RSPduo - new features include operation with two streams simultaneously (provided that the PC being used has sufficient processing power and an RSPduo or more than one compatible RSP are being used). Also new is the XRIT File manager which allows for improved operation with both LRIT and HRIT files, improved LUT for excellent false color images, user-selectable automated black filling of the white background on full disk visual and false color HRIT images, and country as well as state map overlays.

The new color enhancements are excellent:

GOES 16 Full Disk Weather Satellite Image. Received by RSP2user with V2.1.0.0 of XRIT Decoder.
GOES 16 Full Disk Weather Satellite Image. Received by RSP2user with V2.1.0.0 of XRIT Decoder.

If you are interested in receiving and decoding GOES images, we now have several previous blog posts on this topic which may be helpful.