GNU Radio 3.10.0 versiyasi

Bir yillik rivojlanishdan so'ng bepul raqamli signallarni qayta ishlash platformasi GNU Radio 3.10 ning yangi muhim versiyasi yaratildi. Platforma ixtiyoriy radiotizimlarni, modulyatsiya sxemalarini va qabul qilingan va yuborilgan signallar shaklini dasturiy ta'minotda ko'rsatilgan va signallarni olish va yaratish uchun eng oddiy apparat qurilmalarini yaratishga imkon beruvchi dasturlar va kutubxonalar to'plamini o'z ichiga oladi. Loyiha GPLv3 litsenziyasi ostida tarqatiladi. GNU Radio-ning aksariyat komponentlari uchun kod Python-da yozilgan; ishlash va kechikish uchun muhim bo'lgan qismlar C++ tilida yozilgan, bu paketdan real vaqtda muammolarni hal qilishda foydalanish imkonini beradi.

Chastota diapazoni va signal modulyatsiyasi turiga bog'lanmagan universal dasturlashtiriladigan qabul qiluvchilar bilan birgalikda platforma GSM tarmoqlari uchun tayanch stantsiyalar, RFID teglarini masofadan o'qish uchun qurilmalar (elektron identifikatorlar va o'tishlar, aqlli) kabi qurilmalarni yaratish uchun ishlatilishi mumkin. kartalar), GPS qabul qiluvchilar, WiFi, FM radio qabul qiluvchilar va uzatgichlar, televizor dekoderlari, passiv radarlar, spektr analizatorlari va boshqalar. USRP-dan tashqari, paket signallarni kiritish va chiqarish uchun boshqa apparat komponentlaridan foydalanishi mumkin, masalan, ovoz kartalari drayverlari, televizor tyunerlari, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP va S qurilmalari mavjud -Mini.

Shuningdek, u filtrlar to'plamini, kanal kodeklarini, sinxronizatsiya modullarini, demodulyatorlarni, ekvalayzerlarni, ovozli kodeklarni, dekoderlarni va radio tizimlarini yaratish uchun zarur bo'lgan boshqa elementlarni o'z ichiga oladi. Ushbu elementlardan tayyor tizimni yig'ish uchun qurilish bloklari sifatida foydalanish mumkin, bu bloklar orasidagi ma'lumotlar oqimini aniqlash qobiliyati bilan birgalikda dasturlash ko'nikmalariga ega bo'lmasdan ham radio tizimlarni loyihalash imkonini beradi.

Asosiy o'zgarishlar:

  • GNU Radio bloklari o'rtasida uzatiladigan ma'lumotlar uchun ishlatiladigan PDU (Protocol Data Unit) tipidagi ob'ektlarni manipulyatsiya qilish vositalarini o'z ichiga olgan yangi gr-pdu moduli qo'shildi. Gr-bloklar modulidan barcha PDU bloklari gr-tarmoq va gr-pdu modullariga ko'chirildi va gr-bloklar o'rniga orqaga qarab muvofiqlikni ta'minlash uchun qatlam qoldirildi. Vektorli PDU turlari endi gr::types nom maydonida mavjud va PDU manipulyatsiyasi funksiyalari endi gr::pdu nom maydonida mavjud.
  • GNU Radio va PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3 kabi IIO (Industrial I/O) quyi tizimiga asoslangan sanoat qurilmalari oʻrtasida maʼlumotlar almashinuvini tashkil qilish uchun kiritish/chiqarish asosini taʼminlovchi yangi gr-iio moduli qoʻshildi. -EBZ, AD -FMCOMMS4-EBZ, ARRADIO va AD-FMCOMMS5-EBZ.
  • GNU Radio bloklari va GPU, FPGA va DSP-ga asoslangan apparat tezlatgichlari o'rtasida ma'lumotlar uzatishni soddalashtiradigan Custom Buffer sinfini eksperimental qo'llab-quvvatlash taklif qilindi. Custom_buffer-dan foydalanish GPU tomonida tezlashtirishni yoqish uchun maxsus bloklarni yozishdan qochish imkonini beradi va ma'lumotlarni GNU Radio halqa buferidan GPU xotirasiga bevosita ko'chirish, CUDA yadrolarini ishga tushirish va natija bilan ma'lumotlarni GNU Radio buferlariga qaytarish imkonini beradi.
  • Jurnallar infratuzilmasi spdlog kutubxonasidan foydalanishga o'tkazildi, bu jurnallar bilan ishlash qulayligini oshirdi, iostream va cstdio ga qo'ng'iroqlarni bartaraf etdi, string formatlash uchun libfmt ifodalarini qo'llab-quvvatladi va dastur interfeysini modernizatsiya qildi. Ilgari ishlatilgan Log4CPP kutubxonasi qaramlik sifatida olib tashlandi.
  • C++ 17 standartini ishlab chiqishda foydalanishga o'tish amalga oshirildi. Boost::filesystem kutubxonasi std::filesystem bilan almashtirildi.
  • Kompilyatorlar (GCC 9.3, Clang 11, MSVC 1916) va bogʻliqliklar (Python 3.6.5, numpy 1.17.4, VOLK 2.4.1, CMake 3.16.3, Boost 1.69, Mako 1.1.0, PK 11y) uchun talablar oshirildi. pygccxml 2.4.3).
  • RFNoC bloklari uchun Python ulanishlari qo'shildi.
  • Qt 6.2 uchun qo'llab-quvvatlash gr-qtgui grafik interfeysini yaratish uchun bloklarga qo'shildi. GRC (GNU Radio Companion) grafik interfeysiga ierarxik bloklar uchun “--output” opsiyasi qo‘shildi.

Manba: opennet.ru

a Izoh qo'shish