Sechs Jahre nach der letzten bedeutenden Veröffentlichung Release , einer freien Plattform für digitale Signalverarbeitung. GNU Radio ist eine Sammlung von Programmen und Bibliotheken, die es ermöglichen, beliebige Funksysteme, Modulationsschemata und die Form der empfangenen und gesendeten Signale programmgesteuert zu erstellen, während einfache Hardwaregeräte zur Erfassung und Erzeugung von Signalen verwendet werden. Das Projekt steht unter der GPLv3-Lizenz. Der Code der meisten Komponenten von GNU Radio ist in Python geschrieben, während zeitkritische Teile in C++ geschrieben sind, was es ermöglicht, das Paket zur Lösung von Echtzeitanforderungen zu nutzen.
In Kombination mit universell programmierbaren Transceivern, die nicht an Frequenzbänder und Modulationstypen gebunden sind, kann die Plattform zur Erstellung von Geräten wie Basisstationen für GSM-Netze, RFID-Lesegeräten (elektronische Ausweise und Zugangsberechtigungen, Smartcards), GPS-Empfängern, WiFi, FM-Radioempfängern und -sendemodulen, TV-Decodern, passiven Radaren, Spektralanalysatoren usw. genutzt werden. Neben USRP kann das Paket auch andere Hardwarekomponenten zur Eingabe und Ausgabe von Signalen verwenden, z.B. Treiber für Soundkarten, TV-Tuner, Geräte wie BladeRF, Myriad-RF, HackRF, UmTRX, Softrock, Comedi, Funcube, FMCOMMS, USRP und S-Mini.
Das Paket enthält auch eine Sammlung von Filtern, Kanalkodierern, Synchronisationsmodulen, Demodulatoren, Equalizern, Sprachcodierern, Decodern und anderen Elementen, die zur Erstellung von Radiosystemen erforderlich sind. Diese Elemente können als Bausteine zur Konstruktion eines fertigen Systems verwendet werden, was in Kombination mit der Möglichkeit, Datenströme zwischen den Blöcken zu definieren, die Planung von Radiosystemen auch ohne Programmierkenntnisse ermöglicht.
Hauptänderungen:
- Es wurde auf die Nutzung des C++11-Standards und des CMake-Bau systems umgestellt. Der Code-Stil wurde an clang-format angepasst;
- Zu den Abhängigkeiten gehören MPIR/GMP, Qt5, gsm und codec2. Die Versionsanforderungen für die Abhängigkeiten CMake, GCC, MSVC, Swig, Boost wurden aktualisiert. libusb, Qt4 und CppUnit wurden aus den Abhängigkeiten entfernt;
- Es wurde die Kompatibilität mit Python 3 sichergestellt, die nächste Version von GNU Radio 3.8 wird die letzte mit Unterstützung für Python 2 sein;
- Im gnuradio-runtime wurde die Verarbeitung von Zeit-Tag-Werten für 'time' im Kontext der Verwendung mit Resampling-Modulen überarbeitet;
- In die grafische Benutzeroberfläche (GNU Radio Companion) wurde optionale Unterstützung für die Codegenerierung in C++ hinzugefügt, das XML-Format wurde durch YAML ersetzt, blks2 wurde entfernt, die Werkzeuge zur Arbeit mit der Leinwand wurden erheblich verbessert und die Unterstützung für abgerundete Pfeile wurde hinzugefügt;
- Die grafische Benutzeroberfläche gr-qtgui wurde von Qt4 auf Qt5 umgestellt;
- In gr-utils wurde das Dienstprogramm gr_modtool erheblich verbessert. Die auf PyQwt basierenden Dienstprogramme wurden entfernt;
- Die Unterstützung für die Module gr-comedi, gr-fcd und gr-wxgui wurde eingestellt.
Quelle: opennet.ru
