Category: Applications

Using an SDRplay RSP2 to Measure IMD

Over on YouTube channel Rate My Radio has uploaded a set of three videos showing how to use an SDRplay RSP2 as a low cost spectrum analyzer to measure the inter modulation distortion (IMD) performance of lower end hardware TX capable radios. The test can only be performed on radios that have IMD performance less than that of the RSP2, so very high end amateur radios cannot be tested.

The process is to use audacity to play two audio tones into the transmitting radio under test, and then the SDRplay is used to receive the output. On the SDRuno software you're then able to see the third order and higher IMD products. Later he also performs white noise IMD tests as well. Below is the video description:

We cover 2 Tone Testing, White Noise Testing, and how the later can be particularly useful in terms of station monitoring. Naturally, we show the effects of 'all knobs to the right' :)

Jarrad also covers how with just an SDR Play and a 'rubber ducky' antenna, station performance can be monitored in real time.

Why would a Ham want to do this? The answer is simple: To defend their station performance against that on air Expert, who got their ticket when you needed to send CW at 50WPN, who served in the military radio unit for 20 years, has 3 engineering degrees and worked as a professor at both MIT and Havard, not to mention the times they lectured at Cambridge & Oxford.

With an SDR Play and a bit of simple math, any OM can put such experts in their place.

Below we only post the third video of the three part series. Links to Part 1 and Part 2 are available in those links, or on his channel.

Part 3: IMD Testing & Realtime Station Monitoring

Locating Various HF Transmitters and Number Stations with KiwiSDRs

If you weren't already aware, the KiwiSDR is a US$299 HF SDR that can monitor the entire 0 - 30 MHz band at once. It is designed to be web-based and shared, meaning that the KiwiSDR owner, or anyone that they've given access, can tune and listen to it via a web browser over the internet. Many public KiwiSDRs can be found and browsed from the list at sdr.hu.

One thing that KiwiSDRs have is a GPS input which allows the KiwiSDR to run from an accurate clock, as well as providing positional data. Time Difference of Arrival (TDoA) is a direction finding technique that relies on measuring the difference in time that a signal is received at over multiple receivers spread out over some distance. In order to do this an accurate clock that is synchronized with each receiver is required. GPS provides this and is able to accurately sync KiwiSDR clocks worldwide.

Over on his blog Christoph Mayer has been steadily documenting his work on getting Time Difference of Arrival (TDoA) direction finding to work with KiwiSDRs. This is not an easy task with HF signals, as they tend to bounce around and propagate through various means, meaning that signals can be delayed if not received directly. So far it appears that he's been most successful in locating signals received by ground wave, but he is also working with an ionospheric ray-tracing model and electron density data to take into account propagation delays from skywave propagation.

Skywave and Groundwave Propagation
Skywave and Groundwave Propagation

In one post from late last year Christoph shows that he was able to pinpoint the location of the German DCF77 longwave time station by using three KiwiSDRs spread out around Europe. The actual location of DCF77 is already known, so this shows that the technique actually works. Other posts show him locating transmitters for STANAG 4285, some unknown frequency hopping signals, OTH radar from Cyprus, CODAR, DRM, VOLMET and more.

Christophs' code can be found at https://github.com/hcab14/TDoA. According to users gathering the data and running the code is still a fairly elaborate process. But there is talk over on the KiwiSDR forums about eventually creating a server that would allow users to more easily request a location computation for a particular signal. 

Pinpointing DCF77 with KiwiSDRs
Pinpointing DCF77 with KiwiSDRs (Bottom right image shows pinpointed location)

Also related to this topic, priyom.org has been using KiwiSDRs to try and locate numbers stations. Numbers stations are mysterious voice stations on the HF bands that when transmitting read out a string of numbers. Most speculate that the numbers are some sort of code intended for international spy agents. Using a simpler method of just noting which KiwiSDRs in the world receive a particular numbers station more strongly, they've been able to determine the likely country of some well known stations.

Building A Giant $200 3D Corner Reflector Antenna for GOES, Moon Bounce and Pulsar Detection

A corner reflector antenna is basically a monopole antenna with a metallic 'corner' reflector placed behind it. The reflector helps the monopole collect signals over a wider aperture resulting in signals coming in stronger from the direction that the corner is pointing at. In past posts we've seen a homemade tinfoil corner reflector used to improve reception of the generic stock RTL-SDR monopole antenna, and a larger one was used in a radio astronomy experiment to detect a pulsar with an RTL-SDR.

Recently The Thought Emporium YouTube channel has uploaded a video showing how to build a large 2 meter 3D corner reflector out of readily available metal conduit pipes and chicken wire. While the antenna has not been tested yet, they hope to be able to use it to receive weather satellite images from GOES-16, to receive moon bounce signals, to map the Hydrogen line and to detect pulsars. 

Tracking Police and Military Aircraft at the G7 Summit with an RTL-SDR

Back in early 2016 we posted about a journalist who used an RTL-SDR to gather ADS-B data about the type of aircraft used at the world economic forum in Davos. The idea was to help highlight the vast wealth and power of the attendees by showing off their heavy use of private aircraft.

Now more recently Laurent Bastien Corbeil has published a similar article in Motherboard (a Vice News tech magazine) explaining how he tracked police and military planes at this years G7 summit which was held in Canada in early June. Laurent used an RTL-SDR Blog V3 with the small dipole antenna attached to a window to gather ADS-B data from all the aircraft activity during the summit.

ADS-B is a radio system used on modern aircraft which broadcasts the aircraft's current GPS location and other data such as aircraft identifiers. It is now used extensively by air traffic controllers as it is significantly more reliable than traditional radar. With a simple RTL-SDR it is possible for anyone to track and plot ADS-B data on a map, and this is how tracking sites like flightradar24.com and flightaware.com work.

From his collected data he was able to spot several interesting aircraft such as Canadian Air Force Chinooks, C130 Hercules', RCMP Pilatus', a military Bombardier jet, and a coast guard Bell 427. He also notes that while he was able to spot Donald Trumps Marine One helicopter with his own eyes, the ADS-B data was not present, indicating that more important military aircraft do not broadcast ADS-B for security reasons.

In the article Laurent makes estimates of the costs of operating these aircraft, and makes some guesses on the type of mission flown by some of the aircraft.

G7 Aircraft Flight Costs (Data by Laurent Bastien Corbeil, Graphics by Marvin Lau)
G7 Aircraft Flight Costs (Data by Laurent Bastien Corbeil, Graphics by Marvin Lau)

GQRX and gr-osmosdr now with support for SpyServer

Thanks to the work of Lucas Teske, GQRX is now able to connect to SpyServer servers. SpyServer is the IQ streaming server software solution developed by the Airspy SDR developers. It can support Airspy and RTL-SDR devices, and can be used to access these SDRs remotely over a network connection. It is similar to rtl_tcp, but a lot more efficient in terms of network usage, meaning that it performs well over an internet connection. On a previous post we have a tutorial about setting up a SpyServer with an RTL-SDR.

The code modified by Lucas is the gr-osmosdr module, and Lucas' code can be downloaded from his GitHub at github.com/racerxdl/gr-osmosdr. It doesn't yet appear to have been merged into the official osmocom branch. The gr-osmosdr module is a generic block used to access various SDR hardware, so any software that utilizes it (such as GNU Radio) should be able to connect to a SpyServer connection too.

Building an RF Direction Finding Robot with an RTL-SDR

Over on Hackaday.io, project logger Humpelstilzchen has been writing about his attempts to create an autonomous RF direction finding robot RC car with an RTL-SDR. The goal is to set up an ISM band transmitter as a beacon, and use the RTL-SDR on the robot as the receiver. It will then use direction finding techniques to drive towards the beacon. The robot is a 4WD RC toy car with some autonomous navigational features like GPS, ultrasonic, IMU and vision sensors.

In his latest project log Humpelstilzchen describes his first semi-successful attempt at getting RF direction finding working. In the experiment he uses a 433 MHz module to send out an FSK beacon. On the robot two antennas are used for the time difference of arrival/pseudo-doppler direction finding technique, and PIN diodes are used to rapidly switch between the antennas. A GNU Radio script running on a HummingBoard single board computer computes the TDOA/pseudo-doppler algorithm.

Psuedo-doppler direction finding works by rapidly switching between several antennas. The difference in the time that the signal arrives at each antenna can be used to calculate the transmitter's direction.

With the current set up he's been able to get the robot to distinguish if the beacon is closer to the left, or closer to the right, or equidistant. However, he notes that there are still problems with reflections of the beacon signal which can cause the robot to drive in the wrong direction.

This is still a work in progress and we look forward to his future results.

Humpelstilzchen's RF direction finding robot
Humpelstilzchen's RF direction finding robot

Using a LimeSDR to Implement Software Defined Optoelectronic Systems

Back in January of this year we posted about PhD student Lucas Riobó's work that about about using an RTL-SDR to create a low cost optical "high-speed real-time heterodyne interferometer". In that work he used an RTL-SDR as a data acquisition tool for an optoelectronic front end sensor (opto = visual light). This allowed him to translate optical data into an RF signal, which could be received by the RTL-SDR, and then easily processed in a PC.

In his latest work Lucas has published a paper titled "Software Defined Optoelectronics: Space and Frequency Diversity in Heterodyne Interferometry" in the IEEE Sensors Journal. Note that the paper is behind an IEEE paywall, but Lucas notes that if you're interested in discussing his work that you can contact him at [email protected]. The research is similar to the work published in January, but uses a LimeSDR which can take advantage of TX capabilities. Lucas writes:

In this work, a general architecture for the implementation of software-defined optoelectronic systems (SDOs) is described. This concept harnesses the flexibility of software-defined hardware (SDH) to implement optoelectronic systems which can be configured to adapt to multiple high speed optical engineering applications. As an application example, a software-defined optical interferometer (SDOI) using the LimeSDR platform is built. The system is tested by performing high speed optical detection of laser-induced photoacoustic signals in a concentrated dye solution. Using software modifications only, conventional single carrier and also multicarrier heterodyne techniques with space and frequency diversity are performed.

A main difference with the other article described in this post, is that we could also use the transmission path of the LimeSDR to perform many modulation waveforms of the electromagnetic fields which will interfere, to provide a noticeable performance improvement in single-shot interferometric measurements.

PC: Programmable controller, SDH: Software-defined hardware platform,  E/O: Electrical-Optical block, O/E: Optical-Electrical block, OS: Optical System.
PC: Programmable
controller, SDH: Software-defined hardware platform, E/O: Electrical-Optical block, O/E:
Optical-Electrical block, OS: Optical System.
A Software Defined Optical Interferometer
A Software Defined Optical Interferometer

Decoding 12 AERO Channels Simultaneously with an Airspy, Outernet Patch Antenna and SDR-Console V3

In a post uploaded last month we noted that Outernet was selling off some of their old L-Band satellite antennas cheaply. Nils Schiffhauser (DK8OK) decided to take advantage of the sale and bought one. Now Nils has created a blog post that shows how he's been able able to decode 12 L-Band AERO channels simultaneously with the Outernet L-band antenna, an Airspy R2 and SDR-Console V3. AERO is the satellite based version of aircraft ACARS, and it's L-band signals contain short ground to air messages like weather reports and flight plans. Multiple channels are often in use at any one time.

To achieve this Nils uses the multi-channel tuning capabilities of SDR-Console V3, which allows him to open up 12-channels, each tuned to a different AERO frequency. He then opens up 12 instances of the AERO decoder known as JAERO, and then uses VB-Cable to pipe the audio from each channel into a JAERO instance. Nils writes that the key to making JAERO run with multiple instances is to install JAERO into different folders on your PC, and give each JAERO.exe a unique file name like JAERO_1.exe.

He collects all the data into a program called Display Launcher and Nils notes that the whole set up has been stable digesting 54,000 messages over the last 24 hours. 

12x JAERO Decoders Running
12x JAERO Decoders Running