Versión de GNU Radio 3.10.0

Despois dun ano de desenvolvemento, formouse unha nova versión significativa da plataforma gratuíta de procesamento de sinal dixital GNU Radio 3.10. A plataforma inclúe un conxunto de programas e bibliotecas que permiten crear sistemas de radio arbitrarios, esquemas de modulación e a forma de sinais recibidos e enviados nos que se especifican no software, e os dispositivos de hardware máis sinxelos utilízanse para capturar e xerar sinais. O proxecto distribúese baixo a licenza GPLv3. O código da maioría dos compoñentes de GNU Radio está escrito en Python; as partes críticas para o rendemento e a latencia están escritas en C++, o que permite que o paquete se utilice para resolver problemas en tempo real.

En combinación con transceptores programables universais que non están ligados á banda de frecuencia e ao tipo de modulación do sinal, a plataforma pódese usar para crear dispositivos como estacións base para redes GSM, dispositivos para a lectura remota de etiquetas RFID (IDs e pases electrónicos, tarxetas), receptores GPS, WiFi, receptores e transmisores de radio FM, decodificadores de TV, radares pasivos, analizadores de espectro, etc. Ademais de USRP, o paquete pode usar outros compoñentes de hardware para a entrada e saída de sinais, por exemplo, controladores para tarxetas de son, sintonizadores de TV, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP e Dispositivos S están dispoñibles -Mini.

Tamén inclúe unha colección de filtros, códecs de canles, módulos de sincronización, demoduladores, ecualizadores, códecs de voz, decodificadores e outros elementos necesarios para crear sistemas de radio. Estes elementos pódense usar como bloques de construción para montar un sistema acabado, o que, combinado coa capacidade de determinar fluxos de datos entre bloques, permite deseñar sistemas de radio incluso sen habilidades de programación.

Principais cambios:

  • Engadiuse un novo módulo gr-pdu, que leva ferramentas para manipular obxectos de tipo PDU (Protocol Data Unit), que se utilizan para os datos transferidos entre bloques de GNU Radio. Desde o módulo gr-blocks, todos os bloques PDU movéronse aos módulos gr-network e gr-pdu e, en lugar de gr-blocks, deixouse unha capa para garantir a compatibilidade con versións anteriores. Os tipos de PDU vectoriais agora están dispoñibles no espazo de nomes gr::types e as funcións para a manipulación de PDU agora están dispoñibles no espazo de nomes gr::pdu.
  • Engadiuse un novo módulo gr-iio, que proporciona un marco de entrada/saída para organizar o intercambio de datos entre GNU Radio e dispositivos industriais baseados no subsistema IIO (Industrial I/O), como PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3. -EBZ, AD -FMCOMMS4-EBZ, ARRADIO e AD-FMCOMMS5-EBZ.
  • Propúxose soporte experimental para a clase Custom Buffer, que simplifica a transferencia de datos entre os bloques de GNU Radio e os aceleradores de hardware baseados en GPU, FPGA e DSP. Usar custom_buffer permíteche evitar escribir bloques especiais para habilitar a aceleración no lado da GPU e fai posible mover directamente os datos do búfer de anel de GNU Radio á memoria da GPU, lanzar núcleos CUDA e devolver os datos co resultado aos búfers de GNU Radio.
  • A infraestrutura de rexistro cambiouse para usar a biblioteca spdlog, que mellorou a usabilidade de traballar cos rexistros, eliminou as chamadas a iostream e cstdio, proporcionou soporte para expresións libfmt para o formato de cadea e modernizou a interface do programa. A biblioteca Log4CPP utilizada anteriormente foi eliminada como dependencia.
  • Fíxose a transición ao uso no desenvolvemento do estándar C++17. A biblioteca boost::filesystem substituíuse por std::filesystem.
  • Aumento dos requisitos para compiladores (GCC 9.3, Clang 11, MSVC 1916) e dependencias (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, P11y.Bind pygccxml 2.4.3).
  • Engadidos enlaces de Python para bloques RFNoC.
  • Engadiuse soporte para Qt 6.2 aos bloques para construír a interface gráfica gr-qtgui. Engadiuse a opción "--output" para bloques xerárquicos á GUI GRC (GNU Radio Companion).

Fonte: opennet.ru

Engadir un comentario