GNU Radio 3.10.0 väljalase

Pärast aastast arendustööd on loodud tasuta digitaalse signaalitöötlusplatvormi GNU Radio 3.10 uus oluline väljalase. Platvorm sisaldab programmide ja raamatukogude komplekti, mis võimaldavad luua suvalisi raadiosüsteeme, modulatsiooniskeeme ning vastuvõetud ja saadetud signaalide vorme, mis on tarkvaras määratud ning signaalide hõivamiseks ja genereerimiseks kasutatakse lihtsamaid riistvaraseadmeid. Projekti levitatakse GPLv3 litsentsi all. Enamiku GNU Radio komponentide kood on kirjutatud Pythonis, jõudluse ja latentsuse jaoks olulised osad on kirjutatud C++ keeles, mis võimaldab paketti kasutada probleemide lahendamisel reaalajas.

Koos universaalsete programmeeritavate transiiveritega, mis ei ole seotud sagedusriba ja signaali modulatsiooni tüübiga, saab platvormi kasutada selliste seadmete loomiseks nagu GSM-võrkude tugijaamad, RFID-siltide (elektroonilised ID-d ja pääsmed, nutikad) kauglugemise seadmed. kaardid), GPS-vastuvõtjad, WiFi, FM-raadiovastuvõtjad ja -saatjad, TV-dekoodrid, passiivsed radarid, spektrianalüsaatorid jne. Lisaks USRP-le saab pakett kasutada signaalide sisendiks ja väljastamiseks muid riistvarakomponente, näiteks helikaartide draivereid, TV-tuunereid, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP ja Saadaval on S-seadmed -Mini.

Struktuur sisaldab ka kogumit filtreid, kanalikoodekeid, sünkroniseerimismooduleid, demodulaatoreid, ekvalaisereid, kõnekoodekeid, dekoodereid ja muid raadiosüsteemide loomiseks vajalikke elemente. Neid elemente saab kasutada valmis süsteemi ehitusplokkidena, mis koos plokkidevaheliste andmevoogude määramise võimalusega võimaldab projekteerida raadiosüsteeme ka ilma programmeerimisoskusteta.

Peamised muudatused:

  • Lisatud on uus moodul gr-pdu, mis sisaldab tööriistu PDU (Protocol Data Unit) tüüpi objektidega manipuleerimiseks, mida kasutatakse andmete edastamiseks GNU raadioplokkide vahel. Gr-plokkide moodulist on kõik PDU plokid viidud gr-võrgu ja gr-pdu moodulitesse ning gr-plokkide asemele on jäetud tagasiühilduvuse tagamiseks kiht. Vektor PDU tüübid on nüüd saadaval gr::types nimeruumis ja funktsioonid PDU manipuleerimiseks on nüüd saadaval gr::pdu nimeruumis.
  • Lisatud on uus moodul gr-iio, mis pakub sisend/väljundraamistikku andmevahetuse korraldamiseks GNU Radio ja tööstusseadmete vahel, mis põhinevad IIO (Industrial I/O) alamsüsteemil, nagu PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 -EBZ, AD -FMCOMMS4-EBZ, ARRADIO ja AD-FMCOMMS5-EBZ.
  • Välja on pakutud kohandatud puhvri klassi eksperimentaalne tugi, mis lihtsustab andmeedastust GNU raadioplokkide ja GPU-l, FPGA-l ja DSP-l põhinevate riistvarakiirendite vahel. Custom_bufferi kasutamine võimaldab vältida GPU-poolse kiirendamise võimaldamiseks spetsiaalsete plokkide kirjutamist ja võimaldab GNU Radio ringpuhvrist andmeid otse GPU mällu teisaldada, CUDA tuumasid käivitada ja andmed koos tulemusega GNU raadio puhvritesse tagastada.
  • Logimise infrastruktuur on üle viidud spdlog teegi kasutamisele, mis on parandanud logidega töötamise kasutatavust, kõrvaldanud kõned iostreamile ja cstdiole, pakkunud stringide vormindamisel libfmt avaldiste tuge ja moderniseerinud programmi liidest. Varem kasutatud Log4CPP teek on sõltuvusena eemaldatud.
  • Üleminek kasutamisele C++17 standardi väljatöötamisel on tehtud. Boost::filesystemi teek on asendatud std::failisüsteemiga.
  • Suuremad nõuded kompilaatoritele (GCC 9.3, Clang 11, MSVC 1916) ja sõltuvustele (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, 11B Py.2.4.3. pygccxml 2.0.0).
  • Lisatud Pythoni sidumised RFNoC-plokkidele.
  • Gr-qtgui graafilise liidese loomise plokkidele on lisatud Qt 6.2 tugi. GRC (GNU Radio Companion) GUI-le on lisatud hierarhiliste plokkide suvand "--output".

Allikas: opennet.ru

Lisa kommentaar