GNU Radio 3.9 llega con mejoras, correcciones de errores y mas

enero 23, 2021 , 0 Comments

Después de un año y medio de desarrollo se formó una nueva versión significativa de la plataforma de procesamiento de señal digital gratuita GNU Radio 3.9 y en esta nueva versión se han realizado cambios en la organización de desarrollo, asi como también mejoras en el soporte y más.

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.9

En esta nueva versión de GNU Radio 3.9 se realizaron cambios importantes para participar en el desarrollo y es que hora ya no se requiere la firma de un CLA, en lugar de lo cual el desarrollador solo necesita confirmar que tiene derecho a transferir el código y no intenta apropiarse del código de otra persona.

El documento Developer Certificate of Origin (DCO) se utiliza para formalizar la transferencia de código, que se ha utilizado desde 2004 para transferir cambios al kernel de Linux. Para rastrear al autor, se adjunta a cada cambio una línea «Firmado por: nombre del desarrollador y correo electrónico» (git commit -s). Al adjuntar esta firma al parche, el desarrollador confirma su autoría sobre el código transferido y acepta su distribución como parte del proyecto o como parte del código bajo una licencia gratuita.

Otro de los cambios que se destaca de la nueva versión de GNU Radio 3.9, es el uso discontinuado del generador de API SWIG, ya que PyBind11 ahora se usa para vincular código C/C ++ y Python, que requiere código adicional, pero proporciona un resultado más predecible y estable. Junto con el cambio a PyBind, se ha trabajado mucho para modernizar el código GUI de GRC (GNU Radio Companion).

Se agregó un nuevo módulo gr-network para crear bloques de red que admitan TCP y UDP.
La GUI gr-qtgui agregó gráficos para el acimut, la distancia y la autocorrelación, proporcionó visualización de la brújula, agregó un panel vertical.

Se agregó soporte para UHD 4.0 (controlador de hardware USRP) y se propuso una nueva API para crear filtros.

Se eliminó el soporte para Python 2, ahora requiere al menos Python 3.6.5 para funcionar. Dependencias actualizadas: numpy 1.13.3, VOLK 2.4.1, CMake 3.10.2, Boost 1.65, Mako 1.0.7, PyBind11 2.4.3. De los compiladores, se admiten GCC 8.3.0, Clang 11.0.0 y MSVC 1910 (Microsoft VS 2017 15.0). La biblioteca libsndfile está incluida en las dependencias. Se movió VOLK (Vector Optimized Library of Kernels) de submódulos a una dependencia separada.

Además de que se permiten las construcciones de C++ 14, pero el código que continúa usando Boost continúa usando las construcciones de C ++ 11. Además, se han agregado al código encabezados con información de licencia en formato SPDX.

¿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.