Listen to radio signals with RTL-SDR
DVB-T dongles based on the Realtek RTL2832U can be used as a cheap SDR, since the chip allows transferring the raw I/Q samples to the host, which is officially used for DAB/DAB+/FM demodulation. The possibility of this has been discovered by Eric Fry.
Last April I decided to get a DVB-T USB tuner to play with, so I went and found a "RTL2832U + R820T2" listing on AliExpress. About two months later, I received the package. Fortunately, it came unharmed and also relatively quickly (from what I've read of other experiences).
Setting up my Linux PC with the RTL-SDR software was pretty simple. The ArchWiki has a useful page on installing the packages which override the default drivers. I also installed Gqrx to interactively scan and listen to frequencies.
On the hardware side, all it took was to plug in the antenna that came with the tuner. A simple step that improves the reception, however, is putting the magnetic base of the antenna on a flat horizontal metallic surface, which is how it's intended to be used; and for that purpose, I used a side panel from an ATX PC case. A cookie baking sheet is also a viable candidate.
Now, on to the actual finding and listening to radio signals! The dongle operates from around 24 to 1766 MHz (without any special drivers or hardware mods), and although the provided antenna is most effective from 470 to 862 MHz, it can pick up signals all over the tuner's range, some better than others. Just by opening up Gqrx, entering in the frequencies of local FM stations, and switching the modulation to WFM, I was able to hear them clearly.
Gqrx tuned into a local FM radio station.
The waterfall display makes it easy to spot signals near the selected frequency, but the limited bandwidth of the tuner makes it inconvenient to find new signals, as you need to scroll along and hope that someone is transmitting just as you listen. To deal with this, I used rtl_power, which comes bundled with the driver software. It is able to scan the entire range of the tuner continuously, logging the data to a file that can then be used to generate a waterfall graph, with the heatmap.py script.
A 24-hour full range scan from an E4000 tuner. (from superkuh.com)
With a graph like the one above, I was able to identify and tune into a few unencrypted radio signals, all of them using narrow FM modulation. These included various radio chatter, like harbour tugboats directing each other, and harbour personnel at work, among other stuff.
I later discovered, in searching for known frequencies on Google, that the Brazilian National Telecommunications Agency (ANATEL) has a search page for the listing of registered frequencies which also provides the location of the transmitters. I am now working on using this data to map out the transmitters near me.
Another signal the tuner is capable of receiving is ADS-B (at 1090 MHz), used by airplanes to prevent mid-air collisions. As such, airplanes equipped with this system periodically broadcast messages with their identification, GPS coordinates, speed, and other data. I will talk about this in a future post.
A further popular use of the tuner is receiving images from NOAA satellites, which requires a bigger antenna. Whilst not having explored everything that the tuner and stock antenna provide in their standard form, I'm already looking into building a new antenna and doing hardware mods to venture into the lower bands of HF, where even more interesting stuff may be found!
The RTL-SDR subreddit (/r/RTLSDR) is a great and helpful community for learning all about this stuff. For those unwilling or unable to buy a USB tuner, there are several radio receivers (the proper ones) available for you to use. WebSDR.org lists a bunch of them all over the world, spanning many frequencies.
Thanks to the all the folks involved in the discovery of RTL-SDR and in the development of the various open source software that made this stuff possible and affordable.
Thank you for reading.