
Erste Schritte mit Gnu Radio
In Gnu Radio verbindet man Funktionsblöcke zu einem kompletten
Programm. das dann in Python übersetzt wird. Wenn man ein neues Projekt
beginnt, stehen zwei Blöcke schon bereit: Options und eine Variable.
Die Eigenschaften eines Blocks kann man verändern, indem man auf die
rechte Maustaste klickt und dann in dem sich öffnenden Fenster
Einstellungen ändert.
Im ersten Versuch sollen zwei Sinusgeneratoren geladen werden, deren
Signale dann miteinander gemischt werden sollen. Die wichtigsten Blöcke
findet man im Bereich Core. Darunter gibt es die Gruppe Waveform
Generators und darunter den Block Signal Source. Zwei dieser
Generatoren werden auf die Arbeitsfläche gezogen. Einer soll mit 8000
Hertz laufen, der andere mit 1000 Hz. Für beide gilt die gemeinsame
Abtastrate 32 kHz. Das bedeutet, 32.000 mal pro Sekunde werden
Stützwerte der Generatoren berechnet und ausgegeben.
Entscheidend ist der Typ der Variablen. Beim Einfügen eines Generators
liefert der Ausgang zunächst komplexe Zahlen (complex, Signalfarbe
blau), das heißt, tatsächlich werden zwei Signale mit einer
Phasendifferenz von 90 Grad ausgegeben. Hier sollen jedoch Realzahlen
verwendet werden (float, Signalfarbe orange). Die Signalform ist
Cosinus oder Sinus, man kann beides probieren. Die Variable samp_rate
wurde bereits zentral auf 32 000 festgelegt.
Der obere Generator erzeugt die Frequenz 8 kHz mit einer Amplitude 1,
der erzeugte Sinus bewegt sich daher im Bereich -1 bis +1. der zweite
Generator erzeugt ein Kilohertz und hat eine Amplitude von 0,25 sowie
einen Offset von 0,5. beide Signale sollen nun multipliziert werden.
Damit bildet man einen Mischer, vergleichbar mit einer Mischstufe in
der analogen Welt. Der Multiplizierer muss ebenfalls auf den Signaltyp
float eingestellt werden. Er multipliziert dann die beiden Datenströme
der Sinus Generatoren.
Das Ausgangssignal wird einmal auf einen Block Frequency Sinc geleitet
und einmal auf einen Block Time Sink. Damit hat man ein Oszilloskop und
einen Spektrum Analyzer. Entscheidend für die Funktion ist, dass
alle Blöcke mit derselben Taktrate arbeiten, in diesem Fall 32 kHz. Nur
so ist gesichert, dass es an keiner Stelle zu einem Datenstau oder zu
Wartezeiten kommt.
Das Oszillogramm zeigt ein amplitudenmoduliertes Signal. Man erkennt
die Modulationsfrequenz von 1 kHz und die sehr viel höhere
Trägerfrequenz von 8 kHz. Im Spektrum sieht man den originalen Träger
bei 8 kHz und zwei Mischprodukte bei 7 Kilohertz und bei 9 kHz. Genau
dieses Ergebnis kennt man auch von analogen Mischern. Man hält das
Signal F1+F2 und das Signal F1-F2. Dass der Träger ebenfalls sichtbar
wird, liegt daran, dass bei der Modulationsquelle ein Offset
eingestellt wurde. Ohne Offset hätte man einen Balance-Mischer, der den
Träger unterdrückt.
In einem zweiten Schritt wurde das Programm um drei Schieberegler
erweitert. Damit kann man den Träger-Pegel, den Modulationspegel und
die Modulationsfrequenz frei einstellen. Nach dem Start ist die
Modulation ganz zurückgedreht, sodass man nur den Träger sieht.
Die Aussteuerung kann bis zu 100% erhöht werden. Die Pegel der
Seitenbänder liegen dann jeweils 6 dB unter dem Trägerpegel. Das
bedeutet, bei Vollaussteuerung eines AM-Senders mit 100 W bekommt jedes
Seitenband 25 W.
Mit dem Offset des Modulators kann man den Pegel des Trägers auf Null
setzen. Damit hat man einen Balancemischer, der Träger wird vollkommen
unterdrückt. Das Ausgangssignal ist nun ein DSB (Double Side Band)
Signal. Mit einem geeigneten Filter könnte man daraus ein SSB Signal
machen, also eines von beiden Seitenbändern auswählen.