Tagged: rtl2832u

Multi-RTL: A GNU Radio Block for Combining and Time Synchronizing Multiple RTL-SDR Dongles

The RTL-SDR has a maximum available stable bandwidth of about 2.4 MHz. Many people have had the idea to combine multiple RTL-SDR dongles together to implement a wider band or multi channel RX device, but very few successful implementations have been seen. The biggest challenge is time synchronization between the multiple RTL-SDR units. Even if a common clock is used, there is no guarantee that the samples streams are synchronized, which can cause problems for the decoding of many signals. The most successful implementations so far have used a common clock, and an external synchronization signal from a generator in addition to other hardware like switches.

However, now Piotr Krysik has come up with a very good and simpler solution for the synchronization of RTL-SDR dongles. Piotr wanted to be able to capture both GSM uplink and downlink channels at the same time. As these channels are not close to each other in the frequency spectrum, he needed two synchronized RTL-SDR dongles to be able to monitor the two channels at once. In order to achieve synchronization he created a GNU Radio block called Multi-RTL, and connected two RTL-SDR dongles to a common clock source.

In his Multi-RTL block he implemented a method of a discovery he made that allows a way to time synchronize the dongles by using a signal that is already being broadcast over the air. He writes that his method is the following:

  • tuning the RTL-SDR dongles to the same frequency where some transmission is present,
  • recording a short signals with all of the dongles,
  • computing cross-correlation of the signals (i.e. with respect to a one selected channel),
  • finding position of maximums of cross-correlations in order to estimate relative delays of the channels,
  • correcting the delays so the channels are time-synchronized,
  • switching the dongles to their target frequencies,
  • changing other parameters of the channels (like gains) to target values.

With his Multi-RTL GNU Radio block Piotr was able to successfully monitor a GSM uplink and downlink channel pair that were spaced 45 MHz apart. Whilst monitoring the signals he sent an SMS to his phone, and then using his recovered encryption key was able to use gr-gsm to decode his message.

The successful implementation of this tool opens the door for many more RTL-SDR based projects, such as the reception of GSM uplink and downlink channels simultaneously, reception of frequency hopping signals, passive radar, and the receiving and decoding of signals with a bandwidth wider than 2.4 MHz.

Two dongles with a common clock.
Two dongles with a common clock.
Synchronizing two dongles by using an external signal.
Synchronizing two dongles by using an external signal.

Sniffing Data from an Implanted Heart Defibrillator

Over on Hackaday a team are attempting to reverse engineer the RF data logging portion of an implanted cardiac defibrillator (ICD) as their Hackaday prize entry. An ICD defibrillator works by monitoring heart condition and automatically applying gentle shocks to put the heart back into a stable rhythm if an abnormal rhythm is detected. Modern implanted defibrillators log heart data and transmit the log daily to a base station, which is then forwarded to the doctor for analysis.

Unfortunately patients who are interested in taking a more active approach to their health (such as one member of the team who herself has an implanted defibrillator) do not get to see this data. The team are hoping to use an RTL-SDR to sniff this data which is transmitted in the 402 – 405 MHz ISM band, and then implement a decoder. So far they have successfully been able to capture some signals, and are working on decoding them into data.

By reverse engineering the signal they hope to draw attention to the fact that healthcare providers are not providing real time body data to the patient, preventing them from making their own informed decisions about their health. They write:

It’s all about making informed decisions. A patient knowing about arrhytmias episodes that occured to him/her has the power to change his lifestyle accordingly, by deducing the factors that have influenced his recent attacks and eliminating them – i.e. observing his/her heart condition according to his/her sleep schedule, work rhythm, food choices and participation in sports. As for now, the patients can only hope to get some information on ICD-prevented arrhytmias on scheduled appointments with their doctor, which often occur once a year or even less often. This eliminates any possibility of making informed choices by using patient’s lifestyle data for future arrhythmia episode prevention.

The planned reception and decoding flowgraph.
The planned reception and decoding flowgraph.

Decoding the NOAA Weather Satellite Telemetry Beacons

It is well known that the NOAA satellites broadcast weather satellite images which can be received and displayed with an RTL-SDR and computer. What is less known is that there is a telemetry beacon that is also transmitted by the same satellites. The telemetry not only contains data such as the current spacecraft time, day and ID, but also contains scientific data from on board instruments such as:

  • The HIRS/3 and HIRS/4 instruments which is a high resolution infrared sounder which can be used to create a low resolution multi-spectral scan of the earth. (more info)
  • The Space Environment Monitor (SEM-2) which has a Medium Energy Proton and Electron Detector (MEPED), and a Total Energy Detector (TED). This experiment is used to measure the effect of the sun on satellite communications. (more info)
  • The experimental DCS/2 transmitter which retransmits signals from 401.65 MHz sea buoys, arctic fox collars, sea ice monitors, weather balloons and more. (more info pdf)
  • The ARGOS Advanced Data Collection System (ADCS) which amongst other uses is used in research for tracking animal GPS collars around the world.

On GitHub user nebarnix has been working on a standalone C based decoder for these NOAA satellite telemetry beacons. So far from her wiki log, it appears that she has been able to get HIRS decoding and producing an image, receive and graph SEM-2 data, and decode the locations of some fixed DCS transmitters.

A HIRS multispectrum scan of the earth from the NOAA-18 satellite telemetry beacon.
A HIRS multispectrum scan of the earth from the NOAA-18 satellite telemetry beacon.

Building a very low cost satellite tracker for your RTL-SDR

A satellite tracker is a motorized unit that points a directional antenna towards passing satellites. Most satellites are not in a fixed orbit, and will fly over your head a few times a day and will be receivable for a few minutes, and a directional antenna is usually recommended since the signals can be weak. The goal of the SatNOGS project is to set up various volunteer satellite tracker stations around the world, and network the received data on the internet, so that satellite data is always being received and shared.

Over on his blog, Paul has written up a tutorial showing how he’s managed to make a super cheap satellite tracker for his RTL-SDR using some pan/tilt servos, a Yagi antenna made from measuring tape, and and Arduino running the SatNOGS tracking software. When he tested the tracker he was able to receive NOAA 18 and some of the XW-2 satellites.

Although the tracker works, he admits that there are some problems and that it is probably not as good as the SatNOGS recommended build, which is a more permanent solution. But the SatNOGS build requires access to a 3D printer and higher quality components, so Paul’s solution is a much cheaper solution to implement at least for experimentation.

The low cost satellite tracker built by Paul.
The low cost satellite tracker built by Paul.

Satellite Tracker NOAA 18 40x

Demonstrating the IF Processor and Notch Filter Plugin in SDR#

Over on YouTube user  FMDX HUN (Luc1f3rk0) has uploaded a video showing how useful the SDR# IF Processor and Notch Filter Plugin can be when attempting to DX FM broadcast stations. He shows that it can be used to listen to stations that are almost overlapping by cutting out the unwanted signal.

The plugin itself can be downloaded from http://rtl-sdr.ru/page/para-novyh-plaginov.

SDRSharp+IF Processor & Tracking Notch Filter Plugin demostration

QSpectrumAnalyzer Updated to Version 1.4.0

QSpectrumAnalyzer is a Linux based opensource GUI front end for rtl_power or rtl_power_fftw and can be used with an RTL-SDR to scan for signal activity on wide swaths of the frequency spectrum. Recently QSpectrumAnalyzer was updated to version 1.4.0 and the new updates add the following features:

  • Max peak hold
  • Min peak hold
  • Averaging
  • Spectrum Persistence (RTSA fosphor-like effect)
  • Smoothing

Previously we posted about QSpectrumAnalyzers ability to use rtl_power_fftw, which is a much faster version of rtl_power. The new features help make the spectrum view clearer especially when using rtl_power_fftw at a very short interval.

qspectrumanalyzer_screenshot qspectrumanalyzer_screenshot2

Building a Tuning Knob for SDR#

If you love using SDR’s on the PC but miss the old feeling of tuning the frequency with a knob then 19max63 has a solution for you. On his blog he’s posted about how he built his own tuning knob by using a USB mouse PCB circuit and replacing the mouse wheel with a rotary encoder with no detents. Detents are the little clicks or steps that you can feel in some knobs, but for accurate frequency tuning you don’t want those.

His post shows the exact parts he bought (knob, mouse, buttons), the mods he made to the knob and mouse PCB, and how he put it all together. He writes that parts can all be found cheaply on eBay or Aliexpress and the total cost to produce a single knob was only about $4 (though he had to buy some parts in lots of 5 to 10).

The finished tuning kob for RTL-SDR and SDR#.
The finished tuning kob for RTL-SDR and SDR#.

Using Aisdecoder to decode both AIS channels simultaneously

Recently SV3EXP wrote in to let us know that he has been documenting his experiences with trying to get aisdecoder to decode both AIS channels simultaneously. AIS stands for Automatic Identification System, and is a system used to track the locations of marine vessels. With an RTL-SDR or other SDR radio, and appropriate decoder software you can plot ship positions on a map. As the AIS system uses two separate channels for redundancy, you can get a faster and more reliable update rate if you monitor and decode both channels.

On his blog SV3EXP shows how he uses Linux and the "demod" and "csdr" tools to demodulate multiple channels at the same time from IQ data generated by rtl_fm. The demodulated data is then fed to the aisdecoder software for decoding, and then fed to aisdispatcher for feeding the AISHub.net AIS data aggregation website.

Of course the easier solution to decode both AIS channels at once is to use decoding software that already supports this, such as AISdeco2 or AISrec which can be downloaded at http://xdeco.org, and https://sites.google.com/site/feverlaysoft respectively. But regardless SV3EXP's method does show an interesting way to demodulate multiple streams using only command line tools.

SV3EXP also wanted to point out that he is selling a bias tee powered PSA4-5043+ based LNA on eBay which is compatible with the bias tee on our RTL-SDR Blog SDR units.

AISHub Coverage Areas
AISHub Coverage Areas