Доступен (http://gnuradio.org/redmine/news/25) новый значительный выпуск GNU Radio 3.7 (http://gnuradio.org/), свободной платформы цифровой обработки сигналов. GNU Radio представляет собой набор программ и библиотек, которые позволяют создавать произвольные радиосистемы, схемы модуляции и форма принимаемых и отправляемых сигналов в которых задаются программно, а для захвата и генерации сигналов применяются простейшие аппаратные устройства. Проект распространяется под лицензией GPLv3. Код большей части компонентов GNU Radio написан на языке Python, части, критичные к производительности и времени задержки, написаны на языке С++, что позволяет использовать пакет при решении задач в режиме реального времени.
В комбинации с универсальными программируемыми приёмопередатчиками USRP2 (http://gnuradio.org/redmine/projects/gnuradio/wiki/USRP2), не привязанными к полосе частот и типу модуляции сигнала, платформа может быть использована для создания таких устройств, как базовые станции для GSM сетей, устройства для дистанционного чтения RFID-меток (электронные удостоверения и пропуски, смарт-карты), GPS-ресиверы, WiFi, приемники и передатчики FM-радио, TV-декодеры, пассивные радары, спектральные анализаторы и т.п. Кроме USRP, пакет может использовать и другие аппаратные компоненты для ввода и вывода сигналов, например, доступны драйверы для звуковых карт, TV-тюнеров, устройств Softrock, Comedi, Funcube и S-Mini.
В состав также входит коллекция фильтров, канальных кодеков, модулей синхронизации, демодуляторов, эквалайзеров, голосовых кодеков, декодеров и других элементов, необходимых для создания радиосистем. Указанные элементы могут быть использованы как кирпичики для компоновки готовой системы, что в сочетании с возможностями по определению потоков данных между блоками, позволяет проектировать радиосистемы даже без навыков программирования.
В процессе подготовки новой ветки проведена значительная реструктуризация кода, что сравнивается разработчиками с пересборкой двигателя гоночного автомобиля во время езды. Все первичные компоненты теперь оформлены в соответствии с единой структурой, все блоки перемещены из ядра GNU Radio в непосредственно связанные с ними компоненты, а базовые части теперь поставляются в пакете gnuradio-runtime. Новое API построено с задействованием раздельных пространств имён С++ и виртуальных шаблонов для доступа к приватным классам. Значительные улучшения также связаны с расширением библиотеки блоков GNU Radio DSP, в которую включены новые возможности, отражающие изменения, добавленные в ветке 3.6 фреймворка GNU Radio SDR и runtime-компонентах проекта.
Из новшеств (http://gnuradio.org/redmine/projects/gnuradio/wiki/ChangeLog...) можно отметить:
- Интерфейс ControlPort для стандартизации системы удалённого взаимодействия с GNU Radio. ControlPort предоставляет средства удалённого управления и визуализации, внешний отладочный интерфейс, возможность подключения нескольких удалённых компонентов к одному приложению GNU Radio и использования одного ControlPort для управления несколькими приложениями GNU Radio. Использование ControlPort не приводит к дополнительной нагрузке на CPU.
- Интерфейс для удалённого мониторинга производительности GNU Radio, с использованием Performance Counters. В поставку также включена утилита gr-perf-monitorx для наглядной визуализации полученных параметров;
- Значительная переработка виджетов QTGUI. Все графики теперь выделены в отдельные компоненты, в том числе графики динамики изменения амплитуды во времени, FFT и спектрограммы. Каждый обработчик одновременно может обрабатывать несколько соединений с наложением полученных данных. Для изменения оформления графиков могут применяться стили QSS (Qt Style Sheets). Увеличена производительность отрисовки;
- Обновлён модуль gr_filter_design в котором реализованы дополнительные возможности для визуализации работы фильтров;
- Добавлены новые блоки gr::analog::fast_noise_source и gr::analog::agc3_*, реализованы компоненты gr-fec и gr-channels, интегрирована утилита volk_modtool.
URL: http://gnuradio.org/redmine/news/25
Новость: http://www.opennet.dev/opennews/art.shtml?num=37380