Site map
Every page on GopherTrunk, grouped by section. Search engines should use the machine-readable XML sitemap — that’s the one to submit in Google Search Console.
Guides & documentation
- ADS-B / Aviation
- AIS / Marine
- APRS / AX.25
- Account
- Advanced
- Architecture
- Basics
- Bookmarks & frequency manager
- CC Activity panel
- Constellation panel
- Cutting a release
- DMR encryption
- DSC / Marine Distress
- Decoders that need live RF captures
- Design: Neighbor-site following (multi-site)
- Downloads
- Eye diagram panel
- Forum
- Forum thread
- Get started
- GopherTrunk Bundle — the capture-to-analysis case format
- GopherTrunk v0.1.9 — social announcement drafts
- GopherTrunk v0.2.2 — social announcement drafts
- GopherTrunk v0.2.3 — social announcement drafts
- GopherTrunk v0.2.4 — social announcement drafts
- GopherTrunk v0.2.5 — social announcement drafts
- GopherTrunk v0.2.6 — social announcement drafts
- GopherTrunk v0.2.9 — social announcement drafts
- GopherTrunk v0.3.1 — social announcement drafts
- GopherTrunk v0.3.2 — social announcement drafts
- GopherTrunk v0.3.5 — social announcement drafts
- GopherTrunk v0.3.6 — social announcement drafts
- GopherTrunk v0.3.7 — social announcement drafts
- GopherTrunk v0.3.8 — social announcement drafts
- GopherTrunk v0.3.9 — social announcement drafts
- GopherTrunk v0.4.0 — social announcement drafts
- GopherTrunk v0.4.1 — social announcement drafts
- GopherTrunk v0.4.2 — social announcement drafts
- GopherTrunk v0.4.3 — social announcement drafts
- GopherTrunk v0.4.4 — social announcement drafts
- GopherTrunk v0.4.5 — social announcement drafts
- GopherTrunk v0.4.6 — social announcement drafts
- GopherTrunk v0.4.7 — social announcement drafts
- GopherTrunk v0.4.8 — social announcement drafts
- GopherTrunk v0.4.9 — social announcement drafts
- GopherTrunk v0.5.0 — social announcement drafts
- GopherTrunk v0.5.1 — social announcement drafts
- GopherTrunk v0.5.2 — social announcement drafts
- GopherTrunk v0.5.3 — social announcement drafts
- GopherTrunk v0.5.4 — social announcement drafts
- GopherTrunk v0.5.5 — social announcement drafts
- GopherTrunk v0.5.6 — social announcement drafts
- GopherTrunk v0.5.7 — social announcement drafts
- GopherTrunk v0.5.8 — social announcement drafts
- GopherTrunk v0.5.9 — social announcement drafts
- GopherTrunk v0.6.4 — social announcement drafts
- Hardening & operations
- Hardware setup
- Hunting & mapping unknown systems
- Import (PDF / CSV)
- Intermediate
- Launcher
- Linux install
- Live config editing
- M17 link layer
- MDC1200 / Motorola Signaling
- Mixer plot
- Opt-in features
- P25 Phase 1 demodulator calibration
- POCSAG paging decoder
- Plots (signal scopes)
- RF Scope — protocol-agnostic RF network analysis
- Radio IDs panel
- Reference specifications
- Reference specifications
- Roadmap
- SigLab — offline signal workbench
- Site map
- Spectrum waterfall
- Status & known gaps
- Supabase setup for gophertrunk.org
- Supabase setup for gophertrunk.org
- Support
- Symbol histogram panel
- Symbol scope panel
- TUI
- The Story of GopherTrunk
- Tuning panel
- Vendored third-party JS
- Vendored third-party JS
- Vocoders
- Voice calibration
- Web console
- What is GopherTrunk?
- Windows install
- Windows user guide
- cryptolab — optional RF cryptographic-research toolkit
- macOS install
- rigctld TCP integration
Learn
Structured learning paths. See all learning paths.
Learn RF & SDR — from newbie to expert
- Learn RF & SDR — from newbie to expert
- Analog modulation — AM, FM, SSB
- From antenna to audio — the GopherTrunk signal path
- Antennas 101
- Calibration & troubleshooting
- Clock recovery & symbol timing
- Decibels & signal power
- The demodulation pipeline
- Digital modulation & constellations
- Analog vs. digital voice
- Encryption & what you can decode
- The FFT & reading a waterfall
- Filtering & decimation
- Finding & identifying systems
- Frequency, bands & the spectrum
- Gain, AGC & avoiding overload
- Glossary of RF & SDR terms
- IQ data & complex signals
- Legal & ethical monitoring
- Other signals you'll meet
- How signals travel
- The digital protocol landscape
- What is a radio wave?
- Sample rate, bandwidth & Nyquist
- SDR hardware — RTL-SDR, HackRF, Airspy
- How an SDR receiver works
- Anatomy of a signal
- Symbols, baud & bitrate
- Tuning for a clean lock
- Vocoders — IMBE & AMBE+2
- What is software-defined radio?
- What is trunked radio?
Learn Git & GitHub — from first commit to advanced workflows
- Learn Git & GitHub — from first commit to advanced workflows
- Authentication: SSH keys & tokens
- Commit hygiene & best practices
- Branch protection, reviews & CODEOWNERS
- Branches explained
- Cherry-pick, bisect & the reflog
- Your first repository
- Forking & the fork workflow
- How Git thinks: snapshots, not diffs
- CI/CD with GitHub Actions
- Pages, Gists, Discussions & wikis
- .gitignore & tracking the right files
- Glossary of Git & GitHub terms
- Installing & configuring Git
- Rewriting history with interactive rebase
- Issues, labels & Projects
- Resolving merge conflicts
- Merging & fast-forwards
- Pull requests & code review
- Rebasing & a linear history
- Tags, releases & semantic versioning
- Remotes: clone, fetch, pull & push
- The staging area & commits
- Stashing work in progress
- Reading status & diffs
- Submodules, hooks & worktrees
- Undoing changes: restore, reset & revert
- Viewing history with log & show
- What is GitHub?
- Why version control?
- Branching strategies: trunk, GitHub Flow & Git Flow
Intro to Software Development — from punch cards to your own solo stack
- Intro to Software Development — from punch cards to your own solo stack
- Abstraction, coupling & cohesion
- Architecture patterns: layered, event-driven & plugins
- Behavioral patterns: observer, strategy, state
- From machine code to high-level languages
- Build systems, CI/CD & automation
- Choosing your stack
- Writing readable code
- Compiled, interpreted & JIT
- From looms to microprocessors
- Concurrency & streaming patterns
- Concurrency & parallelism
- Creational patterns: factory, builder, singleton
- A practical decision framework
- Your environment & daily workflow
- Documentation, tech debt & maintenance
- DRY, KISS, YAGNI & separation of concerns
- Start with requirements
- Glossary of software development terms
- PCs, the internet & the age of cheap compute
- Paradigms & language families
- Matching language to domain
- Language-level security
- A tour of today's major languages
- Memory — manual, GC & ownership
- Packaging & distributing your software
- The performance ↔ productivity trade-off
- Keeping quality high alone
- Errors, edge cases & defensive programming
- From idea to project
- The software life cycle — Waterfall to Agile
- Shipping v1 & maintaining solo
- SOLID & object-oriented design
- The solo developer — wearing every hat
- Structural patterns: adapter, facade, decorator
- Testing — unit, integration & beyond
- The people who built programming
- Type systems & safety
- Version control & collaboration
- What is a design pattern?
- What is software?
- Why language choice matters (and when it doesn't)
Learn Digital & Trunked Radio — from analog roots to decoding every system
- Learn Digital & Trunked Radio — from analog roots to decoding every system
- The analog trunking era: SmartNet, EDACS, LTR & MPT-1327
- Analog vs. digital voice
- Anatomy of a trunked call: request, grant, release
- The birth of trunking: sharing channels
- Control-channel signaling: what the data says
- Conventional vs. trunked radio
- Digital modulation for trunking: C4FM, π/4-DQPSK & CQPSK
- DMR: Tier II & Tier III
- dPMR, D-STAR & System Fusion
- EDACS, LTR & MPT-1327
- Encryption & authentication
- Finding the control channel
- Following a system end to end
- Framing, error correction & interleaving
- Glossary of digital & trunked radio terms
- Identifying what you're hearing
- Motorola SmartNet / SmartZone & Type II
- Multi-site & simulcast in practice
- NXDN
- P25 Phase 1
- P25 Phase 2: TDMA
- Sites, simulcast & roaming: multi-site systems
- Standards & who sets them: APCO, ETSI, TIA & the DMRA
- Talkgroups, radio IDs & affiliation
- TDMA vs. FDMA: fitting more calls on a channel
- TETRA
- The control channel: the system's heartbeat
- The digital leap: P25, TETRA & DMR are born
- Troubleshooting a digital decode
- Trunking flavors: dedicated vs. distributed, message vs. transmission
- From voice to bits: vocoders
- Why radio went digital
Intro to Hardware — from the cloud to the microcontroller
- Intro to Hardware — from the cloud to the microcontroller
- Arduino & the maker ecosystem
- CPU, memory, storage & I/O
- Choosing your development machine
- Combining tiers: device, server & cloud
- Cost, power & performance trade-offs
- A practical decision framework
- Dedicated servers
- Desktop computers
- Developing for mobile devices
- ESP32 & wireless microcontrollers
- Glossary of hardware terms
- The hardware spectrum — cloud to microcontroller
- Home servers & self-hosting
- Programming languages & where they run
- Laptops
- Matching hardware to the project type
- Programming microcontrollers: languages, use cases & limits
- Programming & running software on an SBC
- The Raspberry Pi & its alternatives
- SBC use cases, strengths & drawbacks
- Smartphones
- Start with your requirements
- Tablets
- Virtual private servers (VPS)
- Web & shared hosting
- What is a microcontroller?
- What is a single-board computer?
- What is computer hardware?
- Worked examples: picking hardware for real projects
Intro to Using AI in Software Development — from how models work to shipping with them
- Intro to Using AI in Software Development — from how models work to shipping with them
- Agentic coding & "vibe coding"
- Agentic & command-line tools
- App, IDE, agent — or all three?
- Chat-assisted coding
- Choosing your model & provider
- Choosing your method
- Code & "sentence" completion
- Coding models compared
- The context window, in detail
- Getting started today
- Glossary of AI-for-development terms
- How AI models are trained
- How a model decides: tokens & prediction
- AI inside your editor
- Interfaces: app, API, CLI & IDE
- One model, or a combination?
- Prompting for code
- Feeding the model the right context
- Security, privacy & ethics
- Skills & AI config files
- Using the provider's app
- The provider & model landscape
- Choosing where on the spectrum to work
- The types of AI models
- Understanding the cost
- Usage limits & tiers
- Verifying AI-written code
- What is AI, for a developer?
Software Licensing & Agreements — from open source to selling your own
- Software Licensing & Agreements — from open source to selling your own
- The AGPL: copyleft over the network
- Apache 2.0: permissive with a patent grant
- Auditing dependencies & SBOMs
- What to check before you agree
- Choosing your license, step by step
- Choosing an open-source license
- Commercial license models
- Contributor agreements: CLAs & DCO
- Copyleft in products: the viral question
- Copyright & software ownership
- Dual licensing & relicensing
- EULAs & terms of service
- Glossary of software-licensing terms
- The GPL: strong copyleft
- How to read a software agreement
- Key clauses in a commercial license
- License compatibility
- License vs contract
- Licensing across jurisdictions
- The main clauses, decoded
- MIT & BSD: minimal permissive
- NDAs & the rest of the landscape
- The risks of depending on open source
- Patents, trademarks & trade secrets
- Meeting permissive obligations
- Permissive vs copyleft
- Privacy policies & data agreements
- Proprietary & closed-source licensing
- Public domain, Unlicense & CC0
- Putting it all together
- The risk clauses: who pays when it breaks
- SLAs & support agreements
- Source-available & "fair source"
- A framework for choosing
- The licensing spectrum
- Can you sell software built on open source?
- Weak copyleft: LGPL, MPL, EPL
- What is a software license?
- What open source really means
- Where to get licensing help
- Which agreements does your software need?
- Writing a license to sell software
Field Guide
Long-form reference articles. See the Field Guide overview.
- 1 dB compression point (P1dB)
- 3GPP (3rd Generation Partnership Project)
- 4FSK
- 5G NR (New Radio)
- 6LoWPAN
- 8PSK
- ACARS
- ACELP
- ADALM-Pluto (PlutoSDR)
- ADS-B
- ADS-C
- AFSK
- AI accelerator
- AMBE
- AMBE+2
- AMD
- AMR / AMR-WB
- ANT+
- APCO International
- API
- APRS
- ARIB (Association of Radio Industries and Businesses)
- ARM Cortex-M
- ARM architecture
- ARRL (American Radio Relay League)
- ATSC 1.0
- ATSC 3.0 (NextGen TV)
- AVR / ATmega
- AX.25
- Abstraction
- Access-code correlation
- Adaptive filter
- Advanced Encryption Standard (AES)
- Affiliation
- Airspy
- Airspy HF+
- Alan Turing
- Alexander Popov
- Algebraic attack
- Aliasing
- All-in-one computer
- Amplitude
- Amplitude modulation (AM)
- Amplitude-shift keying (ASK)
- Analog-to-digital converter (ADC)
- Andrew Viterbi
- Android
- Antenna
- Antenna diversity
- Antenna efficiency
- Antenna gain
- Antenna tuner (ATU)
- Application-specific integrated circuit (ASIC)
- Arduino
- Arduino (company)
- Arm Holdings
- Asynchronous programming
- Atmospheric absorption
- Attenuation
- Attenuator
- Audio output (PortAudio/ALSA)
- Automatic Identification System (AIS)
- Automatic frequency control (AFC)
- Automatic gain control (AGC)
- Automatic modulation classification (AMC)
- BCH code
- BCJR algorithm
- BIOS & UEFI
- BNC connector
- BPSK
- BPTC
- Back-pressure
- Balun
- Banana Pi
- Bandpass sampling (undersampling)
- Bandwidth
- Bare-metal programming
- Bare-metal server
- Barker code
- Base station (eNodeB / gNodeB)
- Baseband
- Battery technology
- BeagleBone
- Beamforming
- Beamwidth
- Behavioral patterns
- BeiDou (BDS)
- Benchmarking DSP
- Berlekamp–Massey algorithm (BM)
- Bias tee
- Biconical antenna
- Bit error rate (BER)
- Bit rate vs baud
- Bits & bytes
- Blade server
- BladeRF
- Block cipher
- Block scheduler
- Blocking dynamic range (BDR)
- Bluetooth
- Bluetooth (RF layer)
- Bluetooth Low Energy (BLE)
- Bluetooth SIG
- Bootloader
- Broadcast AM
- Broadcast FM
- Broadcom
- Brute-force attack (exhaustive key search)
- Build systems
- Build vs buy a PC
- Busy/idle status
- Bytecode
- C
- C#
- C++
- C4FM
- CDMA2000 (3G)
- CFAR detection
- CI/CD
- CIC filter
- CMA equalizer
- COBOL
- CORDIC
- COSPAS-SARSAT
- CQPSK
- CSBK
- CTCSS
- CUDA
- Cache memory
- Callback vs stream API
- Capacity Plus
- Carrier wave
- Carrier-to-noise ratio (C/N)
- Cavity filter
- Cellular modem
- Central processing unit (CPU)
- Channel grant
- Channelizer
- Chien search
- Chipset
- Chosen-plaintext attack
- Chromebook
- Cipher
- Ciphertext-only attack
- Circulator
- Claude Shannon
- Clean code
- Clock recovery
- Clock speed
- Cloud computing
- Coaxial cable
- Code coverage
- Code-division multiple access (CDMA)
- Code-excited linear prediction (CELP)
- Codec 2
- Collinear antenna
- Colocation
- Color code (DMR)
- Compact position reporting (CPR)
- Compiler
- Compute Module
- Computer case
- Computer hardware
- Computer monitor
- Concurrency vs parallelism
- Connect Plus
- Connectivity Standards Alliance (CSA)
- Constellation diagram
- Constraint propagation
- Container
- Content delivery network (CDN)
- Contestia
- Continuous wave (CW)
- Continuous-phase modulation (CPM)
- Control channel
- Controller-Pilot Data Link Communications (CPDLC)
- Conventional radio
- Convolutional code
- Cooling & thermals
- Costas loop
- Coupling & cohesion
- Creational patterns
- Crest Factor & PAPR
- Cross-compilation
- Cryptanalysis
- Cryptographic hash function
- Cryptographic key
- Cryptography
- Crystal filter
- CubicSDR
- Cyclic redundancy check (CRC)
- D-STAR
- DARPA (Defense Advanced Research Projects Agency)
- DC offset (DC spike)
- DCS
- DDS synthesizer (direct digital synthesis)
- DMR Association
- DMR Tier I
- DMR Tier II
- DMR Tier III
- DRY, KISS & YAGNI
- DSD (Digital Speech Decoder)
- DSP latency
- DTMF
- DVB-C / DVB-C2
- DVB-S / DVB-S2
- DVB-T / DVB-T2
- Data Encryption Standard (DES)
- Data center
- Decibel (dB)
- Decimation
- Decision-feedback equalizer (DFE)
- Declarative programming
- Dedicated server
- Deframing
- Demodulation
- Dennis Gabor
- Desensitization (desense)
- Design patterns
- Desktop computer
- Dibit
- Differential cryptanalysis
- Differential decoding
- Digital Audio Broadcasting (DAB / DAB+)
- Digital Mobile Radio (DMR)
- Digital Radio Mondiale (DRM)
- Digital Selective Calling (DSC)
- Digital Voice Systems (DVSI)
- Digital down-converter (DDC)
- Digital filter
- Digital-to-analog converter (DAC)
- Diplexer
- Dipole antenna
- Dire Wolf
- Direct sampling (direct RF sampling)
- Direct-conversion receiver (homodyne / zero-IF)
- Direct-sequence spread spectrum (DSSS)
- Directional coupler
- Discone antenna
- Discrete Fourier transform (DFT)
- Distance Measuring Equipment (DME)
- Dither
- Docker
- Doppler shift
- Double sideband (DSB)
- Dummy load
- Duplexer
- Duty Cycle
- Dynamic range
- E-reader
- E4000 tuner
- EDACS
- EDGE (2.75G)
- EPIRB (406 MHz)
- ERP & EIRP
- ESP32
- ESPRIT algorithm
- ETSI
- EUROCAE
- EV-DO (3G data)
- EVRC
- Early-late gate timing recovery
- Eb/N0 (energy per bit to noise density)
- Eben Upton
- Edge AI
- Edge computing
- Edwin Armstrong
- Effective aperture
- Effective number of bits (ENOB)
- Electromagnetic spectrum
- Embedded SDR
- Embedded system
- Emergency call
- Encryption
- End-to-end testing
- Energy detection
- Enhanced Voice Services (EVS)
- Error handling
- Error vector magnitude (EVM)
- Espressif Systems
- Ethernet
- European Conference of Postal and Telecommunications Administrations (CEPT)
- European Radio Message System (ERMES)
- Eye diagram
- FDMA
- FFSK
- FFTW
- FIR filter
- FIS-B
- FLEX
- FM deviation
- FORTRAN
- FT4
- FT8
- FUNcube Dongle
- Fade margin
- Failsoft
- Fano algorithm (sequential decoding)
- Fast Fourier transform (FFT)
- Federal Communications Commission (FCC)
- Federico Faggin
- Feedpoint impedance
- Feistel network
- Ferrite choke
- Fiber-optic
- Field strength
- Field-programmable gate array (FPGA)
- File source & sink
- File system
- Fire code
- Firmware
- Fixed-point vs floating-point DSP
- Flash memory
- Flowgraph
- Floyd M. Gardner
- Foldable phone
- Forney algorithm
- Forward error correction (FEC)
- Fourier transform
- Frame synchronization
- Free-space path loss (FSPL)
- Frequency
- Frequency Stability
- Frequency analysis
- Frequency bands (HF/VHF/UHF)
- Frequency counter
- Frequency modulation (FM)
- Frequency-hopping spread spectrum (FHSS)
- Frequency-locked loop (FLL)
- Frequency-shift keying (FSK)
- Frequency-translating FIR filter (xlating FIR)
- Fresnel zone
- Friis transmission equation
- Front-to-back ratio (F/B)
- Functional programming
- G.711
- G.722
- G.729
- GFSK
- GLONASS
- GMSK
- GNU Radio
- GNU Radio Companion (GRC)
- GOES HRIT
- GPGPU
- GPIO
- GPRS (2.5G)
- GPS receiver
- GPSDO (GPS-disciplined oscillator)
- GPU DSP
- GSM (2G)
- GSM FR / HR / EFR
- GSMA
- Galileo
- Gaming PC
- Garbage collection
- Gardner timing recovery
- Gateway
- Georg Ohm
- Global Navigation Satellite System (GNSS)
- Global Positioning System (GPS)
- Globalstar
- Go
- Goertzel algorithm
- Golay code
- Gold code
- Golden test vectors
- Google Coral
- Gordon Moore
- Goroutines
- Gqrx
- Graphics processing unit (GPU)
- Gray code
- Ground-plane antenna
- Ground-wave propagation
- Group Delay
- Group call
- Guard band
- Guglielmo Marconi
- Gustav Kirchhoff
- Gustave Solomon
- HAT add-on board
- HD Radio (IBOC)
- HFDL
- HSPA (3.5G)
- HackRF One
- Hadamard code (Walsh–Hadamard)
- Half-band filter
- Hamming code
- Handover (cellular)
- Hard disk drive (HDD)
- Hardware acceleration
- Harmonics
- Harry Nyquist
- Hedy Lamarr
- Heinrich Hertz
- Helical antenna
- Helical filter
- Hellschreiber
- Hendrik Lorentz
- Hierarchical block
- High availability
- High-level Data Link Control (HDLC)
- Hilbert transform
- Home automation
- Home server & self-hosting
- Horn antenna
- Hypervisor
- ICAO
- IEEE
- IIR filter
- IMBE
- IMSI & IMEI
- IP address
- IQ data
- IQ file format
- IQ imbalance
- IQ modulation
- IQ recording & playback
- ISDB-T
- ITU Radiocommunication Sector (ITU-R)
- Image frequency
- Image rejection
- Impedance (Z)
- Imperative programming
- In-system programming
- Infrastructure as a service (IaaS)
- Inmarsat
- Input/output (I/O)
- Instruction set architecture (ISA)
- Instrument Landing System (ILS)
- Integrated Digital Enhanced Network (iDEN)
- Integrated circuit
- Integration testing
- Intel
- Interleaved IQ
- Interleaving
- Intermediate frequency (IF)
- Intermodulation Distortion (IMD)
- International Amateur Radio Union (IARU)
- International Telecommunication Union (ITU)
- Internet of Things (IoT)
- Interpreter
- Interrupt
- Intersymbol interference (ISI)
- Ionospheric propagation
- Iridium
- Irving S. Reed
- Irwin Jacobs
- Isolator
- I²C
- J-pole antenna
- JEDEC
- JIT vs AOT compilation
- JS8Call
- JT65
- JT9
- Jack Kilby
- Jagadish Chandra Bose
- James Clerk Maxwell
- Java
- JavaScript
- Jensen Huang
- Joe Taylor (K1JT)
- John P. Costas
- John von Neumann
- Joseph Fourier
- Julia
- KISS TNC
- Kalman filter
- Karl Jansky
- Kerckhoffs's principle
- Key ID & Algorithm ID (KID / ALGID)
- Key Loader (KFD / KVL)
- Keyboard
- Keystream
- Knife-edge diffraction
- Known-plaintext attack
- Kotlin
- KrakenSDR
- Kubernetes
- LAN & WAN
- LISP
- LTE (Long-Term Evolution)
- LTE-Advanced (LTE-A)
- LTE-M (Cat-M1)
- LTR (Logic Trunked Radio)
- Laptop
- Late entry
- Least mean squares (LMS)
- Libre Computer
- LimeSDR
- Linear predictive coding (LPC)
- Linear-feedback shift register (LFSR)
- Link budget
- Linus Torvalds
- LoRa
- LoRa Alliance
- LoRaWAN
- Load balancer
- Local oscillator
- Log-likelihood ratio (LLR)
- Log-periodic antenna (LPDA)
- Logic gate
- Loop antenna
- Low-IF (low intermediate frequency)
- Low-density parity-check (LDPC) code
- Low-noise amplifier (LNA)
- M-ary FSK
- M17
- M17 Project
- MATLAB
- MDC-1200
- MELP / MELPe
- MIMO (multiple-input multiple-output)
- MMSE equalizer
- MPT 1327
- MSi001 tuner
- MUSIC algorithm
- Magnetic loop antenna
- Magnetic tape
- Managed hosting
- Manchester coding
- Marine VHF Radio
- Massimo Banzi
- Matched filter
- Matter
- Maximal-length sequence (m-sequence)
- Maximum-likelihood sequence estimation (MLSE)
- Memory hierarchy
- Memory management
- Meshtastic
- Meteor scatter
- Meteor-M LRPT
- Microcontroller (MCU)
- Mini PC
- Minimum-shift keying (MSK)
- Mixer (RF)
- Mobile app development
- Mobile operating system
- Mocking
- Mode A/C
- Mode S
- Modem
- Modulation
- Modulation error ratio (MER)
- Modulation index
- Monopole antenna
- Moonbounce (EME)
- Moore's law
- Morse Code
- Motherboard
- Motherboard form factor
- Motorola Type II
- Mouse
- Mueller–Müller timing recovery
- Multi-band excitation (MBE)
- Multilateration (MLAT)
- Multipath propagation
- Multisite trunking
- Multithreaded DSP
- N-type connector
- NASA (National Aeronautics and Space Administration)
- NAVTEX
- NB-IoT (Narrowband IoT)
- NFC (RF layer)
- NIST (National Institute of Standards and Technology)
- NOAA APT
- NRZI
- NVIDIA
- NVIDIA Jetson
- NVMe
- NXDN
- NanoVNA
- National Telecommunications and Information Administration (NTIA)
- Near field & far field
- Near-field communication (NFC)
- Near-vertical incidence skywave (NVIS)
- Neighbor site
- Network Access Code (NAC)
- Network IQ streaming
- Network interface card (NIC)
- Network switch
- Network-attached storage (NAS)
- Neural processing unit (NPU)
- Nikola Tesla
- Noise blanker
- Noise figure (NF)
- Noise floor
- Noise source
- Noise temperature (Te)
- Nooelec NESDR
- Norbert Wiener
- NumPy & SciPy for DSP
- Numerical precision in DSP
- Numerically controlled oscillator (NCO)
- Nyquist–Shannon sampling theorem
- OCXO (oven-controlled crystal oscillator)
- ODROID
- OFDMA
- OP25
- Obfuscation
- Object-oriented programming
- Occupied bandwidth
- Ofcom
- Oliver Heaviside
- Oliver Lodge
- Olivia MFSK
- On-off keying (OOK)
- One-time pad (OTP)
- Operating system
- Optical disc
- Opus
- Orange Pi
- Orbcomm
- Orthogonal frequency-division multiplexing (OFDM)
- Out-of-tree module (OOT)
- Over-the-Air Rekeying (OTAR)
- Overlap-add & overlap-save
- Overruns & underruns
- Oversampling
- P25 Common Air Interface (P25 CAI)
- P25 DES-XL / ADP encryption
- P25 Phase 1
- P25 Phase 2
- PCI Express (PCIe)
- PHP
- PIC microcontroller
- POCSAG
- PPM frequency correction
- PSK31
- Package manager & dependency management
- Packet framing
- Packet radio
- Pactor
- Parabolic (dish) antenna
- Patch & multigroup
- Patch (microstrip) antenna
- Path loss
- Peripheral
- Personal computer
- Phase
- Phase Noise
- Phase-locked loop (PLL)
- Phase-shift keying (PSK)
- Phased-array antenna
- Phil Karn
- Platform as a service (PaaS)
- Polar code
- Polarization
- Polyphase filter bank (PFB)
- Pothos
- Power amplifier (PA)
- Power over Ethernet (PoE)
- Power spectral density (PSD)
- Power supply unit (PSU)
- Pre-emphasis & de-emphasis
- Preamble correlation
- Preamplifier (preamp)
- Printer
- Priority scan
- Private call
- ProVoice
- Project 25 (P25)
- Public-key cryptography
- Pulse shaping
- Pulse-amplitude modulation (PAM)
- Pulse-code modulation (PCM)
- Pulse-position modulation (PPM)
- Pulse-width modulation (PWM)
- Puncturing
- Python
- Q Factor (Quality Factor)
- QPSK
- Quadrature amplitude modulation (QAM)
- Quadrature demodulation
- Qualcomm
- Quantization
- R
- R820T / R820T2 tuner
- RAID
- RALCWI
- RC4 (ARC4) cipher
- REDHAWK SDR
- REST
- RF Subsystem (RFSS)
- RF filter
- RF machine learning (RFML)
- RF power meter
- RF switch
- RFID (RF layer)
- RISC-V
- RP2040
- RTCA
- RTL-SDR
- RTL2832U
- RTTY
- Rack server
- Radials & counterpoise
- Radiation pattern
- Radio Access Number (RAN)
- Radio Data System (RDS / RBDS)
- Radio ID
- Radio Society of Great Britain (RSGB)
- Radio horizon
- Radio propagation
- Radio wave
- RadioReference
- Rain fade
- Ralph Hartley
- Random-access memory (RAM)
- Raspberry Pi
- Raspberry Pi Foundation
- Raspberry Pi Pico
- Rayleigh fading
- Read-only memory (ROM)
- Real-time DSP
- Real-time operating system (RTOS)
- Receiver chain
- Receiver sensitivity (MDS)
- Recursive least squares (RLS)
- Reed–Muller code
- Reed–Solomon code
- Refactoring
- Reflection Coefficient (Γ)
- Refraction
- Reginald Fessenden
- Registration
- Remote keyless entry (RKE)
- Resampler
- Resonance
- Rest channel
- Return Loss
- Reverse proxy
- Richard Hamming
- Rician fading
- Ring buffer
- Roaming
- Robert Gallager
- Robert Noyce
- Robert Watson-Watt
- Rock Pi (Radxa)
- Roll-off factor
- Rolling code (hopping code)
- Root-raised-cosine filter (RRC)
- Router
- Ruby
- Rudolf Kalman
- Rust
- S-box (substitution box)
- S-parameters (Scattering Parameters)
- SAT/SMT solving
- SAW filter
- SBC cluster
- SD card
- SDR# (SDRSharp)
- SDRangel
- SDRplay RSP1A
- SDRplay RSPduo
- SDRplay RSPdx
- SILK
- SIMD vectorization
- SINAD (signal-to-noise-and-distortion)
- SMA connector
- SOLID
- SPI
- STM32
- Sample buffer
- Sample format (CS8/CS16/CF32)
- Sample rate
- Scalability
- Scattering
- Scrambling (whitening)
- Semantic versioning
- Semiconductor
- Sensor
- Server
- Serverless computing
- Shannon capacity
- Shortwave broadcasting
- SigMF (Signal Metadata Format)
- Sigfox
- Signal classification
- Signal generator
- Signal-processing block
- Signal-to-noise ratio (SNR)
- Simulation-driven SDR development
- Simulcast
- Single sideband (SSB)
- Single-board computer (SBC)
- Sky-wave propagation
- Slow-Scan Television (SSTV)
- SmartNet / SmartZone
- Smartphone
- Smartwatch
- SoC vs discrete
- SoapyRemote
- SoapySDR
- Soft-decision demodulation
- Software as a service (SaaS)
- Software-defined radio (SDR)
- Software-defined receiver (SDR receiver)
- Solid-state drive (SSD)
- Sophie Wilson
- Spectral efficiency
- Spectrogram
- Spectrum analyzer
- Speex
- Splitter / combiner
- Sporadic E (Es)
- Spurious Emissions
- Spurious-free dynamic range (SFDR)
- SpyServer protocol
- Squelch
- Standing wave ratio (SWR)
- Starlink
- Static binary
- Static vs dynamic typing
- Steve Wozniak
- Storage (SSD, HDD, flash)
- Stream cipher
- Stream tags
- Stream vs message passing
- Structural patterns
- Subcarrier
- Substitution-permutation network (SPN)
- Superheterodyne receiver
- Swift
- Symbol rate (baud)
- Symmetric-key cryptography
- System Fusion (YSF)
- System ID
- System bus
- System on a chip (SoC)
- TCAS
- TCXO (temperature-compensated crystal oscillator)
- TDMA
- TETRA
- TETRA TEA ciphers (TEA1–TEA7)
- TETRAPOL
- TIS-B
- TPMS (Tire Pressure Monitoring)
- TSBK
- TSMC
- TWELP
- Tablet
- Tactical Air Navigation (TACAN)
- Talkgroup
- Teensy
- Telecommunications Industry Association (TIA)
- Tensor processing unit (TPU)
- Test-driven development (TDD)
- Testing DSP without hardware
- The hardware spectrum
- Thermal noise (Johnson–Nyquist noise)
- Thin client
- Third-order intercept (IP3)
- Thread
- Threads
- Throttle
- Thunderbolt
- TinySA
- Touchscreen
- Transistor
- Transmit chain
- Transverter
- Trellis-coded modulation (TCM)
- Tropospheric ducting
- Trunked radio
- Trunking site
- Turbo code
- Type system
- TypeScript
- UART
- UAT (978 MHz)
- UHD (USRP Hardware Driver)
- UHF connector (PL-259)
- UMTS / W-CDMA (3G)
- USB
- USRP (Ettus Research)
- Unit testing
- Unun
- Upconverter
- VARA
- VDL Mode 2
- VHF Omnidirectional Range (VOR)
- VITA 49 (VRT)
- VOLK
- Vector network analyzer (VNA)
- Vector processor
- Version control
- Vestigial sideband (VSB)
- Virtual private server (VPS)
- Virtualization
- Viterbi algorithm
- VoLTE (Voice over LTE)
- Vocoder
- Voice channel
- Volatile vs non-volatile memory
- Von Neumann architecture
- WAV IQ recording
- WSPR
- Watchdog timer
- Waterfall display
- Waterfall rendering
- Wavelength
- Wearable computer
- Web & shared hosting
- Web SDR (OpenWebRX / KiwiSDR)
- Webcam
- Welch's method
- Whip antenna
- Wi-Fi
- Wi-Fi (802.11)
- Wi-Fi Alliance
- Wide Area Communications Network (WACN)
- Window function
- Winlink
- Wireless M-Bus (wM-Bus)
- Wireless access point
- Workstation
- World Radiocommunication Conference (WRC)
- Yagi-Uda antenna (Yagi)
- Z-Wave
- Zadig
- Zero-IF (zero intermediate frequency)
- Zero-copy
- Zero-crossing detection
- Zero-forcing equalizer
- ZeroMQ for SDR
- Zigbee / 802.15.4
- cfile format
- csdr
- dBFS
- dBm
- dPMR
- dump1090
- eMMC
- eSIM
- gr-osmosdr
- iOS
- libairspy
- libbladeRF
- libhackrf
- libiio
- librtlsdr
- liquid-dsp
- multimon-ng
- rtl_tcp
- x86
- π/4-DQPSK
Blog
Index & archive pages, then every post.
- Blog
- Blog: Announcements
- Blog: Deep dives
- Blog: Releases
- Blog: Solution Postmortem
- Blog: Tutorials
- Build in the Open: GitHub + Claude Code from idea to release
- Crypto Lab: breaking radio encryption, ethically
- RF Front End: driving RTL-SDR, Airspy & HackRF in pure Go
- RF Scope: Wireshark for the airwaves
- SDR Internals: building a software-defined radio in pure Go
- Signal Lab: from first capture to lab-grade VSA
- Signal Lab, Part 10: The Demod Bench — siglab sweep, Regression & Export (2026-07-15)
- RF Scope, Part 10: Advanced — Tuning Segmentation, Selective Analyzers & Pipelines (2026-07-15)
- Crypto Lab, Part 10: The Subject Framework, alias & the Mercury Reveal (2026-07-15)
- Signal Lab, Part 9: Dissecting P25 — TSBK PDUs, Receiver States & the Sync Landscape (2026-07-14)
- RF Scope, Part 9: The Scene Cockpit — Live TUI & Web Console (2026-07-14)
- Crypto Lab, Part 9: The Web Console, Live-Capture Bridge & External Ciphers (2026-07-14)
- Signal Lab, Part 8: Naming the Unknown — Blind Signal-ID & the Wideband Survey (2026-07-13)
- RF Scope, Part 8: Expert Info — Anomalies & What They Mean (2026-07-13)
- Crypto Lab, Part 8: Analog Voice Descrambling — Inversion, Split-Band, Rolling Code (2026-07-13)
- Signal Lab, Part 7: VSA — Lab-Grade Modulation Quality (2026-07-10)
- RF Scope, Part 7: Entropy & Encryption Triage — The Crypto Lab Bridge (2026-07-10)
- Crypto Lab, Part 7: CRC Recovery & the Recipe Pipeline (2026-07-10)
- Signal Lab, Part 6: Synthesize — Building Ideal & Impaired References (2026-07-09)
- RF Scope, Part 6: Topology — Emitters, Frequency Hoppers & Conversations (2026-07-09)
- Crypto Lab, Part 6: The assess Battery — Attacking P25/DMR/TETRA (2026-07-09)
- Signal Lab, Part 5: PSD, Spectrogram & Spectral Occupancy (2026-07-08)
- RF Scope, Part 5: Timing & Periodicity — Recovering the TDMA Frame (2026-07-08)
- Crypto Lab, Part 5: Keystream Reuse — Many-Time-Pad & Crib-Dragging (2026-07-08)
- Signal Lab, Part 4: Constellations & Eye Diagrams — Seeing Modulation Quality (2026-07-07)
- RF Scope, Part 4: The I/O Graph — Per-Channel Activity Over Time (2026-07-07)
- Crypto Lab, Part 4: Classical Ciphers — Brute XOR, Caesar, Vigenère, Substitution (2026-07-07)
- Signal Lab, Part 3: The Browser Console — siglab serve and Live Decode (2026-07-06)
- RF Scope, Part 3: Protocol Hierarchy — What's on the Air (2026-07-06)
- Crypto Lab, Part 3: Randomness — NIST SP 800-22 & the LFSR Signature (2026-07-06)
- Signal Lab, Part 2: Reading the Dashboard — Symbols, Baud, Lock & the 2% Rule (2026-07-03)
- RF Scope, Part 2: From IQ to Bursts — The Segmentation Pre-Pass (2026-07-03)
- Crypto Lab, Part 2: First Triage — classify auto and stats scan (2026-07-03)
- Signal Lab, Part 1: Your First Capture — No Radio Required (2026-07-02)
- RF Scope, Part 1: Wireshark for the RF Physical Layer (2026-07-02)
- Crypto Lab, Part 1: Breaking It Is the Test (2026-07-02)
- RF Front End, Part 14: Diagnostics, Metrics & the Pure-Go Payoff (2026-07-01)
- Build in the Open, Part 14: The CLI Workflow & Claude Code as Your Daily Driver (2026-07-01)
- RF Front End, Part 13: Testing Radios Without Radios (2026-06-30)
- Build in the Open, Part 13: Advanced Git & GitHub Features (2026-06-30)
- RF Front End, Part 12: The SDR Pool & USB Hotplug Watchdog (2026-06-29)
- Build in the Open, Part 12: Optimizing & Securing Your Repository (2026-06-29)
- RF Front End, Part 11: HackRF One — Signed 8-Bit IQ End to End (2026-06-28)
- Build in the Open, Part 11: Releases — Cadence, Pre-Release vs. Release, SemVer & Changelogs (2026-06-28)
- RF Front End, Part 10: Airspy R2/Mini & HF+ — Real Samples to Complex Baseband (2026-06-27)
- Build in the Open, Part 10: Websites, Support Pages & GitHub Pages (2026-06-27)
- RF Front End, Part 9: RTL-SDR III — IQ Streaming & the GC-Churn Bug (2026-06-26)
- Build in the Open, Part 9: Documentation Done Right — What Lives Where (2026-06-26)
- RF Front End, Part 8: RTL-SDR II — The R82xx Tuner & the Blog V4 Deafness (2026-06-25)
- Build in the Open, Part 8: Testing — How to Build and Write Tests (2026-06-25)
- RF Front End, Part 7: RTL-SDR I — Bringing Up the RTL2832U (2026-06-24)
- Build in the Open, Part 7: GitHub Actions — Which Workflows to Create and Why (2026-06-24)
- RF Front End, Part 6: USB on macOS & Windows (2026-06-23)
- Build in the Open, Part 6: Planning & Tracking Work — and Inviting Contributors (2026-06-23)
- RF Front End, Part 5: USB on Linux — USBDEVFS & Async URBs (2026-06-22)
- Build in the Open, Part 5: Branching & the Three Ways to Merge to Main (2026-06-22)
- RF Front End, Part 4: Talking to USB Without libusb (2026-06-21)
- Rebuilding GopherTrunk from Source: Update to the Latest Version with Git and GitHub (2026-06-21)
- Build in the Open, Part 4: Git & GitHub Fundamentals (Using the Web Interface) (2026-06-21)
- RF Front End, Part 3: The Driver Registry & Enumeration (2026-06-20)
- Build in the Open, Part 3: Brainstorming Features with Claude & Writing the README as Your Roadmap (2026-06-20)
- RF Front End, Part 2: The Device Contract (2026-06-19)
- Build in the Open, Part 2: Choosing Your Language, Platforms & Tech Stack (2026-06-19)
- RF Front End, Part 1: Why Drive Radios in Pure Go? (2026-06-18)
- Build in the Open, Part 1: Picking What to Build — How Pros Decide (2026-06-18)
- SDR in Pure Go, Part 14: APIs, Testing & the Pure-Go Story (2026-06-16)
- SDR in Pure Go, Part 13: Recording, Composition & Streaming (2026-06-15)
- SDR in Pure Go, Part 12: Voice Coding — IMBE, AMBE+2 & MBE (2026-06-14)
- SDR in Pure Go, Part 11: The Trunking Engine & Event Bus (2026-06-13)
- SDR in Pure Go, Part 10: Protocol Decoders as State Machines (2026-06-12)
- SDR in Pure Go, Part 9: Framing & Forward Error Correction (2026-06-11)
- SDR in Pure Go, Part 8: Equalization, Diversity & the FFT (2026-06-10)
- SDR in Pure Go, Part 7: Symbol Timing & Sync Recovery (2026-06-09)
- SDR in Pure Go, Part 6: Demodulation — FM, C4FM, GFSK & More (2026-06-08)
- SDR in Pure Go, Part 5: Tuning & Channelization — DDC vs. Polyphase (2026-06-07)
- SDR in Pure Go, Part 4: DSP Foundations — Filters, NCO & AGC (2026-06-06)
- SDR in Pure Go, Part 3: The SDR Pool & Streaming Concurrency (2026-06-05)
- SDR in Pure Go, Part 2: SDR Devices & the Driver Registry (2026-06-04)
- SDR in Pure Go, Part 1: What Is Software-Defined Radio? (2026-06-03)
- Welcome to the GopherTrunk blog (2026-05-27)