Tagged: rtl_power

Creating an RF Proximity Alarm (Close Call) with an RTL-SDR

“Close Call” is a feature that some radio scanners have which notifies the user when there is a radio transmitter that is in the near vicinity (such as from a police radio). It works by detecting the strength of signals from near field emissions, and it requires a strong RF signal to trigger.

Over on the ar15.com forums, user seek2 wanted something similar to the “close call” feature, but didn’t want certain transmissions like APRS signals from hams driving by to set it off. He also didn’t want to be restricted to near field emissions, rather he wanted something that acted more like a squelch that would activate for strong signals only.

To implement this seek2 used an RTL-SDR dongle, together with the rtl_power spectrum scanning software. He outputs the signal strength data generated by rtl_power to a CSV file which is then piped into a tail -f terminal command in Linux which simply outputs the latest lines of the CSV file as it updates in real time. Then he uses a simple Python script to monitor the output and to set off an alarm and report strong signals when it see’s them. His script is also used to filter out reports from strong unwanted signals like APRS.

Below is a video showing an example of Close Call working on a Uniden hardware radio scanner for reference.

Uniden CloseCall© What is it? How does it work? How well does it perform?

QSpectrumAnalyzer Updated to support rtl_power_fftw

QSpectrumAnalyzer is a Linux GUI for rtl_power which allows you to easily do wideband scans that are much wider than the RTL-SDR’s maximum bandwidth. RTL_power works by quickly switching between different frequencies and recording power values in each hop, then stitching them all together. A GUI for rtl_power can be used to display an FFT spectrum and waterfall for easy analysis.

Recently we posted about the release of rtl_power_fftw, which was a modified version of rtl_power. This modified version used a more efficient FFT library and reduces the acquisition time, which for rtl_power was capped at 1 second per scan. Essentially this means that rtl_power_fftw can do frequency scans much faster (though with less integration). In basic terms this means that you can now visualize large spectrum sweeps whilst having the waterfall look near real time.

Now QSpectrumAnalyzer has been updated to support rtl_power_fftw. To use rtl_power_fftw you’ll need to download and compile it yourself from https://github.com/AD-Vega/rtl-power-fftw. The compilation instructions are shown on the Github page, but you’ll also need to install the pkg-config, libtclap-dev and libfftw3-dev libraries first. Then once compiled in QSpectrumAnalyzer you can select the rtl_power_fftw binary in the settings.

The latest release of QSpectrumAnalyzer can be downloaded from https://github.com/xmikos/qspectrumanalyzer/releases.

QSpectrumAnalyzer with rtl_power_fftw doing a 7 MHz scan of the FM broadcast band.
QSpectrumAnalyzer with rtl_power_fftw doing a 7 MHz scan of the FM broadcast band.

rtl_power_fftw: An improved version of rtl_power designed for radio astronomy

As the RTL-SDR’s maximum usable bandwidth is about 2.8 MHz, programs like rtl_power were written to scan over wider bandwidths by quickly hopping between different swaths of the frequency spectrum and then stitching the data together.

Now a new improved version of rtl_power called rtl_power_fftw has recently been developed and released. This version is designed for radio astronomy use, but also overcomes several issues general users may encounter with rtl_power. One of the authors, Klemen wrote in to us with this information:

I would like to tell you about a program we have been developing at Astronomical Society Vega – Ljubljana, namely one for measuring power spectrum with rtl dongles.

It addresses several shortcomings of the rtl_power program shipped with librtlsdr. The most notable is that it uses a much faster FFT algorithm (from the fftw3 library) and separate threads for acquiring data and FFT processing. This means that even the lowly raspberry pi is capable of processing spectra of sizes up to ~1024 bins in real-time (no slower than data acquisition). This enables the user to sample spectrum continuously and more efficiently.

The other benefit is the output format: data is presented in a gnuplot-friendly way, so plotting is simple, and no data is mangled to make an illusion that spectral hopping is not needed: FFT of each frequency hop is output separately, and user can make and informed decision on how to process data – the program stays out of this, to preserve the accuracy of the gathered data.

The program was developed for use in radio astronomy where all these things matter. Code is available on Github:


Spektrum: New RTL-SDR Spectrum Analyzer Software

Recently a reader of RTL-SDR.com, Pavel wrote in to let us know about a new program called “Spektrum” which he has written. Spektrum runs on Windows and Linux and turns an RTL-SDR dongle into a spectrum analyzer in a similar way to rtl_power GUI front ends and RTLSDR Scanner. However one key improvement is that it is based on a version of rtl_power that has been modified by Pavel in order to make it more responsive and remove the need to wait until a full sweep is completed before you can see any results. The modified version of rtl_power can be found at https://github.com/pavels/rtl-sdr.

Spektrum also has an additional “relative mode” feature. This allows Spektrum to be easily used together with a wideband noise source to measure things like filter characteristics and the VSWR of antennas. See our previous tutorial on this here, but note that in our tutorial we used Excel instead of Spektrum to do relative measurements.

The Processing language was used to create Spektrum and Pavel has also released his processing library for accessing rtl_power functionality over at https://github.com/pavels/processing-rtlspektum-lib/releases.

Ready to use releases of Spektrum for Windows and Linux 64-Bit OSes can be downloaded from https://github.com/pavels/spektrum/releases. Note that there may be a bug with the current release which causes only a gray window to show, but we’ve contacted the author about it and it may be fixed soon.

Spektrum: A new spectrum analyzer program for the RTL-SDR
Spektrum: A new spectrum analyzer program for the RTL-SDR

RTL-gopow: New heat map tool

Rtl_power is a tool that allows you to create wide band signal strength heat maps over a long length of time. It works by very quickly hopping across the spectrum, capturing the RTL-SDR bandwidth of about 2 MHz at a time, and then displaying it on a heat map. This is useful for seeing what frequencies are active and at what times. 

Usually to obtain a heat map with rtl_power you need to record the data first, and then pass it through a Python program called heatmap.py which creates the heat map image file. Now there is rtl_gopow which is a new program that directly creates a PNG heat map file from an rtl_power sweep. It is currently available for OSX, Linux, Linux ARM, and Windows.

You can download the binary releases here.

2.5 hour long heat map generated by RTL_GOPOW
2.5 hour long heat map generated by RTL_GOPOW

RTL_Power Frequency Display Software

Programmer MichelinoK has recently posted about another piece of RTL-SDR related software that he has just released. His latest software is called RTL_POWER Display and is a Windows program that allows you to simply use your mouse to determine the frequency of a signal within a waterfall plot that was previously produced by rtl_power.

Rtl_power is a command line program that can be used to create very wideband spectrum scans over a long period of time with an RTL-SDR. It comes with the official RTL-SDR release, but a more modern version can be downloaded from keenerds Windows builds.

RTL_POWER Display Screenshot
RTL_POWER Display Screenshot

New GUI for rtl_power: QSpectrumAnalyzer

A new GUI for rtl_power has been released by programmer Mikos. Although there are already several rtl_power GUIs and spectrum analyser applications that exist, Mikos developed QSpectrumAnalyzer because he found that the alternatives were either slow, closed source or Windows only.

Rtl_power is a command line tool that can be used with an RTL-SDR to create a spectrum scan of a large swath of bandwidth that is greater than the RTL-SDRs maximum sample rate.

The project can be found at https://github.com/xmikos/qspectrumanalyzer and Mikos is open to pull requests on GitHub.

QSpectrumAnalyzer GUI for  rtl_power
QSpectrumAnalyzer GUI for rtl_power

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 http://heat.wq.lc/.

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