SigDigger convierte un receptor SDR en un laboratorio de ingeniería inversa de señales de radio
Si alguna vez has encendido un RTL-SDR o HackRF, probablemente te has quedado pegado al cascade del espectro en Gqrx o SDR#. Hermosas trazas de colores bajan por la pantalla, con algo parpadeando constantemente, haciendo clic y transmitiendo paquetes en el aire. Pero en cuanto te encuentras con una señal digital desconocida, los programas SDR estándar llegan a un callejón sin salida. Manejan radio FM o walkie-talkies sin problemas, pero para decodificar una transmisión binaria desde un sensor inalámbrico o un mando de puerta, generalmente tienes que construir configuraciones complejas en GNU Radio o exportar dolorosamente muestras IQ sin procesar a utilidades de terceros.
Este es exactamente el vacío que SigDigger llena.

Qué es
SigDigger es un analizador interactivo de señales de radio digitales con una interfaz gráfica en Qt. El programa toma la transmisión desde un dispositivo SDR a través de la capa universal SoapySDR y proporciona herramientas para diseccionar señales desconocidas sobre la marcha.
El autor del proyecto, un operador de radioafición con el indicativo EA1IYR, desarrolló software optimizado para reconocimiento radio rápido. La aplicación funciona en GNU/Linux y macOS, combinando un analizador visual de espectro con módulos de demodulación y decodificación.
Para qué es útil SigDigger en la práctica
A diferencia de los receptores SDR convencionales, el enfoque aquí está en analizar la estructura de datos. Estas son las cosas que llaman la atención:
- Demodulación interactiva en tiempo real. Seleccionas una región del espectro con el ratón y configuras el demodulador para el tipo de modulación deseado: FSK, PSK o ASK. El programa muestra inmediatamente el flujo binario, las constelaciones de fase y los parámetros de la portadora.
- Análisis de paquetes y señales de pulso. Para señales de radio que aparecen durante fracciones de segundo, existe un modo de captura de ráfagas. Puedes examinar los bordes de los pulsos y los tiempos de transmisión en detalle.
- Decodificación de video analógico. Si hay una cámara de vigilancia antigua o un transmisor de video analógico en 5.8 GHz operando cerca, SigDigger puede renderizar cuadros en tiempo real.
- Escucha de audio analógico. Las funciones básicas de un receptor normal siguen ahí: los canales AM, FM y SSB funcionan como se espera.
- Soporte de plugins. Los decodificadores específicos se conectan a través de plugins, como recibir imágenes de los satélites meteorológicos NOAA APT o exportar datos a través de ZeroMQ para su procesamiento en Python.
Por qué la interfaz se parece tanto a Gqrx
La primera impresión de las capturas de pantalla provoca déjà vu: el diseño de la ventana y el cascade del espectro se ven exactamente como en Gqrx. El autor lo explica honestamente en la documentación: la interfaz de Gqrx resultó ser la más conveniente y práctica entre las existentes.
En lugar de reinventar la rueda y luchar contra la codicia de los widgets gráficos, el desarrollador tomó el componente de cascade del espectro probado de Gqrx y lo adaptó para sus necesidades, añadiendo un backend OpenGL y paletas de colores personalizadas.
Sin embargo, SigDigger está construido de manera completamente diferente en su interior. Gqrx se basa en el pesado framework GNU Radio. SigDigger utiliza su propio motor de procesamiento de señales digitales llamado Suscan y la biblioteca de bajo nivel Sigutils. El modelo de streaming y el procesamiento de colas allí están optimizados para análisis de señales en paralelo con latencia mínima.
Cómo ejecutar el proyecto
La arquitectura compleja tiene un inconveniente: para construir todo desde el código fuente, necesitarás pasar por una cadena de dependencias. SigDigger depende de tres proyectos relacionados del autor: sigutils, suscan y la biblioteca de componentes de interfaz SuWidgets.
La construcción manual parece intimidante:
git clone --recursive https://github.com/BatchDrake/sigutils
cd sigutils && mkdir -p build && cd build && cmake .. && make && sudo make install && cd ../..
git clone --recursive https://github.com/BatchDrake/suscan
cd suscan && mkdir -p build && cd build && cmake .. && make && sudo make install && cd ../..
git clone https://github.com/BatchDrake/SuWidgets
cd SuWidgets && qmake6 SuWidgetsLib.pro && make && sudo make install && cd ..
git clone https://github.com/BatchDrake/SigDigger
cd SigDigger && qmake6 SigDigger.pro && make && sudo make install && cd ..
Si no quieres lidiar con compilar bibliotecas en el sistema, hay dos opciones simples. En Linux, la forma más fácil es descargar un AppImage listo para usar desde la página de releases.
La segunda opción es usar el script del autor blsd, que extrae los repositorios necesarios y construye un ensamblaje aislado con plugins en una carpeta separada:
wget https://actinid.org/blsd
chmod a+x blsd
./blsd
Los usuarios de Windows probablemente no encontrarán el proyecto adecuado: el autor declara explícitamente que no mantienen máquinas con Windows y no construyen binarios para él debido a problemas de portabilidad de dependencias.
Quién encontrará útil SigDigger
Si te interesa la ingeniería inversa de dispositivos IoT, alarmas de coche, medidores inteligentes o simplemente estudiar los protocolos de radio a tu alrededor, SigDigger te ahorra horas de trabajo rutinario. Elimina la necesidad de saltar constantemente entre el software de grabación de espectro, utilidades como inspectrum y scripts en Jupyter Notebook.
La herramienta ayuda a determinar el tipo de modulación, estimar la tasa de símbolos y capturar un flujo de bits limpio para análisis posterior con solo unos pocos clics. Para comenzar rápidamente, todo lo que necesitas es un económico dongle RTL-SDR y un AppImage listo para usar.
Proyectos relacionados