Después de seis años desde la última liberación significativa formada, se ha dado a conocer recientemente la liberación de la nueva versión de GNU Radio 3.8.0. Para quienes desconocen de GNU Radio, deben saber que este software es un conjunto de programas y bibliotecas que le permiten crear sistemas de radio arbitrarios, esquemas de modulación y la forma de señales recibidas y enviadas en las que se configuran mediante programación y los dispositivos de hardware más simples se utilizan para capturar y generar señales.
El proyecto está licenciado bajo la licencia GPLv3. El código para la mayoría de los componentes de GNU Radio está escrito en Python, las partes críticas para el rendimiento y la latencia están escritas en C ++, lo que permite que el paquete se use para resolver problemas en tiempo real.
En combinación con transceptores programables universales que no están vinculados a la banda de frecuencia y al tipo de modulación de señal, la plataforma se puede utilizar para crear dispositivos como estaciones base para redes GSM, dispositivos para lectura remota de etiquetas RFID (identificaciones y pases electrónicos, tarjetas inteligentes) , Receptores GPS, WiFi, receptores y transmisores de radio FM, decodificadores de TV, radares pasivos, analizadores de espectro, etc.
Además USRP, el paquete puede utilizar otros componentes de hardware para señales de entrada y de salida, por ejemplo, disponibles controladores para tarjetas de sonido, TV de sintonizadores, dispositivos BladeRF, Myriad-RF, HackRF, UmTRX , Softrock, Comedi, FUNcube, FMCOMMS, USRP y S -Mini.
La composición también incluye una colección de filtros, códecs de canal, módulos de sincronización, demoduladores, ecualizadores, códecs de voz, decodificadores y otros elementos necesarios para crear sistemas de radio.
Estos elementos se pueden usar como ladrillos para el diseño del sistema terminado, lo que, combinado con la capacidad de determinar los flujos de datos entre los bloques, le permite diseñar sistemas de radio incluso sin habilidades de programación.
¿Que hay de nuevo en GNU Radio 3.8.0?
Con la llegada de esta nueva versión de GNU Radio 3.8.0, los desarrolladores realizaron la transición del código al utilizar en el desarrollo del estándar C ++ 11 y el sistema de compilación Cmake y utilizando el estilo de código alineado con formato clang.
Las dependencias incluyen MPIR / GMP, Qt5, gsm y codec2. Con lo cual los requisitos de dependencias fueron actualizados para CMake, GCC, MSVC, Swig, Boost y a su vez eliminado de las dependencias libusb, Qt4 y CppUnit.
El código de GNU Radio 3.8.0 es compatible con Python 3 y los desarrolladores han informado que la próxima rama de GNU Radio 3.8 será la última con soporte para Python 2.
En gnuradio-runtime, el procesamiento de valores fraccionales de etiquetas de «time» se ha rediseñado en el contexto de la aplicación con módulos de sobremuestreo.
Se ha agregado soporte opcional para la generación de código C ++ a la interfaz gráfica GRC (GNU Radio Companion), en lugar de XML, se ha utilizado el formato YAML, se ha eliminado blks2, se han mejorado significativamente las herramientas de lienzo y se ha agregado soporte para flechas redondeadas.
De los demás cambios que se destacan encontramos:
- La GUI gr-qtgui se ha movido de Qt4 a Qt5
- Gr-utils ha mejorado significativamente la utilidad gr_modtool. Las utilidades basadas en PyQwt se han eliminado de la composición
- Soporte descontinuado para los módulos gr-comedi, gr-fcd y gr-wxgui.
¿Como instalar GNU Radio en Ubuntu y derivados?
Para quienes estén interesados en poder instalar esta nueva versión, de momento deberán de realizar la compilación de su código fuente, ya que aún no se encuentra disponible dentro de los repositorios de Ubuntu.
Antes de ello debemos de instalar las dependencias necesarias para su funcionamiento, estas las instalamos abriendo una terminal en el sistema (lo puedes hacer con la combinación de teclas Ctrl + Alt + T) y en ella vas a teclear lo siguiente:
sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \ python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libcomedi-dev \ libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \ liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins
Después de ello solo tendremos que teclear lo siguiente para descargar el código fuente:
git clone --recursive https://github.com/gnuradio/gnuradio.git cd gnuradio mkdir build cd build
Y finalmente vamos a realizar la compilación tecleando los siguientes comandos uno a uno:
cmake ../ make make test sudo make install