Aufgabe 3.11: Viterbi–Pfadsuche
Ein Ergebnis von Aufgabe 3.10 war nebenstehende Trellis–Auswertung hinsichtlich der Metriken Λi(Sμ). Zu allen Decodierschritten i wurden die (im Allgemeinen) 2m=4 Metriken bestimmt, wobei für jeden Knoten der größere von zwei Vergleichswerten ausgewählt wurde. Der Zweig mit dem niedrigeren Wert wurde verworfen. Man erkennt verworfene Zweige in der Grafik an punktierten Linien.
Ansonsten gelten die gleichen Voraussetzungen wie für die Aufgabe 3.10. Zum Beispiel kennzeichnet auch in nebenstehender Grafik ein roter Pfeil das Informationsbit ui=0 und ein blauer Pfeil steht für ui=1.
In der vorliegenden Aufgabe betrachten wir den zweiten und wichtigen Teil des Viterbi–Algorithmuses, nämlich die Suche nach den „überlebenden” Pfaden Φi(Sμ). Diese befinden sich zum Zeitpunkt i im Zustand Sμ mit μ∈1,2,3,4. Die Suche organisiert man am besten in Rückwärtsrichtung (also in der Grafik von unten nach oben).
Zum Endzeitpunkt (im Beispiel i=7) gibt es aufgrund der Terminierung nur einen überlebenden Pfad Φ7(S0). Aus diesem lässt sich extrahieren:
- die vom Decodierer ausgewählte Codesequenz z_ ⇒ größtmögliche Wahrscheinlichkeit Pr(z_=x_),
- die dazugehörige Informationssequenz v_ mit der größtmöglichen Wahrscheinlichkeit Pr(v_=u_).
Eine Entscheidung zu einem früheren Zeitpunkt, zum Beispiel bei i=5, erfüllt nicht immer das Maximum–Likelihood–Kriterium. Hier gibt es vier überlebende Pfade Φ5(S0), ..., Φ5(S3), die zur Zeit i=5 in den Zuständen S0, ..., S3 enden.
- Einer dieser vier Pfade ist mit Sicherheit Teil des Maximum–Likelihood–Pfades, der für i→∞ (bei Terminierung deutlich früher, hier bei i=7) der bestmögliche Pfad ist.
- Soll aber schon zum Zeitpunkt i=5 ein Zwangsentscheid getroffen werden, so entscheidet man sich meist für den Pfad Φ5(Sμ) mit der zu diesem Zeitpunkt größten Metrik Λ5(Sμ).
Hinweise:
- Die Aufgabe gehört zum Kapitel Decodierung von Faltungscodes.
- Bezug genommen wird insbesondere auf die Seite Auswerten des Trellis im fehlerfreien Fall –Pfadsuche.
Fragebogen
Musterlösung
- Eindeutig findet man den überlebenden Pfad durch Rückwärtssuche, also vom Knoten Λ7(S0) zum Knoten Λ0(S0).
- Anhand der an den Übergängen angegebenen Codesequenzen (00,01,10 oder 11) erhält man in Vorwärtsrichtung das Ergebnis gemäß Vorschlag 2 ⇒ Φ7(S0):
- z_=(00,11,10,00,01,01,11).
- Entlang der anderen Pfade gelangt man nicht bis zum Endknoten Λ7(S0).
(2) Durch Vergleich der in der Teilaufgabe (1) ausgewählten Codesequenz z_ mit der Empfangssequenz
- y_=(01,11,00,01,01,01,11)
erkennt man drei Bitfehler an den Positionen 2, 5 und 8.
- Wurde eine Codesequenz x_≠z_ gesendet, so können es natürlich mehr sein.
- Aufgrund des Endwertes Λ7(S0)=8 bzw. Γ7(S0)=3 – siehe Aufgabe 3.10 – kann man aber davon ausgehen, dass eine richtige Entscheidung ⇒ z_=x_ getroffen wurde.
(3) Richtig ist der Lösungsvorschlag 1:
- Anhand der Farben des überlebenden Pfades – rot steht für ui=0 und blau für ui=1 – erkennt man die Richtigkeit von Lösungsvorschlag 1: rot – blau – rot – blau – blau – rot – rot.
- Es ist anzumerken, dass die eigentliche Informationssequenz u_ nur die Länge L=5 aufweist.
- Erst durch die Terminierung kommt man zur Gesamtlänge L′=L+m=7.
(4) Zur Zeit i=6 gibt es noch zwei überlebende Pfade. Eine Entscheidung könnte man zwangsweise anhand der größeren Metrik treffen. Wegen Λ6(S0)=Λ6(S2)=6 ist dies aber in unserem Beispiel nicht möglich ⇒ Nein.
(5) Die Grafik zeigt, dass alle Lösungsvorschläge richtig sind. Die Pfade sind mit Φ5(S0), ... , Φ5(S3) bezeichnet.
(6) Die Zwangsentscheidung zum Zeitpunkt i=5 würde den Pfad mit der größten Metrik Λ5(Sμ) auswählen, also den Pfad Φ5(S2) entsprechend Lösungsvorschlag 3.
(7) Aufgrund unserer Lösung zur Teilaufgabe (1) wäre der Pfad Φ5(S3) gemäß Lösungsvorschlag 4 die bessere Wahl gewesen.
- Dieser ist Teil des Pfades Φ7(S0).
- Zum Zeitpunkt i=5 spricht aber noch nichts für diese Wahl.
- Der (letztlich richtige) Pfad wird erst durch die beiden Terminierungsbit herausgehoben.