GNU Radio Companion (GRC) ist eine grafische Entwicklungsumgebung für GNU Radio.
Es wird verwendet, um Anwendungen zu entwickeln, die Signale über SDR Quellen empfangen und verarbeiten können.
GRC erleichtert die Entwicklung von Signalverarbeitungsabläufen indem es verschiedene Blöcke zur Signalverarbeitung bereitstellt, die durch Drag-and-Drop miteinander verbunden werden.
Eigene Funktionen können darüberhinaus in Form von eigenen Blöcken entwickelt werden.
Der Ergebniscode lässt sich als Pythoncode generieren und kann so unabhängig von GRC ausgeführt werden.
Grundlegende Konzepte
- Blöcke: In GRC sind Blöcke die Bausteine, aus denen ein Signalverarbeitungsfluss aufgebaut wird. Jeder Block erfüllt eine spezifische Aufgabe, z. B. Filterung, Modulation oder Demodulation.
- Verbindungen: Die Ausgänge eines Blocks können mit den Eingängen eines anderen Blocks verbunden werden, um den Datenfluss zu definieren.
- Signalflussdiagramm: Das Endprodukt in GRC ist ein Diagramm, das den Fluss der Signale durch verschiedene Verarbeitungsblöcke darstellt.
- Sinks und Sources: Quellen (Sources) sind Blöcke, die Signale erzeugen (z. B. ein Audiosignal), während Senken (Sinks) Blöcke sind, die das verarbeitete Signal empfangen und darstellen (z. B. ein Lautsprecher oder eine Datei).
Sources werden für eine Vielzahl von SDR Hardware Komponenten bereitgestellt. - Benutzerdefinierte Blöcke ermöglichen es, die Ergebnisse des vorangegangenen Blocks individuell zu verarbeiten. So können z.B. Textausgaben aus dem demodulierten Signal generiert oder Steuerungsaufgaben angeschlossen werden.