Sechs Jahre nach der letzten bedeutenden Veröffentlichung Release , einer Open-Source-Plattform für digitale Signalverarbeitung. GNU Radio besteht aus einer Sammlung von Programmen und Bibliotheken, die es ermöglichen, beliebige Funksysteme, Modulationsschemata und die Formen von empfangenen und gesendeten Signalen programmatisch zu erstellen. Zur Signalaufnahme und -erzeugung werden einfache Hardwaregeräte eingesetzt. Das Projekt steht unter der GPLv3-Lizenz. Der Großteil der Komponenten von GNU Radio ist in Python geschrieben, während leistungs- und latenzkritische Teile in C++ verfasst wurden, was die Verwendung des Pakets bei der Lösung von Echtzeitanforderungen ermöglicht.
In Kombination mit universellen programmierbaren Transceivern, die nicht an Frequenzband und Modulationsart gebunden sind, kann die Plattform für die Erstellung von Geräten wie Basisstationen für GSM-Netze, RFID-Tag-Lesegeräten (elektronische Ausweise und Zugangskarten, Smartcards), GPS-Empfängern, WiFi, FM-Radioempfängern und -sendern, TV-Dekodern, passiven Radaren sowie spektralen Analysegeräten verwendet werden. Neben USRP kann das Paket auch andere Hardwarekomponenten für die Ein- und Ausgabe von Signalen nutzen, wie z. B. Treiber für Soundkarten, TV-Tuner, BladeRF-Geräte, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP und S-Mini.
Das Paket umfasst zudem eine Sammlung von Filtern, Kanalcodierern, Synchronisationsmodulen, Demodulatoren, Equalizern, Sprachcodierern, Decodern und anderen Komponenten, die für die Erstellung von Radiosystemen erforderlich sind. Diese Komponenten können als Bausteine zur Zusammenstellung eines fertigen Systems verwendet werden, was in Kombination mit den Fähigkeiten zur Datenstromdefinition zwischen den Modulen die Projektierung von Radiosystemen auch ohne Programmierkenntnisse ermöglicht.
Wesentliche Änderungen:
- Der Übergang zur Verwendung von C++11 und dem Build-System CMake wurde vollzogen. Der Code-Stil wurde gemäß clang-format angepasst.
- Im Dependencies-Management sind nun MPIR/GMP, Qt5, gsm und codec2 enthalten. Die Anforderungen an die Versionen der Abhängigkeiten CMake, GCC, MSVC und Swig sowie Boost wurden aktualisiert. libusb, Qt4 und CppUnit wurden aus den Abhängigkeiten entfernt.
- Die Kompatibilität mit Python 3 wurde sichergestellt; die nächste Version von GNU Radio 3.8 wird die letzte mit Unterstützung für Python 2 sein.
- In gnuradio-runtime wurde die Verarbeitung von Zeitstempel-Tag-Werten im Kontext der Verwendung mit Resampling-Modulen überarbeitet.
- In die grafische Benutzeroberfläche (GNU Radio Companion) wurde die optionale Unterstützung für die C++-Codegenerierung hinzugefügt, anstelle von XML wird jetzt das YAML-Format verwendet, blks2 wurde entfernt, die Werkzeuge für die Canvas-Nutzung wurden erheblich verbessert und es wurde Unterstützung für abgerundete Pfeile hinzugefügt.
- Die grafische Benutzeroberfläche gr-qtgui wurde von Qt4 auf Qt5 umgestellt.
- In gr-utils wurde das Tool gr_modtool erheblich verbessert. Werkzeuge, die auf PyQwt basierten, wurden entfernt.
- Die Unterstützung für die Module gr-comedi, gr-fcd und gr-wxgui wurde eingestellt.
Quelle: opennet.ru
