PySDR: A Guide to SDR and DSP using Python

by Dr. Marc Lichtman - pysdr@vt.edu

Welcome to PySDR, a free online textbook (not a Python library!) that provides a gentle introduction to wireless communications and software-defined radio (SDR) using an abundance of diagrams, animations, and Python code examples. From FFTs to filters to digital modulation to receiving and transmitting from SDRs in Python, PySDR has you covered!

The goal of PySDR is to increase accessibility to topics traditionally covered in a math-intensive manner and within a relatively small set of universities. All content used to generate PySDR is open source, and can be found here.

See Chapter 1: Introduction for the textbook's purpose and target audience.

As of Aug 2026, PySDR now has example GNU Radio flowgraphs scattered throughout, allowing the reader to play around with DSP concepts in a web-based GNU Radio environment, thanks to the GNU Radio World project! An example is provided below. If you open GNU Radio World and start playing around, try out the example signal recordings that can be used as a File Source and streamed to your browser; there are dozens of example signals you can play with, most with example flowgraphs to go along with them.

Expand for a list of all GNU Radio World examples in PySDR


Expand for full table of contents