Llançament de GNU Radio 3.10.0

Després d'un any de desenvolupament, s'ha format una nova versió significativa de la plataforma de processament de senyal digital gratuïta GNU Radio 3.10. La plataforma inclou un conjunt de programes i biblioteques que permeten crear sistemes de ràdio arbitraris, esquemes de modulació i la forma de senyals rebuts i enviats en els quals s'estableixen programàticament, i s'utilitzen els dispositius de maquinari més senzills per capturar i generar senyals. El projecte es distribueix sota la llicència GPLv3. El codi de la majoria dels components de GNU Radio està escrit en Python, les parts que són crítiques per al rendiment i la latència estan escrites en C ++, la qual cosa permet utilitzar el paquet per resoldre problemes en temps real.

En combinació amb transceptors programables universals que no estan lligats a la banda de freqüència i al tipus de modulació del senyal, la plataforma es pot utilitzar per crear dispositius com estacions base per a xarxes GSM, dispositius per a la lectura remota d'etiquetes RFID (certificats i abonaments electrònics, targetes intel·ligents). ), receptors GPS, WiFi, receptors i transmissors de ràdio FM, descodificadors de TV, radars passius, analitzadors d'espectre, etc. A més de l'USRP, el paquet pot utilitzar altres components de maquinari per a l'entrada i sortida del senyal, per exemple, els controladors estan disponibles per a targetes de so, sintonitzadors de TV, dispositius BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP i S -Mini.

El conjunt també inclou una col·lecció de filtres, còdecs de canal, mòduls de sincronització, demoduladors, equalitzadors, còdecs de veu, descodificadors i altres elements necessaris per crear sistemes de ràdio. Aquests elements es poden utilitzar com a blocs de construcció per al sistema acabat, que, combinat amb la capacitat de determinar els fluxos de dades entre blocs, us permet dissenyar sistemes de ràdio fins i tot sense habilitats de programació.

Principals canvis:

  • S'ha afegit un nou mòdul gr-pdu, que aporta eines per manipular objectes amb el tipus PDU (Protocol Data Unit) utilitzat per a dades transferides entre blocs de GNU Radio. Des del mòdul gr-blocks, totes les PDU s'han mogut als mòduls gr-network i gr-pdu, i s'ha deixat una capa en lloc dels gr-blocs per garantir la compatibilitat enrere. Els tipus de PDU vectorials ara estan disponibles a l'espai de noms gr::types i les funcions de manipulació de PDU a l'espai de noms gr::pdu.
  • S'ha afegit un nou mòdul gr-iio que proporciona un marc d'E/S per organitzar l'intercanvi de dades entre GNU Radio i dispositius industrials basats en el subsistema IIO (Industrial I/O), com ara PlutoSDR, AD-FMCOMMS2-EBZ, AD- FMCOMMS3-EBZ, AD -FMCOMMS4-EBZ, ARRADIO i AD-FMCOMMS5-EBZ.
  • S'ha proposat suport experimental per a la classe Custom Buffer, que simplifica la transferència de dades entre blocs GNU Radio i acceleradors de maquinari basats en GPU, FPGA i DSP. L'ús de custom_buffer evita escriure blocs especials per permetre l'acceleració al costat de la GPU i fa possible moure directament les dades del buffer d'anell de GNU Radio a la memòria de la GPU, executar nuclis CUDA i retornar les dades amb el resultat als buffers de GNU Radio.
  • La infraestructura de registre s'ha transferit a l'ús de la biblioteca spdlog, que ha millorat la comoditat de treballar amb registres, eliminant les trucades a iostream i cstdio, proporcionant suport per a expressions libfmt per al format de cadena i modernitzant la interfície de programació. La biblioteca Log4CPP utilitzada anteriorment s'ha eliminat de les dependències.
  • S'ha fet la transició a l'ús en el desenvolupament de l'estàndard C++ 17. La biblioteca boost::filesystem s'ha substituït per std::filesystem.
  • Requisits augmentats per als compiladors (GCC 9.3, Clang 11, MSVC 1916) i dependències (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, P11y. pygccxml 2.4.3).
  • S'han afegit enllaços Python per als blocs RFNoC.
  • S'ha afegit suport per a Qt 6.2 als blocs per construir la interfície gràfica gr-qtgui. S'ha afegit l'opció "--output" als blocs jeràrquics a GRC (GNU Radio Companion) GUI.

Font: opennet.ru

Afegeix comentari