Software Defined Radio
rtl-sdr
rtl-sdr is where almost everyone starts. Those cheap USB TV-tuner dongles built
on the Realtek RTL2832U chip turn out to be capable wideband radio receivers, and
this package provides the driver and the command-line utilities to use them. On
their own the utilities are low-level — they capture raw samples, tune FM, sweep
power across a band — but they’re also the foundation every higher-level SDR tool
builds on, and they’re the quickest way to confirm your dongle works.
Official-repo package; Security → Software Defined Radio → rtl-sdr. It ships
several tools: rtl_test (verify the device), rtl_sdr (raw capture), rtl_fm
(FM/AM demodulation), rtl_power (power sweep for spectrum surveys), rtl_adsb
(aircraft), rtl_tcp (network server), plus rtl_eeprom and rtl_biast.
The help it prints
rtl_test is the first thing to run — it confirms the dongle is detected:
rtl_test: invalid option -- '-'
rtl_test, a benchmark tool for RTL2832 based DVB-T receivers
Usage:
[-s samplerate (default: 2048000 Hz)]
[-d device_index or serial (default: 0)]
[-t enable Elonics E4000 tuner benchmark]
[-p[seconds] enable PPM error measurement (default: 10 seconds)]
[-b output_block_size (default: 16 * 16384)]
[-S force sync output (default: async)]
And rtl_sdr itself, for raw capture:
rtl_sdr: invalid option -- '-'
rtl_sdr, an I/Q recorder for RTL2832 based DVB-T receivers
Usage: -f frequency_to_tune_to [Hz]
[-s samplerate (default: 2048000 Hz)]
[-d device_index or serial (default: 0)]
[-g gain (default: 0 for auto)]
[-p ppm_error (default: 0)]
[-b output_block_size (default: 16 * 16384)]
[-n number of samples to read (default: 0, infinite)]
[-S force sync output (default: async)]
[-D enable direct sampling (default: off)]
filename (a '-' dumps samples to stdout)
Examples
# Confirm the dongle is working
rtl_test
# Listen to a broadcast FM station, pipe audio out through aplay
rtl_fm -f 96.9M -M wbfm -s 200000 -r 48000 | aplay -r 48000 -f S16_LE
# Sweep 400-450 MHz and log power (a quick spectrum survey)
rtl_power -f 400M:450M:1k -i 10 -1 survey.csv
# Capture raw IQ samples to a file for offline analysis
rtl_sdr -f 433.92M -s 2048000 capture.iq
# Serve the dongle over the network for a remote client
rtl_tcp -a 0.0.0.0