Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Difference between revisions of "Aufgaben:Exercise 4.13: Decoding LDPC Codes"

From LNTwww
m (Textersetzung - „* Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.“ durch „ “)
Line 24: Line 24:
 
* Die Aufgabe gehört zum Themengebiet des Kapitels [[Kanalcodierung/Grundlegendes_zu_den_Low%E2%80%93density_Parity%E2%80%93check_Codes| Grundlegendes zu den Low–density Parity–check Codes]].
 
* Die Aufgabe gehört zum Themengebiet des Kapitels [[Kanalcodierung/Grundlegendes_zu_den_Low%E2%80%93density_Parity%E2%80%93check_Codes| Grundlegendes zu den Low–density Parity–check Codes]].
 
*Bezug genommen wird insbesondere auf die Seite [[Kanalcodierung/Grundlegendes_zu_den_Low–density_Parity–check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|Iterative Decodierung von LDPC–Codes]].  
 
*Bezug genommen wird insbesondere auf die Seite [[Kanalcodierung/Grundlegendes_zu_den_Low–density_Parity–check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|Iterative Decodierung von LDPC–Codes]].  
* Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
+
  
  

Revision as of 13:41, 29 May 2018

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 VNs) Vi bezeichnen die n Codewortbits.
  • Die Check Nodes (abgekürzt CNs) Cj 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 VND 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 CND 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,11=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) entsprechend 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,
  • die 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.