Measuring the Noise Figure of Airspy and HackRF SDRs in Real Time

The Noise Figure (NF) is an important metric for low noise amplifiers and SDRs. It's a measure of how much components in the signal chain degrade the SNR of a signal, so a low noise figure metric indicates a more sensitive receiver. The Noise Figure of a radio system is almost entirely determined by the very first amplifier in the signal chain (the one closest to the antenna), which is why it can be very beneficial to have a low NF LNA placed right at the antenna

Over on his blog Rowetel has been attempting to measure the noise figure of his HackRF and Airspy, and also with the SDRs connected to an LNA. He's managed to come up with a method for measuring the noise figure of these devices in real time. The method involves using a GNU Octave script that he created and a calibrated signal generator.

It’s a GNU Octave script called nf_from_stdio.m that accepts a sample stream from stdio. It assumes the signal contains a sine wave test tone from a calibrated signal generator, and noise from the receiver under test. By sampling the test tone it can establish the gain of the receiver, and by sampling the noise spectrum an estimate of the noise power.

As expected, Rowetel found that the overall noise figure was significantly reduced with the LNA in place, with the Airspy's measuring a noise figure of 1.7/2.2 dB, and the HackRF measuring at 3.4 dB. Without the LNA in place, the Airspy's had a noise figure of 7/7.9 dB, whilst the HackRF measured at 11.1 dB.

Some very interesting sources of noise figure degradation were discovered during Rowetel's tests. For example the Airspy measured a NF 1 dB worse when used on a different USB port, and using a USB extension cable with ferrites helped too. He also found that lose connectors could make the NF a few dB's worse, and even the position of the SDR and other equipment on his desk had an effect.

Noise figure measurement
Noise figure measurement

Hackaday’s LimeSDR Mini Review

Over on Hackaday author Jenny List has today posted a review of the LimeSDR Mini. The LimeSDR Mini is a US$139 TX/RX capable SDR that was successfully crowd funded and has recently begun shipping to initial backers. In the review Jenny goes over the specs and differences between the Mini and standard LimeSDR. She then goes on to test it in GQRX, receiving a DAB digital radio signal, and creating a simple replay attack and FM transmitter in GNU Radio.

If you're interested in the differences between an RTL-SDR and a slightly higher level yet still budget friendly SDR then this review is a good overview. If you are interested, we also did a brief unboxing and initial thoughts review of the LimeSDR Mini which is available here.

The LimeSDR Mini
The LimeSDR Mini

Enumerating Multiple RTL-SDR Dongles Deterministically for rtl_tcp in Linux

Thanks to user 'luma' on our forums for submitting his technique for managing multiple RTL-SDR dongles on a Linux system. The problem is that rtl_tcp tends to enumerate devices depending on the order they are plugged in. This can create problems like not knowing which dongle is connected to which antenna without physically checking. He writes:

I was looking to utilize a couple RTL dongles to monitor two ISM band frequencies commonly used in LoRa without buying an SDR with wide enough bandwidth to cover both ranges. I pretty quickly ran into issues with how SpyServer and rtl_tcp enumerate devices, which appears to be based mostly upon the order in which each device had been plugged in.

With some work, I think I've come upon a flexible and secure solution to handle an arbitrary number of dongles on one system while maintaining deterministic control of each device. This means I can label an individual dongle, connect it to the desired antenna, and then connect to that dongle on the assigned TCP port every time, without regard to the order in which things have been plugged in.

The rest of his post shows the steps which include creating an unprivileged service user, using rtl_eeprom to set device serial numbers and using a script that automatically runs on startup which will enumerate the dongles deterministically each time.

Real Time Passive Radar Running Native on the ADALM-PLUTO ARM CPU

The ADALM-Pluto (aka PlutoSDR) is a US$149 TX/RX capable SDR that we have posted about several times in the past. It has a tuning range from 70 MHz to 6000 MHz with a bandwidth of up to 56 MHz (with software hack applied). One additional useful feature on the PlutoSDR is it's built in ARM CPU, which can be used to run programs on board the SDR itself. 

Over on his blog Mike has shown how he implemented simple passive radar code on the PlutoSDR's ARM processor. This means that no PC or other hardware is required to process the data, the entire script can be run via a SSH connection to the PlutoSDR. Mike doesn't seem to have shared his script anywhere, but one of his previous posts explains the process. The script creates the video in real time on board the PlutoSDR's ARM CPU, which is then streamed via ffplay to a PC with a screen. On his second post Mike shows some extra videos of passive radar working with FM Broadcast and DVB-T signals.

Passive radar is a radio technique allows you to detect and track RF reflective objects such as aircraft using strong signals from already existing transmission towers, such as broadcast FM or DVB-T signals.

Viewing Drone Signals with HackRF being used as a Wideband Spectrum Analyzer

Over on his YouTube channel user Andy Clarke has uploaded a video where he demonstrates his HackRF being used as a wideband spectrum analyzer with the HackRF Spectrum Analyzer software. About a year ago the HackRF team released a new firmware update which enabled the HackRF to be able to sweep through the frequency spectrum at a rate of up to 8 GHz per second. This allowed the HackRF to be used as a wideband spectrum analyzer which is able to display an arbitrarily large swath of spectrum. Shortly after the firmware update spectrum analyzer program by 'pavsa' was released on GitHub.

In the video Andy demonstrates the HackRF being used to view the WiFi band and show a 2.4 GHz WiFi connection between a drone and it's controller. He also shows it working with a handheld radio and the uplink of his mobile phone. Andy hopes to use the HackRF to avoid losing his drones due to interference.

Software Defined Spectrum Analyser - Hack RF

New Apple iOS (iPhone/iPad) RTL-SDR rtl_tcp Client App in Beta Testing

Over on our forums poster hotpaw2 has released news about his new RTL-SDR app for iOS (iPhones/iPads). If we're not mistaken, this will be the first app that enables RTL-SDR usage on iOS. However, as iOS devices don't allow RTL-SDRs (or any arbitrary USB device) to connect directly to devices, you still need to use a Raspberry Pi or other network connected computing device as an rtl_tcp server. So the RTL-SDR does not plug directly into the iOS device. Currently he is looking for beta testers to help test a pre-release of the software. Hotpaw2 writes:

Hi. A first version of my iOS SDR app is nearing completion. So I'm interested finding a few users who would like to beta test a pre-release of the app, and provide some feedback. The beta test requirements are having a 64-bit iOS device (iPhone or iPad) running iOS 11.2.x or newer, having Apple's TestFlight app installed, having a Mac, PC, Raspberry Pi (or other Linux box) that already has rtl_tcp installed and ready to run. (And an RTL-SDR obviously.) The rtl_tcp server must be on a fast WiFi network reachable by your iOS device. Note that iOS TestFlight app distributions do have an expiration date.

iOS does not recognize arbitrary USB devices such as an RTL-SDR. This is even true when using Apple's Lightning Camera Connection kit to provide an iPhone with a wired USB port. So an adapter must be used. I use a headless Raspberry Pi 3 running rtl_tcp as the USB adapter to provide raw IQ samples from the RTL-SDR to the iOS app. A Raspberry Pi Zero W would also work. I then connect to the server either over WiFi, or via wired ethernet. 

This iOS SDR app is fairly simple. I've been experimenting with developing low-level DSP code in Swift. So this SDR app was written from scratch in the Swift programming language. Because the app is targeted for the iOS App store, it uses none of the existing SDR C++ code base. 

The app currently demodulates AM, N-FM, and mono W-FM. It also displays a spectrum and rudimentary waterfall, and allows one to swipe-to-tune. There are not a lot of controls, as screen real-estate on an iPhone is quite limited. But I can walk around the house and, from my iPhone, monitor if my RTL-SDR or AirSpy HF+ are picking up any interesting signals.

Contact info for beta testing can be found here: http://www.hotpaw.com/rhn/hotpaw/ 

Source code to librtlsdr and rtl_tcp can be found in many repositories on github, but zero support for finding or installing such, and/or setting up your Raspberry Pi, will be provided by me.

Screenshot of the RTL-SDR iOS app
Screenshot of the RTL-SDR iOS app

 

Decoding Meteor-M Images on a Raspberry Pi with an RTL-SDR

Thanks to Andrey for writing in and showing us his Java based Meteor-M decoder for the RTL-SDR which he uses on a Raspberry Pi. The decoder is based on the meteor-m2-lrpt GNU Radio script and the meteor_decoder which he ported over to Java. Essentially what he's done is port over to Java a bunch of GNU Radio blocks as well as the meteor decoder. The ported Java blocks could also be useful for other projects that want to be cross platform or run without the need for GNU Radio to be installed.

In his blog post (blog post is in Russian, use Google Translate for English) Andrey explains his motivation for writing the software which was that the Windows work flow with SDR# and LRPTofflineDecoder is quite convoluted and cannot be run headless on a Raspberry Pi. He then goes on to explain the decoding algorithm, and some code optimizations that he used in Java to speed up the decoding. Andrey notes that his Java version is almost 2x slower compared to the GNU Radio version, but still fast enough for real time demodulation.

Meteor-M2 is a Russian weather satellite that operates in the 137 MHz weather satellite band. With an RTL-SDR and satellite antenna these images can be received. Running on a Raspberry Pi allows you to set up a permanent weather satellite station that will consistently download images as the satellite passes over.

Decoded Images with Andry's Meteor-M software on Raspberry Pi.
Images received with Andry's Meteor-M software running on a Raspberry Pi.

FOSDEM 2017/2018 SDR Conference Videos: Passive Radar, Radio Telescopes, SatNOGS and Wireless Traffic Lights

Fosdem 2017 and 2018 were conferences on software development that occurred on 4 & 5 February 2017 and 3 & 4 February 2018. The conference features several software defined radio and RTL-SDR based talks which appear to have recently been uploaded to YouTube. Below we're posting some of our favorite SDR related talks, but the full video list can be found here, and here is the SDR playlist from Fosdem 2018.

(Yet another) passive RADAR using DVB-T receiver and SDR

by Jean-Michel Friedt @ FOSDEM 2018

In this presentation Jean-Michel shows a GNU Radio passive radar implementation utilizing two coherent RTL-SDR dongles. During the talk he demonstrates his results with RTL-SDR passive radar operating on planes, boats and cars.

Slides: http://jmfriedt.free.fr/fosdem2018.pdf
Paper: http://jmfriedt.free.fr/URSI.pdf

(Yet another) passive RADAR using DVB-T receiver and SDR.

Intro to Open Source Radio Telescopes

by Martin Braun and Sue Ann Heatherly @ FOSDEM 2018

In this talk Martin and Sue discuss how amateur radio astronomy can be performed using lost cost software defined radio tools such as an RTL-SDR. They show how to receive solar flares and detect the 21cm hydrogen line and focus on showing how easy it can be to do these projects in a classroom environment.

Intro to Open Source Radio Telescopes

Claim Space, the Libre Way, using SDRs

by Manolis Surligas @ FOSDEM 2018

In this talk Manolis from the Libre Space Foundation and SatNOGs discusses how they use RTL-SDR's and other SDR's in their volunteer run network of satellite ground stations to create an online database of received satellite data.

Claim Space, the Libre Way, using SDRs

Receiving Wireless Mobile Traffic Lights

by Bastian Bloessl @ FOSDEM 2017

Wireless mobile traffic lights are often used to secure construction sites when roads are partially blocked. Some day, when a pair of them was placed close to our home, I set off to explore how they are working. In this talk, I will describe how I used a cheap RTL-SDR together with GQRX, Inspectrum, and GNU Radio to reverse engineer the modulation and frame format of different types of wireless traffic lights. With some patience, I could also make some sense out of the bits. In particular, I was able to extract the signal state and display it in a web interface, mirroring the traffic light. A closer look at the frame format and the apparent absence of any authentication might leave one with a bit of a worrying impression regarding the security of those systems.

Receiving Wireless Mobile Traffic Lights