Grundlagen

IQ-Signale und Zeigerdarstellung

Wie aus einer rotierenden komplexen Zahl reale Funksignale entstehen.

Eine harmonische Schwingung ist der Ausgangspunkt für das Verständnis komplexer Signale im SDR (Software Defined Radio). Betrachten wir eine klassische sinus- oder cosinusförmige Welle, wird sie durch drei Komponenten definiert:

  1. Amplitude $M$: Der Spitzenwert (Scheitelwert) der Schwingung.
  2. Frequenz $f$: Meist als Kreisfrequenz $\omega = 2\pi f$ ausgedrückt.
  3. Phase $\phi$: Die zeitliche Verschiebung zum Startpunkt.

Betrag und Phase in der komplexen Ebene

Die Eulersche Formel als Brücke

In der analogen Welt messen wir Signale als reine reelle Spannungen über die Zeit. In der digitalen Signalverarbeitung (DSP) nutzen wir jedoch die fundamentale Eulersche Formel, um ein Signal als rotierenden Zeiger im komplexen Raum darzustellen:

$$e^{j\theta} = \cos(\theta) + j \cdot \sin(\theta)$$

Wenn wir diesen Zeiger mit der Kreisfrequenz $\omega$ rotieren lassen, erhalten wir ein komplexes Signal:

$$M \cdot e^{j(\omega t + \phi)} = M \cdot e^{j\phi} \cdot e^{j\omega t}$$

Der Term $M \cdot e^{j\phi}$ beschreibt den Zustand des Signals zum Startzeitpunkt ($t=0$). Und genau hier kommt die IQ-Darstellung ins Spiel: Wir können diesen statischen Zeiger in der komplexen Ebene genau wie jede andere komplexe Zahl in zwei rechtwinklige Komponenten zerlegen:

$$z = I + j \cdot Q$$

  • I (In-Phase): Der Realteil des Signalzeigers ($I = M \cdot \cos(\phi)$).
  • Q (Quadratur): Der Imaginärteil des Signalzeigers ($Q = M \cdot \sin(\phi)$), der um exakt $90^\circ$ phasenverschoben (in Quadratur) zum I-Signal steht.

Eine phasenverschobene Cosinusschwingung lässt sich somit mathematisch elegant ausdrücken als:

$$M \cdot \cos(\omega t + \phi) = I \cdot \cos(\omega t) - Q \cdot \sin(\omega t)$$

Warum machen wir das im SDR?

Durch die Aufteilung eines Signals in einen $I$- und einen $Q$-Wert pro Abtastpunkt (Sample) kann Software mathematisch extrem einfach die aktuelle Amplitude (Magnitude) und die Phase berechnen, ohne den zeitlichen Verlauf abwarten zu müssen. In SDR-Software wie GNU Radio gibt es dafür dedizierte Blöcke (z. B. Complex to Mag), die im Hintergrund genau diese Transformationen berechnen.

Das ist kein rein theoretisches Konstrukt: Der A/D-Wandler eines SDR-Empfängers liefert pro Sample tatsächlich zwei Werte zurück — den ersten für die In-Phase-Komponente $I$, den zweiten für die Quadratur-Komponente $Q$. Jedes Sample, das aus der Hardware kommt, ist damit bereits ein fertiger IQ-Wert.

Amplituden- und Phasenmodulation durch I/Q

Verändert man die Beträge von $I$ und $Q$, verändert sich das resultierende Signal auf unterschiedliche Weise — je nachdem, ob beide Komponenten gleich oder unterschiedlich skaliert werden:

Gleichmäßige Veränderung von $I$ und $Q$ um denselben Faktor $n$ ändert nur die Amplitude des resultierenden Signals, nicht seine Phase. Das Ergebnis ist eine Amplitudenmodulation.

Gleichmäßige Veränderung von I und Q führt zu Amplitudenmodulation

Unterschiedliche Veränderung von $I$ und $Q$ verschiebt dagegen die Phase des resultierenden Signals — das Ergebnis ist eine Phasenmodulation.

Unterschiedliche Veränderung von I und Q führt zu Phasenmodulation

Für eine reine Amplitudenmodulation (AM) wäre die $Q$-Komponente also gar nicht zwingend nötig. Bei komplexeren Modulationsverfahren wie QAM oder QPSK werden $I$ und $Q$ jedoch unabhängig voneinander genutzt, um Informationen zu codieren. Durch die Kombination von Amplituden- und Phasenmodulation lassen sich so zwei Informationen gleichzeitig und orthogonal — also ohne sich gegenseitig zu stören — in einem Signal übertragen.

Constellation- und Vektordarstellung

IQ-Werte lassen sich im sogenannten Constellation-Diagramm darstellen: Für jeden Sample-Zeitpunkt wird der komplexe Wert $I + jQ$ als Punkt in der komplexen Ebene eingezeichnet. Bei digital modulierten Signalen ergeben sich dabei diskrete, durch Rauschen leicht verschmierte Punktwolken an den möglichen Symbolzuständen — bei analogen Signalen wandert der Punkt dagegen kontinuierlich.

Verbindet man die aufeinanderfolgenden Punkte zusätzlich mit Linien, erhält man ein Vektordiagramm, das zusätzlich zeigt, in welcher Reihenfolge die Zustände durchlaufen werden.

Constellation- und Vektordiagramm

Vektordiagramm mit verbundenen Symbolzuständen

Eine ausführlichere Behandlung der zugehörigen GNU-Radio-Blöcke findet sich im Artikel Constellation-Blöcke.