Tagged: dsp

PySDR: A (Free) Guide to SDR and DSP using Python

Dr. Marc Lichtman has recently released his free online PySDR guide to Digital Signal Processing (DSP) explained with the help of software defined radio and Python code. Over the years we've seen numerous SDR & DSP courses come out, some requiring payment and some free. We note that this guide is completely free, and appears to be one of the better if not the best guide in terms of explaining DSP fundamental concepts in an easy to understand way. A lot of visualizations and animations are used which really help anyone new to the subject.

While the explanations are very good, please note that this is still a technical University level guide intended for Computer Science or Engineering students, so prerequisite knowledge is required. Dr. Marc recommends it for someone who is:

  1. Interested in using SDRs to do cool stuff
  2. Good with Python
  3. Relatively new to DSP, wireless communications, and SDR
  4. A visual learner, preferring animations over equations
  5. Better at understanding equations after learning the concepts
  6. Looking for concise explanations, not a 1000 page textbook

The SDR hardware used in the book examples is the PlutoSDR which is a fairly low cost SDR intended for use by students. However, the PlutoSDR isn't required as most of the code examples use generated data.

cuSignal: Easy CUDA GPU Acceleration for SDR DSP and Other Applications

The RAPIDS cuSignal project is billed as an ecosystem that makes enabling CUDA GPU acceleration in Python easy. Scipy is a Python library that is filled with many useful digital signal processing (DSP) algorithms. The cuSignal documentation notes that in some cases you can directly port Scipy signal functions over to cuSignal allowing you to leverage GPU acceleration.

In computing, most operations are performed on the CPU (central processing unit). However, GPU's (graphical processing units) have been gaining popularity for general computing as they can perform many more operations in parallel compared to CPUs. This can be used to significantly accelerate DSP code that is commonly used with SDRs.

In particular the developers have already created a notebook containing some examples of how cuSignal can be used with RTL-SDRs to accelerate an FFT graph. There are various other DSP examples in the list of notebooks too. According to the benchmarks in the notebooks, the GPU computation times are indeed much faster. In the benchmarks they appear to be using a high end NVIDIA P100 GPU, but other NVIDIA graphics cards should also show a good speedup. 

The cuSignal code is based on CUDA, so for any GPU acceleration code to work you'll need to have an NVIDIA based GPU (like a graphics card) with a Maxwell or newer core.

We note that in the future we'll be investigating how this could be used to speed up the passive radar algorithms that are used in the KerberosSDR. It may also be useful for running DSP code quickly on a $99 NVIDIA Jetson Nano single board computer.

NVIDIA Tesla P100. A high end $3000+ GPU.
NVIDIA Tesla P100. A high end $3000+ GPU.

Short Article Explaining DSP Basics Without Math

If the math behind software defined radio and digital signal processing (DSP) concepts does your head in, the RSGB has a short document that explains core DSP concepts without any math. If you're just looking for an overview of what terms like sampling, nyquist, aliasing, number of bits, undersampling, digital filters and fast fourier transform mean, then this short article is a great start.

This article, based on a presentation first given at the 2017 RSGB Convention, is intended for the amateur radio exam tutors to help with teaching the new Software Defined Radio (SDR) material in Syllabus 2019. It goes slightly beyond the syllabus requirements and is designed to give a basic background into Digital Signal Processing (DSP), enabling Tutors to answer some questions that trainees may ask, and to help tutors develop their own knowledge. Links to suggested further reading are given for those who might want to know more.

Direct PDF Link: https://rsgb.services/public/exams/presentations/190427_DSP_without_maths_article_v1-3.pdf

[First seen on Southgate Amateur Radio News]

Excerpt of the explanation on sampling
Excerpt of the explanation on sampling

DSP Illustrations: Learning DSP with a Soundcard SDR

DSP Illustrations is an online course that aims to explain complex digital signal processing (DSP) concepts visually instead of on a purely theoretic and mathematical level. Most of the content appears to be free, but some premium content requires payment.

One premium course that they've recently released is titled "Using your Soundcard as a Software-defined radio". In this course they use a standard PC sound to transmit (with the speakers) and receive (with a microphone) audio signals. All the DSP code is produced in Python and the course aims to walk you through all the concepts shown below.

  • baseband transmission of real-valued signals
  • passband transmission including up- and downconversion
  • modeling the audio channel as an LTI system for reproducable simulations
  • eye diagram drawing
  • symbol timing recovery
  • channel coding
  • definition and implementation of a frame structure, including header, payload and checksum
  • integration of the wireless transmission into a UDP data stream

Although the "SDR" isn't using radio frequencies, the exact same DSP concepts that apply with audio also apply to radio. So this can be a cheap way to get hands on DSP experience without the cost of needing to own a transmit/receive capable SDR.

This course costs about US$20, but the first three chapters are free.

Using a soundcard to study wireless communications.
Using a soundcard to study wireless communications.

University Course on Digital Signal Processing with the RTL-SDR

Over the past few years the Electrical Engineering department of the University of California, Berkley has been using RTL-SDR’s in their EE123 Digital Signal Processing (DSP) course. We’d posted about this course years before when it first came out, but recently Micheal Lustig (KK6MRI), the Associate Professor of the course wrote in to let us know that the course has evolved and is now better than ever.

The course covers DSP essential material such as the Discrete Fourier Transform, Fast Fourier Transform, RF Filter design, as well as more complex subjects. All the course material is available in note and video form if you scroll down on the main page at https://inst.eecs.berkeley.edu/~ee123/sp16/index.html.

However, the professor writes that the best gem that they have developed in their labs which can be found at https://inst.eecs.berkeley.edu/~ee123/sp16/labs.html. The labs run on the web based Ipython/Jupyter Notebooks and guide you through the implementation of an ADS-B receiver, broadcast FM and subcarrier demodulation, frequency calibration with GSM, and a full python APRS transceiver using the baofeng radio and a custom audio interface. These labs are an excellent tutorial into the world of DSP.

The final project of the class is also very interesting. The students of the class were given the task to send images using a Baofeng UV-5R handheld radio and receive them with an RTL-SDR. On the day of the project demonstration they were given two images, and the challenge was to transmit the best quality image over 75 seconds. Videos of the presentation can be found at https://inst.eecs.berkeley.edu/~ee123/sp16/projectVideos.html. The winning team used a combination of five Baofeng’s for simultaneous transmission of a compressed image and an RTL-SDR for receiving.

Richard-Allan-James

DesktopSDR MATLAB RTL-SDR Text Book Released

Back in August we posted about an RTL-SDR related text book called DesktopSDR that was due to be released later in the month. The text book discusses technical SDR topics, with the RTL-SDR used as the radio receiver and MATLAB used as the digital signal processing tool. It looks to be very useful to students of radio or communications engineering. There were a few delays with the release, but it is now out at www.desktopsdr.com. The eBook version is free whilst the print version is soon to be released on Amazon for about $68 USD for the paperback and $89 USD for the hard back

To go along with the book they have also released several accompanying videos that are available at desktopsdr.com/videos.

The books blurb reads:

The availability of the RTL-SDR device for less than $20 brings software defined radio (SDR) to the home and work desktops of EE students, professional engineers and the maker community. The RTL-SDR can be used to acquire and sample RF (radio frequency) signals transmitted in the frequency range 25MHz to 1.75GHz, and the MATLAB and Simulink environment can be used to develop receivers using first principles DSP (digital signal processing) algorithms. Signals that the RTL-SDR hardware can receive include: FM radio, UHF band signals, ISM signals, GSM, 3G and LTE mobile radio, GPS and satellite signals, and any that the reader can (legally) transmit of course! In this book we introduce readers to SDR methods by viewing and analysing downconverted RF signals in the time and frequency domains, and then provide extensive DSP enabled SDR design exercises which the reader can learn from. The hands-on SDR design examples begin with simple AM and FM receivers, and move on to the more challenging aspects of PHY layer DSP, where receive filter chains, real-time channelisers, and advanced concepts such as carrier synchronisers, digital PLL designs and QPSK timing and phase synchronisers are implemented. In the book we will also show how the RTL-SDR can be used with SDR transmitters to develop complete communication systems, capable of transmitting payloads such as simple text strings, images and audio across the lab desktop.

Download the book at desktopsdr.com
Download the book at desktopsdr.com

DesktopSDR: A new free textbook about using the RTL-SDR with MATLAB

On the 26th of August a new technical text book titled “Software Defined Radio using MATLAB® & Simulink® and the RTL-SDR” is due to be released for free in eBook form and in print form for an as of yet unknown price on Amazon. The book is written by four members of the Department of Electronic and Electrical Engineering at the University of Strathclyde in Scotland. 

MATLAB is a technical computing language and software suite used commonly by professional and student scientists and engineers. It is similar to GNU Radio in terms of its digital signal processing (DSP) capabilities. Back in January 2014 the MATLAB team released an update which enabled the RTL-SDR to be used as an RF input device.

The text book’s blurb reads:

The availability of the RTL-SDR device for less than $20 brings software defined radio (SDR) to the home and work desktops of EE students, professional engineers and the maker community. The RTL-SDR can be used to acquire and sample RF (radio frequency) signals transmitted in the frequency range 25MHz to 1.75GHz, and the MATLAB and Simulink environment can be used to develop receivers using first principles DSP (digital signal processing) algorithms. Signals that the RTL-SDR hardware can receive include: FM radio, UHF band signals, ISM signals, GSM, 3G and LTE mobile radio, GPS and satellite signals, and any that the reader can (legally) transmit of course! In this book we introduce readers to SDR methods by viewing and analysing downconverted RF signals in the time and frequency domains, and then provide extensive DSP enabled SDR design exercises which the reader can learn from. The hands-on SDR design examples begin with simple AM and FM receivers, and move on to the more challenging aspects of PHY layer DSP, where receive fi lter chains, real-time channelisers, and advanced concepts such as carrier synchronisers, digital PLL designs and QPSK timing and phase synchronisers are implemented. In the book we will also show how the RTL-SDR can be used with SDR transmitters to develop complete communication systems, capable of transmitting payloads such as simple text strings, images and audio across the lab desktop.

While the book is not yet released the full table of contents is currently available for viewing on their downloads page. From looking at the table of contents, we can see that the text book looks very comprehensive and will likely be extremely useful for students who are learning RF and DSP concepts in university level classes. The team behind the book (desktopsdr.com) also have a YouTube channel where it appears that they are releasing supporting videos.

We will post again when the book is released.

Download the book at desktopsdr.com
Download the book at desktopsdr.com