Выпуск GNU Radio 3.8.0

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

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

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

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

  • Осуществлён переход на использование при разработке стандарта C++11 и сборочной системы CMake. Стиль кода приведён в соответствие с clang-format;
  • В число зависимостей включены MPIR/GMP, Qt5, gsm и codec2. Обновлены требования к версиям зависимостей CMake, GCC, MSVC, Swig, Boost. Удалены из зависимостей libusb, Qt4 и CppUnit;
  • Обеспечена совместимость с Python 3, следующая ветка GNU Radio 3.8 станет последней с поддержкой Python 2;
  • В gnuradio-runtime переработана обработка дробных значений тегов «time» в контексте применения с модулями передескретизации;
  • В графический интерфейс GRC (GNU Radio Companion) добавлена опциональная поддержка генерации кода на C++, вместо XML задействован формат YAML, удалён blks2, значительно улучшены инструменты работы с холстом и добавлена поддержка скруглённых стрелок;
  • Графический интерфейс gr-qtgui переведён с Qt4 на Qt5;
  • В gr-utils существенно улучшена утилита gr_modtool. Из состава удалены утилиты на базе PyQwt;
  • Прекращена поддержка модулей gr-comedi, gr-fcd и gr-wxgui.

    Источник: http://www.opennet.ru/opennews/art.shtml?num=51257