Skip to content

vmapps/sdr4fun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

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:

  • RF front end (tuner, low-noise amplifiers, filters) to select and condition a band of frequencies
  • High-speed ADCs (and often DACs) that digitize incoming RF (and synthesize outgoing RF) as raw I/Q samples
  • A programmable processing section such as FPGA, DSP, SoC, or a USB/ethernet interface to stream samples to a host computer for software processing

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:

  • Switching frequencies, modes (e.g., FM, SSB, digital), or standards via software updates
  • Hardware pairing with SDR devices featuring FPGAs, DSPs, or sound cards as the RF front end
  • Spectrum monitoring, prototyping wireless systems, and real-time analysis in labs or field tests

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++ (SDR Sharp) Windows, Linux, MacOS, BSD
Airspy SDR# (SDR Plus Plus) 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 :

  • No hardware/software required : You can listen to shortwave, amateur bands, and other signals without buying a radio, antenna, or SDR dongle yourself, which is ideal for beginners or people in apartments
  • Global access : You can use receivers located all over the world, so you can hear stations and propagation conditions that are impossible to receive from your own location
  • Better reception than at home : Many servers use good antennas and low-noise locations, so reception quality can exceed that of a typical urban home setup
  • Learning and experimentation: WebSDR lets you see whole bands on a waterfall display, explore different modes (AM, FM, SSB, CW, digital), and learn about SDR concepts without needing to install software or drivers
  • Convenience and portability : Everything runs in a browser, so it works from almost any device and OS with just an internet connection, with no complex setup

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

  • Airband and ATC: Listen to aircraft-tower communications in the VHF airband
  • Public service and utilities: Monitor police, fire, EMS, and other analog or unencrypted digital services where this is legal
  • Broadcast radio: Receive FM broadcast, DAB/DAB+ digital radio, and sometimes analogue TV audio
  • Amateur radio: Listen to local ham repeaters, simplex channels, and digital modes

Tracking and data decoding

  • Aircraft tracking: Decode ADS-B signals (1090 MHz) to plot aircraft positions on a map
  • Ship tracking: Receive AIS signals to track vessels near coasts and harbors
  • Pagers and telemetry: Decode POCSAG/FLEX pagers, taxi data, and similar one-way data systems
  • Sensors and meters: Receive 433 MHz or 868 MHz weather stations, TPMS, smart power/water meters, and other ISM-band devices

Space, weather, and science

  • Weather satellites: Receive images from NOAA APT and other weather satellites with a suitable antenna
  • ISS and satellites: Listen to Amateur Radio on the ISS and other satellites, sometimes receive SSTV images
  • Simple radio astronomy: Experiment with hydrogen line reception and meteor scatter detection

RF analysis

  • Spectrum analyzer: Scan bands to see where signals exist, measure signal strength vs frequency
  • Reverse engineering: Capture unknown RF protocols (e.g., remotes, key fobs) and analyze them with tools like GNU Radio
  • Noise and interference hunting: Find local interference sources, check antenna performance, and characterize filters

Practical everyday uses

  • Home monitoring: Log your smart meter, weather sensors, or car tire pressure sensors
  • Learning platform: Practice DSP, modulation/demodulation, and protocol decoding with cheap hardware

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
AM radios AM 540 - 160 kHz
ADS-B tracking PPM 978 MHz or 1090 MHz
APRS decoding AFSK 144 - 146 MHz
FM radios WFM 87 - 108 MHz
HAM radio AM (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
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

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

Resources

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

  • Priyom.org : international group of radio enthusiasts seeking out mysterious stations
  • Signal Identification Guide : wiki to help identifying radio signals through sounds samples and waterfall images
  • WebSDR.org : project providing web access to worldwide SDR receivers covering complete shortwave spectrum

References

Please find below some links to useful Wikipedia articles on various topics related to SDR:

About

Sharing on Software-Defined Radio

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published