Soft–in Soft–out Decoder
Hard Decision vs. Soft Decision (1)
Zur Hinleitung auf die Thematik dieses vierten und letzten Kapitels und zur Motivation betrachten wir das folgende Nachrichtenübertragungssystem mit Codierung.
Nachfolgend werden alle Symbole in bipolarer Darstellung angegeben: „0” → „+1” und „1” → „–1”.
- Die Symbolfolge u = (u1, u2) wird der Coderfolge x = (x1, x2, x3) = (u1, u2, p) zugeordnet, wobei für das Paritybit p = u1 ⊕ u2 gilt ⇒ Single Parity–check Code ⇒ SPC (3, 2, 2).
- Der AWGN–Kanal verändert die Binärsymbole xi ∈ {+1, –1} zu reellwertigen Ausgangswerten yi, z.B. im Block 4 der unteren Tabelle: x1 = +1 ⇒ y1 = +0.9 und x3 = –1 ⇒ y3 = +0.1.
- Die Decodierung geschieht gemäß dem Kriterium Maximum Likelihood (block–wise ML), wobei zwischen Hard Decision (ML–HD) und Soft Decision (ML–SD) zu unterscheiden ist.
- Das obige Blockschaltbild in seiner Gesamtheit entspricht ML–HD. Hier werden zur Detektion nur die Vorzeichen der AWGN–Ausgangswerte entsprechend yHD, i = sign[ySD, i] ausgewertet.
- Bei Soft Decision (ML–SD) verzichtet man auf den schraffierten Block in obigem Blockschaltbild und wertet direkt die wertkontinuierlichen Eingangsgrößen ySD, i aus.
Aus der Beispieltabelle erkennt man:
- Hard Decision ⇒ die Symbolfolge υHD ergibt sich aus den hart entschiedenen Kanalwerten yHD (blaue Hinterlegung): Es werden nur die beiden ersten Blöcke fehlerfrei decodiert.
- Soft Decision ⇒ die Symbolfolge υSD ergibt sich aus den „weichen” Kanalausgangswerten ySD (grüne Hinterlegung): Nun wird in diesem Beispiel auch der dritte Block richtig entschieden.
Die Bildbeschreibung wird auf der nächsten Seite fortgesetzt.
Hard Decision vs. Soft Decision (2)
Für alle Spalten der folgenden Tabelle wird vorausgesetzt:
- der Nachrichtenblock u = (0, 1), bipolar darstellbar als (+1, –1),
- der SPC (3, 2)–codierte Block x = (0, 1, 1) bzw. in Bipolardarstellung (+1, –1, –1).
Die vier Blöcke unterscheiden sich also nur durch unterschiedliche AWGN–Realisierungen.
Die Tabelle ist wie folgt zu interpretieren:
- Bei idealem Kanal entsprechend Block 1 ⇒ x = ySD = yHD gibt es keinen Unterschied zwischen der (blauen) herkömmlichen ML–HD –Variante und der (grünen) ML–SD –Variante.
- Der Block 2 demonstriert geringe Signalverfälschungen. Wegen yHD = x (das heißt, dass der Kanal die Vorzeichen nicht verfälscht) liefert auch ML–HD das richtige Ergebnis υHD = u.
- Dagegen gilt im dritten Block yHD ≠ x und es gibt auch keine SPC (3, 2)–Zuordnung u ⇒ yHD. Der ML–Decoder kann hier nur durch die Ausgabe υHD = (E, E) vermelden, dass er bei der Decodierung dieses Blocks gescheitert ist. „E” steht hierbei für Erasure (deutsch: Auslöschung).
- Auch der Soft Decision Decoder erkennt, dass eine Decodierung anhand der Vorzeichen nicht funktioniert. Anhand der ySD–Werte erkennt er aber, dass mit großer Wahrscheinlichkeit das zweite Bit verfälscht wurde und entscheidet sich für die richtige Symbolfolge υSD = (+1, –1) = u.
- Im vierten Block werden durch den AWGN–Kanal sowohl die Vorzeichen von Bit 2 als auch von Bit 3 verändert, was zum Ergebnis υHD = (+1, +1) ≠ u (+1, –1) führt ⇒ ein Blockfehler und gleichzeitig ein Bitfehler. Auch der Soft Decision Decoder liefert hier das gleiche falsche Ergebnis.
Die Decodiervariante ML–SD bietet gegenüber ML–HD zudem den Vorteil, dass man relativ einfach jedes Decodierergebnis mit einem Zuverlässigkeitswert versehen kann (in obiger Tabelle ist dieser allerdings nicht angegeben). Dieser Zuverlässigkeitswert
- hätte bei Block 1 seinen Maximalwert,
- wäre bei Block 2 deutlich kleiner,
- läge bei Block 3 und 4 nahe bei 0.