This is a course focusing on understanding and applying key principles of digital radio communications.  It is for product developers wanting to exploit new radio ideas as well as established engineers looking to better understand the interface between digital signals and analogue RF hardware. 

The course builds on common engineering fundaments to understand the principles of discrete and continuous time signals. Then, using the software and hardware provided, the objective is to learn all the steps needed to convert data into a QPSK modulated signal, transmitter it as RF, then receive and decode the signals back to the original data. Along the way students will learn the details of the various steps, observe fundamental DSP concepts as well as appreciate how modern highly integrated RF ICs make it straight forward to apply this to a huge range of possible applications..

Radio System Design
Radio System Design


The course is sub divided into modules of roughly 2 hours, each of which consists of theory in a lecture style, then practical application using the supplied materials and finishing with a tutorial style discussion of the findings.  Students use their own laptop and a standard internet connection to a remote desktop server on a raspberry pi computer (RPi). All the software and drivers for the SDR radio are pre-installed on the RPi, so that all work from a common software environment, maximising the time dedicated to learning about SDR. 

The SDR radio called ADALM Pluto is also provided, it connects to the RPi via USB and can generate and receive microwave signals, creating a mini RF lab for the course.  Students can use a mac or a pc as the laptop; all the software runs on the RPi, so that no software from the course is loaded or run on the student’s laptop. The practical sessions combine DSP simulation, using GNU Radio Companion (GRC) and the Pluto hardware to apply the theory to practice and understand the internal workings of digital radios. 

The course provides pre-prepared data files for various practical exercises some with jupyter notebooks, running python code, to help illustrate and consolidate the key DSP principles in each section.

Day 1
After a brief introduction and familiarisation with the hardware and software, students will build a basic FM broadcast receiver. Then using the iio oscilloscope program look at RF signals to observe the practical issues of bandwidth, sampling rate, rate conversion and filtering. These topics are then developed further as individual modules for the remaining day. Items covered include aliased signals, dynamic range as well as fundamentals of digital filters, windowing functions and using the GNU Radio Filter design program for more advances filter structures.

Day 2
Building from day 1, the lectures introduce both up and down sample rate conversion and the optimum methods to accomplish it. Then, development of a QPSK modulated transmitter and corresponding receiver is investigated. Using GRC, the DSP aspects of the Tx are developed showing the progression from digits to symbols via constellation mapping, then interpolation and application to the Pluto transmit hardware to create an RF signal. Using a loop back cable the signal is received via Pluto with the digital data fed to GRC where DSP blocks are used to illustrating down sampling, timing recovery, matched filtering and channel adaption. The hardware and software provided lets students accomplish this for themselves giving then a solid foundation on all the key concepts in the vital new area of radio technology.


This is a course focusing on understanding and applying key principles of digital radio concepts.  It is for product developers wanting to exploit new radio ideas as well as established engineers looking to better understand the interface between digital signals and analogue RF hardware.  Using a low cost development platform and open source software, the course demonstrates the now very low barrier to entry to this previously specialised area of technology.

Radio System Design

Day 1 – Practical illustration of DSP fundamentals
1) Introduction
After looking at the hardware provided, connecting to the RPi desktop server, and familiarisation with the
common GUI interface, student use GRC Radio to build an FM radio receiver. The DSP equivalent of the
‘hello world’ program with the live audio output is available from the audio output of the RPi. This
illustrates some of the GRC visualisation tools, setting the sampling rate, seeing why rate conversion is
needed and matching data streams to the RPi audio output.

2) Sampling
Then the fundamentals of sampling are discussed, observing the raw digital data of a real test signal from
the Pluto ADC. This uses a dedicated program from Analog Devices, IIO Oscilloscope, that allows easy
control of the internals of Pluto, creating a test signal and extracting the ADC output to view in the time
or frequency domains. The practical section helps consolidate the trade-off between sampling rate, the
number of bits, noise and bandwidth. Using real RF hardware, this section also illustrates some of the
practical limitations independently of the other DSP considerations.

3) Filtering
The last section of the day introduces digital filters, with an emphasis on finite impulse filters (FIR).
Fundamentally this is a real time convolution operations that can create high pass, low pass and bandpass
filters. These are illustrated via jupyter notebooks and GRC tools showing tap calculations, windowing
functions and various practical design trade-offs. There is also a filter design tool with GRC that is used
to generate examples of more complex filters.

Day 2 – Implementation of a digital radio link
4) Scaling
Building on day 1, the first section investigates both up and down sampling rate conversion; the
fundamental importance and the key issues in implementing these functions accurately and efficiently. It
also introduces other important digital filtering function, the half band filter and the advantages of multirate

5) Transmitting
The first step to creating a digital radio link is to create a transmit signal. This section discusses creating
the digital base band data, mapping that to symbols and creating an IQ data stream for up conversion to
RF. The actual RF signal is created in the Pluto hardware, illustrating the essential of up sampling and
filtering to create a clean signal with restricted RF bandwidth. This section introduces another important
digital filter, the raised cosine filter, with a demonstration of how it minimises inter-symbol interference.

6) Receiving
The last part of the course connects the Pluto transmitter via an RF loop back cable to the Pluto receiver.
Then using GRC blocks, the key principles of down sampling, matched filtering, timing recovery,
frequency synchronisation and channel adaption are illustrated. The details of these functions are
demonstrated in the practical section with various GRC flow graphs shows the concepts embodied in the
quite sophisticated GRC block used.

Said about the course from previous participants:

"Extraordinary broad technical oriented systems overview."

"It was related to reality. A lot of examples. Useful hints, links. Presented tools that can be used for radio designing."

"Not only the dry math, but visually anchored (pictures, diagrams) etc."

"Getting insight into the more recent developments of radio design."

"Gives insight (many pictures / animations using the tools/black board) into the theory of radio."