sdr4fun

Sharing on Software-Defined Radio

View on GitHub

sdr4fun

Sharing various stuff on Software-Defined Radio :

Introduction

Software-defined radio also named SDR, is a radio communication system where components that conventionally have been implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by means of software on a computer or embedded system (source: Wikipedia).

Important note

Listening and decoding communications is generally allowed, but recording or sharing communications, or trying to break encryption, may be restricted by local law in your country.

Hardware

An SDR (software defined radio) hardware device is the physical radio front end that converts real-world radio waves into digital samples (and back), so that almost all signal processing can be done in software.

SDR hardware typically includes:

In short, SDR hardware is the configurable radio front-end plus converters and processing/IO that replace most traditional fixed-function RF circuitry (mixers, demodulators, etc.) with a flexible, software-controlled platform.

There are a few hardware devices you could use to start playing with SDR:

Vendor Device Frequencies
Generic DVB-T tuner 24 Mhz - 1.766 Ghz
RTL-SDR Blog RTL-SDR v3/v4 500 kHz - 1.766 GHz
Nooelec NESDR SMArt 100 kHz - 1.750 GHz
Great Scott Gadgets HackRF One 1 MHz - 6 GHz

Note that frequency range depends on device architecture and some bands could require specific sampling mode.

Software

SDR software refers to the programs and applications used in Software-Defined Radio (SDR) systems. These replace traditional hardware components like mixers, filters, and modulators with software running on general-purpose computers or embedded processors.

SDR software processes radio signals digitally after an analog-to-digital converter captures RF input, enabling flexible tuning, demodulation, and protocol support without hardware changes. It handles tasks like filtering, frequency modulation, and signal enhancement for applications from amateur radio to 5G testing.

SDR software typically includes:

There are a few software applications you could use to start playing with SDR:

Author Software Platforms
Charles J. Cliffe CubicSDR Windows, Linux, MacOS
Alexandru Csete Gqrx Windows, Linux, MacOS
Edouard Griffiths SDR Angel Windows, Linux, MacOS
SDR-radio.com SDR Console Windows
Alexandre Rouma SDR++ Windows, Linux, MacOS, BSD
Airspy SDR# (SDR Sharp) Windows

WebSDR

A WebSDR is a software-defined radio receiver that is connected to the internet and can be tuned and listened to by many users at the same time via a web browser. In practice, it means someone hosts a radio and antenna at their location, and you control that receiver remotely from your computer or phone.

There are various benefits to adopt WebSDR :

Thanks to the amateur radio club ETGD at the University of Twente, you can listen to and control a short-wave receiver with their Wide-band WebSDR. Launched in 2008, it is the very first WebSDR site ever.

Tools

There are a few software add-ons you could also use to start playing with SDR:

Use cases

RTL-SDR hardare devices and software apps could be used to a lot of fun stuff:

Listening and monitoring

Tracking and data decoding

Space, weather, and science

RF analysis

Practical everyday uses

Some cases

There are a few use-cases you could consider to start playing with SDR:

Case Mode Band
Airband traffic AM 108 - 137 MHz
AIS decoding NFM 161.975 MHz (AIS 1)
162.025 MHz (AIS 2)
AM radios AM 540 - 160 kHz
ADS-B decoding PPM 978 MHz or 1090 MHz
APRS decoding AFSK 144 - 146 MHz
FM radios WFM 87 - 108 MHz
GNSS decoding BPSK, QPSK, BOC 1100 - 1600 Mhz
HAM radio AM, NFM, LSB, USB (see note on radio bands)
ISS Radio & TV WFM 145.800 Mhz (voice)
437.800 Mhz (packet)
LPD433 decoding ASK, OOK, FSK, PSK 433 - 434 MHz
NOAA-APT 15/18/19 WFM 137 - 138 Mhz (End Of Life)
Numbers stations   (undefined)
OTH Radar monitoring   3 - 30 MHz
PMR446 decoding NFM 446.000 - 446.200 Mhz
466 - 469 Mhz
POCSAG decoding FSK, DFSK (specific to countries)
Radiosonde decoding AM 400.150 - 406 MHz
1668.400 - 1700 MHz
UVB-76 listening USB 4625 kHz
VOR decoding AM 108 - 118 Mhz

Radio Band plans

When looking for a specific range of frequencies, you could use radio spectrum band plans that subdivide allocated frequency bands into segments for specific uses. These plans, set by bodies like ARRL (US), IARU (International), or RSGB (UK), promote orderly operation and reduce interference.

Scripts

Some scripts to use for SDR.

Scanning Airband

GAIN=50
SQUELCH=-20
FREQ=118M:137M:25k
RATE=12k

rtl_fm -M am -f ${FREQ} -s ${RATE} -g ${GAIN} -l ${SQUELCH} \
 | play --volume ${VOLUME} --rate ${RATE} --type raw --encoding s --bits 16 --channels 1 -V3 -

Listening to FM station

FREQ=105.5M
PPM=-36
GAIN=50
SQUELCH=0

rtl_fm -g ${GAIN} -f ${FREQ}M -M fm -s 180k -E deemp -p ${PPM} -l ${SQUELCH} \
 | play --rate 180k --type raw --encoding s --bits 16 --channels 1 -V2 - lowpass 16k

Decoding PMR flows

PORT=7355

ncat -l -u -p ${PORT} \
 | dsd -i - -o pa:1

Decoding POCSAG flows

PORT=7355

ncat -l -u -p ${PORT} \
 | sox --type raw -esigned-integer --bits 16 --rate 48000 - --type raw -esigned-integer --bits 16 --rate 22050 - \
 | multimon-ng -n -t raw -p -a POCSAG512 -a POCSAG1200 -a POCSAG2400 -a FLEX -a FLEX_NEXT -f auto --timestamp /dev/stdin

Decoding CW flows (Morse)

PORT=7355

ncat -l -u -p ${PORT} \
 | sox --type raw -esigned-integer --bits 16 --rate 48000 - --type raw -esigned-integer --bits 16 --rate 22050 - \
 | multimon-ng -t raw -p -a MORSE_CW -f auto -

Resources

There are a few web resources helpful when you would start playing with SDR:

References

Find below some links to useful and highly interesting articles from Wikipedia on various topics related to radio stuff: