Die freie Software GNU-Radio stellt eine Sammlung hoch effizient programmierter C-Routinen zur Signalverarbeitung bereit. Fouriertransformation, Filterfunktionen und viele andere Möglichkeiten eröffnen sich damit. Für den Benutzer ist die graphische Programmierumgebung gnuradio-companion eine ideale Entwicklungsumgebung, die eine komfortabel nutzbare Python-Schnittstelle zur Verfügung stellt.
Der Sender
Um auf bestimmte Parameter der Klasse von eigener Software aus verändernd zugreifen zu können, wurden die gekennzeichneten Variablen eingeführt, die über die Standardmethoden set_variable bzw. get_variable erreichbar sind, ohne den Quelltext kennen oder anfassen zu müssen (Objektorientierte Programmierung, Vererbung).
Beispiele: Audio Source ist der Eingang (Mikrofon) der Soundkarte, vom Ausgang (Audio Sink) geht es zweikanalig weiter zur Elektronik (Impedanzwandler ...).
Die Variablen für das Bandpass-Filter erlauben die Seitenbandwahl und die Pegelanpassung auf den verschiedenen Bändern. Die Parameter des Bandpassfilters mit der "complex to complex" Signalverarbeitung bewirken u.a. die gewünschte 90° Phasenverschiebung.
Hieraus entsteht die mit Gnuradio erzeugte Klasse top_block.py für die Sender-Software