UKW-FM mit GNU Radio         

 
Elektronik-Labor  Lernpakete  Projekte  HF  

 

Eine der ersten Übungen mit Gnu-Radio ist der Bau eines UKW-FM-Empfängers. Auch die Videos zum HackRF One zeigen dieses Thema zuerst. Ein Grund dafür ist vermutlich, dass man fast überall starke UKW-Stationen empfangen kann und mit einer einfachen Antenne auskommt.

für meinen eigenen Versuch habe ich den HackRF One mit einer Bandbreite von 10 MHz betreiben, weil dabei die geringsten Störungen bei einem Test mit SDR# auftraten. Das ergibt eine Bandbreite von ebenfalls 10 MHz. Weil ich die Mittenfrequenz 103 MHz gewählt habe, reicht mein Abstimmbereich nun von 98 MHz bis 108 MHz. Zusätzlich gibt es einen IQ-Oszillator (Signal Source) der von -5 MHz bis +5 MHz abgestimmt werden kann. Ein Multiplier dient als Mischer, der die gewünschte Station auf 0 Hz heruntermischt. Es folgt ein Low Pass Filter bis 75 kHz, das für die ZF-Selektion sorgt.



UKWfm.py

Bis hierhin liefen alle Blöcke mit der global festgelegten Abtastrate von 10 MHz. Aber das Low Pass Filter verwendet eine Decimation von 50, sodass am Ausgang eine 50-fach kleinere Abtastrate von 200 kHz steht. Diese soll nun auf 480 kHz gebracht werden. Dazu dient der Rational Resampler. Er bildet zuerst durch Interpolation eine 12-fach höhere Abtastrate und dezimiert sie dann um den Faktor 5, was 480 kHz ergibt. Dieses Signal wird dann sowohl an die FFT-Anzeige als auch an den WBFM Receiver, also den FM_Demodulator geschickt. Dieser reduziert die Abtastrate um den Faktor 10, sodass die Soundkate (Audio Sink) mit 48 kHz arbeitet.

Wichtig ist, dass die Datenströme genauso schnell reinkommen wie sie verarbeitet werden und am Ende ausgegeben werden. Die Abtastrate wird mehrfach umgerechnet: 10 MHz / 50 * 12 / 5 / 10 = 48 kHz. Anfangs hatte ich noch Probleme mit den richtigen Einstellungen, da kam es zu einem lauten Geknatter aus dem Lautsprecher. Jetzt funktioniert das Radio wunderbar. Auch eine besonders schwache Station in größerer Entfernung (DLF auf 102,8 MHz) wird sauber empfangen. Die Frequenz wird über den Schieberegler QT GUI Range eingestellt. Mit den beiden Pfeilen kann man auch schrittweise um jeweils 100 kHz abstimmen.




Genau bei 103 MHz, der eingestellten CH0-Freqeunz des HackRF One, sieht man einen Träger, der nicht von der Antenne kommt, sondern aus dem Gerät selbst. Das ist die Stelle, bei der auf die Ausgangsfrequenz  Null gemischt wird. Der Hersteller nennt das CD Spike, wobei mit Spike kein Impuls gemeint ist, sondern diese Nullstelle im Spektrum. Wenn sie genau ein Empfangssignal trifft, führt das zu Störungen. Das ist der Grund, warum in diesem Programm einmal mehr gemischt wird.


Elektronik-Labor  Lernpakete  Projekte  HF