Technical Reference Guide

Software
Defined Radio

A practical introduction to SDR — from fundamentals to getting on the air.

What Is Software Defined Radio?

Software Defined Radio (SDR) is a radio communication architecture in which components traditionally implemented in hardware — filters, modulators, demodulators, amplifiers — are instead implemented in software running on a general-purpose computer or embedded processor.

In a conventional radio, dedicated analogue circuitry performs each function: a crystal filters a particular frequency, a mixer shifts the signal, a demodulator extracts audio. Changing the radio's behaviour requires physically changing its components. In an SDR, most of this signal processing happens in code. You can retune, remodulate, and repurpose the radio by changing a configuration or loading a new plugin.

Key Insight An SDR receiver is essentially a very fast analogue-to-digital converter (ADC) attached to an antenna. Everything else — filtering, demodulation, decoding — is mathematics carried out by software.

This approach was pioneered for military use in the early 1990s, most notably through the US military's Joint Tactical Radio System (JTRS) programme. Since then, cheap commodity hardware — in particular the accidental discovery that DVB-T USB TV tuner dongles contain a wideband tuner chip — has brought SDR firmly into the hands of hobbyists, researchers, and engineers worldwide.

How It Works

The Signal Chain

From antenna to audio, an SDR receive chain follows these steps:

 Antenna
    │
    ▼
 ┌──────────────┐
 │  RF Front End │  ← Bandpass filter, low-noise amplifier (LNA)
 └──────┬───────┘
        │  Analogue RF signal
        ▼
 ┌──────────────┐
 │  Mixer / IQ   │  ← Shifts signal to baseband using local oscillator
 │  Downconverter│    Produces two streams: I (in-phase) and Q (quadrature)
 └──────┬───────┘
        │  Baseband I/Q samples
        ▼
 ┌──────────────┐
 │  ADC          │  ← Samples the analogue signal at high speed
 │               │    (e.g. 2.4 MHz, 10 MHz, or higher)
 └──────┬───────┘
        │  Digital samples (USB / PCIe / Ethernet)
        ▼
 ┌──────────────┐
 │  Host Software│  ← GNU Radio, SDR#, SDRangel, etc.
 │               │    Digital filtering, demodulation, decoding
 └──────┬───────┘
        │
        ▼
    Audio / Data output
      

I/Q Sampling

Rather than capturing a single stream of samples, SDRs produce complex baseband signals, which consist of two components — I (In-phase) and Q (Quadrature) — sampled 90° apart. This pair of streams fully describes both the amplitude and phase of the signal at any instant, which is essential for correctly demodulating phase-based modes like SSB, PSK, and QAM.

I/Q data is conventionally expressed as complex numbers: a sample is written as I + jQ, and all subsequent digital signal processing (DSP) operations work on these complex values.

Sample Rate and Bandwidth

The sample rate of the ADC determines how much radio spectrum is visible at once. By the Nyquist theorem, a sample rate of F samples per second captures a bandwidth of F Hz of spectrum (centred on the tuned frequency). A 2.4 MS/s device therefore sees a 2.4 MHz wide slice of spectrum; a 56 MS/s device sees 56 MHz at a time.

Digital Filtering and Demodulation

Once the samples reach the host computer, software applies a chain of digital filters to select a narrow channel from within the wider captured bandwidth. A finite impulse response (FIR) filter or fast Fourier transform (FFT)-based channeliser isolates the signal of interest, and then a demodulator block (AM, FM, SSB, etc.) extracts the information content.

Common SDR Hardware

SDR hardware spans a wide range of cost and capability. Here are the most widely used platforms:

Device Freq. Range Sample Rate Approx. Cost Notes
RTL-SDR (RTL2832U) 500 kHz – 1.75 GHz Up to 2.4 MS/s £20–£30 Best entry point. Huge community. RX only.
HackRF One 1 MHz – 6 GHz Up to 20 MS/s £250–£320 Half-duplex TX/RX. Wide range. Open hardware.
LimeSDR Mini 2 10 MHz – 3.5 GHz Up to 30.72 MS/s £180–£250 Full duplex. USB 3.0. Good for LTE/5G research.
ADALM-PLUTO (PlutoSDR) 325 MHz – 3.8 GHz Up to 61.44 MS/s £150–£200 Full duplex. AD9363 chip. Popular for amateur satellite.
USRP B200 70 MHz – 6 GHz Up to 61.44 MS/s £750+ Professional grade. Full duplex. Ettus/NI ecosystem.
Airspy HF+ Discovery 0.5 kHz – 31 MHz / 60–260 MHz Up to 912 kS/s £180–£220 Specialist HF/VHF receiver. Outstanding sensitivity.

Accessories

Software Ecosystem

GNU Radio

The gold standard open-source SDR framework. Flow-graph based signal processing with Python scripting. Runs on Linux, macOS, and Windows.

SDR# (SDRSharp)

Popular Windows GUI for RTL-SDR and Airspy hardware. Excellent plugin ecosystem. Great for beginners.

SDRangel

Cross-platform GUI supporting many hardware devices. Includes built-in demodulators and digital mode decoders.

CubicSDR

Cross-platform, open-source receiver GUI. Clean waterfall display. Good multi-platform support.

GQRX

Linux and macOS receiver built on GNU Radio. Audio piped to system output or streamed via UDP.

Inspectrum

Offline signal analysis tool. Load I/Q recordings and measure symbol timing, baud rate, and modulation.

Dump1090 / tar1090

Dedicated ADS-B decoder for tracking aircraft. Feeds data to map-based visualisers.

rtl_433

Decodes hundreds of 433 MHz ISM band sensors: weather stations, tyre pressure monitors, doorbells, and more.

Key Libraries

What Can You Do With It?

SDR is used across an enormous range of applications, from hobbyist curiosity to critical infrastructure monitoring:

Aviation and Transport

ADS-B receivers using an RTL-SDR can decode position, altitude, speed, and identity broadcasts from aircraft in real time. The same principle applies to ship traffic via AIS on VHF marine frequencies, and rail via ACARS and POCSAG pager networks.

Weather and Space

NOAA weather satellites (137–138 MHz) transmit APT imagery that can be decoded into cloud cover images in real time. Higher-gain setups can receive HRPT or LRPT imagery at higher resolution. Amateur (ham) satellites also use SDR-accessible frequencies.

Amateur Radio

Licensed amateur radio operators use SDR for monitoring HF bands, operating digital modes (FT8, JS8Call, WSPR), building software-defined transceivers, and experimenting with weak-signal communication. Websdr.org hosts publicly accessible SDR receivers worldwide.

IoT and RF Security Research

Security researchers use SDR to analyse proprietary wireless protocols, test the security of 433 MHz and 868 MHz IoT devices, intercept and replay signals from car key fobs (for research purposes), and examine the RF behaviour of consumer electronics.

Cellular and Wireless Standards

With appropriate hardware (HackRF, LimeSDR, USRP), SDR can be used to build GSM/LTE base stations (in licensed test environments), experiment with 5G NR waveforms, or study Wi-Fi and Bluetooth baseband signals.

Radio Astronomy and Signal Monitoring

Wideband SDRs can detect the 1420 MHz hydrogen line emitted by interstellar gas — a staple of amateur radio astronomy. They are also used for spectrum monitoring, interference hunting, and characterising propagation conditions.

Your First Setup

The easiest and cheapest way to begin is with an RTL-SDR Blog v4 dongle (around £25) and a simple dipole antenna.

Step 1 — Install Drivers

On Linux, librtlsdr is available in most package managers (apt install rtl-sdr). On Windows, use Zadig to replace the default WinUSB driver with the WinUSB/libusbK driver that librtlsdr requires.

Step 2 — Install a GUI

SDR# (Windows) or GQRX (Linux/macOS) are recommended starting points. Both display a waterfall — a scrolling frequency vs. time vs. amplitude display that makes it easy to spot signals visually.

Step 3 — Explore the Spectrum

Tune to 88–108 MHz for FM broadcast radio — the strongest, cleanest signals you can receive and a good calibration check. Then try 118–137 MHz for aircraft voice communications (AM), or 162 MHz for NOAA weather radio.

Step 4 — Decode Something

Install dump1090 and point an antenna upward: within minutes you should see aircraft on a map. Install rtl_433 and you will likely see nearby weather station or sensor traffic on 433.92 MHz almost immediately.

Tip Antenna placement matters more than almost anything else. Even a few metres of height and a clear sky view dramatically improves reception. A cheap antenna outside is almost always better than an expensive antenna indoors.

Further Learning

Books and Texts

Online Communities

Key Standards and References