GNU Radio | |
---|---|
Basisdaten | |
Maintainer | Joshua Morman, Jeff Long, Eric Blossom, Tom Rondeau, Johnathan Corgan, Marcus Müller |
Entwickler | GNU-Projekt Haupt-Maintainer Marcus Müller |
Erscheinungsjahr | 2001 |
Aktuelle Version | 3.10.7.0 (15. Juli 2023) |
Betriebssystem | Unix, GNU/Linux, Windows, macOS, und andere |
Programmiersprache | C++, Python |
Kategorie | Digitale Signalverarbeitung |
Lizenz | GNU General Public License, Version 3.0 oder später, GNU General Public License, Version 2.0 oder später |
deutschsprachig | nein |
www.gnuradio.org |
GNU Radio ist ein freies Programmierwerkzeug für die Implementierung von Software Defined Radio (SDR), einem Bereich der Nachrichtentechnik mit Fokus auf der digitalen Signalverarbeitung. GNU Radio erlaubt die praktische Implementierung beliebiger digitaler Modulations- und Demodulationsverfahren, Verfahren zur Manipulation von Signalen wie digitale Filter und bietet verschiedene Anzeigen wie Darstellungen als Zeitsignal oder als Frequenzspektrum, der dabei auftretenden Leistungsdichten, oder die bei digitalen Modulationen vorhandenen Konstellationsdiagramme.
Mit GNU Radio kann die digitale Signalverarbeitung entweder am Rechner simuliert werden, dafür ist keine weitere Hardware nötig. Alternativ kann GNU Radio mit zusätzlicher an den PC angeschlossener Hardware betrieben werden, welche primär die Funkschnittstelle und die nötigen externen Verbindungen wie Antennen umfasst. Die erzeugten Signale können dann in Echtzeit ausgestrahlt oder in der Gegenrichtung die empfangenen Funksignale demoduliert und weiterverarbeitet werden. Aufgrund der vergleichsweise kostengünstig verfügbaren SDR-Hardware, der leichten Verfügbarkeit handelsüblicher Rechner auf denen GNU Radio lauffähig ist, findet es vor allem im Bereich des Amateurfunks, im Rahmen von Ausbildung und Lehre und als einfache Evaluierungsplattform im professionellen Sektor Anwendung.
Struktur
GNU Radio besteht aus mehreren einzelnen Anwendungen, welche als englisch flowgraphs bezeichnet werden und elementare Signalverarbeitungsblöcke darstellen. Durch Kombination mehrerer flowgraphs werden komplexe Strukturen beschrieben und durch Austausch, Veränderung der Parameter und Funktionen und durch die Anordnung der flowgraphs lässt sich die Signalverarbeitung beliebig gestalten.
Die flowgraphs werden entweder in Python oder bei zeitkritischen und komplexen Funktionen in C++ programmiert. Die GNU-Radio-Umgebung ist komplett in C++ geschrieben. Daneben existieren diverse Erweiterungsmodule wie beispielsweise der GNU Radio Companion, eine auf Qt basierende grafische Oberfläche für die Darstellung und Modifikation der flowgraphs.
Für den Empfang zur Analyse oder für die Ausstrahlung von mit GNU Radio und den flowgraphs erzeugten Signalen ist zusätzliche Hardware, ein sogenanntes Software Defined Radio Frontend nötig. Es kann für Anwendungen im Basisband und bei Verwendung von Audiofrequenzen auch eine Soundkarte zur Signalaus- und Signaleingabe verwendet werden.
Weblinks
Einzelnachweise
- ↑ Marcus Müller: GNU Radio Project Leadership Updates. 2. Februar 2018 (englisch, abgerufen am 21. Dezember 2020).
- ↑ https://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00006.html
- ↑ Release 3.10.7.0. 15. Juli 2023 (abgerufen am 22. Juli 2023).
- ↑ The real-gnuradio Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 19. Oktober 2018).
- ↑ In: Free Software Directory.
- ↑ Updated license from GPL version 2 or later to GPL version 3 or later.. 21. Juli 2007.
- ↑ ftp.gnu.org.
- ↑ A Quick Guide to Hardware and GNU Radio. Abgerufen am 27. September 2015.