// PROYECTO: SIGINT & Radiofrecuencia
// HARDWARE: NEWGEN.RTL2832 SDR 25Mhz to 1760Mhz TCXO 0.5 PPM
// ENTORNO: DragonOS (Debian-based SIGINT Suite)
0x01 Visión General y Contexto Estratégico
La Radio Definida por Software (SDR) representa para mí un cambio de paradigma en los sistemas de comunicación.
Componentes que tradicionalmente implementaba en hardware —como mezcladores, filtros y demoduladores— ahora los ejecuto mediante software en mi computadora.
Esta flexibilidad me abre un sinfín de posibilidades para el procesamiento de señales.
El RTL-SDR es una herramienta barata que ha democratizado el acceso al espectro radioeléctrico, permitiendo que tanto profesionales como yo podamos explorar las ondas de radio con una inversión mínima.
Un dongle RTL-SDR es un dispositivo USB económico que funciona como un escáner de radio basado en computadora.
Sus orígenes están en los sintonizadores de TV digital (DVB-T) que usaban el chipset RTL2832U.
El potencial fue descubierto gracias al trabajo de investigadores como Antti Palosaari y Eric Fry, y especialmente Steve Markgraf (Osmocom), quien desarrolló el controlador que permite acceder directamente a los datos crudos I/Q.
0x02 Especificaciones Técnicas Clave
Comprender el hardware es esencial para no forzar el dispositivo más allá de sus límites físicos:
- Rango de Frecuencia: Depende del sintonizador.
- Tasa de Muestreo: Máxima estable de 2.56 MS/s. A tasas superiores como 3.2 MS/s suelo sufrir pérdida de muestras, lo que corrompe la decodificación digital.
- Resolución ADC: Nativa de 8 bits (ENOB estimado de 7 bits).
- Impedancia: Estandarizada a 50 Ohms en modelos con conectores SMA.
- Requisitos del Sistema: Doble núcleo para GUIs. En aplicaciones embebidas o CLI, una Raspberry Pi 3 es suficiente.
0x03 Configuración en Windows (Zadig)
En Windows, el paso obligatorio es sustituir el controlador DVB-T por el controlador WinUSB.
Sin esto, el dongle no será reconocido como SDR genérico.
- Descargar
sdrsharp-x86.zipde Airspy. - Extraer en carpeta dedicada (ej:
C:\SDR). Nunca en Program Files por restricciones de permisos. - Ejecutar
install-rtlsdr.batpara obtenerrtlsdr.dllyzadig.exe. - Ejecutar Zadig como administrador.
- En el menú: "Options -> List All Devices".
- Seleccionar "Bulk-In, Interface (Interface 0)". Verificar ID USB:
0BDA 2838 00. - Seleccionar WinUSB y pulsar "Replace Driver".
0x04 Configuración en Linux
En Linux utilizo la terminal para compilar librtlsdr, configurar reglas udev y deshabilitar los módulos DVB-T que entran en conflicto.
# 1. Dependencias sudo apt update && sudo apt install cmake build-essential libusb-1.0-0-dev git2. Clonar y Compilar
git clone https://github.com/steve-m/librtlsdr.git cd librtlsdr && mkdir build && cd build cmake ../ -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig
3. Blacklisting (Evitar que se cargue como TV)
echo “blacklist dvb_usb_rtl28xxu” | sudo tee /etc/modprobe.d/blacklist-rtl.conf
4. Verificación
rtl_test -t
Los osciladores de cristal presentan una imprecisión medida en Partes Por Millón (PPM).
Un error de 50 PPM puede desplazar una señal de banda estrecha fuera de mi filtro, impidiendo la decodificación.
Uso kalibrate-rtl (kal) para medir este error usando torres GSM como referencia.
# Escanear banda GSM900 kal -s GSM900Calcular desplazamiento con el canal más potente
kal -c [número_de_canal]
El valor clave es el average absolute error.
Ese valor de corrección (ej: 4.709 ppm) es el que introduzco en mi software SDR para una sintonización quirúrgica.
0x05 SDR# (Windows)
- Seleccionar fuente 'RTL-SDR USB' en el menú Source.
- Presionar Play.
- Ajustar Ganancia (RF Gain): Fundamental. Por defecto es cero. Subo el slider en el icono de engranaje hasta ver las señales sobre el ruido.
- Introducir el valor de PPM calculado anteriormente.
0x06 HDSDR (Windows)
Requiere el uso de módulos ExtIO (DLLs).
Copio ExtIO_RTL.dll en el directorio raíz de HDSDR y lo selecciono al iniciar.
Configuro la tasa de muestreo y ganancia desde el botón "SDR-Device".
0x07 GQRX (Linux)
Mi estándar en DragonOS.
Al iniciar, selecciono el dispositivo (RTL2838) y establezco el Input rate a 2.4e6. Sintonizo haciendo clic en la cascada y ajusto el modo (NFM, WFM, AM) en "Receiver Options".
- "No Device Selected": Error en Zadig. Reinstala en Interface 0. Evita cables de extensión USB de mala calidad.
- Instalación colgada: Windows bloquea controladores no firmados. Prueba en Modo Seguro.
- Pico en el centro: Artefacto de DC normal. Activa "Correct IQ".
- Recepción pobre: Ganancia en cero o antena de serie en interiores. Sube la ganancia RF.
| Sintonizador | Rango de Frecuencia |
|---|---|
| Elonics E4000 | 52 – 2200 MHz |
| R820T/2/R860 | 24 – 1766 MHz |
| Fitipower FC0013 | 22 – 1100 MHz |
| FCI FC2580 | 146–308 MHz y 438–924 MHz |
Enlaces Útiles: