PLL Blöcke

Drei PLL-Implementierungen in GNU Radio im Vergleich — Carrier Tracking, Frequency Detector und Ref Out.

1. Beschreibung der Blöcke

GNU Radio bietet drei Varianten der Phase Locked Loop (analog.pll_carriertracking_cc, analog.pll_freqdet_cf, analog.pll_refout_cc), die intern denselben PI-Regelkreis nutzen, sich aber in dem unterscheiden, was am Ausgang bereitgestellt wird:

PLL-Block Primäres Ziel (Output) Typischer Einsatzbereich
PLL Carrier Tracking Ein „gereinigtes" Abbild des Eingangssignals Regenerierung verrauschter Träger, Phasenverfolgung
PLL Frequency Detector Ein Schätzwert der aktuellen Frequenz $f$ FM-Demodulation, FSK-Dekodierung, Frequenzüberwachung
PLL Ref Out Ein sauberer Referenzträger (Sinus) ohne Rauschen Kohärente Demodulation (Synchron-AM, BPSK)

PLL Carrier Tracking ist der klassische „Verfolger": Er gibt ein Signal aus, dessen Phase und Frequenz exakt dem Eingangssignal entsprechen — ist der Eingang verrauscht, ist der Ausgang ein sauberer, dem Rauschen des Eingangs „entflohener" Signalverlauf.

PLL Frequency Detector verfolgt nicht das Signal selbst, sondern greift am Ausgang des internen Loop-Filters (dem PI-Regler) den Steuerwert des Oszillators ab — dieser Wert ist direkt proportional zur Momentanfrequenz des Eingangssignals und macht den Block zum direkten Baustein einer FM-/FSK-Demodulation.

PLL Ref Out (Carrier Regeneration) erzeugt einen lokalen Referenzträger, der phasensynchron zum Eingangssignal läuft, aber selbst keine Modulation mehr enthält — im Unterschied zu Carrier Tracking, das alle Amplitudenschwankungen des Eingangs mitverfolgt, liefert Ref Out einen sauberen Einheits-Sinus/Cosinus mit korrekter Phase. Er ist die Basis für den Costas Loop, der zusätzlich die Datenmodulation (Phasensprünge) eliminieren kann, um den Träger zu finden.

2. Technischer Einsatz

Die Wahl des richtigen Blocks richtet sich danach, was am Ausgang gebraucht wird: Soll ein verrauschtes Signal selbst wiederhergestellt werden (z. B. vor einer AM-Demodulation), ist Carrier Tracking richtig. Soll die Frequenzinformation selbst das Nutzsignal sein (FM/FSK), ist Frequency Detector richtig. Soll ein sauberer, phasensynchroner Referenzträger für eine kohärente Demodulation erzeugt werden (BPSK, Synchron-AM), ist Ref Out richtig.

3. Parameter und Dimensionierung

Alle drei Blöcke teilen sich dieselben drei Parameter. Die Frequenzgrenzen werden dabei nicht in Hertz, sondern in Radiant pro Sample angegeben — einer normierten Einheit, die den Phasenfortschritt zwischen zwei aufeinanderfolgenden Abtastwerten beschreibt:

$$\text{Phase/Sample} = \frac{2\pi f}{f_s}$$

Parameter Typ/Einheit Bedeutung Dimensionierungshinweis
w (Loop Bandwidth) Radiant/Sample Reaktionsgeschwindigkeit des internen PI-Reglers kleinere Werte filtern Rauschen besser (stabilerer Lock), größere reagieren schneller auf Frequenzsprünge oder Doppler-Effekte; ein Wert von z. B. 0,05 bedeutet, dass die PLL Änderungen bis zu 5 % der Abtastrate folgen kann
max_freq (Max Phase/Sample) Radiant/Sample obere Fanggrenze des internen Oszillators aus der erwarteten Mittenfrequenz plus maximaler Drift berechnen: $2\pi(f_c + \Delta f)/f_s$
min_freq (Min Phase/Sample) Radiant/Sample untere Fanggrenze des internen Oszillators aus der erwarteten Mittenfrequenz minus maximaler Drift berechnen: $2\pi(f_c - \Delta f)/f_s$
Beispielrechnung: Bei $f_s = 48\,\text{kHz}$ und einem Signal bei $f_c = 0\,\text{Hz}$ mit einer erwarteten Drift von $\pm 500\,\text{Hz}$: $\text{Max Freq} = \frac{2\pi \cdot 500}{48000} \approx 0{,}0654$, $\text{Min Freq} \approx -0{,}0654$. Liegt das Signal stattdessen bei $f_c = 10\,\text{kHz}$, verschieben sich die Grenzen entsprechend: $\text{Min Freq} = \frac{2\pi \cdot 9500}{48000} \approx 1{,}246$, $\text{Max Freq} = \frac{2\pi \cdot 10500}{48000} \approx 1{,}374$.

Eng gesetzte Fanggrenzen verhindern, dass die PLL bei kurzzeitigem Signalverlust auf eine völlig falsche Frequenz (z. B. ein Nachbarsignal) einrastet — technisch definieren min_freq/max_freq die Schranken für den Integrator im PI-Regler.

4. Ein- und Ausgänge

Block Eingang Ausgang
PLL Carrier Tracking PLL Carrier Tracking Complex Complex (regeneriertes Eingangssignal)
PLL Frequency Detector PLL Frequency Detector Complex Float (Momentanfrequenz)
PLL Ref Out PLL Ref Out Complex Complex (sauberer Referenzträger)

5. Weitere wichtige Aspekte

Live-Parameteränderung: Alle drei Blöcke unterstützen set_loop_bandwidth(...), set_max_freq(...) und set_min_freq(...) als Callback zur Laufzeitanpassung.

Verwandter Block: Der Costas Loop baut auf demselben PLL-Prinzip auf, eliminiert zusätzlich aber die Phasensprünge einer PSK-Modulation, um trotz Datenmodulation einen stabilen Träger-Lock zu erreichen — siehe Costas Loop.