Po šesti letech od posledního významného vydání vydání , svobodné platformy pro digitální zpracování signálů. GNU Radio je soubor programů a knihoven, které umožňují vytvářet libovolné rádiové systémy, modulační schémata a formy přijímaných a vysílaných signálů, které jsou definovány programově, přičemž pro zachycení a generaci signálů se používají jednoduchá hardwarová zařízení. Projekt je licencován pod GPLv3. Většina komponent GNU Radio je napsána v jazyce Python, kritické části z pohledu výkonu a latence jsou napsány v jazyce C++, což umožňuje použít balíček při řešení úloh v reálném čase.
V kombinaci s univerzálními programovatelnými přijímači a vysílači, které nejsou vázány na frekvenční pásmo a typ modulačního signálu, může být platforma použita k vytváření zařízení, jako jsou základnové stanice pro GSM sítě, zařízení pro dálkové čtení RFID štítků (elektronické doklady a průkazy, smart karty), GPS přijímače, WiFi, přijímače a vysílače FM rádia, TV dekodéry, pasivní radary, spektrální analyzátory a další. Kromě USRP může balíček využívat i další hardwarové komponenty pro vstup a výstup signálů, například ovladače pro zvukové karty, TV tunery, zařízení BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP a S-Mini.
Součástí je také sbírka filtrů, kanálových kodeků, synchronizačních modulů, demodulátorů, ekvalizérů, hlasových kodeků, dekodérů a dalších prvků potřebných pro vytváření rádiových systémů. Tyto prvky mohou být použity jako cihly pro sestavení hotového systému, což v kombinaci s možnostmi definování datových toků mezi bloky umožňuje navrhovat rádiové systémy i bez znalostí programování.
Hlavní změny:
- Byl přechod na používání standardu C++11 a build systému CMake. Styl kódu byl přiveden do souladu s clang-format;
- Mezi závislostmi jsou MPIR/GMP, Qt5, gsm a codec2. Byly aktualizovány požadavky na verze závislostí CMake, GCC, MSVC, Swig, Boost. Závislosti libusb, Qt4 a CppUnit byly odstraněny;
- Zajištěna kompatibilita s Pythonem 3, následující větev GNU Radio 3.8 bude poslední, která bude podporovat Python 2;
- V gnuradio-runtime byla přepracována zpracování desetinných hodnot tagů „time“ v kontextu použití s moduly předeskrétizace;
- Do grafického rozhraní (GNU Radio Companion) byla přidána volitelná podpora generování kódu v C++, místo XML byl použit formát YAML, odstraněn blks2, byly značně vylepšeny nástroje pro práci s plátnem a přidána podpora zaoblených šipek;
- Grafické rozhraní gr-qtgui bylo převedeno z Qt4 na Qt5;
- V gr-utils byla zásadně vylepšena utilita gr_modtool. Ze složení byly odstraněny utility založené na PyQwt;
- Podpora modulů gr-comedi, gr-fcd a gr-wxgui byla ukončena.
Zdroj: opennet.ru
