Izdaja GNU Radio 3.10.0

Po enem letu razvoja je nastala nova pomembna izdaja brezplačne platforme za obdelavo digitalnih signalov GNU Radio 3.10. Platforma vključuje nabor programov in knjižnic, ki omogočajo ustvarjanje poljubnih radijskih sistemov, modulacijske sheme ter oblike prejetih in poslanih signalov, v katerih so določene v programski opremi, za zajem in generiranje signalov pa se uporabljajo najpreprostejše strojne naprave. Projekt se distribuira pod licenco GPLv3. Koda za večino komponent GNU Radio je napisana v Pythonu; deli, ki so kritični za zmogljivost in zakasnitev, so napisani v C++, kar omogoča uporabo paketa pri reševanju težav v realnem času.

V kombinaciji z univerzalnimi programabilnimi oddajniki/sprejemniki, ki niso vezani na frekvenčni pas in vrsto modulacije signala, je platformo mogoče uporabiti za ustvarjanje naprav, kot so bazne postaje za omrežja GSM, naprave za daljinsko branje RFID oznak (elektronske izkaznice in prepustnice, pametne kartice), GPS sprejemniki, WiFi, FM radijski sprejemniki in oddajniki, TV dekoderji, pasivni radarji, analizatorji spektra itd. Poleg USRP lahko paket uporablja tudi druge komponente strojne opreme za vhod in izhod signalov, na primer gonilnike za zvočne kartice, TV tunerje, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP in Na voljo so S naprave -Mini.

Vključuje tudi zbirko filtrov, kanalskih kodekov, sinhronizacijskih modulov, demodulatorjev, izenačevalnikov, glasovnih kodekov, dekoderjev in drugih elementov, potrebnih za ustvarjanje radijskih sistemov. Ti elementi se lahko uporabljajo kot gradniki za sestavljanje končnega sistema, kar vam v kombinaciji z možnostjo določanja podatkovnih tokov med bloki omogoča načrtovanje radijskih sistemov tudi brez znanja programiranja.

Večje spremembe:

  • Dodan je nov modul gr-pdu, ki nosi orodja za manipulacijo objektov tipa PDU (Protocol Data Unit), ki se uporabljajo za prenos podatkov med bloki GNU Radio. Iz modula gr-blocks so bili vsi bloki PDU premaknjeni v modula gr-network in gr-pdu, namesto gr-blokov pa je ostal sloj, ki zagotavlja združljivost za nazaj. Vektorski tipi PDU so zdaj na voljo v imenskem prostoru gr::types, funkcije za manipulacijo PDU pa so zdaj na voljo v imenskem prostoru gr::pdu.
  • Dodan je nov modul gr-iio, ki zagotavlja vhodno/izhodno ogrodje za organizacijo izmenjave podatkov med GNU Radio in industrijskimi napravami, ki temeljijo na podsistemu IIO (Industrial I/O), kot so PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, AD -FMCOMMS4-EBZ, ARRADIO in AD-FMCOMMS5-EBZ.
  • Predlagana je bila eksperimentalna podpora za razred Custom Buffer, ki poenostavlja prenos podatkov med bloki GNU Radio in strojnimi pospeševalniki, ki temeljijo na GPU, FPGA in DSP. Uporaba custom_buffer vam omogoča, da se izognete pisanju posebnih blokov za omogočanje pospeševanja na strani GPE in omogoča neposredno premikanje podatkov iz obročnega medpomnilnika GNU Radio v pomnilnik GPU, zagon jeder CUDA in vrnitev podatkov z rezultatom v medpomnilnike GNU Radio.
  • Infrastruktura beleženja je prešla na uporabo knjižnice spdlog, kar je izboljšalo uporabnost dela z dnevniki, odpravilo klice na iostream in cstdio, zagotovilo podporo za izraze libfmt za oblikovanje nizov in posodobil programski vmesnik. Prej uporabljena knjižnica Log4CPP je bila odstranjena kot odvisnost.
  • Izveden je bil prehod na uporabo pri razvoju standarda C++17. Knjižnica boost::filesystem je bila nadomeščena s std::filesystem.
  • Povečane zahteve za prevajalnike (GCC 9.3, Clang 11, MSVC 1916) in odvisnosti (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, PyBind11 2.4.3, pygccxml 2.0.0).
  • Dodane so bile povezave Python za bloke RFNoC.
  • Blokom za gradnjo grafičnega vmesnika gr-qtgui je dodana podpora za Qt 6.2. Dodana možnost »--output« za hierarhične bloke v GUI (GNU Radio Companion).

Vir: opennet.ru

Dodaj komentar