GNU Radio 3.10.0:n julkaisu

Vuoden kehitystyön jälkeen on muodostettu uusi merkittävä julkaisu ilmaisesta digitaalisesta signaalinkäsittelyalustasta GNU Radio 3.10. Alusta sisältää joukon ohjelmia ja kirjastoja, joiden avulla voit luoda mielivaltaisia ​​radiojärjestelmiä, modulaatiomalleja ja vastaanotettujen ja lähetettyjen signaalien muotoja, jotka asetetaan ohjelmallisesti, ja signaalien sieppaamiseen ja generointiin käytetään yksinkertaisia ​​laitteistolaitteita. Projektia jaetaan GPLv3-lisenssillä. Useimpien GNU Radion komponenttien koodi on kirjoitettu Pythonilla, suorituskyvyn ja latenssin kannalta kriittiset osat on kirjoitettu C ++ -kielellä, mikä mahdollistaa paketin käytön ongelmien ratkaisemisessa reaaliajassa.

Yhdessä yleisten ohjelmoitavien lähetin-vastaanottimien kanssa, jotka eivät ole sidottu taajuuskaistaan ​​ja signaalimodulaatiotyyppiin, alustaa voidaan käyttää luomaan laitteita, kuten tukiasemia GSM-verkkoihin, laitteita RFID-tunnisteiden etälukuun (elektroniset sertifikaatit ja passit, älykortit). ), GPS-vastaanottimet, WiFi, FM-radiovastaanottimet ja -lähettimet, TV-dekooderit, passiiviset tutkat, spektrianalysaattorit jne. USRP:n lisäksi paketissa voidaan käyttää muitakin laitteistokomponentteja signaalin sisään- ja ulostuloon, esimerkiksi ajureita on saatavilla äänikorteille, TV-virittimille, BladeRF-laitteille, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP ja S-Mini.

Rakenteeseen kuuluu myös kokoelma suodattimia, kanavakoodekkeja, synkronointimoduuleja, demodulaattoreita, taajuuskorjaimia, puhekoodekkeja, dekoodeja ja muita radiojärjestelmien luomiseen tarvittavia elementtejä. Näitä elementtejä voidaan käyttää valmiin järjestelmän rakennuspalikoina, mikä yhdistettynä kykyyn määrittää tietovirtoja lohkojen välillä mahdollistaa radiojärjestelmien suunnittelun myös ilman ohjelmointitaitoja.

Suurimmat muutokset:

  • Uusi gr-pdu-moduuli on lisätty, joka tuo työkalut kohteiden manipulointiin PDU (Protocol Data Unit) -tyypin kanssa, jota käytetään datan siirtämiseen GNU Radiolohkojen välillä. Gr-blocks-moduulista kaikki PDU:t on siirretty gr-verkko- ja gr-pdu-moduuleihin, ja gr-lohkojen tilalle on jätetty kerros taaksepäin yhteensopivuuden varmistamiseksi. Vektori-PDU-tyypit ovat nyt saatavilla gr::types-nimiavaruudessa ja PDU-manipulaatiofunktiot gr::pdu-nimiavaruudessa.
  • Uusi gr-iio-moduuli on lisätty, joka tarjoaa I/O-kehyksen tiedonsiirron järjestämiseen GNU Radion ja IIO (Industrial I/O) -alijärjestelmään perustuvien teollisuuslaitteiden välillä, kuten PlutoSDR, AD-FMCOMMS2-EBZ, AD- FMCOMMS3-EBZ, AD -FMCOMMS4-EBZ, ARRADIO ja AD-FMCOMMS5-EBZ.
  • Kokeellista tukea Custom Buffer -luokalle on ehdotettu, mikä yksinkertaistaa tiedonsiirtoa GNU-radiolohkojen ja GPU-, FPGA- ja DSP-pohjaisten laitteistokiihdyttimien välillä. Custom_bufferin käyttö välttää erityisten lohkojen kirjoittamisen mahdollistamaan kiihdytyksen GPU-puolella ja mahdollistaa tietojen siirtämisen suoraan GNU Radion rengaspuskurista GPU-muistiin, ajaa CUDA-ytimiä ja palauttaa tiedot tuloksen kanssa GNU Radio -puskureihin.
  • Kirjausinfrastruktuuri siirrettiin spdlog-kirjaston käyttöön, mikä mahdollisti lokien kanssa työskentelyn mukavuuden parantamisen, iostream- ja cstdio-kutsujen poistamisen, libfmt-lausekkeiden tuen merkkijonojen muotoilussa ja ohjelmointirajapinnan modernisoinnin. Aiemmin käytetty Log4CPP-kirjasto on poistettu riippuvuuksista.
  • Siirtyminen käyttöön C ++ 17 -standardin kehittämisessä on tehty. Boost::filesystem-kirjasto on korvattu std::tiedostojärjestelmällä.
  • Lisääntyneet vaatimukset kääntäjille (GCC 9.3, Clang 11, MSVC 1916) ja riippuvuuksille (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).
  • Lisätty Python-sidokset RFNoC-lohkoille.
  • Tuki Qt 6.2:lle on lisätty gr-qtgui graafisen käyttöliittymän rakentamisen lohkoihin. Lisätty "--output" -vaihtoehto hierarkkisia lohkoja varten GRC (GNU Radio Companion) -käyttöliittymään.

Lähde: opennet.ru

Lisää kommentti