Exercise 3.09Z: Viterbi Algorithm again
Die Grafik zeigt das Trellisdiagramm das Faltungscodes entsprechend Aufgabe A3.6, gekennzeichnet durch folgende Größen:
- Rate 1/2 ⇒ k=1, n=2,
- Gedächtnis m=1,
- Übertragungsfunktionsmatrix G(D)=(1, 1+D),
- Länge der Informationssequenz: L=4,
- Sequenzlänge inklusive Terminierung: L′=L+m=5.
Anhand dieser Darstellung soll die Viterbi–Decodierung schrittweise nachvollzogen werde, wobei von der folgenden Empfangssequenz auszugehen ist: y_=(11,01,01,11,01).
In das Trellis eingezeichnet sind:
- Der Initialwert Γ0(S0) für den Viterbi–Algorithmus wird stets zu 0 gewählt.
- Die beiden Fehlergrößen für den ersten Decodierschritt (i=1) erhält man mit y_1=(11) wie folgt:
- Γ1(S0) = Γ0(S0)+dH((00),(11))=2,
- Γ1(S1) = Γ0(S0)+dH((11),(11))=0.
- Die Fehlergrößen zum Schritt i=2 ⇒ y_2=(01) ergeben sich durch folgende Vergleiche:
- Γ2(S0) = min[Γ1(S0)+dH((00),(01)),Γ1(S1)+dH((01),(01))]=
- = min[2+1,0+0]=0,
- Γ2(S1) = min[Γ1(S0)+dH((11),(01)),Γ1(S1)+dH((10),(01))]=
- = min[2+1,0+2]=2.
In gleicher Weise sollen Sie
- die Fehlergrößen zu den Zeitpunkten i=3, i=4 und i=5 (Terminierung) berechnen, und
- die jeweils ungünstigeren Wege zu einem Knoten Γi(Sμ) eliminieren. In der Grafik ist dies für i=2 durch punktierte Linien angedeutet.
Anschließend ist der durchgehende Pfad von Γ0(S0) bis Γ5(S0) zu finden, wobei die Rückwärtsrichtung zu empfehlen ist. Verfolgt man den gefundenen Pfad in Vorwärtsrichtung, so erkennt man
- die wahrscheinlichste Codesequenz z_ (im Idealfall gleich x_) an den Beschriftungen,
- die wahscheinlichste Informationssequenz υ_ (im Idealfall gleich u_) an den Farben.
Hinweise:
- Die Aufgabe gehört zum Kapitel Kapitel 3.4.
- Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
Fragebogen
Musterlösung
- Γ3(S0) = min[0+dH((00),(01)),2+dH((01),(01))]
- = min[0+1,2+0]=1_,
- Γ3(S1) = min[0+dH((11),(01)),2+dH((10),(01))]
- = min[0+1,2+2]=1_.
Eliminiert werden also die beiden Teilpfade, die zum Zeitpunkt i=2 vom Zustand S1 ausgehen ⇒ Punktierung in der Grafik.
(2) Analog zur Teilaufgabe (1) erhält man mit y4=(11):
- Γ4(S0) = min[1+dH((00),(11)),1+dH((01),(11))]
- = min[1+2,1+1]=2_,
- Γ4(S1) = min[1+dH((11),(11)),1+dH((10),(11))]
- = min[1+0,1+1]=1_
⇒ Eliminierung der beiden Teilpfade S0→S0 und S1→S1 im Decodierschritt i=4.
- Γ5(S0) = min[2+dH((00),(01)),1+dH((01),(01))]
- = min[2+1,1+0]=1_.
Zu eliminieren ist hier der Teilpfad S0→S0.
(4) Die Rückwärtssuche des durchgehenden Pfades von Γ5(S0) nach Γ0(S0) liefert S0←S1←S0←S0←S1←S0. In Vorwärtsrichtung ergibt dies den Pfad S0→S1→S0→S0→S1→S0 und die damit die
- die wahrscheinlichste Codesequenz z_=(11,01,00,11,01),
- die wahrscheinlichste Informationssequenz υ_=(1,0,0,1,0).
Richtig sind also die Lösungsvorschläge 1 und 3. Ein Vergleich mit dem vorgegebenen Empfangsvektor y_=(11,01,01,11,01) zeigt, dass das sechste Bit bei der Übertragung verfälscht wurde.
(5) Ohne Terminierung ⇒ endgültige Entscheidung bei i=4 hätte es zwei durchgehende Pfade gegeben:
- von S0→S1→S0→S1→S0 (gelb eingezeichnet),
- von S0→S1→S0→S0→S1 (den letztendlich richtigen),
Die Zwangsentscheidung zum Zeitpunkt i=4 hätte hier wegen Γ4(S1)<Γ4(S0) zum zweiten Pfad und damit zum Ergebnis υ_=(1,0,0,1) geführt. Also zur gleichen Entscheidung wie in der Teilaufgabe (4) mit Terminierungsbit. Es gibt aber viele Konstellationen, bei denen erst das Terminierungsbit die richtige und sichere Entscheidung ermöglicht.