Lansarea GNU Radio 3.10.0

După un an de dezvoltare, a fost creată o nouă lansare semnificativă a platformei gratuite de procesare a semnalului digital GNU Radio 3.10. Platforma include un set de programe și biblioteci care vă permit să creați sisteme radio arbitrare, scheme de modulație și forma semnalelor primite și trimise în care sunt specificate în software, iar cele mai simple dispozitive hardware sunt folosite pentru a capta și genera semnale. Proiectul este distribuit sub licență GPLv3. Codul pentru majoritatea componentelor GNU Radio este scris în Python; părțile critice pentru performanță și latență sunt scrise în C++, ceea ce permite ca pachetul să fie utilizat atunci când se rezolvă probleme în timp real.

În combinație cu transceiver-uri programabile universale care nu sunt legate de banda de frecvență și tipul de modulație a semnalului, platforma poate fi utilizată pentru a crea dispozitive precum stații de bază pentru rețele GSM, dispozitive pentru citirea de la distanță a etichetelor RFID (ID-uri și permise electronice, carduri), receptoare GPS, WiFi, receptoare și transmițătoare radio FM, decodoare TV, radare pasive, analizoare de spectru etc. În plus față de USRP, pachetul poate folosi și alte componente hardware pentru intrarea și ieșirea semnalelor, de exemplu, drivere pentru plăci de sunet, tunere TV, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP și Dispozitivele S sunt disponibile -Mini.

Include, de asemenea, o colecție de filtre, codecuri de canal, module de sincronizare, demodulatoare, egalizatoare, codecuri de voce, decodore și alte elemente necesare pentru a crea sisteme radio. Aceste elemente pot fi folosite ca blocuri de construcție pentru a asambla un sistem finit, care, combinat cu capacitatea de a determina fluxurile de date între blocuri, vă permite să proiectați sisteme radio chiar și fără abilități de programare.

Principalele modificări:

  • A fost adăugat un nou modul gr-pdu, care poartă instrumente pentru manipularea obiectelor de tip PDU (Protocol Data Unit), folosit pentru transferul de date între blocurile GNU Radio. Din modulul gr-blocks, toate blocurile PDU au fost mutate în modulele gr-network și gr-pdu și, în loc de gr-blocks, a fost lăsat un strat pentru a asigura compatibilitatea cu înapoi. Tipurile de vector PDU sunt acum disponibile în spațiul de nume gr::types, iar funcțiile pentru manipularea PDU sunt acum disponibile în spațiul de nume gr::pdu.
  • S-a adăugat un nou modul gr-iio, care oferă un cadru de intrare/ieșire pentru organizarea schimbului de date între GNU Radio și dispozitivele industriale bazate pe subsistemul IIO (Industrial I/O), cum ar fi PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, AD -FMCOMMS4-EBZ, ARRADIO și AD-FMCOMMS5-EBZ.
  • S-a propus suport experimental pentru clasa Custom Buffer, care simplifică transferul de date între blocurile GNU Radio și acceleratoarele hardware bazate pe GPU, FPGA și DSP. Utilizarea custom_buffer vă permite să evitați scrierea blocurilor speciale pentru a permite accelerarea pe partea GPU și face posibilă mutarea directă a datelor din buffer-ul inel GNU Radio în memoria GPU, lansarea nucleelor ​​CUDA și returnarea datelor cu rezultatul în bufferele GNU Radio.
  • Infrastructura de înregistrare a fost trecută la utilizarea bibliotecii spdlog, care a îmbunătățit gradul de utilizare al lucrului cu jurnalele, a eliminat apelurile către iostream și cstdio, a oferit suport pentru expresiile libfmt pentru formatarea șirurilor și a modernizat interfața programului. Biblioteca Log4CPP folosită anterior a fost eliminată ca dependență.
  • A fost făcută trecerea la utilizare în dezvoltarea standardului C++17. Biblioteca boost::filesystem a fost înlocuită cu std::filesystem.
  • Cerințe crescute pentru compilatoare (GCC 9.3, Clang 11, MSVC 1916) și dependențe (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, P. pygccxml 11).
  • S-au adăugat legături Python pentru blocurile RFNoC.
  • Suport pentru Qt 6.2 a fost adăugat la blocurile pentru construirea interfeței grafice gr-qtgui. S-a adăugat opțiunea „--output” pentru blocurile ierarhice la GRC (GNU Radio Companion) GUI.

Sursa: opennet.ru

Adauga un comentariu