Cómo montar un Software Defined Radio desde cero

Última actualización: 16/01/2026
Autor: Isaac
  • El SDR permite recibir un amplio rango de frecuencias digitalizando la señal y procesándola por software con dongles económicos tipo RTL-SDR.
  • La calidad de recepción depende en gran medida de la antena elegida y de su adecuación a la banda: discono, dipolos, QFH o colineales según el uso.
  • Herramientas como GQRX y OpenWebRX facilitan el uso práctico del SDR en Linux y Raspberry Pi, mientras que Linrad, SDRadio y baudline permiten demodulación avanzada.
  • Existen servidores y webs SDR remotos que permiten experimentar sin hardware propio y entender el flujo completo de captura, análisis y demodulación.

Montar un receptor Software Defined Radio

Montar tu propio Software Defined Radio (SDR) hoy es mucho más accesible de lo que parece: con un sencillo dongle USB, una buena antena y algo de software puedes pasar de cero a estar escuchando aviones, satélites meteorológicos o emisoras de radio de medio mundo desde tu ordenador o incluso desde una Raspberry Pi. Si además te gusta cacharrear con Linux, DSP o RF, el SDR es un campo perfecto para engancharte durante horas.

En las siguientes líneas vamos a ver, paso a paso, cómo montar un SDR con un dongle tipo RTL-SDR, qué piezas de hardware intervienen, cómo elegir antenas, qué programas instalar (como GQRX u OpenWebRX), e incluso cómo se procesa y demodula la señal I/Q con herramientas más avanzadas como Linrad, SDRadio o baudline. Todo ello con ejemplos prácticos, comandos reales y algunas ideas para seguir profundizando si quieres ir más allá del típico “escuchar la FM”.

Qué es un Software Defined Radio y qué papel juega el RTL-SDR

Un receptor Software Defined Radio cambia el enfoque clásico de la radio: en vez de hacer casi todo el trabajo en hardware analógico, la señal de RF se convierte en datos digitales lo antes posible y es el software el que se encarga de filtrar, demodular y presentar la información. El corazón del invento, en los dongles económicos, suele ser un chip conversor y un sintonizador que cubren un rango enorme de frecuencias.

Cuando hablamos de un RTL-SDR (por ejemplo, una versión moderna como la v4) nos referimos a un dongle USB muy barato que nació como receptor de TV digital y que, gracias al chip RTL2832U, se puede reutilizar como receptor SDR de propósito general. Estos dispositivos permiten captar desde señales de baja frecuencia en HF hasta bandas de VHF y UHF donde viven la FM comercial, el ADS-B de aviones, TDT, comunicaciones de servicios y un largo etcétera.

En la práctica, un dongle RTL-SDR típico te da acceso a frecuencias desde unos 500 kHz hasta aproximadamente 1,7 GHz, lo que abre la puerta a escuchar radioaficionados en bandas de 40 m u 80 m, emisiones de onda corta, radios FM, transmisiones de satélites meteorológicos, tráfico de aviones, radio de servicios, etc. Todo esto, claro, depende también de la antena y del entorno de recepción.

Internamente, el RTL-SDR se apoya en un par de componentes clave: el chip RTL2832U, responsable de capturar la señal I/Q y enviarla al ordenador, y un sintonizador como el R828D, que se encarga de cubrir el rango de frecuencias. A esto se le suele añadir un oscilador de alta estabilidad (TCXO) y, en muchos modelos, funciones adicionales como el Bias-T para alimentar antenas activas.

Componentes internos y características importantes del RTL-SDR

Si te apetece ir un poco más allá del simple “enchufar y listo”, sacarle más partido entendiendo qué lleva dentro el dongle te ayuda a optimizar recepción, mitigación de ruido y compatibilidad con software avanzado.

El núcleo de todo es el RTL2832U, un chip que actúa como demodulador digital. Su función es tomar la señal de RF que le llega desde el sintonizador, muestrearla y producir una señal compleja I/Q que el software del PC podrá interpretar. Este chip es el responsable de que podamos usar el dispositivo con gran cantidad de programas SDR bajo Linux, Windows o incluso en Raspberry Pi.

En la parte de radiofrecuencia tenemos un sintonizador R828D (u otro modelo similar según el dongle) que proporciona la cobertura en frecuencia. Este componente es el que nos permite desplazarnos desde las bajas frecuencias hasta el entorno de los GHz, seleccionando pequeños “trozos” del espectro que luego se digitalizan.

Otro punto clave es la presencia de un TCXO (Temperature Compensated Crystal Oscillator), un oscilador compensado en temperatura que ofrece muy buena estabilidad en frecuencia. Gracias a él, la frecuencia sintonizada no “baila” tanto cuando el dongle se calienta, lo que es especialmente importante cuando quieres hacer trabajos finos en HF, decodificar señales estrechas o mantener sincronía con señales de satélite.

Muchos RTL-SDR modernos incluyen además Bias-T integrado, es decir, la capacidad de inyectar corriente continua por el mismo cable coaxial que lleva la señal de RF. Esto permite alimentar LNA (Low Noise Amplifier) o antenas activas directamente desde el dongle sin tener que recurrir a fuentes de alimentación adicionales, algo muy útil si vas a colocar la antena lejos y necesitas compensar pérdidas de cable.

Un detalle no menor es que estos modelos suelen ofrecer cobertura directa en HF (por debajo de 24 MHz), algo que muchos dongles baratos no traen de serie. Poder sintonizar HF te da acceso a un mundo de comunicaciones de radioaficionado, broadcasting internacional en onda corta, emisoras de AM lejana y señales especializadas que no verás en la típica banda de FM comercial.

La importancia de la antena en un montaje SDR

Por muy espectacular que sea tu dongle SDR, la antena manda. Una antena mala o mal situada hará que solo escuches ruido y unas pocas emisoras fuertes; una antena adecuada para la banda de interés puede transformar la experiencia de uso, permitiéndote “ver” señales lejanas y débiles que antes ni se intuían.

Muchos kits de RTL-SDR se venden con unas pequeñas antenas telescópicas, un minitrípode y, a veces, una ventosa para pegarlas a un cristal. Estas antenas sirven para empezar: para probar el hardware, escuchar FM potente o hacer algún experimento rápido están bien. Pero si quieres “jugar en serio” necesitarás antenas más específicas.

  Cómo ver la capacidad y tipo de memoria RAM en Windows 11

Para cubrir un abanico muy amplio de frecuencias en VHF/UHF, una opción muy popular es la antena discono. Este tipo de antena es casi omnidireccional y de banda ancha, de modo que te permite monitorizar desde servicios en VHF hasta señales en UHF sin tener que cambiar de antena constantemente, algo muy cómodo cuando estás explorando el espectro.

Si tu objetivo es aprovechar la capacidad del RTL-SDR para recibir HF (ondas cortas), una antena dipolo bien dimensionada para la banda que te interese (por ejemplo, 40 m o 80 m) puede marcar un antes y un después. Incluso un simple hilo largo, correctamente instalado, puede dar resultados notables si la propagación acompaña.

Para jugar con satélites meteorológicos o satélites de comunicaciones, antenas como la QFH (Quadrifilar Helix) o la turnstile están muy usadas; su diseño favorece la recepción de señales procedentes de satélites en órbita baja, que se mueven rápidamente sobre el horizonte. Y si te apetece seguir aviones, una antena colineal para 1090 MHz optimizada para ADS-B se convierte en la compañera perfecta del RTL-SDR.

Primeros pasos prácticos en Linux: escuchar radio FM con GQRX

Una forma muy sencilla de estrenar tu SDR es utilizarlo para escuchar radio FM comercial en un sistema Linux, por ejemplo Debian, Ubuntu o cualquier derivado. Vas a comprobar en pocos minutos que el dongle funciona y que el software está correctamente instalado.

El primer paso es instalar las herramientas básicas: el paquete rtl-sdr, que contiene utilidades de consola como rtl_test, y un programa con interfaz gráfica como GQRX, que actúa como receptor SDR. Además, resulta práctico instalar sox, una herramienta de línea de comandos para manejar audio y hacer pruebas adicionales con ficheros WAV y dispositivos de sonido.

sudo apt update
sudo apt install rtl-sdr gqrx-sdr sox

En muchos sistemas, el núcleo de Linux intenta cargar automáticamente los drivers de TV digital para el dongle, lo que impide que rtl-sdr lo use como receptor SDR. Para evitarlo, se suele añadir el módulo correspondiente a la lista negra del sistema de modprobe, de esta forma:

sudo bash -c 'echo "blacklist dvb_usb_rtl28xxu" > /etc/modprobe.d/blacklist-rtl.conf'

Tras realizar este cambio, es muy recomendable reiniciar el sistema para que el kernel deje de cargar ese módulo automáticamente. Una vez iniciado de nuevo, conviene comprobar que todo funciona y que el dongle responde correctamente a las utilidades de rtl-sdr.

rtl_test -t

Si todo va bien, el comando mostrará información sobre el dongle, confirmando que el sistema ha reconocido el RTL2832U y que se puede acceder a él sin conflicto con el driver de TV. Con esto validado, podemos pasar al uso gráfico mediante GQRX para comenzar la recepción real.

Para iniciar GQRX basta con ejecutar:

gqrx

La primera vez que arranca, GQRX mostrará un cuadro de configuración de hardware donde podrás seleccionar el dispositivo RTL-SDR de la lista disponible. Es importante copiar o ajustar los parámetros de ganancia, frecuencia intermedia y tasa de muestreo adecuados a tu dongle y a tu equipo, aunque normalmente los valores por defecto funcionan razonablemente bien para empezar.

Para escuchar radio FM, en el apartado de modo selecciona WFM (Wideband FM), que es el estándar utilizado por la FM comercial entre 87,5 MHz y 108 MHz. En el campo de frecuencia introduce la emisora que quieres escuchar en kHz, sin punto decimal: por ejemplo, para 93,1 MHz deberías escribir 93100. Si todo está bien configurado, en unos segundos deberías escuchar la emisora por los altavoces del sistema.

Conceptos básicos de FM: WFM y NFM

Al trabajar con SDR y modos de recepción, viene bien recordar qué es exactamente la FM (Frecuencia Modulada). En una onda de radio hay dos parámetros fundamentales que se pueden variar para transportar información: la amplitud y la frecuencia de la portadora. En el caso de la AM se modifica la amplitud; en la FM, lo que se hace es variar ligeramente la frecuencia instantánea.

En FM, el contenido (voz, música o datos) se codifica como pequeñas desviaciones alrededor de una frecuencia central. Este tipo de modulación tiene varias ventajas: la señal es menos sensible al ruido que altera la amplitud, y permite mayor calidad de audio gracias al ancho de banda disponible, especialmente en FM comercial, donde se emplean alrededor de 200 kHz de ancho de banda para permitir transmisión estéreo y buena fidelidad.

Dentro de la familia de la FM, en entornos SDR vas a ver a menudo referencias a dos variantes principales: WFM (Wideband FM) y NFM (Narrowband FM). WFM, como su nombre indica, es la FM de banda ancha que usan las radios comerciales en el rango 88-108 MHz, pensada para máxima calidad sonora a costa de consumir más espectro.

La NFM se emplea en sistemas en los que prima la eficiencia de espectro por encima de la fidelidad, como muchas comunicaciones de servicios, enlaces de radioaficionados, radioteléfonos y dispositivos portátiles. Al usar un ancho de banda menor, se pueden ubicar más canales en el mismo segmento de espectro, aunque la calidad de audio es inferior a la WFM.

En la práctica, cuando quieres escuchar radio FM comercial con tu RTL-SDR y GQRX, el modo correcto es WFM, mientras que para otras bandas de servicio o de radioaficionado en VHF/UHF será más habitual emplear NFM, ajustando el ancho de banda y los filtros según la señal que estés monitorizando.

Probar SDR sin hardware propio: servidores remotos y webs SDR

Si todavía no has comprado un RTL-SDR pero quieres experimentar con el concepto de Software Defined Radio, existen varias opciones online y remotas que te permiten practicar desde tu navegador o usando clientes específicos. Esto es muy útil para entender el flujo de trabajo antes de invertir en hardware.

  Qué es AMD ROCm y cómo instalarlo

Una de las plataformas más conocidas está ligada al ecosistema Airspy: hay un directorio de receptores compartidos en Internet donde usuarios de todo el mundo ponen a disposición sus dispositivos SDR para que otros puedan conectarse remotamente. Desde esa lista puedes elegir un receptor en un país concreto y escuchar qué se está emitiendo allí en tiempo real.

Para aprovechar al máximo estos receptores remotos, existe un software llamado SpyServer, que permite montar un servidor de streaming de SDR en un equipo con un dongle conectado. Hay tutoriales detallados que explican cómo configurar el servidor en Windows o Linux y cómo conectarse desde clientes en Windows para explorar el espectro a distancia.

Otra alternativa muy popular es KiwiSDR, una plataforma donde diferentes estaciones SDR comparten acceso a través de una interfaz web directa. Desde un navegador puedes seleccionar un receptor, ver el espectrograma, sintonizar bandas de HF y escuchar radios de onda corta de todo el mundo con apenas unos clics, sin necesidad de instalar nada localmente.

También merece mención OpenWebRX, un proyecto de software libre que permite exponer un receptor SDR a través de una interfaz web interactiva. Fue creado originalmente por András Retzler y más tarde retomado y ampliado por Jakob Ketterl, dando lugar a una herramienta muy versátil con una comunidad de colaboradores bastante activa.

Instalar y configurar OpenWebRX en una Raspberry Pi

Si tienes una Raspberry Pi y un dongle SDR compatible, puedes montar tu propio receptor accesible vía web con OpenWebRX. La forma más cómoda en entornos basados en Debian es usar los repositorios oficiales que el proyecto mantiene para facilitar la instalación, en lugar de compilar desde cero.

El proceso típico empieza por añadir la clave GPG y el repositorio al sistema. En una Raspberry Pi con una versión similar a Debian Buster, se haría así:

sudo bash -c 'wget -O - https://repo.openwebrx.de/debian/key.gpg.txt | apt-key add -'
sudo bash -c 'echo "deb https://repo.openwebrx.de/debian/ buster main" > /etc/apt/sources.list.d/openwebrx.list'
sudo apt update

Una vez añadidos los repositorios, la instalación del propio OpenWebRX se reduce a un solo comando:

sudo apt install openwebrx

Durante este proceso el instalador te pedirá que establezcas una contraseña de administración, que será la que uses después para acceder al panel de configuración web. Es importante recordarla, porque sin ella no podrás ajustar la estación ni los perfiles de bandas.

Con la instalación terminada, ya puedes acceder a la interfaz web de OpenWebRX desde otro equipo de tu red. Basta con escribir en el navegador la dirección IP de la Raspberry Pi seguida del puerto 8073, de esta forma:

http://[IP_RASPBERRY]:8073/

Si solo tienes conectado un dispositivo SDR compatible, es posible que OpenWebRX lo detecte automáticamente y empiece a funcionar casi sin tocar nada. Pero en instalaciones con varios dongles o dispositivos más especiales, lo habitual es que aparezca un error avisando de que hay que configurar el dispositivo y los perfiles de banda antes de usarlo con normalidad.

En la esquina superior derecha de la interfaz verás el botón “Settings”, que te lleva a la pantalla de ajustes. Al pulsarlo, te pedirá usuario y contraseña: el usuario es “admin” y la contraseña es la que elegiste durante la instalación. Una vez acreditado, accederás al panel principal de configuración con varias secciones.

El primer bloque recomendable es “General settings”, donde puedes introducir los datos generales de tu estación: ubicación geográfica, indicativo de radioaficionado si lo tienes, nombre o descripción de la estación, etc. Tras rellenar estos campos, pulsa en “Apply and save” para guardar los cambios en la configuración de OpenWebRX.

El siguiente paso es definir y ajustar el dispositivo SDR que va a usar OpenWebRX. En el panel principal encontrarás la opción “SDR devices and profiles”. Al entrar, verás un listado de dispositivos detectados o preconfigurados. Si el tuyo aparece, basta con hacer clic sobre él para modificar sus parámetros; si no, puedes crear una nueva entrada con “Add new device”, siempre que el hardware esté soportado por el software (en la web oficial del proyecto hay una lista de dispositivos compatibles).

Dentro de la configuración de cada dispositivo puedes ir añadiendo diferentes ajustes, como el tipo de hardware, tasa de muestreo, rango de frecuencia, ganancia, corrección de ppm, etc. La forma habitual de trabajar es seleccionar el parámetro que quieras modificar, pulsar en “Add” y luego introducir el valor adecuado para tu dongle y el uso previsto.

Cuando hayas terminado de ajustar generales, dispositivos y bandas, es recomendable recargar la configuración reiniciando el servicio desde la terminal de la Raspberry Pi. El comando estándar para ello es:

sudo systemctl restart openwebrx.service

Tras el reinicio del servicio, vuelve a cargar la página en el navegador y, si todo está bien configurado, deberías poder sintonizar las bandas definidas y visualizar el espectro en tiempo real desde cualquier equipo de la red, o incluso desde Internet si decides abrir el puerto y exponer tu estación al exterior.

Demodulación en detalle: de la señal I/Q al audio usando Linrad, SDRadio y baudline

Más allá de “darle al play” en GQRX u OpenWebRX, una parte muy interesante del SDR es entender cómo se demodula la señal digitalizada. En el entorno amateur se han utilizado históricamente programas como Linrad, SDRadio y baudline para experimentar con ficheros WAV grabados de la radio, analizar espectros y obtener audio demodulado con mucha flexibilidad.

Imagina que has hecho una captura con una herramienta como baudline o similar y has guardado el resultado en un fichero de audio tipo radio-downconverter-28000-sps-162-khz.wav. Este archivo contendría la señal ya pasada por un downconverter y muestreada a 28000 Sps, en un rango de frecuencias, por ejemplo, de unos 154 kHz a 168 kHz, durante un par de minutos. Ese fichero es tu materia prima para hacer pruebas de demodulación en diferido.

  Samsung Galaxy S25: Todo lo que sabemos hasta ahora sobre el próximo flagship

En cierto momento, alguien podría haberte facilitado ese archivo comprimido como .wav.gz. En algunos navegadores antiguos (como ciertas versiones de Internet Explorer) existía un problema: al descargar el archivo lo guardaban erróneamente con extensión “.wav.wav”, por lo que había que renombrarlo manualmente para que terminase en “.wav.gz” y luego descomprimirlo con cualquier herramienta compatible con ZIP o GZIP.

Para trabajar con este tipo de captura puedes usar SDRadio, un programa para Windows pensado originalmente para usar la tarjeta de sonido como front-end de un SDR. En este enfoque, se reproduce el fichero WAV desde una máquina Linux y se envía el audio a la tarjeta de sonido, que a su vez alimenta por cable la entrada de línea de un PC Windows donde corre SDRadio, que hace la demodulación.

sox -t .wav radio-downconverter-28000-sps-162-khz.wav -t ossdsp /dev/dsp3

En esta situación, /dev/dsp3 sería la tarjeta de sonido de la máquina Linux (por ejemplo, una Sound Blaster). Desde allí, mediante un cable, se conecta la salida de línea (Line Out) a la entrada de línea (Line In) del PC con Windows. Una vez seleccionado en Windows el origen de sonido correcto en el mezclador, basta con arrancar SDRadio, pulsar RX, elegir el modo de demodulación (AM, SSB USB/LSB, etc.), centrar la frecuencia y ajustar el ancho de banda.

Un detalle curioso de SDRadio es que usa como fuente una señal compleja I/Q: asigna el canal izquierdo de la entrada estéreo a la componente I y el canal derecho a la componente Q. Sin embargo, el fichero WAV original puede ser una señal real monofónica; al reproducirlo con sox se envía el mismo contenido a ambos canales, y aun así es posible escuchar con claridad la emisora de AM. Esto da lugar a situaciones interesantes, como poder atender la señal no solo en modo AM sino también con resultados aceptables en modos SSB (USB y LSB), dependiendo de cómo se haya hecho el downconversion.

Si quieres evitar la parte de Windows y usar únicamente Linux, Linrad es una herramienta SDR muy potente con enfoque en señales débiles y CW, aunque también soporta AM, SSB y FM. La gran ventaja en este caso es que puede procesar directamente un fichero WAV como el de nuestro ejemplo, sin necesidad de tarjetas de sonido intermedias ni “puentes” físicos entre equipos.

Para indicarle a Linrad qué fichero debe procesar, se utiliza un archivo de texto llamado adwav en el directorio principal del programa. Ese archivo debe contener en una sola línea el nombre del fichero WAV de entrada y el nombre de un fichero de parámetros asociado. Podrías crearlo así:

echo "radio-downconverter-28000-sps-162-khz.par" > adwav

Después de crear adwav, se arranca Linrad y, en el menú principal, se elige la opción “2=Process first file named in ‘adwav’”. La primera vez que se procesa un archivo de este tipo el programa hace varias preguntas sobre los parámetros de muestreo y demodulación, y luego muestra la ventana principal con el analizador de espectro y los controles necesarios para la recepción.

Otra posibilidad interesante es intentar procesar en tiempo real con Linrad mientras se está capturando la señal con sox. Linrad no admite entrada estándar (stdin) directamente, pero se puede recurrir a un fichero FIFO, es decir, un pseudoarchivo que actúa como tubería entre procesos. El flujo de trabajo sería algo así:

cd linrad
mkfifo fifo.wav
echo "fifo.wav fifo.par" > adwav
./linrad

Una vez arrancado Linrad y selecciones la opción para procesar el primer fichero de adwav, abres otra consola (por ejemplo con CTRL+ALT+F2) y ejecutas:

cd linrad
sox -r 896000 -w -t ossdsp /dev/dsp1 -t .wav fifo.wav

En este esquema, /dev/dsp1 sería la fuente de audio de donde obtienes la captura en bruto a 896 kSps. Linrad leería de fifo.wav casi en tiempo real, con unos segundos de retraso por búfer. En la práctica, esta configuración puede ser bastante exigente en memoria y CPU, y no siempre es trivial encontrar parámetros que no provoquen errores de tipo “Out of memory. Try less demanding parameters”, especialmente con tasas de muestreo tan altas.

Por último, algunos usuarios han demostrado que también es posible demodular directamente con baudline. Por ejemplo, cargando el fichero de la emisora de AM, se pueden aplicar ajustes en la ventana de reproducción como un desplazamiento de frecuencia negativo (por ejemplo -6469 Hz), un filtro pasa altos a unos 164 Hz y un aumento considerable de la ganancia digital (por ejemplo +48 dB). Con estos parámetros, baudline es capaz de reproducir audio inteligible, incluyendo música y locutores en lengua extranjera, simplemente manipulando el espectro en tiempo real.

Todo este ecosistema de herramientas (SDRadio, Linrad, baudline, sox, etc.) ilustra cómo, en el mundo del Software Defined Radio, la frontera entre hardware y software se difumina: el mismo fichero WAV puede analizarse, filtrarse y demodularse de múltiples maneras distintas, cambiando de programa o de parámetros sin tocar físicamente el receptor original.

Con un simple dongle RTL-SDR, una antena algo cuidada y un conjunto de utilidades como GQRX, OpenWebRX, SDRadio, Linrad o baudline, cualquiera con curiosidad y ganas de aprender puede profundizar en conceptos de DSP, programación y radiofrecuencia que, hasta hace no tanto, estaban reservados a equipos profesionales caros y complejos.