Start with information and discover how a radio can represent it with a signal. Build the fundamental ideas of digital modulation one step at a time—from amplitude to frequency to phase.
You already know how to look at signals. Now ask the next question: how can a signal represent information? Each step begins with an engineering problem, then lets you discover a way to solve it.
Follow information from a human message to bits, symbols and a waveform a radio can manipulate.
Discover how amplitude, frequency and phase can each represent information.
Ask how a receiver could look at an imperfect signal and decide which symbol was most likely sent.
That question connects every modulation choice to noise, bandwidth, timing and implementation.
Course 01 — Understand Radios, or equivalent comfort with spectrum, sampling and I/Q.
The journey follows the idea, not a software platform: begin with information, choose a physical signal property to carry it, then learn how to recognize the resulting symbols.
The roadmap follows a conceptual journey from information to signals and then to basic symbol decisions. The course stops before complete packet-radio design.
Start with meaning, represent it digitally as bits, then map bits into symbols. Establish the distinction between a bit and a symbol before asking a signal to carry either one.
Revisit the sinusoid as A cos(ωt + θ) and quickly connect it to the phasor Aej(ωt+θ). Magnitude tells how long the phasor is, phase where it points, and frequency how fast it rotates. No complex-number detour—just enough intuition to use the knobs.
Invent the simplest solution: change signal magnitude/amplitude to represent symbols. Build OOK and see exactly what changed.
Leave magnitude alone and change the rate of phasor rotation. Discover binary FSK from the engineering problem rather than from an acronym.
Change where the phasor points. Connect the I/Q intuition from Course 01 to BPSK and then QPSK, making the bits-per-symbol distinction visible.
Build basic symbol decisions. Compare amplitude, frequency and phase observations and turn received signals back into symbols, bits and information.
Start with clean symbol decisions, then add noise. Watch ideal constellation points become clouds, cross decision boundaries and create symbol errors, bit errors and corrupted information.
Take a short message through the complete path: information → bits → symbols → signal → channel → detection → symbols → bits → recovered information.
Interactive experiments develop intuition first; implementation exercises then turn the same ideas into working signal chains. Marimo and GNU Radio are tools for exploring the engineering, not the subject of the course.
Start with a short message, represent it as bits and group those bits into symbols. Keep the focus on what information representation means.
Use a Marimo phasor experiment to vary magnitude A, phase θ and frequency f. Watch the spinning phasor, I/Q view and sinusoid together until Aej(ωt+θ) feels physical rather than abstract.
Explore OOK visually, then build the signal. Change the symbol pattern and predict what you should see before running it.
Represent the same symbols with two frequencies. Compare what becomes obvious in time and what becomes obvious in frequency.
Build BPSK and explore QPSK. Connect phase states, I/Q and constellation points to the symbols they represent.
Build simple receivers that decide which symbol was sent and reconstruct the original bits and information.
Add controlled noise and watch clean constellation points become clouds. Increase noise until decisions cross boundaries and symbol errors become bit errors.
Send a short message through a complete transmitter, channel and receiver. Recover the original information at the other end and explain how each stage contributed.
Your radio works—but we've been giving the receiver some help. In Course 03, make it find, synchronize to and recover a transmission on its own.
Course 02 turns the signal intuition from Course 01 into the fundamental building blocks of digital communication—without hiding the ideas behind a platform.
Join the course