Category: Applications

Amazon AWS Satellite Ground Stations Now Available For Hire

Over on the AWS blog Jeff Barr has blogged about Amazon's new rentable ground station system called "AWS Ground Station". AWS, or Amazon Web Services is the server farm division of Amazon. They allow customers to rent out server capability on demand. In a similar sense, AWS Ground Station is aiming to allow customers to rent out satellite ground stations on demand.

Launching low cost micro/nano satellites has become very affordable in recent years and it's now common to see high schools, colleges, organizations and hobbyists designing, fabricating and launching their own satellites. Once launched, a ground station is required to receive the satellite's radio transmission as it passes over. Most low cost satellite owners will not have the budget to deploy ground stations all around the world for continuous monitoring of the satellite. This is where AWS Ground Station can take over, allowing a ground station on the other side of the world to be rented temporarily during a pass.

Currently the service is just starting, and only has 2 ground stations, but by 2019 they hope to have a total of 12. More information available on the official AWS Ground Station website.

Alternatively, there are other free open source services that could be utilized such as SATNOGS. SATNOGs relies on volunteer ground stations running antenna rotators that can be built with a 3D printer, some low cost motors and electronics, and an RTL-SDR. The antenna rotator carries a Yagi antenna and will automatically track, receive and upload satellite data to the internet for the public to access.

AWS Ground Station Web Site
AWS Ground Station Web Site

Element14 Video on Setting up a Portable Raspberry Pi & RTL-SDR Based NOAA Weather Satellite Receiver

Electronics distributor element14 has uploaded a video to their 'element14 presents' YouTube channel showing presenter Matt building and setting up a portable Raspberry Pi & RTL-SDR based NOAA weather satellite receiver. More information is also available on their supplemental content page.

The build consists of a Raspberry Pi, RTL-SDR and QFH antenna as the basic components. However, it is made into a very nice portable unit by using a stripped down LCD monitor placed into a heavy duty waterproof brief case. The whole thing is powered via a PC power supply. After the build is completed, Matt leaves the case on the roof for a few days collecting images.

Emboldened by the success of his Raspberry PIrate radio, Matt indulges in some more radio hacking by building a specialized QFH antenna and a briefcase form-factor satellite receiver in an attempt to intercept "faxes" from OUTER SPAACEEE!!! Connect with Matt on the element14 community: http://bit.ly/2RiSXC5

Project TIROS is a self-contained, Raspberry Pi-based satellite signal reception system designed to automatically download images and data from NOAA's POES spacecraft as they pass overhead and display the data on an integrated LCD panel. In this video, Matt will walk through how to set up an RTL-SDR module with a Raspberry Pi for automated satellite downloads as well as how to design and build a quadrifilar helical antenna for polar-orbiting signal reception.

Raspberry Pi NOAA Satellite Receiver

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