Constellation-Blöcke

Wie Constellation-Objekte digitale Symbole auf Punkte in der komplexen Ebene abbilden — Modulator, Demodulator und Parameter im Detail.

1. Beschreibung der Blöcke

In GNU Radio sind die Constellation-Blöcke essenzielle Bausteine für digitale Modulations- und Demodulationsschemata. Sie ordnen digitale Daten (Bits oder Bitgruppen) sogenannten Symbolen zu, die als Punkte in einer Konstellation — der komplexen Ebene — dargestellt werden. Ein Symbol repräsentiert dabei eine Gruppe von Bits, die gemeinsam übertragen wird; die Konstellation ist die Menge der möglichen Signalzustände, die ein Symbol annehmen kann.

Diese Blöcke ermöglichen die Realisierung verschiedener digitaler Modulationstechniken: BPSK (Binary Phase-Shift Keying, zwei Phasen für 0/1), QPSK (Quadrature Phase-Shift Keying, vier Phasen für Bitpaare), QAM (Quadrature Amplitude Modulation, Amplitude und Phase gemeinsam — z. B. 16-QAM für 4-Bit-Symbole) sowie benutzerdefinierte Konstellationen.

Alle Blöcke arbeiten auf Basis eines gemeinsamen Constellation-Objekts, das die mathematische Struktur der Modulation kapselt und in mehreren Blöcken (Modulator, Demodulator, Decoder) wiederverwendet werden kann, um eine konsistente Implementierung sicherzustellen:

Block Funktion
Constellation Object Definiert Typ, Symbol-Mapping und alle Modulationsparameter — Grundlage für alle übrigen Blöcke
Constellation Modulator Wandelt digitale Symbole (Integer aus Bitgruppen) in komplexe Konstellationspunkte um
Constellation Demodulator Ordnet empfangene (gestörte) Signalpunkte dem nächstgelegenen idealen Konstellationspunkt zu und wandelt sie zurück in Bitsequenzen
Constellation Decoder Führt weiterführende Fehlerkorrektur durch (z. B. mit Gray-Codierung), oft unter Nutzung von Soft Decisions

Der Begriff Konstellation bezieht sich auf die exakte Lage eines Symbols in der komplexen Ebene — dargestellt durch eine komplexe Zahl aus Amplitude (Betrag, Abstand vom Ursprung) und Phase (Winkel zur positiven reellen Achse). Beispiel: Der Punkt für die Bitkombination (0,0) bei QPSK liegt oft bei $+1+j$.

2. Technischer Einsatz

Die Wahl der Konstellation (BPSK/QPSK/QAM/benutzerdefiniert) richtet sich nach dem gewünschten Kompromiss zwischen Datenrate und Störfestigkeit: BPSK ist am robustesten gegenüber Rauschen, benötigt aber die meiste Bandbreite pro Bit; höherstufige QAM-Konstellationen übertragen mehr Bits pro Symbol, sind aber empfindlicher gegenüber Rauschen und Phasenfehlern, da die Konstellationspunkte dichter beieinanderliegen.

Constellation Object: Ein Constellation-Objekt wird über folgende Parameter definiert:

  • ID — eindeutige Kennung, mit der das Objekt den ausführenden Blöcken zugewiesen wird
  • Constellation Type — Grundtyp: BPSK, QPSK, SQPSK (Staggered QPSK), 8PSK, 16QAM oder „Variable Constellation" für ein benutzerdefiniertes Mapping

Constellation-Objekt Screenshot aus GNU Radio Companion

Wählt man Variable Constellation, werden zusätzliche Parameter zur exakten Definition sichtbar — u. a. Symbol Map, das die Zuordnung zwischen dezimalem Symbolwert und komplexer Koordinate festlegt:

Beispiel für eine Symbol Map in GNU Radio Companion

Die Bitkombination 10 (dezimal 2) wird hier dem Constellation Point $(1-1j)$ zugeordnet.

3. Parameter und Dimensionierung

Parameter Typ/Einheit Bedeutung Dimensionierungshinweis
Constellation Type Enum BPSK, QPSK, SQPSK, 8PSK, 16QAM, Variable Constellation robustere Übertragung (BPSK) vs. höhere Datenrate (QAM) abwägen gegen erwartetes SNR des Kanals
Soft Decision Points (Precision) Integer (Bits) Feinheit der Wahrscheinlichkeitsangabe pro Bit für Fehlerkorrektur z. B. 8 Bit → $2^8=256$ Abstufungen; höhere Werte verbessern FEC-Leistung, kosten aber Rechenzeit/Speicher
Soft Decisions LUT Enum/Tabelle vorab berechnete Tabelle zur schnellen Soft-Decision-Ermittlung auto überlässt GNU Radio die automatische Berechnung aus den übrigen Parametern
Symbol Map (nur bei Variable Constellation) Liste Zuordnung dezimaler Symbolwert → komplexer Konstellationspunkt muss zu Constellation Points passen und alle Symbole eindeutig abdecken
Rotational Symmetry Grad/Radiant kleinster Drehwinkel, bei dem die Konstellation auf sich selbst abgebildet wird QPSK: 90°; bestimmt, ob Phasenmehrdeutigkeit durch Kanal-Drift auftreten kann und ob differentielle Kodierung sinnvoll ist
Dimensionality Integer Anzahl komplexer Samples pro Symbol bei klassischen 2D-Konstellationen (BPSK/QPSK/QAM) immer 1; >1 nur für mehrdimensionale Signalräume (z. B. MIMO)
Normalization Type Enum Peak Power oder Average Power Normalization Peak Power schützt vor Verstärker-Übersteuerung; Average Power sichert konsistente mittlere Sendeleistung — bei QAM meist Average Power
Noise Power linear simulierte AWGN-Rauschleistung im Kanal 0 für rauschfreie Simulation; höhere Werte zur Prüfung der Störfestigkeit einer Konstellation

Beispiel für eine Soft-Decisions-LUT (QPSK, 3 Bit Precision):

{
    complex( 1, 1):  { (0, 0): 7, (0, 1): 3, (1, 0): 3, (1, 1): 1 },
    complex( 1, -1): { (0, 0): 3, (0, 1): 7, (1, 0): 1, (1, 1): 3 },
    complex(-1, 1):  { (0, 0): 3, (0, 1): 1, (1, 0): 7, (1, 1): 3 },
    complex(-1, -1): { (0, 0): 1, (0, 1): 3, (1, 0): 3, (1, 1): 7 },
}
{
    complex( 1, 1):  { (0, 0): 7, (0, 1): 3, (1, 0): 3, (1, 1): 1 },
    complex( 1, -1): { (0, 0): 3, (0, 1): 7, (1, 0): 1, (1, 1): 3 },
    complex(-1, 1):  { (0, 0): 3, (0, 1): 1, (1, 0): 7, (1, 1): 3 },
    complex(-1, -1): { (0, 0): 1, (0, 1): 3, (1, 0): 3, (1, 1): 7 },
}
Bitkombination Bedeutung
(0,0) : 7 höchste Wahrscheinlichkeit, da $(1,1)$ der ideale Punkt für diese Bits ist
(0,1) : 3 Nachbarpunkt mit nur einem Bit Unterschied — geringere Wahrscheinlichkeit
(1,0) : 3 ebenfalls Nachbarpunkt, gleiche Wahrscheinlichkeit wie (0,1)
(1,1) : 1 niedrigste Wahrscheinlichkeit — diagonal gegenüberliegender, am weitesten entfernter Punkt

Zusätzliche Parameter des Constellation Modulator

Der Constellation Modulator nimmt digitale Symbole (Integer-Werte) entgegen und erzeugt daraus komplexe Samples gemäß dem zugewiesenen Constellation-Objekt.

Constellation Modulator Block in GNU Radio Companion

Parameter Bedeutung Dimensionierungshinweis
Differentially Encoded codiert die Differenz zum vorherigen statt des absoluten Symbols „Yes" macht das System unempfindlich gegenüber konstanter Kanal-Phasenverschiebung (kein Phase Recovery nötig), erkauft sich das aber mit Fehlerfortpflanzung bei Übertragungsfehlern
Samples per Symbol Anzahl Abtastwerte pro Symbol in der Ausgabewellenform 1 ohne Pulsshaping; > 1 wenn ein Pulsshaping-Filter (z. B. Root-Raised-Cosine) nachgeschaltet wird, um ISI zu reduzieren
Excess Bandwidth (Roll-off $\alpha$) Anteil der Bandbreite über die Nyquist-Bandbreite hinaus Gesamtbandbreite $B = R_{\text{sym}} \cdot (1+\alpha)$; kleineres $\alpha$ = höhere spektrale Effizienz, aber komplexere Filter und höhere Timing-Empfindlichkeit
Ein kleinerer Roll-off-Faktor führt zu höherer spektraler Effizienz (mehr Bits pro Hz), erfordert aber komplexere Filter und ist empfindlicher gegenüber Timing-Fehlern.

4. Ein- und Ausgänge

Block Eingang Ausgang
Constellation Modulator Byte (Bitgruppen als Integer) Complex (Konstellationspunkte, ggf. mit Pulsshaping über mehrere Samples/Symbol)
Constellation Demodulator Complex Byte (rekonstruierte Bitgruppen)
Constellation Decoder Complex oder Soft-Decision-Werte Byte bzw. Float (Soft Output)

5. Weitere wichtige Aspekte

Rotationssymmetrie und Mehrdeutigkeit: Phasenverschiebungen im Kanal (z. B. durch Oszillator-Drift) können bei rotationssymmetrischen Konstellationen zu einer Phasenmehrdeutigkeit führen, die der Demodulator auflösen muss. Differentielle Kodierung macht das System unempfindlich gegenüber genau dieser Mehrdeutigkeit, da die Information in der relativen statt der absoluten Phasenänderung steckt — erkauft sich das aber mit Fehlerfortpflanzung: Ein einzelner Übertragungsfehler wirkt sich auf die Decodierung des nachfolgenden Symbols mit aus.

Soft vs. Hard Decisions: Eine Hard Decision entscheidet binär, welchem Konstellationspunkt ein empfangenes Signal am nächsten liegt. Eine Soft Decision liefert stattdessen eine Wahrscheinlichkeitsangabe je Bit und ist die Voraussetzung für leistungsfähige Fehlerkorrekturverfahren (FEC) — sie liefert dem Decoder zusätzliche Information über die Zuverlässigkeit jedes einzelnen Bits, statt nur dessen wahrscheinlichsten Wert.

Verwandte Blöcke: PLL-Blöcke und Costas Loop für die Träger- und Phasensynchronisation, die einer stabilen Constellation-Demodulation vorausgehen muss.