Chris Thompson - AC2CZ - Amateur Radio Station

SDR for the Radio Amateur

Experimental Methods in DSP design

I have spent several years getting to grips with Digital Signal Processing. Most of that effort was needed to write the FoxTelem telemetry decoder. If you have ever looked at the source code, you will see that it was definitely a learning experience. But it was also really fun and hugely rewarding.

Creating a Software Defined Radio or signal processing are good modern homebrew projects. Here I will explain how a software defined radio works to help other amateurs with their learning. This set of tutorials takes you from how to write a single component to a fully working SDR.

These tutorials use Java though you do not need to be a Java expert. I have written quite a bit of DSP code in Python, and that is also good choice, though Java is much faster. I will attempt to add Python example code to as many of the tutorials as possible. Right now I have only done that for Tutorial 1.

If you need help getting started then I have written a short Java tutorial and a a short Python tutorial.

I have also uploaded the code to a github repository, so you can grab the code from there. That said, this is not intended to be a finished project that you download. It is a set of tutorials that you should work through to see how DSP works. It follows a measurement based approach to help you understand and write your own Software Defined Radio projects. By all means download pieces as you work through the tutorials.

How to build a Software Defined Radio

The Digital Testbench

Copyright 2001-2021 Chris Thompson
Send me an email