Kalibrate-RTL: Calibración de Dongles SDR

  

 https://www.onlinetis.com/es/

Kalibrate-RTL: Calibración de Dongles SDR

Parece que te interesa adentrarte en el mundo de la Radio Definida por Software (SDR) utilizando dispositivos económicos como los dongles RTL-SDR.

Kalibrate-rtl (frecuentemente llamado simplemente kal) es una herramienta de línea de comandos esencial para cualquiera que use un RTL-SDR. Su función principal es calibrar el error de frecuencia de tu dispositivo.


¿Por qué necesitas Kalibrate?

La mayoría de los dongles USB RTL-SDR no son instrumentos de precisión. Debido a que usan osciladores de cristal económicos, la frecuencia que "dicen" estar sintonizando suele estar un poco desplazada. Este error se mide en Partes Por Millón (PPM).

Si intentas sintonizar una señal muy estrecha y tu dispositivo tiene un error de 50 PPM, podrías estar buscando en el lugar equivocado y no ver nada. kal soluciona esto buscando señales de estaciones base de telefonía móvil (GSM), que son extremadamente precisas, para calcular el error exacto de tu dongle.


Cómo se utiliza (Comandos básicos)

Una vez instalado en Linux (o mediante herramientas similares en Windows), el flujo de trabajo suele ser el siguiente:

  1. Escanear bandas en busca de torres activas:

    Utilizas este comando para ver qué canales GSM tienen señal fuerte en tu zona.

    kal -s GSM900 (o GSM850, EGSM, etc., dependiendo de tu país).

  2. Calcular el PPM:

    Una vez que identificas un canal con señal (por ejemplo, el canal 13), le pides a la herramienta que se sincronice con él para hallar el error.

    kal -c 13

Resultado final

Al final del proceso, la herramienta te dirá algo como:

average absolute error: 14.250 PPM

Ese número (14) es el que debes introducir en la configuración de programas como SDR#, GQRX o SDR++ para que la sintonía sea perfecta.


Consideraciones importantes

  • Calentamiento: El error PPM cambia a medida que el dongle se calienta. Es recomendable dejarlo conectado unos 10-15 minutos antes de calibrar.

  • Disponibilidad GSM: En algunos países, las redes GSM (2G) se están apagando. Si no encuentras señales, asegúrate de probar con diferentes bandas de frecuencia compatibles con kal.


Para instalar kalibrate-rtl, el proceso varía dependiendo de si usas Linux (donde es nativo y más potente) o Windows. Aquí tienes los pasos detallados:


1. Instalación en Linux (Ubuntu/Debian/Raspberry Pi OS)

En Linux es donde mejor funciona, ya que se compila directamente para tu hardware.

Paso A: Instalar dependencias

Primero necesitas las herramientas de compilación y las librerías del RTL-SDR. Abre una terminal y ejecuta:

Bash
sudo apt update
sudo apt install automake libtool digital-voice-encoding-dev librtlsdr-dev libfftw3-dev

Paso B: Clonar y Compilar

Como no suele estar en los repositorios oficiales de apt, debemos bajar el código fuente:

  1. Clonar el repositorio:

    git clone https://github.com/steve-m/kalibrate-rtl

  2. Entrar a la carpeta:

    cd kalibrate-rtl

  3. Compilar:

    Bash
    ./bootstrap
    ./configure
    make
    sudo make install
    

2. Instalación en Windows

En Windows, kalibrate-rtl no se instala de forma tradicional; se utiliza como un archivo ejecutable (.exe) a través del símbolo del sistema (CMD).

  1. Descarga: Busca los "binarios" (archivos ya compilados) de kalibrate-rtl para Windows. Sitios como el blog de RTL-SDR.com suelen tener enlaces directos a versiones estables.

  2. Zadig: Asegúrate de haber instalado los drivers correctos con Zadig, de lo contrario, el programa no detectará el dongle.

  3. Ejecución: * Extrae el archivo .zip.

    • Mantén presionada la tecla Shift y haz clic derecho dentro de la carpeta donde está el archivo kal.exe.

    • Selecciona "Abrir ventana de comandos aquí" o "Abrir terminal".

    • Ejecuta el comando escribiendo .\kal.exe seguido de los parámetros (ej. .\kal.exe -s GSM900).


3. Verificación de la instalación

Para comprobar que todo está en orden, conecta tu dispositivo RTL-SDR y escribe en la terminal:

kal -h

Si ves una lista de opciones y comandos, ¡estás listo para empezar a buscar señales!

Nota de seguridad: En Linux, si al intentar usarlo te da un error de "Permission denied" o "USB error", es probable que necesites configurar las reglas udev o ejecutar el comando con sudo.

 

Dependiendo de dónde te encuentres, las bandas de frecuencia cambian. Buscar en la banda incorrecta es el error número uno: podrías estar escaneando el vacío y pensar que el dispositivo no funciona.

Aquí tienes la tabla de referencia para saber qué comando usar según tu ubicación:

Bandas GSM por Región

RegiónBanda PrincipalComando en kal
Europa, África, Asia y OceaníaGSM-900 / DCS-1800kal -s GSM900 o kal -s DCS
Norteamérica (EE. UU., Canadá)GSM-850 / PCS-1900kal -s GSM850 o kal -s PCS
Sudamérica y CentroaméricaMezcla (850 / 900 / 1800 / 1900)Prueba primero GSM850, luego GSM1900

Pasos para una calibración exitosa

  1. El Escaneo Inicial:

    Prueba primero con la banda más común en tu país. Por ejemplo, en España o Argentina (donde todavía queda algo de 2G):

    kal -s GSM900

  2. Identificar el Canal:

    El programa te devolverá una lista de canales (chan) y su potencia (power). Busca el que tenga el valor de potencia más alto (un número más cercano a cero o con más "picos" en el reporte).

  3. Ejecutar la Sincronización:

    Si el canal con mejor señal fue el 50, ahora ejecuta:

    kal -c 50

[!TIP]

Dato curioso: A medida que el 2G (GSM) va desapareciendo en favor del 4G/5G, a veces cuesta encontrar torres. Si kal no encuentra nada, asegúrate de tener una antena conectada que sea capaz de recibir frecuencias de 850-900 MHz (una antena telescópica a unos 8-10 cm de largo suele ayudar).


Para que no tengas que calibrar tu dispositivo cada vez que abras tu programa de radio favorito, debes introducir ese valor de PPM en la configuración del software.

Dependiendo de qué programa uses, el lugar donde se guarda varía ligeramente. Aquí tienes cómo hacerlo en los más populares:


1. SDR# (SDRSharp) - Windows

Es el software más común para usuarios de RTL-SDR en Windows.

  1. Abre SDR#.

  2. Haz clic en el icono del engranaje (Settings) en la parte superior izquierda, junto al selector de dispositivo.

  3. Busca el campo que dice Frequency correction (ppm).

  4. Escribe el número exacto que te dio kalibrate-rtl (por ejemplo: 14).

  5. Cierra la ventana. A partir de ahora, el programa compensará ese error automáticamente al sintonizar.


2. GQRX - Linux / macOS

Si instalaste kal en Linux, es probable que uses GQRX.

  1. Haz clic en el icono de Configure I/O devices (el que parece un conector o una tarjeta).

  2. En la ventana que aparece, busca la pestaña o sección de Input controls.

  3. Verás una casilla llamada Freq. correction.

  4. Introduce tu valor de PPM ahí.

  5. Haz clic en OK.


3. SDR++ (SDRPlusPlus) - Multiplataforma

Este software moderno es muy visual y eficiente.

  1. En el panel lateral izquierdo, busca el módulo Source.

  2. Despliega las opciones de tu dispositivo (RTL-SDR).

  3. Verás un deslizador o casilla de texto llamada PPM Correction.

  4. Escribe tu valor y presiona Enter.


Un truco para la precisión máxima

Como te mencioné antes, el error de frecuencia cambia con la temperatura. Si quieres ser un perfeccionista del SDR:

  • Anota dos valores: Uno con el dongle "frío" (recién conectado) y otro tras 20 minutos de uso.

  • Usa el valor "caliente": Casi siempre usarás el dispositivo por periodos largos, por lo que el valor que obtengas después de que el metal esté tibio al tacto será el más preciso para tus sesiones de escucha.

[!IMPORTANT]

Si alguna vez cambias de puerto USB o compras un segundo dongle, debes volver a calibrar, ya que cada dispositivo físico tiene su propio error único de fabricación.


Para verificar si la calibración fue exitosa, lo más sencillo es sintonizar una señal cuya frecuencia exacta ya conozcas. Si después de aplicar el PPM, el "pico" de la señal cae justo en el centro de la línea de sintonía, ¡lo has logrado!

Aquí tienes tres formas rápidas de comprobarlo:


1. Radio FM Comercial (La prueba más fácil)

Las estaciones de radio FM son muy potentes y fáciles de encontrar.

  • Busca una emisora local: Por ejemplo, si sabes que una radio emite en 94.100 MHz.

  • Sintoniza: Pon esa frecuencia exacta en tu software.

  • Observa el espectro (Waterfall): Si el pico de la señal está desplazado a la izquierda o derecha de la línea central roja, tu valor de PPM aún necesita un pequeño ajuste. Si cae justo en el medio, es perfecto.

2. Señales de Navegación Aérea (ADS-B)

Si vives cerca de un aeropuerto o bajo una ruta de vuelo, esta señal es matemática pura.

  • Frecuencia: 1090 MHz.

  • Señal: Verás "ráfagas" muy rápidas y fuertes de datos digitales.

  • Verificación: Como es una frecuencia alta, cualquier error de PPM se nota mucho más (el error crece proporcionalmente a la frecuencia). Si a 1090 MHz la señal está centrada, tu dongle está calibrado como un reloj suizo.

3. Ajuste "fino" manual

Si ves que después de usar kalibrate-rtl todavía hay un pequeño desfase (digamos, de 1 o 2 kHz), puedes hacer lo siguiente:

  1. Sintoniza una señal FM conocida.

  2. Haz zoom máximo en el espectro.

  3. Cambia el valor de PPM en la configuración de 1 en 1 (ejemplo: de 14 a 15, o de 14 a 13) hasta que veas que el pico de la señal se alinea perfectamente con la línea central de tu software.


Resumen de tu configuración

ParámetroValor
Frecuencia de pruebaFM local o 1090 MHz
Ajuste PPMEl obtenido con kal -c [canal]
Estado idealPico de señal centrado en la línea de sintonía

[!TIP]

Si el error es muy grande (más de 100 PPM) y no logras centrarlo, es posible que tu dongle sea de los modelos más antiguos sin "TCXO" (oscilador compensado por temperatura). Los modelos modernos (como el RTL-SDR Blog V3 o V4) suelen tener un error de apenas 1 PPM o menos.

 

Vamos a lo más emocionante: escuchar aviones. Como ya tienes el dispositivo calibrado, la precisión será mucho mayor para decodificar los datos digitales que envían las aeronaves.

Para esto usaremos el sistema ADS-B (Vigilancia Dependiente Automática - Difusión), que emite en la frecuencia de 1090 MHz.


1. El Software: dump1090

Es el estándar de oro para esto. Está disponible para Windows y Linux.

  • En Linux:

    Bash
    sudo apt install dump1090-mutability
    
  • En Windows:

    Descarga el ejecutable de dump1090 (normalmente viene en el paquete de utilidades de RTL-SDR.com).

2. Configuración con tu valor de PPM

Aquí es donde aplicas lo que aprendiste con kalibrate-rtl. Al ejecutar el programa desde la terminal o CMD, debes añadir tu corrección:

dump1090 --interactive --net --ppm 14

(Sustituye 14 por el número exacto que te dio kal).


3. Qué vas a ver

Una vez que el programa esté corriendo, verás una tabla en la terminal con:

  • ICAO: El código único del avión.

  • Flight: El número de vuelo (ej. IBE3242).

  • Altitude/Speed: Altitud y velocidad actual.

  • Lat/Long: Coordenadas exactas.

4. El "Radar" en tu navegador

Lo mejor de dump1090 es que crea un servidor web local.

  1. Deja el programa corriendo.

  2. Abre tu navegador (Chrome, Firefox, etc.).

  3. Escribe en la barra de direcciones: http://localhost:8080

¡Verás un mapa tipo Google Maps con los aviones moviéndose en tiempo real sobre tu ciudad!


Consejos para mejorar la recepción

  • La Antena: Para 1090 MHz, la antena debe ser corta. Si tienes la telescópica que viene con el kit, ajústala a unos 6.5 cm (es el cuarto de onda ideal para esa frecuencia).

  • Ubicación: Las señales de los aviones son de "línea de visión". Pon la antena cerca de una ventana o, mejor aún, en el exterior/tejado.

  • Ganancia: Si no ves aviones, prueba añadir el comando --gain -10 (ganancia automática) al ejecutar dump1090.

 

Vamos a pasar del aire al mar. Configurar la recepción de AIS (Sistema de Identificación Automática) es fascinante porque te permite ver barcos, remolcadores y buques de carga en tiempo real sobre un mapa, igual que con los aviones.

Los barcos transmiten su posición, nombre, destino y carga en dos canales específicos de la banda de VHF marina.


1. Las Frecuencias AIS

El AIS utiliza dos canales para evitar la saturación:

  • Canal A: 161.975 MHz

  • Canal B: 162.025 MHz

2. Software recomendado: AIS-catcher

Actualmente, AIS-catcher es la herramienta más moderna y eficiente. Es ligera y funciona de maravilla con tu corrección de PPM.

Instalación rápida (Linux/Raspberry Pi):

Bash
sudo apt install ais-catcher

Uso en Windows:

Descargas el .exe y lo ejecutas desde la terminal (CMD) de la siguiente manera:

AIS-catcher -p 14 -v

(Donde 14 es tu valor de PPM obtenido con kalibrate).


3. Visualización en Mapa (OpenCPN)

Ver líneas de texto en la terminal está bien, pero ver los barcos en un mapa es otro nivel. Para ello usamos OpenCPN, que es un software de navegación marítima gratuito.

  1. En AIS-catcher: Configura el programa para que envíe los datos a OpenCPN mediante UDP:

    AIS-catcher -p 14 -u 127.0.0.1 10110

  2. En OpenCPN: * Ve a Opciones (el icono de la llave inglesa).

    • Entra en Conexiones -> Añadir conexión.

    • Selecciona Protocolo: UDP, Dirección: 127.0.0.1, Puerto: 10110.

    • ¡Haz clic en Aplicar y verás aparecer iconos de barcos en el mapa!


4. Consejos para "Cazar" barcos

  • La Antena: Las señales de radio marina son de polarización vertical. Mantén tu antena totalmente recta hacia arriba.

  • Longitud: Para 162 MHz, una antena de unos 43-45 cm es ideal.

  • Propagación: A diferencia de los aviones, los barcos están al nivel del mar. Si no vives cerca de la costa o de un río navegable, será difícil recibirlos a menos que estés en un punto elevado. 



¡Esto es lo más parecido a tener tu propia estación de la NASA en casa! Los satélites NOAA (15, 18 y 19) pasan sobre tu cabeza varias veces al día enviando una señal analógica llamada APT (Automatic Picture Transmission) en la banda de 137 MHz.

Aquí tienes la guía para "cazar" tu primera fotografía desde el espacio:


1. ¿Cuándo pasa el satélite? (Predicción)

Los satélites se mueven rápido, así que no siempre están "visibles". Necesitas saber cuándo pasan exactamente sobre tu posición.

  • Web: Usa n2yo.com o Heavens-Above.

  • App: "Look4Sat" (Android) o "ISS Detector" (iOS).

  • Busca: NOAA 15, 18 o 19. Solo te sirven los pases con una elevación mayor a 20-30°.

2. Configuración del Software (SDR# / GQRX / SDR++)

Cuando el satélite esté apareciendo por el horizonte:

  1. Frecuencias: * NOAA 15: 137.620 MHz

    • NOAA 18: 137.9125 MHz

    • NOAA 19: 137.100 MHz

  2. Modo: WFM (Wide FM).

  3. Ancho de banda (Bandwidth): Configúralo entre 34 kHz y 40 kHz. Si es muy estrecho, perderás la imagen.

  4. Corrección PPM: ¡Asegúrate de tener puesto el valor que calculaste con kalibrate-rtl!


3. El Sonido del Espacio

Si todo está bien, escucharás un sonido rítmico constante, como un "tic-toc" o un traqueteo fuerte (2 veces por segundo). Ese sonido es la imagen.

  • Graba el audio: Debes grabar el audio en formato WAV (mono, 11025 Hz o 44100 Hz).

4. Decodificar la Imagen: noaa-apt

Una vez que tengas el archivo de audio grabado, necesitas convertir ese sonido en una imagen.

  1. Descarga noaa-apt (es gratuito y muy fácil de usar).

  2. Carga tu archivo .wav.

  3. El programa procesará las líneas de audio y aparecerá la imagen de la costa, las nubes y la tierra en blanco y negro.

  4. Puedes aplicar "falso color" para que las nubes se vean blancas y el mar azul.


5. El gran secreto: La Antena

La antena de "palito" que viene con el RTL-SDR no sirve muy bien para esto porque los satélites usan polarización circular (RHCP).

  • Lo ideal: Una antena V-Dipole (dos varillas en forma de "V" a 120°) o una QFH (Quadrafilar Helix).

  • Truco rápido: Si usas la antena telescópica del kit, abre las dos varillas formando una "V", cada una de 53.4 cm de largo, y apúntala hacia el Norte (o hacia donde pase el satélite).

[!WARNING]

Efecto Doppler: Verás que la señal se "mueve" unos kHz en el espectro mientras el satélite pasa. Tendrás que ir centrando la sintonía manualmente o usar un software que lo haga por ti (como Gpredict).

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux