Pas një vit zhvillimi, është formuar një version i ri dhe i rëndësishëm i platformës së lirë të përpunimit të sinjaleve digjitale GNU Radio 3.10. Platforma përmban një grup programesh dhe bibliotekash që lejojnë krijimin e sistemeve të ndryshme radio, skemave të modulimit dhe format e sinjaleve të pranuara dhe të dërguara të cilat përkufizohen në mënyrë programore, ndërsa për kapjen dhe gjenerimin e sinjaleve përdoren pajisje harduerike të thjeshta. Projekti shpërndahet nën licencën GPLv3. Kodi i shumicës së komponentëve të GNU Radio është shkruar në gjuhën Python, ndërsa pjesët që janë kritike për performancën dhe vonesën janë shkruar në gjuhën C++, duke lejuar kështu përdorimin e paketës për zgjidhjen e problemeve në kohë reale.
Në kombinim me transmetues dhe marrësa programues të përgjithshëm, të pa lidhur me bandën e frekuencave dhe llojin e modulimit të sinjalit, platforma mund të përdoret për krijimin e pajisjeve si stacionet bazë për rrjetet GSM, pajisjet për leximin e largët të etiketave RFID (identifikimi elektronik dhe kalimet, kartat inteligjente), marrës GPS, WiFi, marrës dhe transmetues FM radio, dekoderë TV, radarë pasivë, analiza spektrale etj. Përveç USRP, paketa mund të përdorë edhe komponentë të tjerë harduerikë për hyrje dhe dalje sinjalesh, për shembull, janë në dispozicion drejtuese për karta zanore, tunerë TV, pajisje BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP dhe S-Mini.
Së bashku me këtë, përmban një koleksion filtresh, kodekësh kanalesh, module sinhronizimi, demodulatorësh, ekualizuesish, kodekësh të zërit, dekoderësh dhe elementësh të tjerë të nevojshëm për krijimin e sistemeve radio. Elementët e përmendur mund të përdoren si blloqe ndihmëse për ndërtimin e një sistemi të gatshëm, që në kombinim me mundësitë për përcaktimin e flukseve të të dhënave midis blloqeve lejon projektimin e sistemeve radio edhe pa aftësi programimi.
Ndryshimet kryesore:
- Një modul i ri gr-pdu është shtuar, në të cilin janë transferuar mjetet për manipulimin e objekteve me llojin PDU (Unit të Dhënash të Protokollit), i përdorur për të dhënat që kalojnë midis blloqeve të GNU Radio. Të gjitha blloqet PDU nga moduli gr-blocks janë transferuar në modulet gr-network dhe gr-pdu, ndërsa në vend të gr-blocks është mbajtur një shtresë për të siguruar përputhshmërinë prapa. Llojet vektoriale 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.
- Shtoi një modul të ri gr-iio, i cili ofron një kuadër input/output për organizimin e shkëmbimit të të dhënave midis GNU Radio dhe pajisjeve industriale të bazuara në nën-sistemin IIO (Industrial I/O), si PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO dhe AD-FMCOMMS5-EBZ.
- Propozohet mbështetje eksperimentale për klasën Custom Buffer, e cila thjeshton trasferimin e të dhënave midis blloqeve të GNU Radio dhe përshpejtuesve harduerikë mbi GPU, FPGA dhe DSP. Përdorimi i custom_buffer lejon të evitohet shkruarja e blloqeve të veçanta për të angazhuar përshpejtimin në anën e GPU dhe ofron mundësinë për të transferuar direkt të dhënat nga ring buffer i GNU Radio në memorien e GPU, për të nisur bërthamat CUDA dhe për të rikthyer të dhënat me rezultatin në bufferët e GNU Radio.
- Infrastruktura e regjistrimit është çuar në përdorimin e bibliotekës spdlog, e cila permiton përmirësimin e punës me regjistrimet, eliminimin e qasjes në iostream dhe cstdio, mundësimin e mbështetjes për shprehjet libfmt për formatimin e fjalive dhe modernizimin e ndërfaqes së programit. Biblioteka e mëparshme Log4CPP është hequr nga varësitë.
- ĂshtĂ« realizuar kalimi nĂ« pĂ«rdorimin e standardit C++17 gjatĂ« zhvillimit. Biblioteka boost::filesystem Ă«shtĂ« zĂ«vendĂ«suar me std::filesystem.
- Kërkesat për kompajlerët janë rritur (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 Python-bindings për blloqet RFNoC.
- NĂ« blloqet 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 blloqet hierarkike.
Burimi: opennet.ru
