Aufgaben:Aufgabe 3.11: Viterbi–Pfadsuche: Unterschied zwischen den Versionen
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
[[Datei:P_ID2694__KC_A_3_11.png|right|frame|Ausgewertetes Trellisdiagramm]] | [[Datei:P_ID2694__KC_A_3_11.png|right|frame|Ausgewertetes Trellisdiagramm]] | ||
− | Ein Ergebnis von [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe | + | Ein Ergebnis von [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe 3.10]] war nebenstehende Trellis–Auswertung hinsichtlich der Metriken ${\it \Lambda}_i(S_{\mu})$. Zu allen Decodierschritten $i$ wurden die (im Allgemeinen) $2^m = 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 [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe | + | Ansonsten gelten die gleichen Voraussetzungen wie für die [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe 3.10]]. Zum Beispiel kennzeichnet auch in nebenstehender Grafik ein roter Pfeil das Informationsbit $u_i = 0$ und ein blauer Pfeil steht für $u_i = 1$. |
+ | |||
+ | In der vorliegenden Aufgabe betrachten wir den zweiten und wichtigen Teil des Viterbi–Algorithmuses, nämlich die Suche nach den „überlebenden” Pfaden ${\it \Phi}_i(S_{\mu})$. Diese befinden sich zum Zeitpunkt $i$ im Zustand $S_{\mu}$ mit $\mu \in 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 ${\it \Phi}_7(S_0)$. Aus diesem lässt sich extrahieren: | ||
+ | * die vom Decodierer ausgewählte Codesequenz $\underline{z}$ ⇒ größtmögliche Wahrscheinlichkeit ${\rm Pr}(\underline{z} = \underline{x})$, | ||
+ | * die dazugehörige Informationssequenz $\underline{v}$ mit der größtmöglichen Wahrscheinlichkeit ${\rm Pr}(\underline{v} = \underline{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 ${\it \Phi}_5(S_0), \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ {\it \Phi}_5(S_3)$, die zur Zeit $i = 5$ in den Zuständen $S_0, \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ S_3$ 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 ${\it \Phi}_5(S_{\mu})$ mit der zu diesem Zeitpunkt größten Metrik ${\it \Lambda}_5(S_{\mu})$. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
''Hinweise:'' | ''Hinweise:'' | ||
− | * Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Decodierung_von_Faltungscodes| Decodierung von Faltungscodes]]. | + | * Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Decodierung_von_Faltungscodes| Decodierung von Faltungscodes]]. |
− | * | + | *Bezug genommen wird insbesondere auf die Seite [[Kanalcodierung/Decodierung_von_Faltungscodes#Auswerten_des_Trellis_im_fehlerfreien_Fall_.E2.80.93_Pfadsuche|Auswerten des Trellis im fehlerfreien Fall –Pfadsuche]]. |
+ | |||
Zeile 24: | Zeile 31: | ||
===Fragebogen=== | ===Fragebogen=== | ||
<quiz display=simple> | <quiz display=simple> | ||
− | {Für welche Codesequenz $\underline{z}$ fällt die Entscheidung zum Zeitpunkt $i = 7$? | + | {Für welche Codesequenz $\underline{z}$ fällt die Entscheidung zum Zeitpunkt $i = 7$? |
− | |type=" | + | |type="()"} |
- $\underline{z} = (11, \, 10, \, 00, \, 01, \, 01, \, 11, \, 00)$, | - $\underline{z} = (11, \, 10, \, 00, \, 01, \, 01, \, 11, \, 00)$, | ||
+ $\underline{z} = (00, \, 11, \, 10, \, 00, \, 01, \, 01, \, 11)$, | + $\underline{z} = (00, \, 11, \, 10, \, 00, \, 01, \, 01, \, 11)$, | ||
Zeile 34: | Zeile 41: | ||
$N_{\rm Bitfehler} \ = \ ${ 3 3% } | $N_{\rm Bitfehler} \ = \ ${ 3 3% } | ||
− | {Für welche Informationssequenz $\underline{ | + | {Für welche Informationssequenz $\underline{v}$ entscheidet sich der Viterbi–Decoder? |
− | |type=" | + | |type="()"} |
− | + $\underline{ | + | + $\underline{v} = (0, \, 1, \, 0, \, 1, \, 1, \, 0, \, 0)$, |
− | - $\underline{ | + | - $\underline{v} = (1, \, 0, \, 1, \, 1, \, 0, \, 0, \, 0)$, |
− | - $\underline{ | + | - $\underline{v} = (0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0)$. |
− | {Wäre bereits bei $i = 6$ eine endgültige Entscheidung möglich gewesen? | + | {Wäre bereits bei $i = 6$ eine endgültige (und riohtige) Entscheidung möglich gewesen? |
|type="()"} | |type="()"} | ||
- Ja. | - Ja. | ||
+ Nein. | + Nein. | ||
− | {Welche überlebenden Pfade gibt es zum Zeitpunkt $i = 5$? | + | {Welche überlebenden Pfade gibt es zum Zeitpunkt $i = 5$? |
|type="[]"} | |type="[]"} | ||
+ $S_0 → S_0 → S_1 → S_3 → S_2 → S_0$, | + $S_0 → S_0 → S_1 → S_3 → S_2 → S_0$, | ||
Zeile 52: | Zeile 59: | ||
+ $S_0 → S_0 → S_1 → S_2 → S_1 → S_3$. | + $S_0 → S_0 → S_1 → S_2 → S_1 → S_3$. | ||
− | {Für welchen Pfad würde man sich zum Zeitpunkt $i = 5$ entscheiden? | + | {Für welchen Pfad würde man sich zum Zeitpunkt $i = 5$ entscheiden? |
− | |type=" | + | |type="()"} |
- $S_0 → S_0 → S_1 → S_3 → S_2 → S_0$, | - $S_0 → S_0 → S_1 → S_3 → S_2 → S_0$, | ||
- $S_0 → S_0 → S_1 → S_3 → S_2 → S_1$, | - $S_0 → S_0 → S_1 → S_3 → S_2 → S_1$, | ||
Zeile 60: | Zeile 67: | ||
{Welcher der Pfade wäre aber wahrscheinlich der richtige? | {Welcher der Pfade wäre aber wahrscheinlich der richtige? | ||
− | |type=" | + | |type="()"} |
- $S_0 → S_0 → S_1 → S_3 → S_2 → S_0$, | - $S_0 → S_0 → S_1 → S_3 → S_2 → S_0$, | ||
- $S_0 → S_0 → S_1 → S_3 → S_2 → S_1$, | - $S_0 → S_0 → S_1 → S_3 → S_2 → S_1$, | ||
Zeile 69: | Zeile 76: | ||
===Musterlösung=== | ===Musterlösung=== | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | '''(1)''' Eindeutig findet man den überlebenden Pfad durch Rückwärtssuche, also vom Knoten ${\it \Lambda}_7(S_0)$ zum Knoten ${\it \Lambda}_0(S_0)$. Anhand der an den Übergängen angegebenen | + | '''(1)''' Richtig ist der <u>Lösungsvorschlag 2</u>: |
+ | *Eindeutig findet man den überlebenden Pfad durch Rückwärtssuche, also vom Knoten ${\it \Lambda}_7(S_0)$ zum Knoten ${\it \Lambda}_0(S_0)$. | ||
+ | *Anhand der an den Übergängen angegebenen Codesequenzen $(00, \, 01, \, 10$ oder $11)$ erhält man in Vorwärtsrichtung das Ergebnis gemäß <u>Vorschlag 2</u> ⇒ ${\it \Phi}_7(S_0)$: | ||
:$$\underline{z} = \big (00\hspace{0.05cm}, 11\hspace{0.05cm}, 10\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ) \hspace{0.05cm}.$$ | :$$\underline{z} = \big (00\hspace{0.05cm}, 11\hspace{0.05cm}, 10\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ) \hspace{0.05cm}.$$ | ||
− | Entlang der anderen Pfade gelangt man nicht bis zum Endknoten ${\it \Lambda}_7(S_0)$. | + | *Entlang der anderen Pfade gelangt man nicht bis zum Endknoten ${\it \Lambda}_7(S_0)$. |
+ | |||
Zeile 78: | Zeile 88: | ||
:$$\underline{y} = \big (01\hspace{0.05cm}, 11\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big )$$ | :$$\underline{y} = \big (01\hspace{0.05cm}, 11\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big )$$ | ||
− | erkennt man <u>drei Bitfehler</u> an den Positionen 2, 5 und 8. Wurde eine Codesequenz $\underline{x} ≠ \underline{z}$ gesendet, so können es natürlich mehr sein. Aufgrund des Endwertes ${\it \Lambda}_7(S_0) = 8$ bzw. ${\it \Gamma}_7(S_0) = 3$ – siehe [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe | + | erkennt man <u>drei Bitfehler</u> an den Positionen 2, 5 und 8. |
+ | *Wurde eine Codesequenz $\underline{x} ≠ \underline{z}$ gesendet, so können es natürlich mehr sein. | ||
+ | *Aufgrund des Endwertes ${\it \Lambda}_7(S_0) = 8$ bzw. ${\it \Gamma}_7(S_0) = 3$ – siehe [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe 3.10]] – kann man aber davon ausgehen, dass eine richtige Entscheidung ⇒ $\underline{z} = \underline{x}$ getroffen wurde. | ||
− | + | [[Datei:P_ID2697__KC_A_3_11_ML_neu.png|right|frame|Zur Viterbi–Pfadsuche]] | |
+ | '''(3)''' Richtig ist der <u>Lösungsvorschlag 1</u>: | ||
+ | *Anhand der Farben des überlebenden Pfades – rot steht für $u_i = 0$ und blau für $u_i = 1$ – erkennt man die Richtigkeit von <u>Lösungsvorschlag 1</u>: rot – blau – rot – blau – blau – rot – rot. | ||
+ | *Es ist anzumerken, dass die eigentliche Informationssequenz $\underline{u}$ nur die Länge $L = 5$ aufweist. | ||
+ | *Erst durch die Terminierung kommt man zur Gesamtlänge $L' = L + m = 7$. | ||
Zeile 87: | Zeile 103: | ||
− | '''(5)''' Die Grafik zeigt, dass <u>alle Lösungsvorschläge</u> richtig sind. Die Pfade sind mit ${\it \Phi}_5(S_0), | + | '''(5)''' Die Grafik zeigt, dass <u>alle Lösungsvorschläge</u> richtig sind. Die Pfade sind mit ${\it \Phi}_5(S_0)$, ... , ${\it \Phi}_5(S_3)$ bezeichnet. |
Zeile 93: | Zeile 109: | ||
− | '''(7)''' Aufgrund unserer Lösung zur Teilaufgabe (1) wäre der Pfad ${\it \Phi}_5(S_3)$ | + | '''(7)''' Aufgrund unserer Lösung zur Teilaufgabe (1) wäre der Pfad ${\it \Phi}_5(S_3)$ gemäß <u>Lösungsvorschlag 4</u> die bessere Wahl gewesen. |
+ | *Dieser ist Teil des Pfades ${\it \Phi}_7(S_0)$. | ||
+ | *Zum Zeitpunkt $i = 5$ spricht aber noch nichts für diese Wahl. | ||
+ | *Der (letztlich richtige) Pfad wird erst durch die beiden Terminierungsbit herausgehoben. | ||
{{ML-Fuß}} | {{ML-Fuß}} | ||
Aktuelle Version vom 26. Juni 2019, 11:51 Uhr
Ein Ergebnis von Aufgabe 3.10 war nebenstehende Trellis–Auswertung hinsichtlich der Metriken ${\it \Lambda}_i(S_{\mu})$. Zu allen Decodierschritten $i$ wurden die (im Allgemeinen) $2^m = 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 $u_i = 0$ und ein blauer Pfeil steht für $u_i = 1$.
In der vorliegenden Aufgabe betrachten wir den zweiten und wichtigen Teil des Viterbi–Algorithmuses, nämlich die Suche nach den „überlebenden” Pfaden ${\it \Phi}_i(S_{\mu})$. Diese befinden sich zum Zeitpunkt $i$ im Zustand $S_{\mu}$ mit $\mu \in 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 ${\it \Phi}_7(S_0)$. Aus diesem lässt sich extrahieren:
- die vom Decodierer ausgewählte Codesequenz $\underline{z}$ ⇒ größtmögliche Wahrscheinlichkeit ${\rm Pr}(\underline{z} = \underline{x})$,
- die dazugehörige Informationssequenz $\underline{v}$ mit der größtmöglichen Wahrscheinlichkeit ${\rm Pr}(\underline{v} = \underline{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 ${\it \Phi}_5(S_0), \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ {\it \Phi}_5(S_3)$, die zur Zeit $i = 5$ in den Zuständen $S_0, \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ S_3$ 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 ${\it \Phi}_5(S_{\mu})$ mit der zu diesem Zeitpunkt größten Metrik ${\it \Lambda}_5(S_{\mu})$.
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 ${\it \Lambda}_7(S_0)$ zum Knoten ${\it \Lambda}_0(S_0)$.
- Anhand der an den Übergängen angegebenen Codesequenzen $(00, \, 01, \, 10$ oder $11)$ erhält man in Vorwärtsrichtung das Ergebnis gemäß Vorschlag 2 ⇒ ${\it \Phi}_7(S_0)$:
- $$\underline{z} = \big (00\hspace{0.05cm}, 11\hspace{0.05cm}, 10\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ) \hspace{0.05cm}.$$
- Entlang der anderen Pfade gelangt man nicht bis zum Endknoten ${\it \Lambda}_7(S_0)$.
(2) Durch Vergleich der in der Teilaufgabe (1) ausgewählten Codesequenz $\underline{z}$ mit der Empfangssequenz
- $$\underline{y} = \big (01\hspace{0.05cm}, 11\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big )$$
erkennt man drei Bitfehler an den Positionen 2, 5 und 8.
- Wurde eine Codesequenz $\underline{x} ≠ \underline{z}$ gesendet, so können es natürlich mehr sein.
- Aufgrund des Endwertes ${\it \Lambda}_7(S_0) = 8$ bzw. ${\it \Gamma}_7(S_0) = 3$ – siehe Aufgabe 3.10 – kann man aber davon ausgehen, dass eine richtige Entscheidung ⇒ $\underline{z} = \underline{x}$ getroffen wurde.
(3) Richtig ist der Lösungsvorschlag 1:
- Anhand der Farben des überlebenden Pfades – rot steht für $u_i = 0$ und blau für $u_i = 1$ – erkennt man die Richtigkeit von Lösungsvorschlag 1: rot – blau – rot – blau – blau – rot – rot.
- Es ist anzumerken, dass die eigentliche Informationssequenz $\underline{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 ${\it \Lambda}_6(S_0) = {\it \Lambda}_6(S_2) = 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 ${\it \Phi}_5(S_0)$, ... , ${\it \Phi}_5(S_3)$ bezeichnet.
(6) Die Zwangsentscheidung zum Zeitpunkt $i = 5$ würde den Pfad mit der größten Metrik ${\it \Lambda}_5(S_{\mu})$ auswählen, also den Pfad ${\it \Phi}_5(S_2)$ entsprechend Lösungsvorschlag 3.
(7) Aufgrund unserer Lösung zur Teilaufgabe (1) wäre der Pfad ${\it \Phi}_5(S_3)$ gemäß Lösungsvorschlag 4 die bessere Wahl gewesen.
- Dieser ist Teil des Pfades ${\it \Phi}_7(S_0)$.
- Zum Zeitpunkt $i = 5$ spricht aber noch nichts für diese Wahl.
- Der (letztlich richtige) Pfad wird erst durch die beiden Terminierungsbit herausgehoben.