Erste Schritte mit Gnu Radio         

 
Elektronik-Labor  Lernpakete  Projekte  HF  



AM1.grc
 

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.



AM2.grc

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.







Elektronik-Labor  Lernpakete  Projekte  HF