Izdanje GNU Radio 3.10.0

Nakon godinu dana razvoja formirano je novo značajno izdanje besplatne platforme za digitalnu obradu signala GNU Radio 3.10. Platforma uključuje skup programa i biblioteka koje omogućavaju kreiranje proizvoljnih radio sistema, modulacionih šema i oblika primljenih i poslatih signala u kojima se programski postavljaju, a jednostavni hardverski uređaji se koriste za hvatanje i generisanje signala. Projekat se distribuira pod GPLv3 licencom. Kod većine GNU Radio komponenti je napisan u Pythonu, dijelovi koji su kritični za performanse i kašnjenje su napisani u C++, što omogućava korištenje paketa prilikom rješavanja problema u realnom vremenu.

U kombinaciji sa univerzalnim programabilnim primopredajnicima koji nisu vezani za frekventni opseg i vrstu modulacije signala, platforma se može koristiti za kreiranje uređaja poput baznih stanica za GSM mreže, uređaja za daljinsko očitavanje RFID oznaka (elektronskih potvrda i propusnica, pametnih kartica ), GPS prijemnici, WiFi, FM radio prijemnici i predajnici, TV dekoderi, pasivni radari, analizatori spektra, itd. Osim USRP-a, paket može koristiti i druge hardverske komponente za ulaz i izlaz signala, na primjer, dostupni su drajveri za zvučne kartice, TV tjunere, BladeRF uređaje, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP i S-Mini.

Struktura takođe uključuje kolekciju filtera, kanalnih kodeka, modula za sinhronizaciju, demodulatora, ekvilajzera, glasovnih kodeka, dekodera i drugih elemenata neophodnih za kreiranje radio sistema. Ovi elementi se mogu koristiti kao gradivni blokovi za gotov sistem, koji, u kombinaciji sa mogućnošću određivanja tokova podataka između blokova, omogućava dizajniranje radio sistema čak i bez vještina programiranja.

Glavne promjene:

  • Dodan je novi gr-pdu modul koji donosi alate za manipulaciju objektima sa tipom PDU (Protocol Data Unit) koji se koristi za prenos podataka između GNU Radio blokova. Iz gr-blocks modula, svi PDU-ovi su premješteni u gr-mrežne i gr-pdu module, a sloj je ostavljen umjesto gr-blokova kako bi se osigurala kompatibilnost unatrag. Vektorski PDU tipovi su sada dostupni u imenskom prostoru gr::types, a funkcije za manipulaciju PDU-ima u imenskom prostoru gr::pdu.
  • Dodan je novi gr-iio modul koji pruža I/O okvir za organizaciju razmjene podataka između GNU radija i industrijskih uređaja baziranih na IIO (Industrial I/O) podsistemu, kao što su PlutoSDR, AD-FMCOMMS2-EBZ, AD- FMCOMMS3-EBZ, AD -FMCOMMS4-EBZ, ARRADIO i AD-FMCOMMS5-EBZ.
  • Predložena je eksperimentalna podrška za Custom Buffer klasu, koja pojednostavljuje prijenos podataka između GNU Radio blokova i hardverskih akceleratora baziranih na GPU, FPGA i DSP. Upotreba custom_buffer-a izbjegava pisanje posebnih blokova kako bi se omogućilo ubrzanje na strani GPU-a i omogućava direktno premještanje podataka iz GNU Radio bafera prstena u GPU memoriju, pokretanje CUDA kernela i vraćanje podataka s rezultatom u GNU Radio bafere.
  • Infrastruktura za evidentiranje prebačena je na upotrebu spdlog biblioteke, što je omogućilo da se poboljša praktičnost rada sa evidencijama, oslobodi se poziva na iostream i cstdio, pruži podrška za libfmt izraze za formatiranje stringova i modernizuje programsko sučelje. Prethodno korištena biblioteka Log4CPP je uklonjena iz zavisnosti.
  • Prelazak na upotrebu u razvoju standarda C ++ 17 je napravljen. Biblioteka boost::filesystem je zamijenjena sa std::filesystem.
  • Povećani zahtjevi za kompajlere (GCC 9.3, Clang 11, MSVC 1916) i ovisnosti (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako, Py1.1.0, 11. pygccxml 2.4.3).
  • Dodati Python veza za RFNoC blokove.
  • Podrška za Qt 6.2 je dodata blokovima za izgradnju gr-qtgui grafičkog interfejsa. Dodata "--output" opcija za hijerarhijske blokove u GRC (GNU Radio Companion) GUI.

izvor: opennet.ru

Dodajte komentar