Glossary of DSP terms
Every term used across the DSP module, defined in plain language and linked to the lesson where it’s explained in full. Skim it as a refresher, or use your browser’s find (Ctrl/Cmd-F) to jump to a word. Terms are grouped by theme.
Signals as numbers
Digital signal processing (DSP) — Manipulating a signal as a stream of numbers with arithmetic, in place of analog circuits. See What is DSP?
Sample — One measurement of a signal at an instant; DSP operates on sequences of them. See What is DSP?
Sample rate — How many samples are taken per second, setting the range of frequencies that can be captured. See Sampling & quantization
Nyquist theorem — You must sample above twice the highest frequency present, or higher components alias. See Sampling & quantization
Aliasing — The corruption where frequencies above half the sample rate fold down and masquerade as lower ones. See Sampling & quantization
Quantization — Rounding each sample to one of a fixed number of levels set by the bit depth, adding quantization noise. See Sampling & quantization
Bit depth — How many bits record each sample, setting amplitude precision. See Sampling & quantization
I/Q (in-phase / quadrature) — The two numbers per sample that form one complex value carrying amplitude and phase. See Complex signals & I/Q
Complex sample — An I/Q pair treated as one number — an arrow whose length is amplitude and angle is phase. See Complex signals & I/Q
Baseband — A signal centred on zero frequency, measured relative to the tuned centre. See Complex signals & I/Q
Negative frequency — A component below the tuned centre; I/Q is what lets it be told apart from one above. See Complex signals & I/Q
The frequency domain
Fourier transform — Re-describes a signal from time to frequency, revealing which sine waves it’s made of. See The Fourier transform
Time / frequency domain — Two equivalent views of a signal: amplitude over time, or energy over frequency. See The Fourier transform
Spectrum — The distribution of a signal’s energy across frequency. See The Fourier transform
DFT / FFT — The Discrete Fourier Transform on sampled data, and the Fast algorithm that computes it in ~N·log N. See The FFT in practice
Bin — One of the equal frequency slots an FFT divides the bandwidth into; bin width = sample rate ÷ FFT size. See The FFT in practice
Waterfall — A stack of FFTs over time, showing frequency across and time down. See The FFT in practice
Spectral leakage — A single tone smearing into neighbouring bins when it doesn’t fit a whole number of cycles in the FFT block. See Windows & spectral leakage
Window function — A taper applied to an FFT block to reduce leakage; Hann, Hamming, Blackman, Kaiser. See Windows & spectral leakage
Filters
Convolution — Sliding a filter’s taps along a signal, multiplying and summing to produce each output — how filters run in time. See Convolution & impulse response
Impulse response — A filter’s output for a single spike; it fully defines the filter. See Convolution & impulse response
Taps / coefficients — The weights that define a filter’s response. See FIR filters
FIR (finite impulse response) — A filter with no feedback — always stable, can have linear phase; the channel-isolation workhorse. See FIR filters
Linear phase — Delaying all frequencies equally, so a signal’s shape isn’t distorted; a property of symmetric FIR filters. See FIR filters
IIR (infinite impulse response) — A filter with feedback — sharp and cheap but can be unstable and lacks linear phase. See IIR filters
Poles and zeros — The feedback and feed-forward terms of an IIR filter; misplaced poles cause instability. See IIR filters
Decimation — Lowering the sample rate by filtering then keeping every Nth sample. See Decimation & resampling
Interpolation — Raising the sample rate by inserting and smoothing samples. See Decimation & resampling
Resampling — Changing the sample rate by a rational factor (interpolate then decimate), often via a polyphase filter. See Decimation & resampling
From signal to bits
Mixing — Multiplying by an oscillator’s sinusoid to shift the spectrum in frequency. See Mixing & downconversion
NCO (numerically controlled oscillator) — Software that generates a complex sine wave at a set frequency — the digital local oscillator. See Mixing & downconversion
Downconversion — Mixing a channel down to zero (baseband). See Mixing & downconversion
DDC (digital downconverter) — Mix + filter + decimate combined into one channel- extraction stage. See Mixing & downconversion
Demodulation — Recovering the message from a carrier; AM = magnitude, FM = phase- change rate, PM = angle. See Demodulation in code
Discriminator — The block that FM-demodulates by measuring phase change between samples. See Demodulation in code
C4FM — The four-level FM used by P25 Phase 1; each symbol carries two bits at 4800 symbols/second. See Demodulation in code
Symbol — One transmitted unit carrying one or more bits, read at its centre. See Clock & symbol recovery
Clock / symbol recovery — Finding where each symbol begins without a shared clock, via a timing loop. See Clock & symbol recovery
Timing error detector — Measures whether the current sampling instant is early or late. See Clock & symbol recovery
Matched filter — A filter shaped to the transmitted pulse that maximizes SNR at symbol centres. See Clock & symbol recovery
AGC (automatic gain control) — A feedback loop that holds a signal’s amplitude near a target as it fades. See Gain & automatic gain control
In practice
Channel rate — The fixed sample rate a DDC resamples every channel to (48 kHz C4FM, 144 kHz TETRA in GopherTrunk). See DSP in GopherTrunk
Rate-invariance — The property that a decoder behaves the same at any capture rate because the DDC normalizes to the channel rate. See DSP in GopherTrunk
Fixed point / floating point — Two ways to store numbers; GopherTrunk uses 32-bit
float complex64 throughout. See Fixed vs floating point & performance
complex64 — Go’s 64-bit complex type (a pair of 32-bit floats) carrying I/Q
through GopherTrunk. See Fixed vs floating point & performance
More signal fundamentals
Signal — A quantity that varies over time carrying information; described by amplitude, frequency, and phase. See What is a signal?
Decibel (dB) — A logarithmic ratio of power (10·log10) or amplitude (20·log10) that turns huge ranges into manageable numbers. See Decibels & dynamic range
Dynamic range — The span between the strongest and weakest signal a system can represent, set largely by bit depth. See Decibels & dynamic range
STFT / spectrogram — The short-time Fourier transform (FFT over sliding windows) and its time-frequency image. See Spectrograms & the STFT
Analytic signal / Hilbert transform — The transform that turns a real signal into a complex one, removing the negative-frequency mirror. See The analytic signal & Hilbert transform
More on filters
Passband / stopband / transition — The frequencies a filter keeps, the ones it rejects, and the ramp between them. See Filter design basics
Ripple / order — The allowed variation in a filter’s response and a measure of its complexity. See Filter design basics
Pulse shaping / RRC — Shaping symbols (often with a root-raised-cosine filter) to limit bandwidth without inter-symbol interference. See Matched filters & pulse shaping
Nyquist ISI criterion — The condition under which pulses don’t interfere at symbol sampling instants. See Matched filters & pulse shaping
More on recovering data
Carrier recovery — Correcting the frequency and phase offset between transmitter and receiver so symbols can be read. See Carrier & frequency recovery
PLL / Costas loop — Feedback loops that lock onto a carrier’s phase and frequency (the Costas loop for suppressed-carrier PSK). See Carrier & frequency recovery
Constellation — The set of I/Q points a modulation uses to represent symbols (BPSK, QPSK, QAM). See Constellations & symbol mapping
Equalization — Undoing the distortion a multipath channel imposes, reducing inter-symbol interference. See Equalization & multipath
Inter-symbol interference (ISI) — Symbols smearing into their neighbours, caused by filtering or multipath. See Equalization & multipath
Quality & coding
SNR / EVM / BER — Signal-to-noise ratio, error-vector magnitude, and bit error rate — the three health metrics of a digital link. See SNR, EVM & BER
Eye diagram — Overlapping symbol periods into an “eye” whose opening shows timing and noise margin. See The eye diagram
Forward error correction (FEC) — Redundancy added before transmission that fixes bit errors at the receiver without retransmission. See Error correction & framing
Interleaving / sync word / framing — Spreading data to survive burst errors, marking frame starts, and grouping bits into frames. See Error correction & framing
Ring buffer / block processing — Processing samples in fixed blocks through a circular buffer to run DSP in real time. See Real-time processing & buffering
Golden vectors / replay — Known-good reference outputs and offline capture replay used to test and debug a signal path. See Testing & debugging DSP