Vrystelling van GNU Radio 3.10.0

Na 'n jaar van ontwikkeling is 'n nuwe beduidende vrystelling van die gratis digitale seinverwerkingsplatform GNU Radio 3.10 gevorm. Die platform sluit 'n stel programme en biblioteke in wat jou toelaat om arbitrêre radiostelsels, modulasieskemas en die vorm van ontvangde en gestuurde seine te skep waarin programmaties gestel word, en die eenvoudigste hardeware toestelle word gebruik om seine op te vang en te genereer. Die projek word onder die GPLv3-lisensie versprei. Die kode vir die meeste van die GNU Radio-komponente is in Python geskryf, die dele wat krities is vir werkverrigting en latensie word in C ++ geskryf, wat dit moontlik maak om die pakket te gebruik wanneer probleme in reële tyd opgelos word.

In kombinasie met universele programmeerbare transceivers wat nie aan die frekwensieband en tipe seinmodulasie gekoppel is nie, kan die platform gebruik word om toestelle soos basisstasies vir GSM-netwerke, toestelle vir afstandlees van RFID-etikette (elektroniese sertifikate en passe, slimkaarte) te skep ), GPS-ontvangers, WiFi, FM-radio-ontvangers en -senders, TV-dekodeerders, passiewe radars, spektrumontleders, ens. Benewens USRP, kan die pakket ander hardeware-komponente vir seininvoer en -uitvoer gebruik, byvoorbeeld, drywers is beskikbaar vir klankkaarte, TV-ontvangers, BladeRF-toestelle, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP en S -Mini.

Die struktuur sluit ook 'n versameling filters, kanaalkodeks, sinchronisasiemodules, demodulators, gelykmakers, stemkodeks, dekodeerders en ander elemente in wat nodig is om radiostelsels te skep. Hierdie elemente kan as boublokke vir die voltooide stelsel gebruik word, wat, gekombineer met die vermoë om datavloei tussen blokke te bepaal, jou toelaat om radiostelsels te ontwerp selfs sonder programmeringsvaardighede.

Belangrikste veranderinge:

  • 'n Nuwe gr-pdu-module is bygevoeg, wat gereedskap bring vir die manipulering van voorwerpe met die PDU (Protocol Data Unit) tipe wat gebruik word vir data wat tussen GNU Radio-blokke oorgedra word. Vanaf die gr-blokke-module is alle PDU's na die gr-netwerk- en gr-pdu-modules geskuif, en 'n laag is gelaat in plaas van gr-blokke om terugwaartse versoenbaarheid te verseker. Vektor-PDU-tipes is nou beskikbaar in die gr::types-naamruimte, en PDU-manipulasiefunksies in die gr::pdu-naamruimte.
  • 'n Nuwe gr-iio-module is bygevoeg wat 'n I/O-raamwerk verskaf vir die organisering van data-uitruiling tussen GNU Radio en industriële toestelle gebaseer op die IIO (Industriële I/O) substelsel, soos PlutoSDR, AD-FMCOMMS2-EBZ, AD- FMCOMMS3-EBZ, AD -FMCOMMS4-EBZ, ARRADIO en AD-FMCOMMS5-EBZ.
  • Eksperimentele ondersteuning vir die Custom Buffer-klas is voorgestel, wat data-oordrag tussen GNU Radio-blokke en hardewareversnellers vereenvoudig, gebaseer op GPU, FPGA en DSP. Die gebruik van custom_buffer vermy die skryf van spesiale blokke om versnelling aan die GPU-kant moontlik te maak en maak dit moontlik om data direk vanaf die GNU Radio-ringbuffer na GPU-geheue te skuif, CUDA-pitte uit te voer en data met die resultaat na GNU Radio-buffers terug te stuur.
  • Die loginfrastruktuur is oorgedra na die gebruik van die spdlog-biblioteek, wat dit moontlik gemaak het om die gemak van werk met logs te verbeter, ontslae te raak van oproepe na iostream en cstdio, ondersteuning te bied vir libfmt-uitdrukkings vir stringformatering, en die programmeringskoppelvlak te moderniseer. Die voorheen gebruikte Log4CPP-biblioteek is verwyder van afhanklikhede.
  • Die oorgang na gebruik in die ontwikkeling van die C ++ 17-standaard is gemaak. Die hupstoot::lêerstelsel-biblioteek is vervang met std::lêerstelsel.
  • Verhoogde vereistes vir samestellers (GCC 9.3, Clang 11, MSVC 1916) en afhanklikhede (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0 , 11.ind pygccxml 2.4.3).
  • Bygevoeg Python-bindings vir RFNoC-blokke.
  • Ondersteuning vir Qt 6.2 is by die blokke gevoeg vir die bou van die gr-qtgui grafiese koppelvlak. Bygevoeg "--uitvoer" opsie by hiërargiese blokke in GRC (GNU Radio Companion) GUI.

Bron: opennet.ru

Voeg 'n opmerking