Recovering 433MHz Messages with RTL-SDR and MATLAB

Recently reader Ilias wrote in to let us know about a post he uploaded to his blog showing how he was able to decode data from a device transmitting at 433 MHz using an RTL-SDR and MATLAB. MATLAB is a technical computing language that can be used for signal analysis and processing. His post clearly explains the steps he took and is a great aide for anyone wanting to learn about decoding simple signals.

The goal of Ilias’ project was to be able to use the RTL-SDR and MATLAB to uncover the details of a 433 MHz transmitter he bought on Ebay. He wanted to see if he could determine the protocol and recover the data before even looking at the transmitter’s library code.

To do this he first used SDR# to record the data sent at 433 MHz. Then by looking at the waveform in the Audacity audio editor he was able to determine that the signal was on-off-key (OOK) modulated and from this knowledge he was able to manually recover the binary string. Next he used MATLAB to create a program that can automatically decode the received OOK signal. His post goes into further detail about the signal processing steps he took in MATLAB.

433 MHz OOK Transmitter
433 MHz OOK Transmitter

Getting started with amateur satellite reception and the RTL-SDR

Over on the blog the author Jan has uploaded a post introducing the hobby of amateur satellite reception with the RTL-SDR (in German, use Google Translate). Amateur radio satellites may transmit signals like CW (morse code), voice, APRS and telemetry.

In the article Jan discusses the antennas required to receive satellites, the satellite tracking software gpredict and he introduces some amateur radio satellites that have strong transmitters and are thus easy to receive. He also shows waterfall screenshots of several amateur radio satellites that he has received.

FO-29 Doppler Effect
FO-29 Doppler Effect

Sigidwiki and our Facebook and Twitter Pages

Our radio signal identification wiki has now been running for half a year and is starting to collect a wide range of example signals. We just wanted to remind you of the site and to submit any example signals or information that you may have to the wiki.

We would also like to remind everyone to follow us on Facebook and Twitter to hear about our posts as soon as they go up. We also often retweet interesting SDR related tweets by other users and have user comments and discussions on our Facebook page. Later in the year we also hope to hold some giveaways and competitions through these platforms.



Using filters to deal with interfering transmissions on the RTL-SDR

Over on a German ham blog, a contributer called Jan has written a post showing his results with filtering and the RTL-SDR (language in German, use Google translate).

Jan uses a DPX-210-270 diplexer which splits an antenna port into two ports with one port having a 50 – 210 MHz low pass filter and the other having a 270 – 1000 MHz high pass filter. His first test shows that the low pass filter correctly attenuates some TETRA signals at around 390 MHz. In his second test he scans the broadcast FM frequency range and finds that with the low pass filter enabled there was a 3.5 dB increase in signal strength for one station and a 10 dB increase for another.

Attenuation of higher frequencies provided by the low pass filter.
Attenuation of higher frequencies provided by the low pass filter.

Testing GNU Radio on the Raspberry Pi 2

Earlier this year the successor to the hugely popular Raspberry Pi, the Raspberry Pi 2 was released. The Raspberry Pi 2 is a mini embedded computer that can run Linux.

Over on the RS Design Spark website Andrew Back has posted a tutorial showing how he installed GNU Radio and RTL-SDR on the Raspberry Pi 2. He also shows that the Raspberry Pi 2 runs the CPU intensive GNU Radio software well, utilizing 70% CPU when running osmocom_fft, a GNU Radio based spectrum analyzer. Andrew also installs and tests the gr-air-modes GNU Radio program which is an ADS-B receiver, finding that it also performed well with low CPU utilization.

Raspberry Pi 2 with an RTL-SDR Dongle Attached
Raspberry Pi 2 with an RTL-SDR Dongle Attached

SDR# Plugins: Frequency Manager Updated and New RDS Logger Plugin

Recently the commonly used frequency manager plugin for SDR# was updated to version 1.6. The latest version can be downloaded from The updates are as follows:

  • The Frequency Description is now displayed in the upper-right corner of the spectrum analyzer, along with the indicator for multiple database entries for that frequency.
  • As a result of moving the above information to the spectrum analyzer, the Frequency Manager panel is now 35% smaller.
  • The Clipboard Monitor now optionally watches the clipboard for frequencies you might have copied from the internet; and if that can be converted to a MHz value it tunes the radio to that frequency.
  • Function Keys F1-F10 can now be used to tune to a preset frequency.


  • A new Minimum Signal Strength Line is displayed on the spectrum display.  This, along with real-time display of the current signal’s strength when the scanner is running, let you see at a glance how that signal compares to your scanner settings.  In addition you can use customize the line with one of 6 line patterns.
  • Current Signal Strength in dB is displayed in the upper right corner of the spectrum analyzer, just after the Frequency Description.
  • Timeout and Watchdog timers’ indicators are now displayed in the upper right corner of the spectrum analyzer.

Also, on the SDR# Yahoo group discussion mailing list user Andy Pritchard has released a beta version of his new RDS Data Logger plugin for SDR#. This plugin can be used to log Radio Data System (RDS) data on a single frequency or on multiple frequencies by using the scan function. It can be a very useful tool for FM DXers. The plugin is still in beta but can be downloaded now directly from Later versions may be released on the SDR# Yahoo group.

RDS Data Logger SDR# Plugin
RDS Data Logger SDR# Plugin

New RTL-SDR Radio Data System (RDS) Decoder: Redsea

Signals hacker Oona Räisänen has released on GitHub a new software tool for the RTL-SDR called Redsea. On her blog she explains that Redsea is a Linux and OSX compatible perl based command line Radio Data System (RDS) decoder that uses the rtl_fm tool. Oona’s post explains a little about how RDS works and also explains how her software actually decodes RDS.

The Radio Data System (RDS) is a digital data subcarrier built into some broadcast FM signals. It usually carries information such as the station name and the song currently playing.

RDS Waveforms
RDS Waveform Decoding Steps

Comparing the Ham-It-Up Upconverter with the SV1AFN Upconverter

Over on YouTube user Mile Kokotov has uploaded a video showing a comparison between the ham-it-up and SV1AFN upconverters. An upconverter allows reception of VLF to HF signals with SDR dongles such as the Airpsy and RTL-SDR.

Mile shows that both the ham-it-up and SV1AFN upconverters use the same core component, a double balanced mixer ADE-1. However, the ham-it-up comes with the option for a noise circuit to be populated. A noise circuit is useful if you want to measure the response of a filter or antenna for example. With the ham-it-up the noise source components are sold seperately and need to be carefully soldered on.

On the other hand the SV1AFN upconverter comes with a built in selectable LNA and better filtering circuitry. The SV1AFN upconverter also uses the ADE-1 in a slightly different design compared to the ham-it-up which allows for much improved performance at VLF frequencies.

In the results Mile uses his Airspy and shows that the SV1AFN upconverter is significantly better at receiving VLF frequencies, and also better at receiving a 28.205 MHz beacon. The results are summarized in the table captured from the video shown in the image below. In the second video Mile also compares the local oscillator drift of each upconverter.

Upconverter comparison results.
Upconverter comparison results screencap.
RF Upconverters Comparison: Ham it Up vs SV1AFN – part1

Airspy Reception Tips and Tricks: Receiving Weak Signals with Strong Nearby Signals

Over on YouTube user Mile Kokotov has uploaded a video showing how he optimizes reception of weak signals in the presence of strong signals on the Airspy software defined radio. He writes:

Using Airspy SDR, I find the interesting way to improve SNR (Signal to Noise Ratio) of the receiving signal, especially in case when very weak signal, which is signal of interest, is close to strong unwanted signals making nonlinear distortion in the receiver front end.

There are two cases:

1. If the weak signal frequency is higher than strong unwanted signals, than you can place the weak signal to the left edge of spectrum window, just before the receiving signal levels goes down to the left. Then you can increase the IF-Gain, Mix-Gain and LNA-Gain so you can improve SNR of weak signal without getting nonlinear distortion from the strong signals with lower frequency.

2. If the weak signal frequency is lower than strong unwanted signals, than you can place the weak signal to the right edge of spectrum window, just before the receiving signal levels goes down to the right. Then you can increase the IF-Gain, Mix-Gain and LNA-Gain so you can improve SNR of weak signal without getting nonlinear distortion from the strong signals with higher frequency.

Of course, the best possible way to improve SNR in wide-band receivers sach is Airspy, Funcube, RTL-SDR and others, is by using narrow filter before Airspy front end, but you will loose wide-band possibilities in that way…

The Wide Dynamic range LNA at the antenna side is strongly recommended for VHF/UHF !

AIRSPY SDR – Tips & Tricks Receiving Weak signals with Strong ones near by

New software rtl_heatmap: Web based waterfall plotter for rtl_power

Over on GitHub a new heatmap plotter for rtl_power has been released. The software is called rtl_heatmap and is software that can be used to create a heatmap from the csv data produced by rtl_power. The software creates the heatmap and also adds frequency marker information to the plot. Rtl_heatmap is written in JS and HTML5 and is a web browser based app.

Rtl_power is a tool that can scan a large chunk of bandwidth with an RTL-SDR dongle and record signal power levels over time.

A demo of the software in action can be found at

rtl_heatmap is a web based heatmap plotter for rtl_power
rtl_heatmap is a web based heatmap plotter for rtl_power