GNU Radio

Software für Digitale Signalverarbeitung und Software-Defined Radio

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.

GNU Radio

Basisdaten

Maintainer Joshua Morman, Jeff Long, Eric Blossom, Tom Rondeau, Johnathan Corgan, Marcus Müller[1]
Entwickler GNU-Projekt
Haupt-Maintainer Marcus Müller[2]
Erscheinungsjahr 2001
Aktuelle Version 3.10.9.2[3]
(17. Januar 2024)
Betriebssystem Unix, GNU/Linux, Windows, macOS, und andere
Programmiersprache C++[4], Python
Kategorie Digitale Signalverarbeitung
Lizenz GNU General Public License, Version 3.0 oder später[5][6], GNU General Public License, Version 2.0 oder später[7]
deutschsprachig nein
www.gnuradio.org
Darstellung eines Zeitsignals, einer Leistungsdichte und Konstellationsdiagrammes im Rahmen von GNU Radio

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 Bearbeiten

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.[8]

Weblinks Bearbeiten

Commons: GNU Radio – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise Bearbeiten

  1. Marcus Müller: GNU Radio Project Leadership Updates. 2. Februar 2018 (englisch, abgerufen am 21. Dezember 2020).
  2. https://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00006.html
  3. Release 3.10.9.2. 17. Januar 2024 (abgerufen am 19. Januar 2024).
  4. The real-gnuradio Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 19. Oktober 2018).
  5. In: Free Software Directory.
  6. Updated license from GPL version 2 or later to GPL version 3 or later.. 21. Juli 2007.
  7. ftp.gnu.org.
  8. A Quick Guide to Hardware and GNU Radio. Abgerufen am 27. September 2015.