ഗ്നു റേഡിയോ 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

ഒരു അഭിപ്രായം ചേർക്കുക