Linux Format

Build an FM radio receiver from a PC

The fun this issue is all about configuring a computer as a radio receiver. An introduction to GNU Radio concepts and its basic set up was provided in LXF261. This tutorial will expand on that knowledge to construct an FM radio receiver circuit with a flow graph. An antenna attached to a software-defined radio (SDR) dongle will capture a frequency-modulated (FM) broadcast radio-frequency (RF) signal. The signal will be digitally processed using GNU Radio software running on an Ubuntu 18.04 computer to produce an audio output. The reader can skip the set-up instructions that follow if they have completed the steps in LXF261 to install the GNU Radio application.

Let’s refresh the Ubuntu install with:

After installing the RTL-SDR dongle, use the command line to confirm that the hardware has been detected:

The command response Found Rafael Micro R820T tuner, and other details contained in message, confirms that the SDR dongle has been detected. Ignore the No E4000 tuner error. Locate GNU Radio Companion (GRC) icon in Ubuntu and start the application.

GRC is the application software for the user to access GNU Radio. GRC and GNU Radio are software projects supported by different development teams. The layout of GRC has changed through different versions. This tutorial was made using GNU Radio Companion version 3.7.11 as there appears to be some issues with the latest 3.8 release.

Here is a refresher of some of the GRC and concepts: uses flow graphs constructed with blocks () that contain one or more ports with specific data types to process signals. The data type between blocks must match in order to establish a connection. A block performs one signal-processing operation, such as generating signals, playing signals, establishing variables, and providing access to hardware (such as the speaker). Source Blocks have only output ports and Sink Blocks have only input ports. Every flow graph requires a minimum of one Source Block and one Sink Block in order to function. Flow graphs are assembled and run in the companion (GRC) application workspace. Libraries are organised into categories of blocks. The search function is a novice’s friend when trying to navigate the Libraries. provides a number of methods to identify errors. Users need to look for hints provided by the software to resolve the errors. Extra messaging is available inside the property box of blocks.

You’re reading a preview, subscribe to read more.

More from Linux Format

Linux Format5 min read
Some Ansible Advice For Around The Home!
Of late, this writer has been busy creating new virtual hosts for different things and decided that it would be an ideal time to get stuck into Ansible. Things have evolved in system management since Bash. Ansible is a great way to deploy software c
Linux Format14 min read
Ubuntu at 20
Without Ubuntu, the current Linux landscape would be unrecognisable. Back in October 2004, the first 4.10 (2004.10) release of Ubuntu, with its intriguing Warty Warthog code name, leapt from obscurity to being one of the most downloaded Linux distrib
Linux Format3 min read
Kernel Watch
Linus Torvalds announced the fourth RC (Release Candidate) for what will become Linux 6.9 in another few weeks. In his announcement, he noted that there was “Nothing particularly unusual going on this week – some new hardware mitigations may stand o

Related