След шест години от последното значително издание релиз , свободна платформа за цифрова обработка на сигнали. GNU Radio представлява набор от програми и библиотеки, които позволяват създаването на произволни радио системи, схеми за модулация и формата на приемаемите и изпращаните сигнали, зададени програмно, а за захващане и генериране на сигнали се използват най-простите апаратни устройства. Проектът е с лиценз GPLv3. Кодът на голямата част от компонентите на GNU Radio е написан на Python, а частите, критични за производителността и времето за закъснение, са написани на C++, което позволява използването на пакета при решаване на задачи в реално време.
В комбинация с универсални програмируеми предаватели и приемници, които не са привързани към честотния диапазон и типа на модулацията на сигнала, платформата може да се използва за създаване на устройства като базови станции за 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" в контекста на приложението с модулите за пренамаляване на честотата;
- В графичния интерфейс (GNU Radio Companion) е добавена опционална поддръжка за генериране на код на C++, вместо XML е използван форматът YAML, премахнат е blks2, значително подобрени са инструментите за работа с платно и е добавена поддръжка за закръглени стрелки;
- Графичният интерфейс gr-qtgui е прехвърлен от Qt4 на Qt5;
- В gr-utils е значително подобрена утилитата gr_modtool. Премахнати са утилитите на базата на PyQwt;
- Поддръжката на модулите gr-comedi, gr-fcd и gr-wxgui е прекратена.
Източник: opennet.ru
