Выпуск GNU Radio 3.9.0

Материал из Викиновостей, свободного источника новостей
Перейти к навигации Перейти к поиску

18 января 2021 года

Wikinews-logo-ru.svg

После полутора лет разработки сформирован новый значительный релиз свободной платформы цифровой обработки сигналов GNU Radio 3.9. Платформа включает набор программ и библиотек, позволяющих создавать произвольные радиосистемы, схемы модуляции и форма принимаемых и отправляемых сигналов в которых задаются программно, а для захвата и генерации сигналов применяются простейшие аппаратные устройства. Проект распространяется под лицензией GPLv3. Код большей части компонентов GNU Radio написан на языке Python, части, критичные к производительности и времени задержки, написаны на языке С++, что позволяет использовать пакет при решении задач в режиме реального времени.

В комбинации с универсальными программируемыми приёмопередатчиками, не привязанными к полосе частот и типу модуляции сигнала, платформа может быть использована для создания таких устройств, как базовые станции для сетей GSM, устройства для дистанционного чтения RFID-меток (электронные удостоверения и пропуски, смарт-карты), GPS-ресиверы, WiFi, приемники и передатчики FM-радио, TV-декодеры, пассивные радары, спектральные анализаторы и т.п. Кроме USRP, пакет может использовать и другие аппаратные компоненты для ввода и вывода сигналов, например, доступны драйверы для звуковых карт, TV-тюнеров, устройств BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP и S-Mini.

В состав также входит коллекция фильтров, канальных кодеков, модулей синхронизации, демодуляторов, эквалайзеров, голосовых кодеков, декодеров и других элементов, необходимых для создания радиосистем. Указанные элементы могут быть использованы как кирпичики для компоновки готовой системы, что в сочетании с возможностями по определению потоков данных между блоками позволяет проектировать радиосистемы даже без навыков программирования.

Основные изменения:

  • Внесены изменения в организацию разработки. Для участия в разработке больше не требуется подписание CLA-соглашения, вместо которого разработчику необходимо лишь подтвердить, что он имеет право на передачу кода и не пытается присвоить себе чужой код. Для оформления передачи кода применяется документ Developer Certificate of Origin (DCO), который с 2004 года используется при передаче изменений в состав ядра Linux. Для отслеживания автора к каждому изменению прикрепляется строка "Signed-off-by: имя и email разработчика" (git commit -s). Прикрепляя данную подпись к патчу, разработчик подтверждает своё авторство над передаваемым кодом и соглашается с его распространением в составе проекта или как части кода под свободной лицензией.
  • Разрешено использование конструкций из стандарта C++14, но в коде, где продолжает использоваться Boost, продолжают применяться конструкции C++11. Кроме того, в код добавлены заголовки с информацией о лицензии в формате SPDX. Сборочные сценарии адаптированы для создания повторяемых сборок.
  • Прекращено применение генератора программных интерфейсов SWIG. Для связывания кода на С/C++ и Python теперь применяется PyBind11, который требует написания дополнительного кода, но обеспечивает более предсказуемый и стабильный результат. Вместе с переходом на PyBind проведена большая работа по модернизации кода графического интерфейса GRC (GNU Radio Companion).
  • Добавлен новый модуль gr-network для создания сетевых блоков,

поддерживающий TCP и UDP.

  • В графический интерфейс
 

Источники[править]


OpenNET logo.png
Creative Commons
Эта статья содержит материалы из статьи «Выпуск GNU Radio 3.9.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Cartoon Robot.svg
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Выпуск GNU Radio 3.9.0