GNU Radio 3.10.0 шығарылымы

Бір жылдық дамудан кейін GNU Radio 3.10 тегін цифрлық сигналдарды өңдеу платформасының жаңа маңызды шығарылымы қалыптасты. Платформа еркін радиожүйелерді, модуляция схемаларын және қабылданған және жіберілетін сигналдар пішінін құруға мүмкіндік беретін бағдарламалар мен кітапханалардың жиынтығын қамтиды, оларда бағдарламалық түрде орнатылады және сигналдарды түсіру және генерациялау үшін қарапайым аппараттық құрылғылар қолданылады. Жоба GPLv3 лицензиясы бойынша таратылады. GNU Radio компоненттерінің көпшілігінің коды Python тілінде жазылған, өнімділік пен кідіріс үшін маңызды бөліктер C ++ тілінде жазылған, бұл пакетті нақты уақытта мәселелерді шешу кезінде пайдалануға мүмкіндік береді.

Жиілік диапазонына және сигналдық модуляция түріне байланысты емес әмбебап бағдарламаланатын қабылдағыштармен бірге платформаны GSM желілеріне арналған базалық станциялар, RFID тегтерін қашықтан оқуға арналған құрылғылар (электрондық сертификаттар мен рұқсаттар, смарт карталар) жасау үшін пайдалануға болады. ), GPS қабылдағыштар, WiFi, FM радиоқабылдағыштар мен таратқыштар, теледидар декодерлері, пассивті радарлар, спектр анализаторлары және т.б. USRP-тен басқа, пакет сигналды енгізу және шығару үшін басқа аппараттық құрамдастарды пайдалана алады, мысалы, драйверлер дыбыс карталары, теледидар тюнерлері, BladeRF құрылғылары, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP және S -Mini.

Құрылымға сонымен қатар сүзгілер, арна кодектері, синхрондау модульдері, демодуляторлар, эквалайзерлер, дауыстық кодектер, декодерлер және радиожүйелерді құруға қажетті басқа элементтер кіреді. Бұл элементтерді дайын жүйенің құрылыс блоктары ретінде пайдалануға болады, ол блоктар арасындағы деректер ағынын анықтау мүмкіндігімен біріктіріліп, тіпті бағдарламалау дағдыларынсыз радиожүйелерді жобалауға мүмкіндік береді.

Негізгі өзгерістер:

  • Жаңа gr-pdu модулі қосылды, ол GNU Radio блоктары арасында тасымалданатын деректер үшін пайдаланылатын PDU (Protocol Data Unit) түрі бар нысандарды басқаруға арналған құралдарды әкеледі. gr-blocks модулінен барлық PDU-лар gr-желілік және gr-pdu модульдеріне жылжытылды және кері үйлесімділікті қамтамасыз ету үшін gr-блоктардың орнына қабат қалдырылды. Векторлық PDU түрлері енді gr::types аттар кеңістігінде және PDU манипуляциялау функциялары gr::pdu аттар кеңістігінде қолжетімді.
  • GNU Radio және PlutoSDR, AD-FMCOMMS2-EBZ, AD- сияқты IIO (өнеркәсіптік енгізу/шығару) ішкі жүйесі негізіндегі өнеркәсіптік құрылғылар арасында деректер алмасуды ұйымдастыру үшін енгізу/шығару негізін қамтамасыз ететін жаңа gr-iio модулі қосылды. FMCOMMS3-EBZ, AD -FMCOMMS4-EBZ, ARRADIO және AD-FMCOMMS5-EBZ.
  • GNU Radio блоктары мен GPU, FPGA және DSP негізіндегі аппараттық жеделдеткіштер арасында деректерді тасымалдауды жеңілдететін Custom Buffer класына эксперименттік қолдау ұсынылды. custom_buffer пайдалану GPU жағында жеделдетуді қосу үшін арнайы блоктарды жазуды болдырмайды және деректерді GNU Radio сақина буферінен GPU жадына тікелей жылжытуға, CUDA ядроларын іске қосуға және нәтижемен GNU Radio буферлеріне деректерді қайтаруға мүмкіндік береді.
  • Тіркеу инфрақұрылымы spdlog кітапханасын пайдалануға берілді, бұл журналдармен жұмыс істеу ыңғайлылығын жақсартуға, iostream және cstdio шақыруларынан арылуға, жолды пішімдеу үшін libfmt өрнектеріне қолдау көрсетуге және бағдарламалау интерфейсін жаңартуға мүмкіндік берді. Бұрын пайдаланылған Log4CPP кітапханасы тәуелділіктерден жойылды.
  • C++ 17 стандартын әзірлеуде қолдануға көшу жасалды. Boost::filesystem кітапханасы std::filesystem деп ауыстырылды.
  • Компиляторларға (GCC 9.3, Clang 11, MSVC 1916) және тәуелділіктерге (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, P. 11) қойылатын талаптар артты. pygccxml 2.4.3).
  • RFNoC блоктары үшін Python байланыстары қосылды.
  • Qt 6.2 қолдауы gr-qtgui графикалық интерфейсін құруға арналған блоктарға қосылды. GRC (GNU Radio Companion) графикалық интерфейсіне иерархиялық блоктар үшін "--output" опциясы қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру