Выпуск GNU Radio 3.10.0

ПослС Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сформирован Π½ΠΎΠ²Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· свободной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов GNU Radio 3.10. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ радиосистСмы, схСмы модуляции ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΈ отправляСмых сигналов Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Π° для Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ сигналов ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ устройства. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. Код большСй части ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² GNU Radio написан Π½Π° языкС Python, части, ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, написаны Π½Π° языкС Π‘++, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π½Π΅ привязанными ΠΊ полосС частот ΠΈ Ρ‚ΠΈΠΏΡƒ модуляции сигнала, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для создания Ρ‚Π°ΠΊΠΈΡ… устройств, ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ станции для сСтСй GSM, устройства для дистанционного чтСния RFID-ΠΌΠ΅Ρ‚ΠΎΠΊ (элСктронныС удостовСрСния ΠΈ пропуски, смарт-ΠΊΠ°Ρ€Ρ‚Ρ‹), GPS-рСсивСры, WiFi, ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ FM-Ρ€Π°Π΄ΠΈΠΎ, TV-Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€Ρ‹, пассивныС Ρ€Π°Π΄Π°Ρ€Ρ‹, ΡΠΏΠ΅ΠΊΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚.ΠΏ. ΠšΡ€ΠΎΠΌΠ΅ USRP, ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° сигналов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, доступны Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚, TV-Ρ‚ΡŽΠ½Π΅Ρ€ΠΎΠ², устройств BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP ΠΈ S-Mini.

Π’ состав Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ коллСкция Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ синхронизации, дСмодуляторов, эквалайзСров, голосовых ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для создания радиосистСм. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠΈ для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ систСмы, Ρ‡Ρ‚ΠΎ Π² сочСтании с возмоТностями ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ позволяСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ радиосистСмы Π΄Π°ΠΆΠ΅ Π±Π΅Π· Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ gr-pdu, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСнСсСны инструмСнты для манипуляции ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ с Ρ‚ΠΈΠΏΠΎΠΌ PDU (Protocol Data Unit), примСняСмым для Π΄Π°Π½Π½Ρ‹Ρ…, пСрСносимых ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ GNU Radio. Из модуля gr-blocks всС Π±Π»ΠΎΠΊΠΈ PDU пСрСнСсСны Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ gr-network ΠΈ gr-pdu, Π° вмСсто gr-blocks оставлСна прослойка для обСспСчСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости. Π’Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ PDU Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ доступны Π² пространствС ΠΈΠΌΡ‘Π½ gr::types, Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для манипуляции PDU — Π² пространствС ΠΈΠΌΡ‘Π½ gr::pdu.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ gr-iio, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ GNU Radio ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ устройствами Π½Π° Π±Π°Π·Π΅ подсистСмы IIO (Industrial I/O), Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO ΠΈ AD-FMCOMMS5-EBZ.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° класса Custom Buffer, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ GNU Radio ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ускоритСлями Π½Π° Π±Π°Π·Π΅ GPU, FPGA ΠΈ DSP. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ custom_buffer позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· написания ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² для задСйствования ускорСния Π½Π° сторонС GPU ΠΈ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° GNU Radio Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ GPU, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ядра CUDA ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ c Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π² Π±ΡƒΡ„Π΅Ρ€Ρ‹ 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, PyBind11 2.4.3, pygccxml 2.0.0).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Python-Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ для Π±Π»ΠΎΠΊΠΎΠ² RFNoC.
  • Π’ Π±Π»ΠΎΠΊΠ°Ρ… для построСния графичСского интСрфСйса gr-qtgui Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Qt 6.2. Π’ графичСский интСрфСйс GRC (GNU Radio Companion) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—output» для иСрархичСских Π±Π»ΠΎΠΊΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru