Publikimi i GNU Radio 3.10.0

Pas një viti zhvillimi, është krijuar një version i ri i rëndësishëm i platformës falas të përpunimit të sinjalit dixhital GNU Radio 3.10. Platforma përfshin një grup programesh dhe bibliotekash që ju lejojnë të krijoni sisteme arbitrare radio, skema modulimi dhe forma të sinjaleve të marra dhe të dërguara në të cilat specifikohen në softuer, dhe pajisjet më të thjeshta harduerike përdoren për të kapur dhe gjeneruar sinjale. Projekti shpërndahet nën licencën GPLv3. Kodi për shumicën e komponentëve të GNU Radio është shkruar në Python; pjesët kritike për performancën dhe vonesën janë shkruar në C++, gjë që lejon paketën të përdoret kur zgjidh problemet në kohë reale.

Në kombinim me marrës të programueshëm universal që nuk janë të lidhur me brezin e frekuencës dhe llojin e modulimit të sinjalit, platforma mund të përdoret për të krijuar pajisje të tilla si stacionet bazë për rrjetet GSM, pajisje për leximin në distancë të etiketave RFID (ID dhe kalime elektronike, inteligjente karta), marrës GPS, WiFi, marrës dhe transmetues të radios FM, dekoder TV, radarë pasivë, analizues të spektrit, etj. Përveç USRP, paketa mund të përdorë komponentë të tjerë harduerikë për hyrjen dhe daljen e sinjaleve, për shembull, drejtues për kartat e zërit, akordues TV, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP dhe Pajisjet S janë të disponueshme - Mini.

Ai përfshin gjithashtu një koleksion filtrash, kodekësh kanalesh, module sinkronizimi, demodulues, barazues, kodekë zëri, dekoderë dhe elementë të tjerë të nevojshëm për krijimin e sistemeve radio. Këta elementë mund të përdoren si blloqe ndërtimi për të montuar një sistem të përfunduar, i cili, i kombinuar me aftësinë për të përcaktuar rrjedhat e të dhënave midis blloqeve, ju lejon të dizajnoni sisteme radio edhe pa aftësi programimi.

Ndryshimet kryesore:

  • Është shtuar një modul i ri gr-pdu, i cili mbart mjete për manipulimin e objekteve me llojin PDU (Protocol Data Unit), që përdoret për të dhënat e transferuara ndërmjet blloqeve të radios GNU. Nga moduli gr-blocks, të gjitha blloqet PDU janë zhvendosur në modulet gr-network dhe gr-pdu, dhe në vend të blloqeve gr, është lënë një shtresë për të siguruar përputhshmërinë e prapambetur. Llojet e PDU-ve vektoriale janë tani të disponueshme në hapësirën e emrave gr::types dhe funksionet për manipulimin e PDU-së janë tani të disponueshme në hapësirën e emrave gr::pdu.
  • U shtua një modul i ri gr-iio, i cili ofron një kornizë hyrëse/dalëse për organizimin e shkëmbimit të të dhënave midis GNU Radio dhe pajisjeve industriale bazuar në nënsistemin IIO (Industrial I/O), 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 blloqeve të Radio GNU dhe përshpejtuesve të harduerit bazuar në GPU, FPGA dhe DSP. Përdorimi custom_buffer ju lejon të shmangni shkrimin e blloqeve speciale për të mundësuar përshpejtimin në anën e GPU-së dhe bën të mundur zhvendosjen e drejtpërdrejtë të të dhënave nga buferi i ziles së Radio GNU në memorien e GPU-së, lëshimi i kernelit CUDA dhe kthimi i të dhënave me rezultatin në buferat e radios GNU.
  • Infrastruktura e regjistrimit është kaluar në përdorimin e bibliotekës spdlog, e cila ka përmirësuar përdorshmërinë e punës me regjistrat, ka eliminuar thirrjet në iostream dhe cstdio, ka ofruar mbështetje për shprehjet libfmt për formatimin e vargjeve dhe ka modernizuar ndërfaqen e programit. Biblioteka Log4CPP e përdorur më parë është hequr si një varësi.
  • Është bërë kalimi në përdorim në zhvillimin e standardit C++17. Biblioteka boost::filesystem është zëvendësuar me std::filesystem.
  • Kërkesa të shtuara për përpiluesit (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, 11. pygccxml 2.4.3).
  • U shtuan lidhjet Python për blloqet RFNoC.
  • Mbështetja për Qt 6.2 është shtuar në blloqet për ndërtimin e ndërfaqes grafike gr-qtgui. U shtua opsioni "--output" për blloqet hierarkike në GUI-në GRC (GNU Radio Companion).

Burimi: opennet.ru

Shto një koment