HamCode — RF in code only
A five-volume series on signals, radio, satellites and microwaves, for radio amateurs and engineers who want to understand what goes on inside a software radio by writing it themselves. Every algorithm is hand-written in C# with .NET 10, every number is measured by a program that compiles and runs, every figure comes from the real data of that program.

The five volumes
- Digital signal processing: sampling, FFT, windows, FIR and IIR filters, decimation, Hilbert, noise and voice.
- Telecommunications and software defined radio: analog and digital modulations, codes, packet radio and APRS, FT8, SDR, DATV.
- Satellites: orbits, SGP4 and SDP4, tracking, Doppler, the ground station.
- Microstrip microwaves: design with formulas and a circuit simulator, from lines to amplifiers and antennas.
- Planar electromagnetic simulation: the method of moments and finite differences, from theory to the measured board.
The full tables of contents, chapter by chapter, are on the Volumes page and in the Documentation.
The method
- The core written by hand. The FFT, the filters, the demodulators, the orbit propagator and the simulator do not come from a library: the book writes them line by line and explains why.
- Everything measured. Every chapter puts the theory curve next to the program's: the signal-to-error ratio of an interpolator, the suppression of an SSB signal, the time of an FFT. The common mistakes are the real ones, with the symptom and the cure.
- Figures from the programs. Plots, terminal output and annotated code are drawn by the examples themselves: if a program changes, its figure changes with it. A few of them are on the Examples page.
- Free code. The example programs are MIT licensed, usable in the reader's commercial programs too. Their class-by-class reference is on the API page.
Who it is for
For those who know some C# and want to get into DSP and radio without stopping at the formulas, and for those who know radio and want to see it in code. The first volume starts from scratch: installing the SDK, opening an example in Visual Studio Code, debugging. The series is the companion of «Avalonia in code only», from which it takes the windows and the plots.
The books are written in Italian; this site is in both languages.
Status
Volume 1 is being written: the chapters of the first three parts are drafted, with their programs and figures. The other volumes have their table of contents and cover. The status of every chapter is on the Volumes page.