A GNU Radio 3.10.0 kiadása

Egy évnyi fejlesztés után megalakult a GNU Radio 3.10 ingyenes digitális jelfeldolgozó platform új jelentős kiadása. A platform egy sor programot és könyvtárat tartalmaz, amelyek lehetővé teszik tetszőleges rádiórendszerek létrehozását, modulációs sémákat, valamint a vett és küldött jelek formáját, amelyekben szoftverben van meghatározva, és a legegyszerűbb hardvereszközöket használják a jelek rögzítésére és előállítására. A projektet a GPLv3 licenc alatt terjesztik. A GNU Radio legtöbb összetevőjének kódja Pythonban, a teljesítmény és a késleltetés szempontjából kritikus részek C++ nyelven íródnak, ami lehetővé teszi a csomag valós idejű problémamegoldáskor való használatát.

A frekvenciasávhoz és a jelmoduláció típusához nem kötött univerzális programozható adó-vevőkkel kombinálva a platform felhasználható olyan eszközök létrehozására, mint például a GSM-hálózatok bázisállomásai, az RFID-címkék (elektronikus azonosítók és belépők, intelligens) távoli leolvasására szolgáló eszközök. kártyák), GPS-vevők, WiFi, FM rádióvevők és adók, TV-dekóderek, passzív radarok, spektrumanalizátorok stb. Az USRP-n kívül a csomag más hardverkomponenseket is használhat jelek be- és kimenetére, például hangkártya-illesztőprogramokat, TV tunereket, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP és S eszközök állnak rendelkezésre -Mini.

Tartalmazza továbbá a szűrők, csatornakodekek, szinkronizáló modulok, demodulátorok, hangszínszabályzók, hangkodekek, dekóderek és egyéb rádiórendszerek létrehozásához szükséges elemek gyűjteményét. Ezek az elemek építőelemként használhatók fel egy kész rendszer összeállításához, ami a blokkok közötti adatfolyamok meghatározásának képességével kombinálva lehetővé teszi rádiórendszerek tervezését programozási ismeretek nélkül is.

Nagy változások:

  • Egy új gr-pdu modul került hozzáadásra, amely eszközöket tartalmaz a PDU (Protocol Data Unit) típusú objektumok manipulálására, amelyeket a GNU rádióblokkok közötti adatátvitelre használnak. A gr-blocks modulból minden PDU blokk átkerült a gr-network és gr-pdu modulokba, és a gr-blocks helyett egy réteget hagytak meg a visszafelé kompatibilitás biztosítására. A vektoros PDU-típusok már elérhetőek a gr::types névtérben, a PDU-manipuláció funkciói pedig a gr::pdu névtérben.
  • Új gr-iio modul került hozzáadásra, amely bemeneti/kimeneti keretet biztosít a GNU Radio és az IIO (Industrial I/O) alrendszeren alapuló ipari eszközök közötti adatcsere megszervezéséhez, mint pl. PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, AD -FMCOMMS4-EBZ, ARRADIO és AD-FMCOMMS5-EBZ.
  • Javasolták a Custom Buffer osztály kísérleti támogatását, amely leegyszerűsíti a GNU Radio blokkok és a GPU, FPGA és DSP alapú hardveres gyorsítók közötti adatátvitelt. A custom_buffer használatával elkerülhető a speciális blokkok írása a GPU-oldali gyorsítás érdekében, és lehetővé teszi az adatok közvetlen áthelyezését a GNU Radio gyűrűpufferéből a GPU-memóriába, CUDA kernelek indítását és az adatok visszaküldését az eredményekkel a GNU Radio puffereibe.
  • A naplózási infrastruktúra átállt az spdlog könyvtár használatára, amely javította a naplókkal való munkavégzést, megszüntette az iostream és a cstdio hívásait, támogatta a libfmt kifejezéseket a karakterlánc formázásához, és modernizálta a program felületét. A korábban használt Log4CPP könyvtár függőségként eltávolítva.
  • Megtörtént az átállás a C++17 szabvány fejlesztésénél. A boost::filesystem könyvtár helyére std::filesystem került.
  • Fokozott követelmények a fordítók (GCC 9.3, Clang 11, MSVC 1916) és a függőségek (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, 11B.2.4.3) pygccxml 2.0.0).
  • Python-kötések hozzáadva az RFNoC-blokkokhoz.
  • A Qt 6.2 támogatása hozzáadásra került a gr-qtgui grafikus interfész blokkjaihoz. „--output” opció hozzáadva a hierarchikus blokkokhoz a GRC (GNU Radio Companion) GUI-hoz.

Forrás: opennet.ru

Hozzászólás