След една година развитие освобождаването на la нова версия основна платформа за безплатна цифрова обработка на сигнали Радио GNU 3.10
За тези, които не знаят за платформата, те трябва да знаят, че това включва набор от програми и библиотеки, които ви позволяват да създавате произволни радио системи, модулационните схеми и формата на получените и изпратените сигнали се конфигурират в софтуер, а за улавяне и генериране на сигнали се използват прости хардуерни устройства.
В комбинация с универсални програмируеми приемо-предаватели, които не са обвързани с честотната лента и вида на модулация на сигнала, платформата може да се използва за създаване на устройства като базови станции за GSM мрежи, устройства за дистанционно четене на RFID тагове (електронни идентификации и пропуски, смарт карти), GPS приемници, WiFi, FM радио приемници и предаватели, телевизионни декодери, пасивни радари, анализатори на спектъра и др.
В допълнение към USRP, пакетът може да използва други хардуерни компоненти за вход и изход на сигнала, например налични са драйвери за звукови карти, телевизионни тунери, BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP и S -Mini устройства.
Основни нови функции на GNU Radio 3.10
В тази нова версия, която е представена добавен е нов модул gr-pdu, който носи инструменти за манипулиране на обекти с тип PDU (Protocol Data Unit), използван за прехвърляне на данни между GNU Radio блокове.
от модула gr-блокове, всички PDU са преместени в модули gr-network и gr-pdu, и слой е оставен на мястото на gr-блоковете, за да се осигури обратна съвместимост. Векторните типове PDU вече са налични в пространството за имена gr::types и функциите за манипулиране на PDU в пространството за имена gr::pdu.
Добавен е нов модул gr-iio, който предоставя I/O рамка за организиране на обмен на данни между 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 ядра и връщане на данни с резултата в буферите от GNURadio.
Инфраструктурата за регистриране е променена, за да използва библиотеката spdlog, който подобри използваемостта при регистриране чрез премахване на извикванията към iostream и cstdio, осигуряване на поддръжка за изрази на libfmt за форматиране на низове и модернизиране на интерфейса за програмиране. Използваната преди това библиотека Log4CPP беше премахната от зависимостите.
The преминаване към използване при разработването на стандарта C++17. Библиотеката boost::filesystem е заменена от std::filesystem.
беше добавеноo поддръжка за Qt 6.2 към блоковете за изграждане на графичния интерфейс gr-qtgui. Опцията “–output” за йерархични блокове е добавена към GRC (GNU Radio Companion) GUI.
И накрая, ако се интересувате да научите повече за тази нова издадена версия, можете да се консултирате с подробностите В следващия линк.
Как да инсталирам GNU Radio на Ubuntu и деривати?
За тези, които се интересуват от възможността да инсталират тази нова версия, засега те трябва да компилират своя изходен код, тъй като все още не е наличен в хранилищата на Ubuntu.
Преди да го направим, трябва да инсталираме необходимите зависимости за неговата работа, ние ги инсталираме, като отворим терминал в системата (можете да го направите с комбинацията от клавиши Ctrl + Alt + T) и в него ще напишете следното:
sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \ python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libcomedi-dev \ libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \ liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins
След това ще трябва само да напишем следното, за да изтеглим изходния код:
git clone --recursive https://github.com/gnuradio/gnuradio.git cd gnuradio mkdir build cd build
И накрая ще компилираме, като напишем следните команди една по една:
cmake ../ make make test sudo make install