Difference between revisions of "Aufgaben:Exercise 4.3: Iterative Decoding at the BSC"
Line 111: | Line 111: | ||
'''(4)''' Das Vorzeichen des Kanal–L–Wertes LK(i) ist positiv, falls yi=0, und negativ für yi=1. Der Betrag gibt die Zuverlässigkeit von yi an. Beim BSC–Modell gilt |L_{\rm K}(i)| = \ln {(1 \, – \epsilon)/\epsilon} = 1 für alle i. Also: | '''(4)''' Das Vorzeichen des Kanal–L–Wertes LK(i) ist positiv, falls yi=0, und negativ für yi=1. Der Betrag gibt die Zuverlässigkeit von yi an. Beim BSC–Modell gilt |L_{\rm K}(i)| = \ln {(1 \, – \epsilon)/\epsilon} = 1 für alle i. Also: | ||
− | :$$\underline {L_ | + | :$$\underline {L_{\rm K}}(1)\hspace{0.15cm} \underline {= +1}\hspace{0.05cm},\hspace{0.5cm} |
− | \underline {L_ | + | \underline {L_{\rm K}}(2)\hspace{0.15cm} \underline {= -1}\hspace{0.05cm},\hspace{0.5cm} |
− | \underline {L_ | + | \underline {L_{\rm K}}(3)\hspace{0.15cm} \underline {= +1}\hspace{0.05cm}.$$ |
Revision as of 18:22, 7 December 2017
Wir betrachten in dieser Aufgabe zwei Codes:
- den Single Parity–Code ⇒ SPC (3, 2, 2):
- x_=((0,0,0),(0,1,1),(1,0,1),(1,1,0)),
- den Wiederholungscode ⇒ RC (3, 1, 3):
- x_=((0,0,0),(1,1,1)).
Der Kanal wird auf Bitebene durch das BSC–Modell beschrieben. Entsprechend der Grafik gilt dabei:
- Pr(yi≠xi) = ε=0.269,
- Pr(yi=xi) = 1−ε=0.731.
Hierbei bezeichnet ϵ die Verfälschungswahrscheinlichkeit.
Bis auf die letzte Teilaufgabe wird stets von folgendem Empfangswert ausgegangen:
- y_=(0,1,0)=y_2.
Die hier gewählte Indizierung aller möglichen Empfangsvektoren kann der Grafik entnommen werden. Der meist betrachtete Vektor y_2 ist hierbei rot hervorgehoben. Für die Teilaufgabe (6) gilt dann:
- y_=(1,1,0)=y_6.
Zur Decodierung sollen in der Aufgabe untersucht werden:
- die Syndromdecodierung, die bei den hier betrachteten Codes als Hard Decision Maximum Likelihood Detection (HD–ML) vornimmt. Hinweis: Softwerte liegen beim BSC nicht vor.
- die symbolweise Soft–in Soft–out Decodierung (SISO) entsprechend dieses Abschnitts.
Hinweise:
- Die Aufgabe bezieht sich auf das Kapitel Soft–in Soft–out Decoder.
- Das vom Decoder ausgewählte Codewort wird in den Fragen mit z_ bezeichnet.
- Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
Fragebogen
Musterlösung
Da der SPC (3, 2) zudem nur die minimale Distanz dmin=2 aufweist, kann auch kein Fehler korrigiert werden. Richtig ist somit der Lösungsvorschlag 3.
(2) Die möglichen Codeworte beim RP (3, 1) sind x_0=(0,0,0) und x_1=(1,1,1). Die minimale Distanz dieses Codes beträgt dmin=3, so dass t = (d_{\rm min} \, –1)/2 = 1 Fehler korrigiert werden kann. Neben \underline{y}_0 = (0, 0, 0) werden auch die Empfangsworte \underline{y}_1 = (0, 0, 1), \ \underline{y}_2 = (0, 1, 0) und \underline{y}_4 = (1, 0, 0) dem Decodierergebnis \underline{x}_0 = (0, 0, 0) zugeordnet ⇒ Lösungsvorschlag 2.
(3) Entsprechend dem BSC–Modell gilt für die bedingte Wahrscheinlichkeit, dass \underline{y}_2 = (0, 1, 0) empfangen wird, unter der Voraussetzung, dass \underline{x}_0 = (0, 0, 0) gesendet wurde:
- {\rm Pr}(\underline{y} = \underline{y}_2 \hspace{0.1cm}| \hspace{0.1cm}\underline{x} = \underline{x}_0 ) = (1-\varepsilon)^2 \cdot \varepsilon\hspace{0.05cm}.
Der erste Term (1 \, –\epsilon)^2 gibt dabei die Wahrscheinlichkeit dafür an, dass das erste und das dritte Bit richtig übertragen wurden und \epsilon berücksichtigt die Verfälschungswahrscheinlichkeit für das zweite Bit.
Entsprechend gilt für das zweite mögliche Codewort \underline{x}_1 = (1, 1, 1):
- {\rm Pr}(\underline{y} = \underline{y}_2 \hspace{0.1cm}| \hspace{0.1cm}\underline{x} = \underline{x}_1 ) = \varepsilon^2 \cdot (1-\varepsilon) \hspace{0.05cm}.
Nach dem Satz von Bayes gilt dann für die Rückschlusswahrscheinlichkeiten:
- {\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y} = \underline{y}_2 ) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Pr}(\underline{y} = \underline{y}_2 \hspace{0.1cm}| \hspace{0.1cm}\underline{x} = \underline{x}_0 ) \cdot \frac{{\rm Pr}(\underline{x} = \underline{x}_0)} {{\rm Pr}(\underline{y} = \underline{y}_2)} \hspace{0.05cm},
- {\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_1 \hspace{0.1cm}| \hspace{0.1cm}\underline{y} = \underline{y}_2 ) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm Pr}(\underline{y} = \underline{y}_2 \hspace{0.1cm}| \hspace{0.1cm}\underline{x} = \underline{x}_1 ) \cdot \frac{{\rm Pr}(\underline{x} = \underline{x}_1)} {{\rm Pr}(\underline{y} = \underline{y}_2)}
- \Rightarrow \hspace{0.3cm} S = \frac{{\rm Pr(richtige \hspace{0.15cm}Entscheidung)}} {{\rm Pr(falsche \hspace{0.15cm}Entscheidung) }} = \frac{(1-\varepsilon)^2 \cdot \varepsilon}{\varepsilon^2 \cdot (1-\varepsilon)}= \frac{(1-\varepsilon)}{\varepsilon}\hspace{0.05cm}.
Mit \epsilon = 0.269 erhält man folgende Zahlenwerte:
- S = {0.731}/{0.269}\hspace{0.15cm}\underline {= 2.717}\hspace{0.3cm}\Rightarrow \hspace{0.3cm}{\rm ln}\hspace{0.15cm}(S)\hspace{0.15cm} \underline {= 1}\hspace{0.05cm}.
(4) Das Vorzeichen des Kanal–L–Wertes L_{\rm K}(i) ist positiv, falls y_i = 0, und negativ für y_i = 1. Der Betrag gibt die Zuverlässigkeit von y_i an. Beim BSC–Modell gilt |L_{\rm K}(i)| = \ln {(1 \, – \epsilon)/\epsilon} = 1 für alle i. Also:
- \underline {L_{\rm K}}(1)\hspace{0.15cm} \underline {= +1}\hspace{0.05cm},\hspace{0.5cm} \underline {L_{\rm K}}(2)\hspace{0.15cm} \underline {= -1}\hspace{0.05cm},\hspace{0.5cm} \underline {L_{\rm K}}(3)\hspace{0.15cm} \underline {= +1}\hspace{0.05cm}.
(5) Die erste Tabelle verdeutlicht die iterative symbolweise Decodierung ausgehend von \underline{y}_2 = (0, \, 1, \, 0).
Diese Ergebnisse lassen sich wie folgt interpretieren:
- Die Vorbelegung (Iteration I = 0) geschieht entsprechend \underline{L}_{\rm APP} = \underline{L}_{\rm K}. Eine harte Entscheidung ⇒ „sign \underline{L}_{\rm APP}(i)” würde zum Decodierergebnis (0, \, 1, \, 0) führen. Die Zuverlässigkeit dieses offensichtlich falschen Ergebnisses wird mit |\Sigma_{\rm APP}| = 1 angegeben. Dieser Wert stimmt mit dem in Teilaufgaben (3) berechneten „\ln (S)” überein.
- Nach der ersten Iteration (I = 1) sind alle Aposteriori–L–Werte L_{\rm APP}(i) = +1. Eine harte Entscheidung würde hier das (voraussichtlich) richtige Ergebnis \underline{x}_{\rm APP} = (0, \, 0, \, 0) liefern. Die Wahrscheinlichkeit, dass dieses Ergebnis richtig ist, wird durch |\Sigma_{\rm APP}| = 3 quantifiziert:
- {\rm ln}\hspace{0.25cm}\frac{{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2)}{1-{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2)} = 3 \hspace{0.3cm}\Rightarrow \hspace{0.3cm} \frac{{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2)}{1-{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2)} = {\rm e}^3 \approx 20
- \hspace{0.3cm}\Rightarrow \hspace{0.3cm}{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2) = {20}/{21} {\approx 95.39\%}\hspace{0.05cm}.
- Die zweite Iteration bestätigt das Decodierergebnis der ersten Iteration. Die Zuverlässigkeit wird hier sogar mit „9” beziffert. Dieser Wert kann wie folgt interpretiert werden:
- \frac{{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2)}{1-{\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2)} = {\rm e}^9 \hspace{0.3cm}\Rightarrow \hspace{0.3cm} {\rm Pr}(\hspace{0.1cm}\underline{x} = \underline{x}_0 \hspace{0.1cm}| \hspace{0.1cm}\underline{y}=\underline{y}_2) = {{\rm e}^9}/{({\rm e}^9+1)} \approx 99.99\% \hspace{0.05cm}.
Mit jeder weiteren Iteration nimmt der Zuverlässigkeitswert und damit die Wahrscheinlichkeit {\rm Pr}(\underline{x}_0 | \underline{y}_2) drastisch zu ⇒ Alle Lösungsvorschläge sind richtig.
(6) Für den Empfangsvektor \underline{y}_6 = (1, \, 1, \, 0) gilt folgende Tabelle:
Der Decoder entscheidet sich nun für die Folge \underline{x}_1 = (1, \, 1, \, 1). Der Fall „\underline{y}_3 = (1, \, 1, \, 0) empfangen unter der Voraussetzung \underline{x}_1 = (1, \, 1, \, 1) gesendet” würde genau der in der letzten Teilaufgabe betrachteten Konstellation „\underline{y}_2 = (1, \, 0, \, 1) empfangen und \underline{x}_0 = (0, \, 0, \, 0) gesendet” entsprechen. Da aber \underline{x}_0 = (0, \, 0, \, 0)$ gesendet wurde, gibt es nun zwei Bitfehler mit folgender Konsequenz:
- Der iterative Decoder entscheidet falsch.
- Mit jeder weiteren Iteration wird die falsche Entscheidung als zuverlässiger deklariert.
Richtig sind die Lösungsvorschläge 2 und 3.