Po roku vývoja prepustenie la nová verzia hlavná bezplatná platforma na spracovanie digitálneho signálu Rádio GNU 3.10
Pre tých, ktorí platformu nepoznajú, by to mali vedieť obsahuje sadu programov a knižníc, ktoré vám umožňujú vytvárať ľubovoľné rádiové systémy, modulačné schémy a tvar prijatých a odoslaných signálov sa konfigurujú v softvéri a na zachytenie a generovanie signálov sa používajú jednoduché hardvérové zariadenia.
V kombinácii s univerzálnymi programovateľnými vysielačmi a prijímačmi, ktoré nie sú viazané na frekvenčné pásmo a typ modulácie signálu, platformu je možné použiť na vytvorenie zariadení ako základňových staníc pre siete GSM, zariadenia na diaľkové čítanie RFID štítkov (elektronická identifikácia a preukazy, čipové karty), GPS prijímače, WiFi, FM rozhlasové prijímače a vysielače, televízne dekodéry, pasívne radary, spektrálne analyzátory atď.
Okrem USRP balík môže využívať ďalšie hardvérové komponenty na vstup a výstup signálu, napríklad sú k dispozícii ovládače pre zvukové karty, televízne tunery, zariadenia BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP a S-Mini.
Hlavné nové funkcie GNU Radio 3.10
V tejto novej verzii, ktorá je uvedená pribudol nový modul gr-pdu, ktorý prináša nástroje na manipuláciu s objektmi typu PDU (Protocol Data Unit) používaná na prenos údajov medzi blokmi rádia GNU.
z modulu gr-blocks, všetky PDU boli presunuté do modulov gr-network a gr-pdu, a na mieste gr-blokov bola ponechaná vrstva, aby sa zabezpečila spätná kompatibilita. Vektorové typy PDU sú teraz dostupné v mennom priestore gr::types a funkcie manipulácie s PDU v mennom priestore gr::pdu.
Bol pridaný nový modul gr-iio, ktorý poskytuje I/O rámec na organizovanie výmeny údajov medzi GNU Radio a priemyselnými zariadeniami založenými na subsystéme IIO (Industrial I/O), ako sú PlutoSDR, AD-FMCOMMS2-EBZ, AD-FMCOMMS3-EBZ, AD-FMCOMMS4-EBZ, ARRADIO a AD-FMCOMMS5-EBZ.
Bolo to navrhnuté experimentálna podpora pre triedu Custom Buffer, ktorý zjednodušuje prenos dát medzi blokmi GNU Radio a hardvérovými akcelerátormi založenými na GPU, FPGA a DSP. Použitie custom_buffer zabraňuje zapisovaniu špeciálnych blokov na umožnenie zrýchlenia na strane GPU a umožňuje presúvať dáta priamo z kruhovej vyrovnávacej pamäte GNU Radio do pamäte GPU, spúšťať CUDA jadrá a vracať dáta s výsledkom do vyrovnávacích pamätí z GNURadio.
Infraštruktúra protokolovania bola zmenená tak, aby používala knižnicu spdlog, ktorá zlepšila použiteľnosť protokolovania odstránením volaní iostream a cstdio, poskytnutím podpory pre výrazy libfmt na formátovanie reťazcov a modernizáciou programovacieho rozhrania. Predtým používaná knižnica Log4CPP bola odstránená zo závislostí.
The prechod na použitie pri vývoji štandardu C++17. Knižnica boost::filesystem bola nahradená std::filesystem.
bol pridanýo podpora pre Qt 6.2 do blokov na vytvorenie grafického rozhrania gr-qtgui. Do grafického používateľského rozhrania GRC (GNU Radio Companion) bola pridaná možnosť „–output“ pre hierarchické bloky.
Nakoniec, ak máte záujem dozvedieť sa viac o tejto novej vydanej verzii, môžete si prečítať podrobnosti Na nasledujúcom odkaze.
Ako nainštalovať GNU Radio na Ubuntu a deriváty?
Pre tých, ktorí majú záujem o inštaláciu tejto novej verzie, zatiaľ musia zostaviť svoj zdrojový kód, pretože zatiaľ nie je k dispozícii v úložiskách Ubuntu.
Predtým, ako to urobíme, musíme nainštalovať potrebné závislosti pre jeho fungovanie, nainštalujeme ich otvorením terminálu v systéme (môžete to urobiť pomocou kombinácie klávesov Ctrl + Alt + T) a do neho napíšete nasledovné:
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
Potom budeme už musieť zadať iba nasledovné, aby sme stiahli zdrojový kód:
git clone --recursive https://github.com/gnuradio/gnuradio.git cd gnuradio mkdir build cd build
A nakoniec sa chystáme zostaviť zadaním nasledujúcich príkazov jeden po druhom:
cmake ../ make make test sudo make install