Pas një viti zhvillimi, është formuar një lëshim i ri dhe i rëndësishëm i platformës së lirë të përpunimit të sinjaleve dixhitale GNU Radio 3.10. Platforma përfshin një grup programesh dhe bibliotekash që lejojnë krijimin e sistemeve të ndryshme radio, schemat e modulimit dhe format e sinjaleve të pranuara dhe dërguara, të cilat përcaktohen në mënyrë programore, ndërsa për kapjen dhe gjenerimin e sinjaleve përdoren pajisje të thjeshta harduari. Projekti shpërndahet sipas licencës GPLv3. Kodi i pjesës më të madhe të komponentëve të GNU Radio është shkruar në gjuhën Python, ndërsa pjesët që janë kritike për performancën dhe vonesat janë shkruar në gjuhën C++, duke mundësuar përdorimin e paketës për zgjidhjen e detyrave në kohë reale.
Në kombinim me transmetuesit universalë të programueshëm, të cilët nuk lidhen me intervalin e frekuencave dhe tipin e modifikimit të sinjalit, platforma mund të përdoret për të krijuar pajisje si stacione bazë për rrjetet GSM, pajisje për leximin në distancë të etiketave RFID (certifikata elektronike dhe kalime, karta të zgjuara), marrës GPS, WiFi, marrës dhe transmetues të radio FM, dekoderë TV, radarë pasivë, analizatorë spektralë etj. Përveç USRP, paketa mund të përdorë edhe komponentë të tjerë harduerikë për hyrje dhe dalje sinjalet, për shembull, janë në dispozicion drejtorë për kartat e zërit, tunerët TV, pajisjet BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP dhe S-Mini.
Pjesë e saj është gjithashtu një koleksion filtrash, kodekësh kanalësh, module sinkronizimi, demodulatorësh, ekualizuesish, kodekësh zëri, dekoderësh dhe elementësh të tjerë të nevojshëm për krijimin e sistemeve të radios. Elementët e përmendur mund të përdoren si blloqe për montimin e një sistemi të gatshëm, gjë që në kombinim me mundësitë për përcaktimin e rrjedhave të të dhënave midis blloqeve lejon projektimin e sistemeve të radios edhe pa aftësi programimi.
Ndryshimet kryesore:
- ĂshtĂ« shtuar njĂ« modul i ri gr-pdu, nĂ« tĂ« cilin janĂ« transferuar mjetet pĂ«r tĂ« manipuluar objekte me tipin PDU (NjĂ«si tĂ« tĂ« DhĂ«nave tĂ« Protokollit), tĂ« pĂ«rdorura pĂ«r tĂ« dhĂ«nat qĂ« transferohen midis bllokĂ«ve GNU Radio. TĂ« gjitha blloqet PDU nga moduli gr-blocks janĂ« transferuar nĂ« modulat gr-network dhe gr-pdu, ndĂ«rsa pĂ«r gr-blocks Ă«shtĂ« lĂ«nĂ« njĂ« shtresĂ« pĂ«r tĂ« siguruar pĂ«rputhshmĂ«rinĂ« e prapme. Llojet vektorike PDU tani janĂ« tĂ« disponueshme nĂ« hapĂ«sirĂ«n e emrave gr::types, ndĂ«rsa funksionet pĂ«r manipulimin e PDU janĂ« nĂ« hapĂ«sirĂ«n e emrave gr::pdu.
- ĂshtĂ« shtuar njĂ« modul i ri gr-iio, qĂ« ofron njĂ« kornizĂ« hyrjeje/daljeje pĂ«r organizimin e shkĂ«mbimit tĂ« tĂ« dhĂ«nave midis GNU Radio dhe pajisjeve industriale mbi bazĂ«n e nĂ«nsistemit IIO (Hyrje/ Dalje Industriale), si PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO dhe AD-FMCOMMS5-EBZ.
- ĂshtĂ« propozuar mbĂ«shtetje eksperimentale pĂ«r klasĂ«n Custom Buffer, e cila thjeshton transferimin e tĂ« dhĂ«nave midis bllokĂ«ve GNU Radio dhe akseleratorĂ«ve tĂ« harduerit mbi bazĂ«n e GPU, FPGA dhe DSP. PĂ«rdorimi i custom_buffer lejon shmangien e nevojĂ«s pĂ«r tĂ« shkruar blloqe speciale pĂ«r tĂ« angazhuar pĂ«rshpejtimin nĂ« anĂ«n e GPU dhe ofron mundĂ«sinĂ« pĂ«r tĂ« transferuar drejtpĂ«rdrejt tĂ« dhĂ«nat nga tamponi rrethor i GNU Radio nĂ« memorjen e GPU, pĂ«r tĂ« ekzekutuar bĂ«rthamat CUDA dhe pĂ«r tĂ« kthyer tĂ« dhĂ«nat me rezultatet nĂ« tamponĂ«t e GNU Radio.
- Infrastruktura për menaxhimin e log-eve është kaluar në përdorimin e bibliotekës spdlog, e cila ka lejuar rritjen e lehtësisë së punës me log-et, eliminimin e referencave në iostream dhe cstdio, sigurimin e mbështetjes për shprehjet libfmt në formatimin e stringjeve dhe modernizimin e ndërfaqes programuese. Biblioteka Log4CPP e përdorur më parë është eliminuar nga varësitë.
- ĂshtĂ« realizuar kalimi nĂ« pĂ«rdorimin e standardit C++17 nĂ« zhvillim. Biblioteka boost::filesystem Ă«shtĂ« zĂ«vendĂ«suar me std::filesystem.
- Janë rritur kërkesat për kompilatorët (GCC 9.3, Clang 11, MSVC 1916) dhe varësitë (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).
- Janë shtuar lidhjet Python për bloket RFNoC.
- NĂ« bloket pĂ«r ndĂ«rtimin e ndĂ«rfaqes grafike gr-qtgui Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r Qt 6.2. NĂ« ndĂ«rfaqen grafike GRC (GNU Radio Companion) Ă«shtĂ« shtuar opsioni "âoutput" pĂ«r bloket hierarkike.
Burimi: opennet.ru
