I build software-defined radio receivers that decode signals other people need a chip for — NextGen TV, live over-the-air television, a GPS + Galileo position fix — starting from nothing but an antenna, a cheap radio, and the math.
A complete software ATSC 3.0 / NextGen TV receiver, built from the published standards and running in real time on an ordinary CPU — no GPU, no FPGA, no demodulator chip. It carries a channel from raw radio all the way to picture, surround sound, and captions: bootstrap → L1 → LDPC/BCH → ALP → IP → MMTP/ROUTE → MPU → a picture on the screen.
When this was built there was no open-source ATSC 3.0 receiver that reached a picture, and no open-source AC-4 audio decoder at all — standard tools can identify the audio stream but not decode it. Both were written here, straight from the specifications.
Measured live: 1048 frames, 77,547 of 77,552 FEC blocks converged, zero underruns, and 254 seconds of 720p60 HEVC that re-decodes with no error lines. The decoded IP datagrams are byte-identical — same SHA-256 — to an offline reference chain re-run on the same air, so the live path is provably correct, not merely plausible. Encrypted services are detected and labeled as locked — never attacked or circumvented.
A free, open-source software TV tuner for today's over-the-air broadcast TV (ATSC 1.0). Point an SDR at a channel and watch free television with no dedicated tuner card — built to run unattended for hours on marginal indoor antennas, where off-the-shelf tuners give up.
Three independent watchdogs — decoder, ffmpeg, and player — catch equalizer drift, stalls, and SDR dropouts and respawn the affected stage on their own. It's also a full DVR: read the on-air program guide, schedule shows, record whole muxes (several subchannels at once), surf channels right in the player, overlay captions on the picture, and aim an antenna with a live signal meter.
A software GPS and Galileo receiver, from raw SDR IQ. Point any radio at 1575.42 MHz, record the raw L1 hiss, and this turns it into satellite orbits, a relativity experiment, Galileo's navigation message, and your position. No GPS chip — just the antenna, the radio, and the math.
Six GPS and three Galileo birds solved together, with the inter-system time offset as a fifth unknown. Galileo's E1-B navigation message decodes 1161 / 1161 pages CRC-clean, and the receiver reads Galileo System Time straight off the air. One tracked satellite turned out to be E14 — a 2014 wrong-orbit bird used for the classic gravitational-redshift tests — and the decoder read its elliptical ephemeris and do-not-use flag directly from the signal.
The same approach — turn a captured signal into meaning, and prove it — pointed at other parts of the spectrum.
Everything on this page runs on commodity hardware — a cheap SDR and, where it helps, an antenna you can build. GPU/AI is always optional; there's a CPU path for all of it.
I'm Felbs, a radio and SDR hobbyist. These projects share one habit: take a signal that normally needs dedicated silicon, decode it in open software, and then hold the result to a real check — a byte-for-byte match against a reference, a CRC that has to close, a physical constant it has to reproduce.
Plausible is not the same as correct. A decoder that passes its own self-test can still be self-consistently wrong. So the work is as much about independent verification as it is about DSP.
Along the way this occasionally surfaces things worth reporting — including a piece of security research on a modern broadcast standard, currently going through responsible disclosure. Details will be published here once the affected parties have been notified.
If you're working on any of this and want to compare notes, get in touch.