GNU Radio 3.10 ya fue liberado y estas son sus novedades

enero 25, 2022 , 0 Comments

GNURadio

Después de un año de desarrollo se dio a conocer la liberación de la nueva versión importante de la plataforma gratuita de procesamiento de señales digitales GNU Radio 3.10 

Para quienes desconocen de la plataforma, deben saber que esta incluye 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 en software, y se utilizan dispositivos de hardware simples para capturar y generar señales.

En combinación con transceptores programables universales que no están vinculados a la banda de frecuencia y al tipo de modulación de la 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 de USRP, el paquete puede usar otros componentes de hardware para la entrada y salida de señales, por ejemplo, los controladores están disponibles para tarjetas de sonido, sintonizadores de TV, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP y dispositivos S -Mini.

Principales novedades de GNU Radio 3.10

En esta nueva versión que se presenta se ha agregado un nuevo módulo gr-pdu, que trae herramientas para manipular objetos con el tipo PDU (Protocol Data Unit) utilizado para transferir datos entre bloques GNU Radio.

Desde el módulo gr-blocks, todas las PDU se han movido a los módulos gr-network y gr-pdu, y se ha dejado una capa en lugar de gr-blocks para garantizar la compatibilidad con versiones anteriores. Los tipos de PDU de vector ahora están disponibles en el espacio de nombres gr::types y las funciones de manipulación de PDU en el espacio de nombres gr::pdu.

Se ha agregado un nuevo módulo gr-iio que proporciona un marco de E/S para organizar el intercambio de datos entre GNU Radio y dispositivos industriales basados ​​en el subsistema IIO (Industrial I/O), como PlutoSDR, AD-FMCOMMS2-EBZ, AD- FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO y AD-FMCOMMS5-EBZ.

Se ha propuesto soporte experimental para la clase Custom Buffer, que simplifica la transferencia de datos entre bloques GNU Radio y aceleradores de hardware basados ​​en GPU, FPGA y DSP. El uso de custom_buffer evita escribir bloques especiales para habilitar la aceleración en el lado de la GPU y hace posible mover datos directamente desde el búfer circular de GNU Radio a la memoria de la GPU, ejecutar núcleos CUDA y devolver datos con el resultado a los búferes de GNU Radio.

La infraestructura de registro se cambió para usar la biblioteca spdlog, que mejoró la usabilidad del registro, eliminando las llamadas a iostream y cstdio, brindando soporte para expresiones libfmt para formatear cadenas y modernizando la interfaz de programación. La biblioteca Log4CPP utilizada anteriormente se eliminó de las dependencias.

Se ha realizado la transición al uso en el desarrollo del estándar C++ 17. La biblioteca boost::filesystem ha sido reemplazada por std::filesystem.

Se ha agregado soporte para Qt 6.2 a los bloques para construir la interfaz gráfica gr-qtgui. La opción «–output» para bloques jerárquicos se ha agregado a la GUI de GRC (GNU Radio Companion).

Finalmente si estás interesado en poder conocer más al respecto sobre esta nueva versión liberada, puedes consultar los detalles en el siguiente enlace.

¿Cómo 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

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.