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$ |
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 |
|---|---|---|
| Complex | Complex (regeneriertes Eingangssignal) | |
![]() |
Complex | Float (Momentanfrequenz) |
![]() |
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.


