Guía de herramientas SDR

Chuleta práctica de las herramientas de línea de comandos para un dongle RTL-SDR (RTL2832U con tuner R820T, 24-1766 MHz, solo recepción). Asume el kit instalado en Linux: rtl-sdr, rtl_433, multimon-ng, redsea, acarsdec, dump1090, direwolf, kalibrate-rtl, inspectrum, urh.

Flujo rápido: 433 MHz

rtl_433 -f 433.92M -F json # decodificar sensores y llaveros a JSON
rtl_433 -f 433.92M -R 23 -F csv # filtrar un protocolo (ver -G para listarlos)
rtl_sdr -f 433.92M -s 2.4M captura.iq # muestras I/Q crudas para inspectrum o urh
rtl_power -f 433M:434M:10k -g 40 b.csv # barrido de espectro de la banda

Base: captura y demodulación

rtl_test -t # test del dongle (tuner, PPM, muestreo)
rtl_sdr -f 433.92M -s 2.4M -g 40 cap.iq # I/Q crudo (8 bit, interleaved)
rtl_fm -f 98.5M -M fm -s 170k -A fast -l 0 | \
 play -t raw -r 170k -e signed -b 16 -c 1 - # FM comercial con sox
rtl_fm -f 144.8M -M fm -s 22050 | multimon-ng -t raw -a POCSAG -f alpha - # POCSAG
rtl_tcp -a 0.0.0.0 -p 1234 # compartir el dongle por red
  • rtl_tcp pública el dongle por TCP: SDR++, GQRX y otras maquinas lo usan como fuente “RTL-TCP”.
  • -g 0 es ganancia automática; en manual, 20-50 dB suele ser el rango útil.
  • -p <ppm> corrige la desviación del cristal (ver kalibrate-rtl).

Barrido de espectro

rtl_power -f 433M:434M:10k -g 40 barrido.csv # una banda
rtl_power -f 24M:1700M:100k -g 40 full.csv # todo el rango del dongle
rtl_power -f 433M:434M:10k -i 30 barrido.csv # integracion de 30 s por linea

El CSV trae fecha, frecuencia inicial, paso, número de muestras y potencia por bin. Con gnuplot: plot "barrido.csv" using 2:5 with image.

Decodificadores

rtl_433 - 433/868 MHz

Sensores meteorologicos, mandos, TPMS, contadores.

rtl_433 -f 433.92M -F json
rtl_433 -f 433.92M -F csv:out.csv
rtl_433 -R 23 # solo un protocolo
rtl_433 -G # listar protocolos disponibles

multimon-ng - POCSAG, FLEX, DTMF

rtl_fm -f 144.8M -M fm -s 22050 | multimon-ng -t raw -a POCSAG -f alpha -
rtl_fm -f 145.8M -M fm -s 22050 | multimon-ng -t raw -a DTMF

redsea - RDS de FM

redsea -f 98.5M # RDS directo
rtl_fm -f 98.5M -M fm -s 171k -A fast -l 0 | redsea -r 171000

acarsdec - ACARS aeronautico

acarsdec -o2 -r 0 131.550 131.725 131.850 # -r 0 usa el RTL-SDR

dump1090 - ADS-B

dump1090 --interactive --net # mapa en terminal y puerto 30005 (compatible tar1090/readsb)
dump1090 --raw --net # salida raw para otros visores

direwolf - APRS

rtl_fm -f 144.390M -M fm -s 22050 -p 0 | direwolf -t 0 -r 22050 -

rtl_ais - AIS naval

rtl_ais -n # salida NMEA por UDP 10110, consumible desde OpenCPN

Calibración de PPM

kalibrate-rtl -s GSM900 # escanear estaciones base GSM y medir offset
kalibrate-rtl -s GSM900 -g 40 -v # con ganancia y salida detallada
kalibrate-rtl -c 25 # comprobar una correccion concreta

El valor medido se aplica con -p <ppm> o en el campo PPM de SDR++/GQRX.

Análisis de señales

inspectrum captura.iq # espectrograma: burst, simbolos, timing
urh # Universal Radio Hacker: demodular y reconstruir protocolos

Flujo típico en urh: capturar o importar I/Q, demodular ASK/FSK/PSK, analizar paquetes y, si procede, reproducirlos con un transmisor.

Interfaces graficas

AplicaciónUsoNotas
SDR++ (sdrpp)Espectro, demodulación, pluginsFuente RTL-SDR o RTL-TCP; PPM en Source options
GQRXReceptor generalSencillo para empezar
SDRTrunkTrunking P25/DMR/EDACSComunicaciones profesionales
CubicSDRReceptor minimalistaMenos funciones
GNU Radio CompanionFlujos DSP propiosCurva de aprendizaje alta

Transmisión

El RTL-SDR no transmite. Para emitir hace falta otro hardware (HackRF, Evil Crow RF, etc.).

hackrf_transfer -t cap.iq -f 433920000 -s 2000000 -a 1

Emitir sin licencia en la mayoría de bandas es ilegal. Comprobar la normativa y el entorno antes de transmitir.

Frecuencias de referencia

FrecuenciaUso
98-108 MHzFM comercial (RDS)
118-137 MHzAviación (ACARS, voz)
144.390 MHzAPRS
433.92 MHzISM: sensores, mandos
446 MHzPMR446
868 MHzISM Europa
1090 MHzADS-B
161.975 / 162.025 MHzAIS

Trucos

  • rtl_test -p estima el PPM en el acto.
  • Con dos dongles se puede dejar uno en rtl_tcp y usar el otro para captura directa.
  • SDR++ y GQRX con fuente RTL-TCP comparten el dongle por LAN con latencia baja.
  • Antes de perseguir una señal, comprobar con rtl_power que esta donde se cree.