Aufgabe 4.13: Decodierung von LDPC–Codes

Aus LNTwww
Wechseln zu:Navigation, Suche

Gegebene LDPC–Prüfmatrix

Die Aufgabe behandelt die  Iterative Decodierung von LDPC–Codes  gemäß dem  Message–passing Algorithmus.

Ausgangspunkt ist die dargestellte  9×12–Prüfmatrix  H, die zu Beginn der Aufgabe als Tanner–Graph dargestellt werden soll. Dabei ist anzumerken:

  • Die  Variable Nodes  (abgekürzt  VNsVi  bezeichnen die  n  Codewortbits.
  • Die  Check Nodes  (abgekürzt  CNsCj  stehen für die  m  Prüfgleichungen.
  • Eine Verbindung zwischen  Vi  und  Cj  zeigt an, dass das Matrixelement  hj,i  der Prüfmatrix  H  (in Zeile  j, Spalte  i)  gleich  1  ist. Für  hj,i=0  gibt es keine Verbindung zwischen  Vi  und  Cj.
  • Als die  Nachbarn  N(Vi)  von  Vi  bezeichnet man die Menge aller  Check Nodes  Cj, die mit  Vi  im Tanner–Graphen verbunden sind. Entsprechend gehören zu  N(Cj)  alle Variable Nodes  Vi  mit einer Verbindung zu  Cj.


Die Decodierung erfolgt abwechselnd bezüglich

  • den  Variable Nodes   ⇒   Variable Nodes Decoder (VND), und
  • den  Check Nodes   ⇒   Check Nodes Decoder (CND).


Hierauf wird in den Teilaufgaben (5) und (6) Bezug genommen.



Hinweise:



Fragebogen

1

Wie viele  Variable Nodes (IVN)  und  Check Nodes (ICN)  sind zu berücksichtigen?

IVN = 

ICN = 

2

Welche der folgenden  Check Nodes  und  Variable Nodes  sind verbunden?

C4  und  V6.
C5  und  V5.
C6  und  V4.
C6  und  Vi  für  i>9.
Cj  und  Vj1  für  j>6.

3

Welche Aussagen treffen bezüglich der Nachbarn  N(Vi)  und  N(Cj)  zu?

N(V1)={C1, C2, C3, C4},
N(C1)={V1, V2, V3, V4},
N(V9)={C3, C5,C7},
N(C9)={V3, V5, V7}.

4

Welche Aussagen treffen für den  Variable Node Decoder  (VND) zu?

Zu Beginn (Iteration 0) werden die  L–Werte der Knoten  V1,..., Vn  entsprechend den Kanaleingangswerten  yi  vorbelegt.
Für den VND stellt  L(CjVi)  Apriori–Information dar.
Es gibt Analogien zwischen dem  Variable Node Decoder  und der Decodierung eines Single Parity–check Codes.

5

Welche Aussagen treffen für den  Check Node Decoder  (CND) zu?

Der CND liefert am Ende die gewünschten Aposteriori–L–Werte.
Für den CND stellt  L(CjVi)  Apriori–Information dar.
Es gibt Analogien zwischen dem  Check Node Decoder  und der Decodierung eines Single Parity–check Codes.


Musterlösung

(1)  Der Variable Node (VN) Vi steht für das i–te Codewortbit, so dass IVN gleich der Codewortlänge n ist.

  • Aus der Spaltenzahl der H–Matrix erkennt man IVN=n =12_.
  • Für die Menge aller Variable Nodes kann man somit allgemein schreiben: VN={V1,...,Vi,..., Vn}.
  • Der Check Node (CN) Cj steht für die j–Prüfgleichung, und für die Menge aller Check Nodes gilt: CN={C1,..., Cj,..., Cm}.
  • Aus der Zeilenzahl der H–Matrix ergibt sich ICN =m=9_.


(2)  Die Ergebnisse können aus dem nachfolgend skizzierten Tanner–Graphen abgelesen werden.

Tanner–Graph für das vorliegende Beispiel

Richtig sind die Lösungsvorschläge 1, 2 und 5:

  • Das Matrixelement h5,5 (Spalte 5, Zeile 5) ist 1  
    ⇒   rote Verbindung.
  • Das Matrixelement h4,6 (Spalte 4, Zeile 6) ist 1  
    ⇒   blaue Verbindung.
  • Das Matrixelement h6,4 (Spalte 6, Zeile 4) ist 0  
    ⇒   keine Verbindung.
  • Es gilt h6,10=h6,11=1. Aber h6,12=0  
    ⇒   es bestehen nicht alle drei Verbindungen.
  • Es gilt h7,6=h8,7=h9,8=1   ⇒   grüne Verbindungen.


(3)  Es handelt sich um einen regulären LDPC–Code mit

  • wZ(j)=4=wZ für 1j9,
  • wS(i)=3=wS für 1i12.


Die Antworten 2 und 3 sind richtig, wie aus der ersten Zeile bzw. der neunten Spalte der Prüfmatrix H hervorgeht.
Der Tanner–Graph bestätigt diese Ergebnisse:

  • Von C1 gibt es Verbindungen zu V1, V2, V3, und V4.
  • Von V9 gibt es Verbindungen zu C3, C5, und C7.


Die Antworten 1 und 4 können schon allein deshalb nicht richtig sein, da

  • die Nachbarschaft N(Vi) eines jeden Variable Nodes Vi genau wS=3 Elemente beinhaltet, und
  • die Nachbarschaft N(Cj) eines jeden Check Nodes Cj genau wZ=4 Elemente.


(4)  Richtig sind die Lösungsvorschläge 1 und 2, wie aus der entsprechenden Theorieseite hervorgeht:

  • Zu Beginn der Decodierung  (sozusagen bei der Iteration I=0)  werden die L–Werte der Variable Nodes  ⇒  L(Vi) mit den Kanaleingangswerten vorbelegt.
  • Später  (ab der Iteration I=1)  wird im VND das vom CND übermittelte Log–Likelihood–Verhältnis L(CjVi) als Apriori–Information berücksichtigt.
  • Die Antwort 3 ist falsch. Richtig wäre vielmehr: Es gibt Analogien zwischen dem VND–Algorithmus und der Decodierung eines Repetition Codes (Wiederholungscodes).


(5)  Richtig ist nur der Lösungsvorschlag 3, weil

  • die endgültigen Aposteriori–L–Werte vom VND abgeleitet werden, nicht vom CND,
  • der L–Wert L(CjVi) für den CND extrinsische Information darstellt, und
  • es tatsächlich Analogien zwischen dem CND–Algorithmus und der SPC–Decodierung gibt.