SDR - Software Defined Radio on GnuLinux with Gqrx

Posted on

Introduction

SDR (Software Defined Radio) is a radio communication system where components that have been typically implemented in hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, etc…) are instead implemented by means of software on a personal computer.

The main advantage of SDR is the low cost.

In France (and many countries in Europe), we are free to use the 433MHz frequency (433,050 à 434,790 MHz).

This way we could be able to receive signal sent from the balloon, then decode the signal to get the coordinates etc…

Hardware

I ordered a USB dongle DVB-T RTL2832U+R820T:

  • 7€ on Ebay (shipping included)
  • Include antenna (and unused remote)
  • Able to receive from 24 MHz to 1766 MHz.
Product: RTL2838UHIDIR
Manufacturer: Realtek
Realtek Semiconductor Corp. RTL2838 DVB-T

The dongle is supposed to be RTL2832 but report on lsusb and dmesg as RTL2838

Software

I use Gqrx (GPLv3) to visualize and hear radio signal.

To install all dependencies I used this script. I modified it a bit for my LinuxMint Debian Edition distro. On my computer I take 1 hour and half to compile.

We can test with:

$ rtl_test
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Rafael Micro R820T tuner
Supported gain values (29):

To install Gqrx:

$ git clone https://github.com/csete/gqrx.git
$ cd gqrx
$ qmake
$ make
$ sudo cp gqrx /usr/local/bin/

Starting Gqrx:

$ gqrx
linux; GNU C+++
version 4.7.2; Boost_104900; UHD_003.005.002-56-g34052015
gr-osmosdr 871f0cc2 (0.0.1git) gnuradio 3.6.4.1
built-in device types: file fcd rtl rtl_tcp uhd
...

Then we can test by listering a “regular” radio:

We can see the space of few hundreds of KHz between radio channels.

We can change the volume of Gqrx with pavucontrol