GNU Radio 3.10.0 kaleratzea

Urtebeteko garapenaren ondoren, GNU Radio 3.10 doako seinale digitala prozesatzeko plataformaren bertsio esanguratsu berri bat sortu da. Plataformak irrati-sistema arbitrarioak, modulazio-eskemak eta jaso eta bidalitako seinaleen forma softwarean zehazten diren programa eta liburutegi-multzo bat biltzen du, eta hardware-gailurik errazenak erabiltzen dira seinaleak harrapatzeko eta sortzeko. Proiektua GPLv3 lizentziapean banatzen da. GNU Radio-ren osagai gehienen kodea Python-en idatzita dago; errendimendurako eta latentziarako funtsezkoak diren zatiak C++-n idazten dira, eta horri esker, paketea arazoak denbora errealean konpontzeko erabil daiteke.

Maiztasun-bandari eta seinale-modulazio-motari lotuta ez dauden transceptore programagarri unibertsalekin konbinatuta, plataformak gailuak sortzeko erabil daiteke, hala nola GSM sareetarako oinarrizko estazioak, RFID etiketak urrutiko irakurtzeko gailuak (ID eta pase elektronikoak, smart txartelak) , GPS hargailuak, WiFi, FM irrati hargailuak eta transmisoreak, telebista deskodetzaileak, radar pasiboak, espektro analizatzaileak, etab. USRPaz gain, paketeak beste hardware osagai batzuk erabil ditzake seinaleak sartzeko eta irteteko, adibidez, soinu-txartelen kontrolatzaileak, telebista-sintonizatzaileak, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP eta S gailuak eskuragarri daude -Mini.

Egiturak iragazkiak, kanal-kodekak, sinkronizazio moduluak, demodulatzaileak, ekualizatzaileak, ahots-kodekak, deskodetzaileak eta irrati-sistemak sortzeko beharrezkoak diren beste elementu batzuk ere biltzen ditu. Elementu hauek eraikuntza-bloke gisa erabil daitezke sistema amaitu bat muntatzeko, eta horrek, blokeen arteko datu-fluxuak zehazteko gaitasunarekin konbinatuta, irrati-sistemak diseinatzeko aukera ematen du programazio trebetasunik gabe ere.

Aldaketa nagusiak:

  • GR-pdu modulu berri bat gehitu da, PDU (Protocol Data Unit) motako objektuak manipulatzeko tresnak dituena, GNU Radio blokeen artean transferitutako datuetarako erabiltzen dena. gr-blocks modulutik, PDU bloke guztiak gr-sare eta gr-pdu moduluetara eraman dira, eta gr-blokeen ordez, atzerako bateragarritasuna bermatzeko geruza bat utzi da. PDU bektorial motak gr::types izen-eremuan eskuragarri daude orain, eta PDU manipulatzeko funtzioak gr::pdu izen-eremuan.
  • GR-iio modulu berri bat gehitu da, GNU Radio eta gailu industrialen arteko datu-trukea antolatzeko sarrera/irteera esparru bat eskaintzen duena, IIO (Industrial I/O) azpisisteman oinarrituta, hala nola PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3. -EBZ, AD -FMCOMMS4-EBZ, ARRADIO eta AD-FMCOMMS5-EBZ.
  • Custom Buffer klaserako euskarri esperimentala proposatu da, GNU Radio blokeen eta GPU, FPGA eta DSPn oinarritutako hardware-azeleragailuen arteko datu-transferentzia errazten duena. Custom_buffer erabiltzeak GPU aldean azelerazioa gaitzeko bloke bereziak idaztea saihesteko aukera ematen du eta GNU Radio ring bufferretik datuak GPU memoriara zuzenean mugitzea, CUDA kernelak abiarazi eta emaitzarekin datuak GNU Radio bufferetara itzultzea ahalbidetzen du.
  • Erregistro-azpiegitura spdlog liburutegia erabiltzera aldatu da, eta horrek erregistroekin lan egiteko erabilgarritasuna hobetu du, iostream eta cstdio-rako deiak ezabatu ditu, libfmt adierazpenetarako laguntza eman du kateen formateatzeko eta programaren interfazea modernizatu du. Lehen erabilitako Log4CPP liburutegia mendekotasun gisa kendu da.
  • C++17 estandarraren garapenean erabiltzeko trantsizioa egin da. Boost::filesystem liburutegia std::filesystem-rekin ordezkatu da.
  • Konpiladoreen eskakizunak (GCC 9.3, Clang 11, MSVC 1916) eta menpekotasunen (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, 11, Python pygccxml 2.4.3).
  • RFNoC blokeetarako Python loturak gehitu dira.
  • Qt 6.2rako euskarria gehitu da gr-qtgui interfaze grafikoa eraikitzeko blokeetan. Bloke hierarkikoetarako "--output" aukera gehitu da GRC (GNU Radio Companion) GUI-ra.

Iturria: opennet.ru

Gehitu iruzkin berria