Aufgaben:Aufgabe 4.13: Decodierung von LDPC–Codes: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
K (Textersetzung - „* Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.“ durch „ “)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 2: Zeile 2:
  
 
[[Datei:P_ID3083__KC_A_4_13_v1.png|right|frame|Gegebene LDPC–Prüfmatrix]]
 
[[Datei:P_ID3083__KC_A_4_13_v1.png|right|frame|Gegebene LDPC–Prüfmatrix]]
Die Aufgabe behandelt die [[Kanalcodierung/Grundlegendes_zu_den_Low–density_Parity–check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|Iterative Decodierung von LDPC–Codes]] gemäß dem ''Message–passing Algorithmus''.
+
Die Aufgabe behandelt die  [[Kanalcodierung/Grundlegendes_zu_den_Low–density_Parity–check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|Iterative Decodierung von LDPC–Codes]]  gemäß dem  ''Message–passing Algorithmus''.
  
Ausgangspunkt ist die dargestellte $9 &times 12$–Prüfmatrix $\mathbf{H}$, die zu Beginn der Aufgabe als Tanner–Graph dargestellt werden soll. Dabei ist anzumerken:
+
Ausgangspunkt ist die dargestellte  $9 &times 12$–Prüfmatrix  $\mathbf{H}$, die zu Beginn der Aufgabe als Tanner–Graph dargestellt werden soll. Dabei ist anzumerken:
* Die <i>Variable Nodes</i> (abgekürzt $\rm VNs$) $V_i$ bezeichnen die $n$ Codewortbits.
+
* Die&nbsp; <i>Variable Nodes</i>&nbsp; (abgekürzt&nbsp; $\rm VNs$)&nbsp; $V_i$&nbsp; bezeichnen die&nbsp; $n$&nbsp; Codewortbits.
* Die <i>Check Nodes</i> (abgekürzt $\rm CNs$) $C_j$ stehen für die $m$ Prüfgleichungen.
+
* Die&nbsp; <i>Check Nodes</i>&nbsp; (abgekürzt&nbsp; $\rm CNs$)&nbsp; $C_j$&nbsp; stehen für die&nbsp; $m$&nbsp; Prüfgleichungen.
* Eine Verbindung zwischen $V_i$ und $C_j$ zeigt an, dass das Matrixelement $h_{j,\hspace{0.05cm} i}$ der Prüfmatrix $\mathbf{H}$ (in Zeile $j$, Spalte $i$) gleich $1$ ist. Für $h_{j,\hspace{0.05cm}i} = 0$ gibt es keine Verbindung zwischen $V_i$ und $C_j$.
+
* Eine Verbindung zwischen&nbsp; $V_i$&nbsp; und&nbsp; $C_j$&nbsp; zeigt an, dass das Matrixelement&nbsp; $h_{j,\hspace{0.05cm} i}$&nbsp; der Prüfmatrix&nbsp; $\mathbf{H}$&nbsp; $($in Zeile&nbsp; $j$, Spalte&nbsp; $i)$&nbsp; gleich&nbsp; $1$&nbsp; ist. Für&nbsp; $h_{j,\hspace{0.05cm}i} = 0$&nbsp; gibt es keine Verbindung zwischen&nbsp; $V_i$&nbsp; und&nbsp; $C_j$.
* Als die <i>Nachbarn</i> $N(V_i)$ von $V_i$ bezeichnet man die Menge aller <i>Check Nodes</i> $C_j$, die mit $V_i$ im Tanner&ndash;Graphen verbunden sind. Entsprechend gehören zu $N(C_j)$ alle <i>Variable Nodes</i> $V_i$ mit einer Verbindung zu $C_j$.
+
* Als die&nbsp; <i>Nachbarn</i>&nbsp; $N(V_i)$&nbsp; von&nbsp; $V_i$&nbsp; bezeichnet man die Menge aller&nbsp; <i>Check Nodes</i>&nbsp; $C_j$, die mit&nbsp; $V_i$&nbsp; im Tanner&ndash;Graphen verbunden sind. Entsprechend gehören zu&nbsp; $N(C_j)$&nbsp; alle <i>Variable Nodes</i>&nbsp; $V_i$&nbsp; mit einer Verbindung zu&nbsp; $C_j$.
  
  
 
Die Decodierung erfolgt abwechselnd bezüglich
 
Die Decodierung erfolgt abwechselnd bezüglich
* den <i>Variable Nodes</i> &nbsp; &#8658; &nbsp; <i>Variable Nodes Decoder</i> (VND), und
+
* den&nbsp; <i>Variable Nodes</i> &nbsp; &#8658; &nbsp; <i>Variable Nodes Decoder</i> (VND), und
* den <i>Check Nodes</i> &nbsp; &#8658; &nbsp; <i>Check Nodes Decoder</i> (CND).
+
* den&nbsp; <i>Check Nodes</i> &nbsp; &#8658; &nbsp; <i>Check Nodes Decoder</i> (CND).
  
  
Hierauf wird in den Teilaufgaben (5) und (6) Bezug genommen.
+
Hierauf wird in den Teilaufgaben '''(5)''' und '''(6)''' Bezug genommen.
  
  
Zeile 22: Zeile 22:
  
 
''Hinweise:''
 
''Hinweise:''
* 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&ndash;density Parity&ndash;check Codes]].
+
* Die Aufgabe gehört zum Kapitel&nbsp; [[Kanalcodierung/Grundlegendes_zu_den_Low%E2%80%93density_Parity%E2%80%93check_Codes| Grundlegendes zu den Low&ndash;density Parity&ndash;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&ndash;Codes]].  
+
*Bezug genommen wird insbesondere auf die Seite&nbsp; [[Kanalcodierung/Grundlegendes_zu_den_Low–density_Parity–check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|Iterative Decodierung von LDPC&ndash;Codes]].  
 
   
 
   
  
Zeile 30: Zeile 30:
 
===Fragebogen===
 
===Fragebogen===
 
<quiz display=simple>
 
<quiz display=simple>
{Wie viele <i>Variable Nodes</i> $(I_{\rm VN})$ und <i>Check Nodes</i> $(I_{\rm CN})$ sind zu berücksichtigen?
+
{Wie viele&nbsp; <i>Variable Nodes</i> $(I_{\rm VN})$&nbsp; und&nbsp; <i>Check Nodes</i> $(I_{\rm CN})$&nbsp; sind zu berücksichtigen?
 
|type="{}"}
 
|type="{}"}
 
$I_{\rm VN} \ = \ ${ 12 }  
 
$I_{\rm VN} \ = \ ${ 12 }  
 
$I_{\rm CN} \ = \ ${ 9 }
 
$I_{\rm CN} \ = \ ${ 9 }
  
{Welche der folgenden <i>Check Nodes</i> und <i>Variable Nodes</i> sind verbunden?
+
{Welche der folgenden&nbsp; <i>Check Nodes</i>&nbsp; und&nbsp; <i>Variable Nodes</i>&nbsp; sind verbunden?
 
|type="[]"}
 
|type="[]"}
+ $C_4$ und $V_6$.
+
+ $C_4$&nbsp; und &nbsp;$V_6$.
+ $C_5$ und $V_5$.
+
+ $C_5$&nbsp; und &nbsp;$V_5$.
- $C_6$ und $V_4$.
+
- $C_6$&nbsp; und &nbsp;$V_4$.
- $C_6$ und $V_i$ für $i > 9$.
+
- $C_6$&nbsp; und &nbsp;$V_i$&nbsp; für &nbsp;$i > 9$.
+ $C_j$ und $V_{j-1}$ für $j > 6$.
+
+ $C_j$&nbsp; und &nbsp;$V_{j-1}$&nbsp; für&nbsp; $j > 6$.
  
{Welche Aussagen treffen bezüglich der Nachbarn $N(V_i)$ und $N(C_j)$ zu?
+
{Welche Aussagen treffen bezüglich der Nachbarn&nbsp; $N(V_i)$&nbsp; und&nbsp; $N(C_j)$&nbsp; zu?
 
|type="[]"}
 
|type="[]"}
 
- $N(V_1) = \{C_1, \ C_2, \ C_3, \ C_4\}$,
 
- $N(V_1) = \{C_1, \ C_2, \ C_3, \ C_4\}$,
Zeile 50: Zeile 50:
 
- $N(C_9) = \{V_3, \ V_5, \ V_7\}$.
 
- $N(C_9) = \{V_3, \ V_5, \ V_7\}$.
  
{Welche Aussagen treffen für den <i>Variable Node Decoder</i> (VND) zu?
+
{Welche Aussagen treffen für den&nbsp; <i>Variable Node Decoder</i>&nbsp; (VND) zu?
 
|type="[]"}
 
|type="[]"}
+ Zu Beginn (Iteration 0) werden die $L$&ndash;Werte der Knoten $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm}, \ V_n$ entsprechend den Kanaleingangswerten $y_i$ vorbelegt.
+
+ Zu Beginn (Iteration 0) werden die&nbsp; $L$&ndash;Werte der Knoten&nbsp; $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm}, \ V_n$&nbsp; entsprechend den Kanaleingangswerten&nbsp; $y_i$&nbsp; vorbelegt.
+ Für den VND stellt $L(C_j &#8594; V_i)$ Apriori&ndash;Information dar.
+
+ Für den VND stellt&nbsp; $L(C_j &#8594; V_i)$&nbsp; Apriori&ndash;Information dar.
- Es gibt Analogien zwischen dem VND und der Decodierung eines <i>Single Parity&ndash;check Codes</i>-
+
- Es gibt Analogien zwischen dem&nbsp; <i>Variable Node Decoder</i>&nbsp; und der Decodierung eines <i>Single Parity&ndash;check Codes</i>.
  
{Welche Aussagen treffen für den <i>Check Node Decoder</i> (CND) zu?
+
{Welche Aussagen treffen für den&nbsp; <i>Check Node Decoder</i>&nbsp; (CND) zu?
 
|type="[]"}
 
|type="[]"}
 
- Der CND liefert am Ende die gewünschten Aposteriori&ndash;$L$&ndash;Werte.  
 
- Der CND liefert am Ende die gewünschten Aposteriori&ndash;$L$&ndash;Werte.  
- Für den CND stellt $L(C_j &#8594; V_i)$ Apriori&ndash;Information dar.
+
- Für den CND stellt&nbsp; $L(C_j &#8594; V_i)$&nbsp; Apriori&ndash;Information dar.
+ Es gibt Analogien zwischen dem CND und der Decodierung eines <i>Single Parity&ndash;check Codes</i>.
+
+ Es gibt Analogien zwischen dem&nbsp; <i>Check Node Decoder</i>&nbsp; und der Decodierung eines <i>Single Parity&ndash;check Codes</i>.
 
</quiz>
 
</quiz>
  
Zeile 70: Zeile 70:
 
*Der <i>Check Node</i> ${\rm (CN)} \ C_j$ steht für die $j$&ndash;Prüfgleichung, und für die Menge aller <i>Check Nodes</i> gilt: ${\rm CN} = \{C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_j, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_m\}$.  
 
*Der <i>Check Node</i> ${\rm (CN)} \ C_j$ steht für die $j$&ndash;Prüfgleichung, und für die Menge aller <i>Check Nodes</i> gilt: ${\rm CN} = \{C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_j, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_m\}$.  
 
*Aus der Zeilenzahl der $\mathbf{H}$&ndash;Matrix ergibt sich $I_{\rm CN} \ \underline {= m = 9}$.
 
*Aus der Zeilenzahl der $\mathbf{H}$&ndash;Matrix ergibt sich $I_{\rm CN} \ \underline {= m = 9}$.
 +
  
  
 
'''(2)'''&nbsp; Die Ergebnisse können aus dem nachfolgend skizzierten Tanner&ndash;Graphen abgelesen werden.
 
'''(2)'''&nbsp; Die Ergebnisse können aus dem nachfolgend skizzierten Tanner&ndash;Graphen abgelesen werden.
  
[[Datei:P_ID3084__KC_A_4_13c_v1.png|center|frame|Tanner&ndash;Graph für das vorliegende Beispiel ]]
+
[[Datei:P_ID3084__KC_A_4_13c_v1.png|right|frame|Tanner&ndash;Graph für das vorliegende Beispiel ]]
  
 
Richtig sind <u>die Lösungsvorschläge 1, 2 und 5</u>:
 
Richtig sind <u>die Lösungsvorschläge 1, 2 und 5</u>:
* Das Matrixelement $h_{5,\hspace{0.05cm}5}$ (Spalte 5, Zeile 5) ist $1$ &nbsp; &#8658; &nbsp; rote Verbindung.
+
* Das Matrixelement $h_{5,\hspace{0.05cm}5}$ (Spalte 5, Zeile 5) ist $1$ &nbsp; <br>&#8658; &nbsp; rote Verbindung.
* Das Matrixelement $h_{4,\hspace{0.05cm} 6}$ (Spalte 4, Zeile 6) ist $1$ &nbsp; &#8658; &nbsp; blaue Verbindung.
+
* Das Matrixelement $h_{4,\hspace{0.05cm} 6}$ (Spalte 4, Zeile 6) ist $1$ &nbsp; <br>&#8658; &nbsp; blaue Verbindung.
* Das Matrixelement $h_{6, \hspace{0.05cm}4}$ (Spalte 6, Zeile 4) ist $0$ &nbsp; &#8658; &nbsp; keine Verbindung.
+
* Das Matrixelement $h_{6, \hspace{0.05cm}4}$ (Spalte 6, Zeile 4) ist $0$ &nbsp; <br>&#8658; &nbsp; keine Verbindung.
* Es gilt $h_{6,\hspace{0.05cm} 10} = h_{6,\hspace{0.05cm} 11} = 1$. Aber $h_{6,\hspace{0.05cm}11} = 0$ &nbsp; &#8658; &nbsp; es bestehen nicht alle drei Verbindungen.
+
* Es gilt $h_{6,\hspace{0.05cm} 10} = h_{6,\hspace{0.05cm} 11} = 1$. Aber $h_{6,\hspace{0.05cm}12} = 0$ &nbsp; <br>&#8658; &nbsp; es bestehen nicht alle drei Verbindungen.
 
* Es gilt $h_{7,\hspace{0.05cm}6} = h_{8,\hspace{0.05cm}7} = h_{9,\hspace{0.05cm}8} = 1$ &nbsp; &#8658; &nbsp; grüne Verbindungen.
 
* Es gilt $h_{7,\hspace{0.05cm}6} = h_{8,\hspace{0.05cm}7} = h_{9,\hspace{0.05cm}8} = 1$ &nbsp; &#8658; &nbsp; grüne Verbindungen.
 +
  
  
Zeile 89: Zeile 91:
  
  
Die <u>Antworten 2 und 3</u> sind richtig, wie aus der ersten Zeile bzw. der neunten Spalte der Prüfmatrix $\mathbf{H}$ hervorgeht. Der Tanner&ndash;Graph bestätigt diese Ergebnisse:
+
Die <u>Antworten 2 und 3</u> sind richtig, wie aus der ersten Zeile bzw. der neunten Spalte der Prüfmatrix $\mathbf{H}$ hervorgeht. <br>Der Tanner&ndash;Graph bestätigt diese Ergebnisse:
 
* Von $C_1$ gibt es Verbindungen zu $V_1, \ V_2, \ V_3$, und $V_4$.
 
* Von $C_1$ gibt es Verbindungen zu $V_1, \ V_2, \ V_3$, und $V_4$.
 
* Von $V_9$ gibt es Verbindungen zu $C_3, \ C_5$, und $C_7$.
 
* Von $V_9$ gibt es Verbindungen zu $C_3, \ C_5$, und $C_7$.
Zeile 97: Zeile 99:
 
* die Nachbarschaft $N(V_i)$ eines jeden <i>Variable Nodes</i> $V_i$ genau $w_{\rm S} = 3$ Elemente beinhaltet, und
 
* die Nachbarschaft $N(V_i)$ eines jeden <i>Variable Nodes</i> $V_i$ genau $w_{\rm S} = 3$ Elemente beinhaltet, und
 
* die Nachbarschaft $N(C_j)$ eines jeden <i>Check Nodes</i> $C_j$ genau $w_{\rm Z} = 4$ Elemente.
 
* die Nachbarschaft $N(C_j)$ eines jeden <i>Check Nodes</i> $C_j$ genau $w_{\rm Z} = 4$ Elemente.
 +
  
  
 
'''(4)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 2</u>, wie aus der [[Kanalcodierung/Grundlegendes_zu_den_Low%E2%80%93density_Parity%E2%80%93check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|entsprechenden Theorieseite]] hervorgeht:
 
'''(4)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 2</u>, wie aus der [[Kanalcodierung/Grundlegendes_zu_den_Low%E2%80%93density_Parity%E2%80%93check_Codes#Iterative_Decodierung_von_LDPC.E2.80.93Codes|entsprechenden Theorieseite]] hervorgeht:
* Zu Beginn der Decodierung (sozusagen bei der  Iteration $I=0$) werden die $L$&ndash;Werte der <i>Variable Nodes</i> &nbsp;&#8658;&nbsp; $L(V_i)$ entsprechend den Kanaleingangswerten vorbelegt.
+
* Zu Beginn der Decodierung&nbsp; $($sozusagen bei der  Iteration $I=0)$&nbsp; werden die $L$&ndash;Werte der <i>Variable Nodes</i> &nbsp;&#8658;&nbsp; $L(V_i)$ mit den Kanaleingangswerten vorbelegt.
* Später (ab der Iteration $I = 1$) wird im VND das vom CND übermittelte Log&ndash;Likelihood&ndash;Verhältnis $L(C_j &#8594; V_i)$ als Apriori&ndash;Information berücksichtigt.
+
* Später&nbsp; $($ab der Iteration $I = 1)$&nbsp; wird im VND das vom CND übermittelte Log&ndash;Likelihood&ndash;Verhältnis $L(C_j &#8594; V_i)$ als Apriori&ndash;Information berücksichtigt.
 
* Die Antwort 3 ist falsch. Richtig wäre vielmehr: Es gibt Analogien zwischen dem VND&ndash;Algorithmus und der Decodierung eines <i>Repetition Codes</i> (Wiederholungscodes).
 
* Die Antwort 3 ist falsch. Richtig wäre vielmehr: Es gibt Analogien zwischen dem VND&ndash;Algorithmus und der Decodierung eines <i>Repetition Codes</i> (Wiederholungscodes).
 +
  
  
 
'''(5)'''&nbsp; Richtig ist <u>nur der Lösungsvorschlag 3</u>, weil
 
'''(5)'''&nbsp; Richtig ist <u>nur der Lösungsvorschlag 3</u>, weil
 
* die endgültigen Aposteriori&ndash;$L$&ndash;Werte vom VND abgeleitet werden, nicht vom CND,
 
* die endgültigen Aposteriori&ndash;$L$&ndash;Werte vom VND abgeleitet werden, nicht vom CND,
* die $L$&ndash;Wert $L(C_j &#8594; V_i)$ für den CND extrinsische Information darstellt, und
+
* der $L$&ndash;Wert $L(C_j &#8594; V_i)$ für den CND extrinsische Information darstellt, und
 
* es tatsächlich Analogien zwischen dem CND&ndash;Algorithmus und der SPC&ndash;Decodierung gibt.
 
* es tatsächlich Analogien zwischen dem CND&ndash;Algorithmus und der SPC&ndash;Decodierung gibt.
 
{{ML-Fuß}}
 
{{ML-Fuß}}

Aktuelle Version vom 10. Juli 2019, 15:08 Uhr

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  $\mathbf{H}$, die zu Beginn der Aufgabe als Tanner–Graph dargestellt werden soll. Dabei ist anzumerken:

  • Die  Variable Nodes  (abgekürzt  $\rm VNs$)  $V_i$  bezeichnen die  $n$  Codewortbits.
  • Die  Check Nodes  (abgekürzt  $\rm CNs$)  $C_j$  stehen für die  $m$  Prüfgleichungen.
  • Eine Verbindung zwischen  $V_i$  und  $C_j$  zeigt an, dass das Matrixelement  $h_{j,\hspace{0.05cm} i}$  der Prüfmatrix  $\mathbf{H}$  $($in Zeile  $j$, Spalte  $i)$  gleich  $1$  ist. Für  $h_{j,\hspace{0.05cm}i} = 0$  gibt es keine Verbindung zwischen  $V_i$  und  $C_j$.
  • Als die  Nachbarn  $N(V_i)$  von  $V_i$  bezeichnet man die Menge aller  Check Nodes  $C_j$, die mit  $V_i$  im Tanner–Graphen verbunden sind. Entsprechend gehören zu  $N(C_j)$  alle Variable Nodes  $V_i$  mit einer Verbindung zu  $C_j$.


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 $(I_{\rm VN})$  und  Check Nodes $(I_{\rm CN})$  sind zu berücksichtigen?

$I_{\rm VN} \ = \ $

$I_{\rm CN} \ = \ $

2

Welche der folgenden  Check Nodes  und  Variable Nodes  sind verbunden?

$C_4$  und  $V_6$.
$C_5$  und  $V_5$.
$C_6$  und  $V_4$.
$C_6$  und  $V_i$  für  $i > 9$.
$C_j$  und  $V_{j-1}$  für  $j > 6$.

3

Welche Aussagen treffen bezüglich der Nachbarn  $N(V_i)$  und  $N(C_j)$  zu?

$N(V_1) = \{C_1, \ C_2, \ C_3, \ C_4\}$,
$N(C_1) = \{V_1, \ V_2, \ V_3, \ V_4\}$,
$N(V_9) = \{C_3, \ C_5, \, C_7\}$,
$N(C_9) = \{V_3, \ V_5, \ V_7\}$.

4

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

Zu Beginn (Iteration 0) werden die  $L$–Werte der Knoten  $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm}, \ V_n$  entsprechend den Kanaleingangswerten  $y_i$  vorbelegt.
Für den VND stellt  $L(C_j → V_i)$  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(C_j → V_i)$  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 $\rm (VN)$ $V_i$ steht für das $i$–te Codewortbit, so dass $I_{\rm VN}$ gleich der Codewortlänge $n$ ist.

  • Aus der Spaltenzahl der $\mathbf{H}$–Matrix erkennt man $I_{\rm VN} = n \ \underline{= 12}$.
  • Für die Menge aller Variable Nodes kann man somit allgemein schreiben: ${\rm VN} = \{V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , V_i, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ V_n\}$.
  • Der Check Node ${\rm (CN)} \ C_j$ steht für die $j$–Prüfgleichung, und für die Menge aller Check Nodes gilt: ${\rm CN} = \{C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_j, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_m\}$.
  • Aus der Zeilenzahl der $\mathbf{H}$–Matrix ergibt sich $I_{\rm CN} \ \underline {= 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 $h_{5,\hspace{0.05cm}5}$ (Spalte 5, Zeile 5) ist $1$  
    ⇒   rote Verbindung.
  • Das Matrixelement $h_{4,\hspace{0.05cm} 6}$ (Spalte 4, Zeile 6) ist $1$  
    ⇒   blaue Verbindung.
  • Das Matrixelement $h_{6, \hspace{0.05cm}4}$ (Spalte 6, Zeile 4) ist $0$  
    ⇒   keine Verbindung.
  • Es gilt $h_{6,\hspace{0.05cm} 10} = h_{6,\hspace{0.05cm} 11} = 1$. Aber $h_{6,\hspace{0.05cm}12} = 0$  
    ⇒   es bestehen nicht alle drei Verbindungen.
  • Es gilt $h_{7,\hspace{0.05cm}6} = h_{8,\hspace{0.05cm}7} = h_{9,\hspace{0.05cm}8} = 1$   ⇒   grüne Verbindungen.


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

  • $w_{\rm Z}(j) = 4 = w_{\rm Z}$ für $1 ≤ j ≤ 9$,
  • $w_{\rm S}(i) = 3 = w_{\rm S}$ für $1 ≤ i ≤ 12$.


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

  • Von $C_1$ gibt es Verbindungen zu $V_1, \ V_2, \ V_3$, und $V_4$.
  • Von $V_9$ gibt es Verbindungen zu $C_3, \ C_5$, und $C_7$.


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

  • die Nachbarschaft $N(V_i)$ eines jeden Variable Nodes $V_i$ genau $w_{\rm S} = 3$ Elemente beinhaltet, und
  • die Nachbarschaft $N(C_j)$ eines jeden Check Nodes $C_j$ genau $w_{\rm Z} = 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(V_i)$ mit den Kanaleingangswerten vorbelegt.
  • Später  $($ab der Iteration $I = 1)$  wird im VND das vom CND übermittelte Log–Likelihood–Verhältnis $L(C_j → V_i)$ 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(C_j → V_i)$ für den CND extrinsische Information darstellt, und
  • es tatsächlich Analogien zwischen dem CND–Algorithmus und der SPC–Decodierung gibt.