Aufgaben:Aufgabe 4.12: Regulärer und irregulärer Tanner–Graph: Unterschied zwischen den Versionen
(10 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{quiz-Header|Buchseite=Kanalcodierung/Grundlegendes zu den Low–density Parity–check Codes}} | {{quiz-Header|Buchseite=Kanalcodierung/Grundlegendes zu den Low–density Parity–check Codes}} | ||
− | [[Datei:P_ID3072__KC_A_4_12_v1.png|right|frame|Vorgegebener Tanner–Graph für Code A]] | + | [[Datei:P_ID3072__KC_A_4_12_v1.png|right|frame|Vorgegebener Tanner–Graph für Code $\rm A$]] |
− | Dargestellt ist ein Tanner–Graph eines Codes A mit | + | Dargestellt ist ein Tanner–Graph eines Codes $\rm A$ mit |
− | * den <i>Variable Nodes</i> (abgekürzt VNs) $V_1, \ ... \ , \ V_6$, wobei $V_i$ das $i$–te Codewortbit kennzeichnet (egal, ob Informations – oder Paritybit) und der $i$–ten Spalte der Prüfmatrix entspricht; | + | * den <i>Variable Nodes</i> (abgekürzt VNs) $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ V_6$, wobei $V_i$ das $i$–te Codewortbit kennzeichnet (egal, ob Informations– oder Paritybit) und der $i$–ten Spalte der Prüfmatrix entspricht; |
− | * den <i>Check Nodes</i> (abgekürzt CNs) $C_1, \ ... \ , \ C_3$, die die Zeilen der $\mathbf{H}_{\rm A}$–Matrix und damit die Prüfgleichungen repräsentieren. | + | * den <i>Check Nodes</i> (abgekürzt CNs) $C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_3$, die die Zeilen der $\mathbf{H}_{\rm A}$–Matrix und damit die Prüfgleichungen repräsentieren. |
− | Eine Verbindungslinie (englisch: <i>Edge</i>) zwischen $V_i$ und $C_j$ zeigt an, dass das $i$–te Codewortsymbol an der $j$–ten Prüfgleichung beteiligt ist. In diesem Fall ist das Element $h_{j,i}$ der Prüfmatrix gleich $1$. | + | Eine Verbindungslinie (englisch: <i>Edge</i>) zwischen $V_i$ und $C_j$ zeigt an, dass das $i$–te Codewortsymbol an der $j$–ten Prüfgleichung beteiligt ist. In diesem Fall ist das Element $h_{j,\hspace{0.05cm}i}$ der Prüfmatrix gleich $1$. |
− | In der Aufgabe soll der Zusammenhang zwischen dem oben dargestellten Tanner–Graphen (gültig für den Code A) und der Matrix $\mathbf{H}_{\rm A}$ angegeben werden. Außerdem ist der Tanner–Graph zu einer Prüfmatrix $\mathbf{H}_{\rm B}$ aufzustellen, die sich aus $\mathbf{H}_{\rm A}$ durch Hinzufügen einer weiteren Zeile ergibt. Diese ist so zu ermitteln, dass der zugehörige Code B regulär ist. Das bedeutet: | + | |
− | * Von allen <i>Variable Nodes</i> $V_i$ (mit $1 ≤ i ≤ n$ | + | In der Aufgabe soll der Zusammenhang zwischen dem oben dargestellten Tanner–Graphen $($gültig für den Code $\rm A)$ und der Matrix $\mathbf{H}_{\rm A}$ angegeben werden. Außerdem ist der Tanner–Graph zu einer Prüfmatrix $\mathbf{H}_{\rm B}$ aufzustellen, die sich aus $\mathbf{H}_{\rm A}$ durch Hinzufügen einer weiteren Zeile ergibt. Diese ist so zu ermitteln, dass der zugehörige Code $\rm B$ regulär ist. Das bedeutet: |
− | * Die Hamming–Gewichte aller Zeilen von $\mathbf{H}_{\rm B}$ sollen jeweils gleich sein $(w_{\rm Z})$, ebenso die Hamming–Gewichte aller Spalten $(w_{\rm S})$. | + | * Von allen <i>Variable Nodes</i> $V_i$ $($mit $1 ≤ i ≤ n)$ gehen gleich viele Linien (<i>Edges</i>) ab, ebenso von allen <i>Check Nodes</i> $C_j$ $($mit $1 ≤ j ≤ m)$. |
− | * Für die Rate des zu konstruierenden regulären Codes B gilt dann die folgende untere Schranke: | + | * Die Hamming–Gewichte aller Zeilen von $\mathbf{H}_{\rm B}$ sollen jeweils gleich sein $(w_{\rm Z})$, ebenso die Hamming–Gewichte aller Spalten $(w_{\rm S})$. |
+ | * Für die Rate des zu konstruierenden regulären Codes $\rm B$ gilt dann die folgende untere Schranke: | ||
:$$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}} | :$$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}} | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | '' | + | |
− | * Die Aufgabe gehört zum | + | |
− | * | + | |
+ | |||
+ | |||
+ | |||
+ | |||
+ | ''Hinweise:'' | ||
+ | * Die Aufgabe gehört zum Kapitel [[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#Zweiteilige_LDPC.E2.80.93Graphenrepr.C3.A4sentation_.E2.80.93_Tanner.E2.80.93Graph|Zweiteilige LDPC–Graphenrepräsentation – Tanner–Graph]]. | ||
+ | |||
+ | |||
Zeile 24: | Zeile 34: | ||
===Fragebogen=== | ===Fragebogen=== | ||
<quiz display=simple> | <quiz display=simple> | ||
− | {Wieviele Zeilen $(m)$ und Spalten $(n)$ hat die Prüfmatrix $\mathbf{H}_{\rm A}$? | + | {Wieviele Zeilen $(m)$ und Spalten $(n)$ hat die Prüfmatrix $\mathbf{H}_{\rm A}$? |
|type="{}"} | |type="{}"} | ||
− | $m \ = \ ${ 3 | + | $m \hspace{0.18cm} = \ ${ 3 } |
− | $n \ = \ ${ 6 | + | $n \hspace{0.3cm} = \ ${ 6 } |
{Welche Aussagen sind aufgrund des Tanner–Graphen zutreffend? | {Welche Aussagen sind aufgrund des Tanner–Graphen zutreffend? | ||
|type="[]"} | |type="[]"} | ||
− | + Die | + | + Die Zeile 1 der $\mathbf{H}_{\rm A}$–Matrix ist „$1 \ 1 \ 0 \ 1 \ 0 \ 0$”. |
− | - Die | + | - Die Zeile 2 der $\mathbf{H}_{\rm A}$–Matrix ist „$1 \ 0 \ 1 \ 0 \ 0 \ 1$”. |
− | + Die | + | + Die Zeile 3 der $\mathbf{H}_{\rm A}$–Matrix ist „$0 \ 1 \ 1 \ 0 \ 0 \ 1$”. |
− | {Welche Eigenschaften weist der Code A auf? | + | {Welche Eigenschaften weist der Code $\rm A$ auf? |
|type="[]"} | |type="[]"} | ||
+ Der Code ist systematisch. | + Der Code ist systematisch. | ||
- Der Code ist regulär. | - Der Code ist regulär. | ||
− | + Die Coderate ist $R = 1/2$. | + | + Die Coderate ist $R = 1/2$. |
− | - Die Coderate ist $R = 1/3$. | + | - Die Coderate ist $R = 1/3$. |
− | {Die Matrix $\mathbf{H}_{\rm B}$ ergibt sich aus $\mathbf{H}_{\rm A}$ durch Hinzufügen einer weiteren Zeile. Durch welche Zeile | + | {Die Matrix $\mathbf{H}_{\rm B}$ ergibt sich aus $\mathbf{H}_{\rm A}$ durch Hinzufügen einer weiteren Zeile. Durch welche vierte Zeile ergibt sich ein regulärer Code $\rm B$? |
|type="[]"} | |type="[]"} | ||
+ Durch Hinzufügen von „$0 \ 0 \ 0 \ 1 \ 1 \ 1$”. | + Durch Hinzufügen von „$0 \ 0 \ 0 \ 1 \ 1 \ 1$”. | ||
Zeile 48: | Zeile 58: | ||
- Durch Hinzufügen irgend einer anderen Zeile. | - Durch Hinzufügen irgend einer anderen Zeile. | ||
− | {Welche Eigenschaften weist der Code B auf? | + | {Welche Eigenschaften weist der Code $\rm B$ auf? |
|type="[]"} | |type="[]"} | ||
- Der Code ist systematisch. | - Der Code ist systematisch. | ||
+ Der Code ist regulär. | + Der Code ist regulär. | ||
− | + Die Coderate ist $R = 1/2$. | + | + Die Coderate ist $R = 1/2$. |
− | - Die Coderate ist $R = 1/3$. | + | - Die Coderate ist $R = 1/3$. |
</quiz> | </quiz> | ||
Zeile 61: | Zeile 71: | ||
− | '''(2)''' Richtig sind die <u>Antworten 1 und 3</u> im Gegensatz zur Aussage 2: Die zweite $\mathbf{H}_{\rm A}$–Zeile lautet vielmehr „$1 \ 0 \ 1 \ 0 \ 1 \ 0$”. Somit liegt dieser Aufgabe die folgende Prüfgleichung zugrunde: | + | |
+ | '''(2)''' Richtig sind die <u>Antworten 1 und 3</u> im Gegensatz zur Aussage 2: | ||
+ | *Die zweite $\mathbf{H}_{\rm A}$–Zeile lautet vielmehr „$1 \ 0 \ 1 \ 0 \ 1 \ 0$”. Somit liegt dieser Aufgabe die folgende Prüfgleichung zugrunde: | ||
[[Datei:P_ID3073__KC_A_4_12c_v1.png|right|frame|Zugrunde liegende Prüfgleichungen]] | [[Datei:P_ID3073__KC_A_4_12c_v1.png|right|frame|Zugrunde liegende Prüfgleichungen]] | ||
Zeile 72: | Zeile 84: | ||
\end{pmatrix}\hspace{0.05cm}.$$ | \end{pmatrix}\hspace{0.05cm}.$$ | ||
− | Im Schaubild sind die Prüfgleichungen als rote (Zeile 1), grüne (Zeile 2) bzw. blaue (Zeile 3) Gruppierung veranschaulicht. | + | *Im Schaubild sind die Prüfgleichungen als rote (Zeile 1), grüne (Zeile 2) bzw. blaue (Zeile 3) Gruppierung veranschaulicht. |
+ | |||
'''(3)''' Richtig sind die <u>Lösungsvorschläge 1 und 3</u>: | '''(3)''' Richtig sind die <u>Lösungsvorschläge 1 und 3</u>: | ||
− | * Die $\mathbf{H}$–Matrix endet mit einer $3 × 3$–Diagonalmatrix ⇒ systematischer Code. | + | * Die $\mathbf{H}$–Matrix endet mit einer $3 × 3$–Diagonalmatrix ⇒ systematischer Code. |
− | * Damit sind die Hamming–Gewichte der drei letzten Spalten $w_{\rm S}(4) = w_{\rm S}(5) = w_{\rm S}(6) = 1$ | + | * Damit sind die Hamming–Gewichte der drei letzten Spalten $w_{\rm S}(4) = w_{\rm S}(5) = w_{\rm S}(6) = 1$. |
+ | * Für die ersten drei Spalten gilt: $w_{\rm S}(1) = w_{\rm S}(2) = w_{\rm S}(3) = 2$ ⇒ irregulärer Code. | ||
* Die drei Matrixzeilen sind linear unabhängig. Damit gilt $k = n - m = 6 - 3 = 3$ und $R = k/n = 1/2$. | * Die drei Matrixzeilen sind linear unabhängig. Damit gilt $k = n - m = 6 - 3 = 3$ und $R = k/n = 1/2$. | ||
− | + | ||
+ | [[Datei: P_ID3074__KC_A_4_12d_v1.png|right|frame|Modifizierter Tanner–Graph für den Code $\rm B$]] | ||
+ | '''(4)''' Richtig ist der <u>Lösungsvorschlag 1</u>: | ||
+ | *Betrachtet man den bisherigen Tanner–Graphen, so erkennt man die Richtigkeit von Lösungsvorschlag 1. | ||
+ | *Durch Hinzufügen der Zeile „$0 \ 0 \ 0 \ 1 \ 1 \ 1$” zur $\mathbf{H}_{\rm A}$–Matrix erhält man: | ||
:$${ \boldsymbol{\rm H}}_{\rm B} = | :$${ \boldsymbol{\rm H}}_{\rm B} = | ||
\begin{pmatrix} | \begin{pmatrix} | ||
Zeile 90: | Zeile 108: | ||
\end{pmatrix}\hspace{0.05cm}.$$ | \end{pmatrix}\hspace{0.05cm}.$$ | ||
− | Die Modifikationen sind in nebenstehender Grafik rot markiert | + | Die Modifikationen sind in nebenstehender Grafik rot markiert. |
+ | |||
+ | Durch den neu hinzugefügten <i>Check Node</i> $C_4$ und die Verbindungen mit $V_4, \ V_5$ und $V_6$ gehen nun | ||
* von allen <i>Variable Nodes</i> $V_i$ zwei Linien ab, und | * von allen <i>Variable Nodes</i> $V_i$ zwei Linien ab, und | ||
* von allen <i>Check Nodes</i> $C_j$ einheitlich vier. | * von allen <i>Check Nodes</i> $C_j$ einheitlich vier. | ||
− | '''(5)''' Die | + | Dies ist die Bedingung dafür, dass der Code $\rm B$ regulär ist. |
− | :$$R \ge 1 - \frac{w_ | + | |
+ | |||
+ | |||
+ | '''(5)''' Richtig sind die <u>Lösungsvorschläge 2 und 3</u>: | ||
+ | *Die Konstruktion in Teilaufgabe (4) liefert einen regulären Code. | ||
+ | *Die Hamming–Gewichte der Zeilen bzw. Spalten sind $w_{\rm Z} = 3$ und $w_{\rm S} = 2$. | ||
+ | *Damit ergibt sich als untere Schranke für die Coderate: | ||
+ | :$$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}} | ||
= 1 - {2}/{3} = 1/3 | = 1 - {2}/{3} = 1/3 | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | + | *Durch die $\mathbf{H}$–Manipulation ändert sich nichts an der Generatormatrix $\mathbf{G}$. | |
− | Durch die $\mathbf{H}$–Manipulation ändert sich nichts an der Generatormatrix $\mathbf{G}$. Gesendet wird weiterhin der gleiche Code mit der Coderate $R = 1/2$ | + | *Gesendet wird weiterhin der gleiche Code mit der Coderate $R = 1/2$. |
{{ML-Fuß}} | {{ML-Fuß}} | ||
− | [[Category:Aufgaben zu Kanalcodierung|^4.4 | + | [[Category:Aufgaben zu Kanalcodierung|^4.4 Low–density Parity–check Codes^]] |
Aktuelle Version vom 10. Juli 2019, 14:25 Uhr
Dargestellt ist ein Tanner–Graph eines Codes $\rm A$ mit
- den Variable Nodes (abgekürzt VNs) $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ V_6$, wobei $V_i$ das $i$–te Codewortbit kennzeichnet (egal, ob Informations– oder Paritybit) und der $i$–ten Spalte der Prüfmatrix entspricht;
- den Check Nodes (abgekürzt CNs) $C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_3$, die die Zeilen der $\mathbf{H}_{\rm A}$–Matrix und damit die Prüfgleichungen repräsentieren.
Eine Verbindungslinie (englisch: Edge) zwischen $V_i$ und $C_j$ zeigt an, dass das $i$–te Codewortsymbol an der $j$–ten Prüfgleichung beteiligt ist. In diesem Fall ist das Element $h_{j,\hspace{0.05cm}i}$ der Prüfmatrix gleich $1$.
In der Aufgabe soll der Zusammenhang zwischen dem oben dargestellten Tanner–Graphen $($gültig für den Code $\rm A)$ und der Matrix $\mathbf{H}_{\rm A}$ angegeben werden. Außerdem ist der Tanner–Graph zu einer Prüfmatrix $\mathbf{H}_{\rm B}$ aufzustellen, die sich aus $\mathbf{H}_{\rm A}$ durch Hinzufügen einer weiteren Zeile ergibt. Diese ist so zu ermitteln, dass der zugehörige Code $\rm B$ regulär ist. Das bedeutet:
- Von allen Variable Nodes $V_i$ $($mit $1 ≤ i ≤ n)$ gehen gleich viele Linien (Edges) ab, ebenso von allen Check Nodes $C_j$ $($mit $1 ≤ j ≤ m)$.
- Die Hamming–Gewichte aller Zeilen von $\mathbf{H}_{\rm B}$ sollen jeweils gleich sein $(w_{\rm Z})$, ebenso die Hamming–Gewichte aller Spalten $(w_{\rm S})$.
- Für die Rate des zu konstruierenden regulären Codes $\rm B$ gilt dann die folgende untere Schranke:
- $$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}} \hspace{0.05cm}.$$
Hinweise:
- Die Aufgabe gehört zum Kapitel Grundlegendes zu den Low–density Parity–check Codes.
- Bezug genommen wird insbesondere auf die Seite Zweiteilige LDPC–Graphenrepräsentation – Tanner–Graph.
Fragebogen
Musterlösung
(2) Richtig sind die Antworten 1 und 3 im Gegensatz zur Aussage 2:
- Die zweite $\mathbf{H}_{\rm A}$–Zeile lautet vielmehr „$1 \ 0 \ 1 \ 0 \ 1 \ 0$”. Somit liegt dieser Aufgabe die folgende Prüfgleichung zugrunde:
- $${ \boldsymbol{\rm H}}_{\rm A} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix}\hspace{0.05cm}.$$
- Im Schaubild sind die Prüfgleichungen als rote (Zeile 1), grüne (Zeile 2) bzw. blaue (Zeile 3) Gruppierung veranschaulicht.
(3) Richtig sind die Lösungsvorschläge 1 und 3:
- Die $\mathbf{H}$–Matrix endet mit einer $3 × 3$–Diagonalmatrix ⇒ systematischer Code.
- Damit sind die Hamming–Gewichte der drei letzten Spalten $w_{\rm S}(4) = w_{\rm S}(5) = w_{\rm S}(6) = 1$.
- Für die ersten drei Spalten gilt: $w_{\rm S}(1) = w_{\rm S}(2) = w_{\rm S}(3) = 2$ ⇒ irregulärer Code.
- Die drei Matrixzeilen sind linear unabhängig. Damit gilt $k = n - m = 6 - 3 = 3$ und $R = k/n = 1/2$.
(4) Richtig ist der Lösungsvorschlag 1:
- Betrachtet man den bisherigen Tanner–Graphen, so erkennt man die Richtigkeit von Lösungsvorschlag 1.
- Durch Hinzufügen der Zeile „$0 \ 0 \ 0 \ 1 \ 1 \ 1$” zur $\mathbf{H}_{\rm A}$–Matrix erhält man:
- $${ \boldsymbol{\rm H}}_{\rm B} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1\\ 0 &0 &0 &1 &1 &1 \end{pmatrix}\hspace{0.05cm}.$$
Die Modifikationen sind in nebenstehender Grafik rot markiert.
Durch den neu hinzugefügten Check Node $C_4$ und die Verbindungen mit $V_4, \ V_5$ und $V_6$ gehen nun
- von allen Variable Nodes $V_i$ zwei Linien ab, und
- von allen Check Nodes $C_j$ einheitlich vier.
Dies ist die Bedingung dafür, dass der Code $\rm B$ regulär ist.
(5) Richtig sind die Lösungsvorschläge 2 und 3:
- Die Konstruktion in Teilaufgabe (4) liefert einen regulären Code.
- Die Hamming–Gewichte der Zeilen bzw. Spalten sind $w_{\rm Z} = 3$ und $w_{\rm S} = 2$.
- Damit ergibt sich als untere Schranke für die Coderate:
- $$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}} = 1 - {2}/{3} = 1/3 \hspace{0.05cm}.$$
- Durch die $\mathbf{H}$–Manipulation ändert sich nichts an der Generatormatrix $\mathbf{G}$.
- Gesendet wird weiterhin der gleiche Code mit der Coderate $R = 1/2$.