SDR Course

Learning about wireless communication is incomplete without sending any actual data over the air through a wireless channel. In this course, the theoretical knowledge you gain from my book is complemented with a wireless communication project:

– Sending and receiving a file over the air through an OFDM system using a speaker (as a Tx) and a microphone (as a Rx)

A wireless channel with speakers and microphone

Moreover, this course also covers the fundamental concepts of DSP and Software Defined Radio (SDR) without using any mathematics. Consequently, this is a summary of main ideas in relation to wireless communication systems from an SDR perspective.

Let us delve into more details below.

Rapid Skill Acquisition


Emphasizing on the most valuable stuff is crucial to learning any field. This is the key to rapid skill acquisition where we can go from 0.00 to 0.75 in a reasonably quick time. To understand this further, consider the following series.

\begin{equation*}
\frac{1}{2} + \frac{1}{4} + \frac{1}{8} + \frac{1}{16} + \cdots = 1
\end{equation*}
Now let us draw this series in a diagram.

An infinite series converting to 1

I want to bring your attention to the following points.

  1. The same concept is much easier to understand from the above diagram as compared to the equation. While a mathematician would rightly argue that this is not a rigorous proof, it serves our purpose well.
  2. Even though 1/2 + 1/4, the shaded part in the diagram, does not become 1, it covers a substantial part of the whole. Similarly, from watching these videos and doing the provided GNU Radio exercises, you will gain an expert working knowledge of the subject that can be acquired within a reasonable time.
How exactly do I help here?

In old days, the information was scarce and we needed to learn everything, regardless of where it was coming from. In the past few decades, particularly with the rise of wireless connectivity and Internet, we have far more information than we can handle and the target should be to save our time and energy by separating the important from the unimportant. This is where I help the viewer by focusing on the main ideas.



Learning = Information + Activity


You might think that if you can read the book and understand all the concepts, what is the advantage of watching the videos and doing the GNU Radio exercises. Below I describe the main issue with most online courses and how this course solves that problem.

StairsAt its core, learning anything involves two parts: (a) information, and (b) activity. A simple act of walking or climbing to the top of any stairs is very difficult by committing only one leg to this task. Similarly, the first step towards expertise is acquiring information through books, people and online resources. The second step is doing the activity. Then, continue the cycle.

Information → activity → more information → more activity, ……

Some experts refer to this as the Input + Output cycle of our minds. In our context, these two parts are: (a) knowledge of communications and DSP algorithms, and (b) building (in fact, coding) the software defined radios.

To complement the knowledge part from the video lectures, this course provides several GNU Radio Companion (GRC) exercises for you to play with and learn about wireless communications by walking the path yourself. An example screenshot of a flowgraph is shown below (click on the image to enlarge it). GNU Radio flowgraph depicting a conjugate product with the underlying complex sinusoid For some built-in blocks, I explain the logic behind C++ code and relate them to the DSP algorithms explained in the lecture.



Wireless Transmission


Finally, we modify one of the GNU Radio examples to build a real OFDM system that sends a text and image file over the air. Since SDR hardware is usually expensive, we utilize a USB sound card to transmit and receive through the speakers and microphone, respectively. See a short demo of the received signal in a wireless setting below.

A short demo on OFDM

See the input and output image files below for an audio loopback cable and for the wireless transfer through the speakers/microphone combination.

Image file sent through an audio loopback cable

Image file sent over a wireless channel


Most importantly, you will become able to visualize the amazing world of signals that lies underneath the seemingly simple process of bits sent and bits received. A short demo based on the above flowgraph is shown below. See the signals come alive!

A short demo on unraveling the complex sinusoid



Target Audience


In light of the above, this course is more suited to the following audiences.

  • Telecommunication professionals interested in gaining hands-on knowledge of what exactly goes on in the physical (PHY) layer of a wireless network (this bridging of the gap between academic concepts and industrial practices proves even more valuable if your ultimate target is a good job in the wireless industry)
  • Radio hobbyists who have played with communication systems but lack an understanding of what lies under the hood
  • Programmers and hackers who want to speak the language of the machines by writing programs that make their words fly in the air
  • Curious people looking to expand their knowledge outside their areas of specialization
From outside, wireless communication feels like magic but once you perform the transmission and reception of your own words in a file, it reduces down to a bunch of clever tricks put together.

Course Contents


You can access the course here. Several GNU Radio exercises are provided with each module.

  1. Introduction to signals + DSP:
    Signals, complex numbers, frequency domain, DFT concept, sampling and aliasing, effect of time shift
  2. Introduction to systems:
    Linearity and time-invariance, convolution, FIR filters, AWGN
  3. Linear modulations:
    Digital communication, Pulse Amplitude Modulation (PAM), pulse shaping, Quadrature Amplitude Modulation (QAM), system diagnostics
  4. Phase Locked Loop (PLL):
    Introduction, PLL components, PLL design
  5. Carrier phase synchronization:
    Role of carrier phase offset, conjugate product estimator, phase error detectors in feedback loops, Costas loop
  6. Carrier frequency synchronization:
    Role of carrier frequency offset, feedforward estimators, Frequency Locked Loop (FLL), band edge FLL
  7. Timing or clock synchronization:
    Role of timing offset, why squaring is fundamental to timing sync, Timing Locked Loop (TLL), timing error detectors in feedback loops, Mueller and Muller clock recovery, polyphase clock synchronization
  8. Wireless channel:
    Introduction, multipath distortion, Doppler shift, from channel paths to channel taps
  9. Equalization:
    Linear equalization, LMS equalizer, decision feedback and blind equalization, Frequency Domain Equalization (FDE)
  10. Orthogonal Frequency Division Multiplexing (OFDM):
    Introduction, how OFDM works in time domain, how OFDM works in frequency domain, OFDM Tx/Rx implementation, timing sync, carrier sync, equalization
  11. Project – Over the air file transfer:
    Equipment, OFDM flowgraph, demos and results


Customer Testimonials


Videos are interesting and surely a good addition to the book. Practical exercises and the ability to experiment really help make everything more clear. The examples also show some good tricks to use GNU Radio better. Very good job!

Kristoff Bonne – ON1ARF, Belgium

 

 

This course simplifies communication systems and DSP with illustrations from my favorite software radio toolkit GNU Radio Companion and helps you understand the underlying concepts.

Murat Sever, ETU, Turkey

I’ve got to know Qasim/Wireless Pi via DSPRelated’s Online Conference where he had given two presentations. Then I saw he had published a book and a course with GNU Radio examples, and I purchased it. His approach is gradual but solid. He introduces complex topics in an effective manner and having GNU Radio examples is like having a lab in your room you can experiment with at will. I’m happy I purchased this book and course, and recommend it to anyone with an RF background in need of a refresh and an update.

Emanuele Ziglioli, DSP Engineer, GMV NSL, UK


The complete package contains 700+ figures which are placed at regular intervals keeping in mind the sampling theorem in DSP, i.e., a reader can miss the text and still connect the figures to form the concept up to a reasonable extent.

 

Basic Complete

  10-Chapter Wireless Communications eBook (PDF)
   
SDR course (videos) SDR course (videos)
Original slides Original slides
50 GNU Radio Companion (GRC) exercises 50 GNU Radio Companion (GRC) exercises
Over-the-air transmission project Over-the-air transmission project
   
  8-Chapter 5G eBook (PDF)


Trusted by practitioners from organizations like Companies logos and many more.


Frequently Asked Questions


Q. Can I transfer a file (text or image) over the air through GRC?

A. Yes. You can either purchase the SDR hardware such as HackRF, USRP, ADALM Pluto, etc., or you can use a sound card with speakers and microphones. See the last module where you modify an available GNU Radio example and apply the skills you learn in this course for a successful transmission.

Q. Is it a guide to build an SDR?

A. The focus of this course is on the DSP part of an SDR. Using concepts from time and frequency domains, you will come to know how to produce IQ samples on the Tx side that are fed into the SDR hardware. On the Rx side, once the RF signal is converted into IQ samples, you will understand the physical layer (PHY) algorithms leading to the detection of bits.

Q. Can GNU Radio be installed on Windows as well?

A. Yes. See this link. Remember that most flowgraphs work with GNU Radio version 3.8 or higher.