Exercise 4.3: Iterative Decoding at the BSC

From LNTwww
Revision as of 09:34, 5 July 2019 by Guenter (talk | contribs)

BSC–Modell und mögliche Empfangswerte

Wir betrachten in dieser Aufgabe zwei Codes:

x_=((0,0,0),(0,1,1),(1,0,1),(1,1,0)),
x_=((0,0,0),(1,1,1)).


Der Kanal wird auf Bitebene durch das  BSC–Modell  beschrieben. Entsprechend der Grafik gilt dabei:

Pr(yixi) = ε=0.269,
Pr(yi=xi) = 1ε=0.731.

Hierbei bezeichnet  ε  die Verfälschungswahrscheinlichkeit des BSC–Modells.

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 meistens 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 betrachteten Codes dem Konzept  Hard Decision Maximum Likelihood Detection  (HD–ML) folgt
    (Softwerte liegen beim BSC nicht vor),
  • die symbolweise  Soft–in Soft–out Decodierung  (SISO) entsprechend dieses Abschnitts.






Hinweise:

Symbolweise Soft–in Soft–out_Decodierung, sowie
Binary Symmetric Channel.
  • Das vom Decoder ausgewählte Codewort wird in den Fragen mit  z_  bezeichnet.



Fragebogen

1

Welche Aussagen gelten für die Decodierung des  SPC (3, 2, 2)?

Die HD–Syndromdecodierung liefert das Ergebnis  z_=(0,1,0).
Die HD–Syndromdecodierung liefert das Ergebnis  z_=(0,0,0).
Die HD–Syndromdecodierung versagt hier.

2

Welche Aussagen gelten für den   RC (3, 1, 3)?

Die HD–Syndromdecodierung liefert das Ergebnis  z_=(0,1,0).
Die HD–Syndromdecodierung liefert das Ergebnis  z_=(0,0,0).
Die HD–Syndromdecodierung versagt hier.

3

Wie sicher ist diese Entscheidung, wenn man als Sicherheit  S  den Quotienten der Wahrscheinlichkeiten für eine richtige bzw. falsche Entscheidung definiert?
Setzen Sie die Verfälschungswahrscheinlichkeit des BSC–Modells zu  ε=26.9%.

S = 

ln(S) = 

4

Wie lauten die intrinsischen  L–Werte für die iterative symbolweise Decodierung des  RC (3, 1)–Empfangswortes  y_2=(0,1,0)?

LK(1) = 

LK(2) = 

LK(3) = 

5

Welche Aussagen sind für die Decodierung des Empfangswortes  y_2=(0,1,0)  zutreffend? Gehen Sie weiterhin vom  RC (3, 1, 3) aus.

Ab der ersten Iteration sind alle Vorzeichen von  LAPP(i)  positiv.
Bereits nach der zweiten Iteration ist  Pr(x_0|y_2)  größer als  99%.
Mit jeder Iteration werden die Beträge  LAPP(i)  größer.

6

Welche Aussagen sind für die Decodierung des Empfangswortes  y_6=(1,1,0)  zutreffend, wenn  x_0=(0,0,0)  gesendet wurde?

Der iterative Decoder entscheidet richtig.
Der iterative Decoder entscheidet falsch.
Die „Zuverlässigkeit” für „y_6x_0” steigt mit wachsendem  I.


Musterlösung

(1)  Richtig ist der Lösungsvorschlag 3:

  • Das Empfangswort y_2=(0,1,0) ist kein gültiges Codewort des Single Parity–check Codes SPC (3, 2). Somit ist die erste Aussage falsch.
  • Da der SPC (3, 2) zudem nur die minimale Distanz dmin=2 aufweist, kann auch kein Fehler korrigiert werden.


(2)  Richtig ist der Lösungsvorschlag 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=(dmin1)/2=1 Fehler korrigiert werden kann.
  • Neben y_0=(0,0,0) werden auch y_1=(0,0,1), y_2=(0,1,0) und y_4=(1,0,0) dem Decodierergebnis x_0=(0,0,0) zugeordnet.


(3)  Entsprechend dem BSC–Modell gilt für die bedingte Wahrscheinlichkeit, dass y_2=(0,1,0) empfangen wird, unter der Voraussetzung, dass x_0=(0,0,0) gesendet wurde:

Pr(y_=y_2|x_=x_0)=(1ε)2ε.

Der erste Term (1ε)2 gibt dabei die Wahrscheinlichkeit dafür an, dass das erste und das dritte Bit richtig übertragen wurden und ε berücksichtigt die Verfälschungswahrscheinlichkeit für das zweite Bit.

Entsprechend gilt für das zweite mögliche Codewort x_1=(1,1,1):

Pr(y_=y_2|x_=x_1)=ε2(1ε).

Nach dem Satz von Bayes gilt dann für die Rückschlusswahrscheinlichkeiten:

Pr(x_=x_0|y_=y_2) = Pr(y_=y_2|x_=x_0)Pr(x_=x_0)Pr(y_=y_2),
Pr(x_=x_1|y_=y_2) = Pr(y_=y_2|x_=x_1)Pr(x_=x_1)Pr(y_=y_2)
S=Pr(richtigeEntscheidung)Pr(falscheEntscheidung)=(1ε)2εε2(1ε)=(1ε)ε.

Mit ε=0.269 erhält man folgende Zahlenwerte:

S=0.731/0.269=2.717_ln(S)=1_.


(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 |LK(i)|=ln(1ϵ)/ϵ=1 für alle i. Also:

LK_(1)=+1_,LK_(2)=1_,LK_(3)=+1_.


Iterative Decodierung von (+1,1,+1)

(5)  Die nebenstehende Tabelle verdeutlicht die iterative symbolweise Decodierung ausgehend von y_2=(0,1,0).
Diese Ergebnisse lassen sich wie folgt interpretieren:

  • Die Vorbelegung (Iteration I=0) geschieht entsprechend L_APP=L_K. Eine harte Entscheidung  ⇒  „signL_APP(i)” würde zum Decodierergebnis (0,1,0) führen. Die Zuverlässigkeit dieses offensichtlich falschen Ergebnisses wird mit |Σ|=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 LAPP(i)=+1. Eine harte Entscheidung würde hier das (voraussichtlich) richtige Ergebnis x_APP=(0,0,0) liefern. Die Wahrscheinlichkeit, dass dieses Ergebnis richtig ist, wird durch |ΣAPP|=3 quantifiziert:
lnPr(x_=x_0|y_=y_2)1Pr(x_=x_0|y_=y_2)=3Pr(x_=x_0|y_=y_2)1Pr(x_=x_0|y_=y_2)=e320
Pr(x_=x_0|y_=y_2)=20/2195.39%.
  • 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:
Pr(x_=x_0|y_=y_2)1Pr(x_=x_0|y_=y_2)=e9Pr(x_=x_0|y_=y_2)=e9/(e9+1)99.99%.
  • Mit jeder weiteren Iteration nimmt der Zuverlässigkeitswert und damit die Wahrscheinlichkeit Pr(x_0|y_2) drastisch zu  ⇒  Alle Lösungsvorschläge sind richtig.


Iterative Decodierung von (1,1,+1)

(6)  Richtig sind die Lösungsvorschläge 2 und 3:

  • Für den Empfangsvektor y_6=(1,1,0) gilt die zweite Tabelle.
  • Der Decoder entscheidet sich nun für die Folge x_1=(1,1,1).
  • Der Fall „y_3=(1,1,0) empfangen unter der Voraussetzung x_1=(1,1,1) gesendet” würde genau der in der letzten Teilaufgabe betrachteten Konstellation „y_2=(1,0,1) empfangen und x_0=(0,0,0) gesendet” entsprechen.
  • Da aber 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.