Difference between revisions of "Aufgaben:Exercise 4.11: Analysis of Parity-check Matrices"

From LNTwww
m (Text replacement - "Category:Aufgaben zu Kanalcodierung" to "Category:Channel Coding: Exercises")
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Grundlegendes zu den Low–density Parity–check Codes}}
+
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes}}
  
[[File:P_ID3067__KC_A_4_11_v2.png|right|frame|Produktcode, beschrieben durch die Prüfmatrix  $\mathbf{H}$]]
+
[[File:EN_KC_A_4_11_v2.png|right|frame|Product code described by the parity-check matrix  $\mathbf{H}$]]
In nebenstehender Grafik ist oben ein Produktcode angegeben, der durch folgende Prüfgleichungen gekennzeichnet ist:
+
In the adjacent graphic,  a product code is indicated at the top,  which is characterized by the following parity-check equations:
:$$p_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_1 \oplus u_2\hspace{0.05cm},\hspace{0.3cm}
+
:$$p_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_1 \oplus u_2\hspace{0.05cm},$$
p_2 = u_3 \oplus u_4\hspace{0.05cm},\hspace{0.3cm}
+
:$$p_2 = u_3 \oplus u_4\hspace{0.05cm},$$
p_3 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_1 \oplus u_3\hspace{0.05cm},\hspace{0.3cm}
+
:$$p_3 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_1 \oplus u_3\hspace{0.05cm},$$
p_4 = u_2 \oplus u_4\hspace{0.05cm}.$$
+
:$$p_4 = u_2 \oplus u_4\hspace{0.05cm}.$$
  
Darunter sind die Prüfmatrizen  $\mathbf{H}_1, \ \mathbf{H}_2$ und $\mathbf{H}_3$  angegeben. Zu prüfen ist, welche der Matrizen den gegebenen Produktcode entsprechend der Gleichung  $\underline{x} = \underline{u} \cdot \mathbf{H}^{\rm T}$  richtig beschreiben, wenn von folgenden Definitionen ausgegangen wird:
+
Below are given the check matrices  $\mathbf{H}_1, \ \mathbf{H}_2$  and  $\mathbf{H}_3$.  To be checked:  Which of the matrices correctly describe the given product code according to the equation  $\underline{x} = \underline{u} \cdot \mathbf{H}^{\rm T}$  assuming the following definitions:  
* dem Codewort  $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$,
+
* the code word  $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$,
* dem Codewort  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
 
  
 +
* the code word  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
  
Alle&nbsp; $\mathbf{H}$&ndash;Matrizen beinhalten weniger Einsen als Nullen. Dies ist ein Kennzeichen der so genannten <i>Low&ndash;density Parity&ndash;check Codes</i>&nbsp; (kurz: &nbsp;$\rm LDPC$&ndash;Codes). Bei den praxisrelevanten LDPC&ndash;Codes ist der Einsen&ndash;Anteil allerdings noch deutlich geringer als bei diesen Beispielen.
 
  
Weiterhin ist für die Aufgabe anzumerken:
+
All&nbsp; $\mathbf{H}$&nbsp; matrices contain fewer&nbsp; "ones"&nbsp; than&nbsp; "zeros".&nbsp; This is a characteristic of the so-called&nbsp; "low&ndash;density parity&ndash;check codes"&nbsp; $($short: &nbsp;$\rm LDPC$ codes$)$.&nbsp; In the case of LDPC codes relevant to practice,&nbsp; however,&nbsp; the share of&nbsp; "ones"&nbsp; is still significantly lower than in these examples.
* Ein&nbsp; $(n, \ k)$&ndash;Blockcode ist systematisch, wenn die ersten&nbsp; $k$&nbsp; Bit des Codewortes&nbsp; $\underline{x}$&nbsp; das Informationswort&nbsp; $\underline{u}$&nbsp; beinhaltet. Mit der Codewortdefinition&nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$&nbsp; muss dann die Prüfmatrix&nbsp; $\mathbf{H}$&nbsp; mit einer&nbsp; $k &times k$&ndash;Diagonalmatrix enden.
+
 
* Ein&nbsp; <i>regulärer Code</i>&nbsp; (hinsichtlich LDPC&ndash;Anwendung) liegt vor, wenn das Hamming&ndash;Gewicht aller Zeilen &nbsp; &#8658; &nbsp; $w_{\rm Z}$ und das Hamming&ndash;Gewicht aller Spalten &nbsp; &#8658; &nbsp; $w_{\rm S}$ jeweils gleich sind. Andernfalls spricht man von einem&nbsp; <i>irregulären LDPC&ndash;Code</i>.
+
Furthermore, note for the exercise:
* Die Prüfmatrix&nbsp; $\mathbf{H}$&nbsp; eines herkömmlichen linearen&nbsp; $(n, \ k)$&ndash;Blockcodes besteht aus exakt&nbsp; $m = n - k$&nbsp; Zeilen und&nbsp; $n$&nbsp; Spalten. Bei den LDPC&ndash;Codes lautet dagegen die Forderung: &nbsp; $m &#8805; n - k$. Das Gleichheitszeichen trifft dann zu, wenn die&nbsp; $m$&nbsp; Prüfgleichungen statistisch unabhängig sind.
+
* An&nbsp; $(n, \ k)$&nbsp; $\underline{x} = \underline{u} \cdot \mathbf{H}^{\rm T}$&nbsp; block code is systematic if the first&nbsp; $k$&nbsp; bits of the code word&nbsp; $\underline{x}$&nbsp; contains the information word&nbsp; $\underline{u}$.&nbsp; With the code word&nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$&nbsp; the parity-check matrix&nbsp; $\mathbf{H}$&nbsp; must then end with a&nbsp; $k &times k$ diagonal matrix.
* Aus der Prüfmatrix&nbsp; $\mathbf{H}$&nbsp; lässt sich eine untere Schranke für die Coderate&nbsp; $R$&nbsp; angeben:
 
:$$R \ge 1 - \frac{{\rm E}[w_{\rm S}]}{{\rm E}[w_{\rm Z}]}
 
\hspace{0.5cm}{\rm mit}\hspace{0.5cm}
 
{\rm E}[w_{\rm S}] =\frac{1}{n} \cdot  \sum_{i = 1}^{n}w_{\rm S}(i)
 
\hspace{0.5cm}{\rm und}\hspace{0.5cm}
 
{\rm E}[w_{\rm Z}] =\frac{1}{m} \cdot  \sum_{j = 1}^{ m}w_{\rm Z}(j)
 
\hspace{0.05cm}.$$
 
  
*Diese Gleichung gilt für reguläre und irreguläre LDPC&ndash;Codes gleichermaßen, wobei den regulären Codes&nbsp; ${\rm E}[w_{\rm S}] = w_{\rm S}$&nbsp; und&nbsp; ${\rm E}[w_{\rm Z}] = w_{\rm Z}$&nbsp; berücksichtigt werden kann.
+
* A&nbsp; "regular code"&nbsp; $($with respect to the LDPC application$)$&nbsp; exists,&nbsp; if the Hamming weight of all rows &nbsp; &#8658; &nbsp; $w_{\rm R}$ and the Hamming weight of all columns &nbsp; &#8658; &nbsp; $w_{\rm C}$ are equal in each case.&nbsp; Otherwise,&nbsp; one speaks of an&nbsp; "irregular LDPC code".
  
 +
* The parity-check matrix&nbsp; $\mathbf{H}$&nbsp; of a conventional linear&nbsp; $(n, \ k)$&nbsp; block code consists of exactly&nbsp; $m = n - k$&nbsp; rows and&nbsp; $n$&nbsp; columns.&nbsp; For LDPC codes,&nbsp;  the requirement is &nbsp; $m &#8805; n - k$.&nbsp; The equal sign is true if the&nbsp; $m$&nbsp; parity-check equations are statistically independent.
  
 +
* From the parity-check matrix&nbsp; $\mathbf{H}$&nbsp; a lower bound for the code rate&nbsp; $R$&nbsp; can be given:
 +
:$$R \ge 1 - \frac{{\rm E}[w_{\rm C}]}{{\rm E}[w_{\rm R}]}
 +
\hspace{0.5cm}{\rm with}\hspace{0.5cm}
 +
{\rm E}[w_{\rm C}] =\frac{1}{n} \cdot  \sum_{i = 1}^{n}w_{\rm C}(i)
 +
\hspace{0.5cm}{\rm and}\hspace{0.5cm}
 +
{\rm E}[w_{\rm R}] =\frac{1}{m} \cdot  \sum_{j = 1}^{ m}w_{\rm R}(j)
 +
\hspace{0.05cm}.$$
  
 +
*This equation applies equally to regular and irregular LDPC codes,&nbsp; where for regular codes holds&nbsp; ${\rm E}[w_{\rm C}] = w_{\rm C}$&nbsp; and&nbsp; ${\rm E}[w_{\rm R}] = w_{\rm R}$.
  
  
Line 36: Line 37:
  
  
 +
<u>Hints:</u>
 +
* This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes|"Basics of the Low&ndash;density Parity&ndash;check codes"]].
  
''Hinweise:''
+
* Reference is made in particular to the page&nbsp; [[Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes#Some_characteristics_of_LDPC_codes|"Some characteristics of LDPC codes"]].
* Die Aufgabe gehört zum Kapitel&nbsp; [[Channel_Coding/Grundlegendes_zu_den_Low%E2%80%93density_Parity%E2%80%93check_Codes| Grundlegendes zu den Low&ndash;density Parity&ndash;check]].
 
* Bezug genommen wird insbesondere auf die Seite&nbsp; [[Channel_Coding/Grundlegendes_zu_den_Low–density_Parity–check_Codes#Einige_Charakteristika_der_LDPC.E2.80.93Codes|Einige Charakteristika der LDPC&ndash;Codes]].
 
  
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Welche Prüfmatrix beschreibt den vorgegebenen Produktcode entsprechend der oberen Skizze?
+
{Which parity-check matrix describes the given product code according to the sketch above?
 
|type="[]"}
 
|type="[]"}
+ $\mathbf{H}_1$&nbsp; unter der Voraussetzung&nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$.
+
+ $\mathbf{H}_1$&nbsp; given&nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$.
- $\mathbf{H}_1$&nbsp; unter der Voraussetzung&nbsp; $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
+
- $\mathbf{H}_1$&nbsp; given&nbsp; $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
+ $\mathbf{H}_2$&nbsp; unter der Voraussetzung&nbsp; $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
+
+ $\mathbf{H}_2$&nbsp; given&nbsp; $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
- $\mathbf{H}_3$&nbsp; unter der Voraussetzung&nbsp; $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
+
- $\mathbf{H}_3$&nbsp; given&nbsp; $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
  
{Für die restlichen Teilaufgaben soll stets von&nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$ ausgegangen werden. <br>Welche Aussagen gelten für die Prüfmatrix&nbsp; $\mathbf{H}_1$?
+
{For the remaining subtasks we shall always assume&nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$. <br>Which statements are valid for the parity-check matrix&nbsp; $\mathbf{H}_1$?
 
|type="[]"}
 
|type="[]"}
+ Der Code ist systematisch.
+
+ The code is systematic.
- Der Code ist regulär.
+
- The code is regular.
- Für die Coderate gilt&nbsp; $R > 1/2$.
+
- For the code rate holds&nbsp; $R > 1/2$.
+ Für die Coderate gilt&nbsp; $R = 1/2$.
+
+ For the code rate holds&nbsp; $R = 1/2$.
  
{Welche Aussagen gelten für die Prüfmatrix&nbsp; $\mathbf{H}_3$?
+
{What statements hold for the parity-check matrix&nbsp; $\mathbf{H}_3$?
 
|type="[]"}
 
|type="[]"}
- Es ist kein Zusammenhang zwischen&nbsp; $\mathbf{H}_1$&nbsp; und&nbsp; $\mathbf{H}_3$&nbsp; erkennbar.
+
- No relation between&nbsp; $\mathbf{H}_1$&nbsp; and&nbsp; $\mathbf{H}_3$&nbsp; is discernible.
+ Die&nbsp; $\mathbf{H}_3$&ndash;Zeilen sind Linearkombinationen von je zwei&nbsp; $\mathbf{H}_1$&ndash;Zeilen.
+
+ The&nbsp; $\mathbf{H}_3$&nbsp; rows are linear combinations of two&nbsp; $\mathbf{H}_1$&nbsp; rows each.
+ Die vier Prüfgleichungen gemäß&nbsp; $\mathbf{H}_3$&nbsp; sind linear unabhängig.
+
+ The four parity-check equations according to&nbsp; $\mathbf{H}_3$&nbsp; are linearly independent.
  
{Welche Aussagen gelten für den durch&nbsp; $\mathbf{H}_3$&nbsp; gekennzeichneten Code?
+
{Which statements apply to the code denoted by&nbsp; $\mathbf{H}_3$&nbsp;?
 
|type="[]"}
 
|type="[]"}
- Der Code ist systematisch.
+
- The code is systematic.
+ Der Code ist regulär.
+
+ The code is regular.
+ Für die Coderate gilt&nbsp; $R &#8805; 1/2$.
+
+ For the code rate holds&nbsp; $R &#8805; 1/2$.
+ Für die Coderate gilt&nbsp; $R = 1/2$.
+
+ For the code rate holds&nbsp; $R = 1/2$.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 3</u>:
+
'''(1)'''&nbsp; Correct are the&nbsp; <u>solutions 1 and 3</u>:
*Mit der Codewortdefinition $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$ bezeichnet die Prüfmatrix $\mathbf{H}_1$ folgende Prüfgleichungen:
+
*With the code word definition &nbsp; $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$,&nbsp; the parity-check matrix&nbsp; $\mathbf{H}_1$&nbsp; denotes the following check equations:
 
:$$u_1 \oplus u_2 \oplus p_1 = 0\hspace{0.05cm},\hspace{0.3cm}
 
:$$u_1 \oplus u_2 \oplus p_1 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_3 \oplus u_4 \oplus p_2 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_3 \oplus u_4 \oplus p_2 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_1 \oplus u_3 \oplus p_3 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_1 \oplus u_3 \oplus p_3 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_2 \oplus u_4 \oplus p_4 = 0\hspace{0.05cm}.$$
 
u_2 \oplus u_4 \oplus p_4 = 0\hspace{0.05cm}.$$
*Dies entspricht genau den vorne getroffenen Annahmen. Das gleiche Ergebnis erhält man für $\mathbf{H}_2$ und der Codewortdefinition $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
+
*This corresponds exactly to the assumptions made above.  
  
 +
*The same result is obtained for&nbsp; $\mathbf{H}_2$&nbsp; and the code word definition &nbsp;  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
  
Bei gleicher Codewortdefinition $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$ liefern die anderen Prüfmatrizen keinen sinnvollen Gleichungssatz:
+
 
* Entsprechend Prüfmatrix $\mathbf{H}_1$:
+
With the same code word definition $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$ the other parity-check matrices do not yield a meaningful set of equations:
 +
* According to parity-check matrix $\mathbf{H}_1$:
 
:$$u_1 \oplus p_1 \oplus u_3 = 0\hspace{0.05cm},\hspace{0.3cm}
 
:$$u_1 \oplus p_1 \oplus u_3 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_2 \oplus p_2 \oplus p_3 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_2 \oplus p_2 \oplus p_3 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_1 \oplus u_2 \oplus u_4 = 0\hspace{0.05cm},\hspace{0.3cm}
 
u_1 \oplus u_2 \oplus u_4 = 0\hspace{0.05cm},\hspace{0.3cm}
 
p_1 \oplus p_2 \oplus p_4 = 0\hspace{0.05cm};$$
 
p_1 \oplus p_2 \oplus p_4 = 0\hspace{0.05cm};$$
* entsprechend Prüfmatrix $\mathbf{H}_3$:
+
* corresponding to parity-check matrix $\mathbf{H}_3$:
 
:$$u_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_2 \hspace{-0.12cm}\oplus\hspace{-0.06cm} u_3  \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_4 \hspace{-0.05cm} = \hspace{-0.05cm} 0\hspace{0.05cm},\hspace{0.15cm}
 
:$$u_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_2 \hspace{-0.12cm}\oplus\hspace{-0.06cm} u_3  \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_4 \hspace{-0.05cm} = \hspace{-0.05cm} 0\hspace{0.05cm},\hspace{0.15cm}
 
u_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_2  \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_3  \hspace{-0.12cm}\oplus\hspace{-0.06cm}u_4  \hspace{-0.05cm} = \hspace{-0.05cm}  0\hspace{0.05cm},\hspace{0.15cm}
 
u_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_2  \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_3  \hspace{-0.12cm}\oplus\hspace{-0.06cm}u_4  \hspace{-0.05cm} = \hspace{-0.05cm}  0\hspace{0.05cm},\hspace{0.15cm}
Line 97: Line 100:
  
  
'''(2)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 4</u>:
+
'''(2)'''&nbsp; Correct are the&nbsp; <u>proposed solutions 1 and 4</u>:
* Der Code ist systematisch, weil $\mathbf{H}_1$ mit einer $4 &times 4$&ndash;Diagonalmatrix endet.
+
* The code is systematic because&nbsp; $\mathbf{H}_1$ &nbsp;ends with a&nbsp; $4 &times 4$&nbsp; diagonal matrix.
* Bei einem regulären (LDPC)&ndash;Code müssten in jeder Zeile und in jeder Spalte gleich viele Einsen sein.  
+
 
*Die erste Bedingung ist erfüllt $(w_{\rm Z} = 3)$, nicht aber die zweite. Vielmehr gibt es (gleich oft) eine Eins bzw. zwei Einsen pro Spalte &nbsp;&#8658;&nbsp; ${\rm E}[w_{\rm S}] = 1.5$.
+
*For a regular (LDPC) code,&nbsp; there should be an equal number of&nbsp; "ones"&nbsp; in each row and in each column.  
* Bei einem irregulären Code lautet die untere Schranke für die Coderate:
+
 
:$$R \ge 1 - \frac{{\rm E}[w_{\rm S}]}{{\rm E}[w_{\rm Z}]}
+
*The first condition is satisfied&nbsp; $(w_{\rm R} = 3)$,&nbsp; but not the second.&nbsp; Rather,&nbsp; there is&nbsp; (equally often)&nbsp; one&nbsp; "one"&nbsp; or two&nbsp; "ones"&nbsp; per column &nbsp; &#8658; &nbsp; ${\rm E}[w_{\rm C}] = 1.5$.
 +
 
 +
* For an irregular code,&nbsp; the lower bound for the code rate is:
 +
:$$R \ge 1 - \frac{{\rm E}[w_{\rm C}]}{{\rm E}[w_{\rm R}]}
 
= 1 - \frac{1.5}{3} = 1/2
 
= 1 - \frac{1.5}{3} = 1/2
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
  
* Wegen der gegebenen Codestruktur ($k = 4$ Informationsbits, $m = 4$ Prüfbits &nbsp;&#8658;&nbsp; $n = 8$ Codebits) ist hier die Coderate auch in der herkömmlichen Form angebbar: $R = k/n$ &nbsp; &#8658; &nbsp; Richtig ist Lösungsvorschlag 4 im Gegensatz zur Antwort 3.
+
* Because of the given code structure&nbsp; $(k = 4$&nbsp; information bits,&nbsp; $m = 4$&nbsp; check bits &nbsp; &#8658; &nbsp; $n = 8$&nbsp; encoded bits$)$&nbsp; the code rate can also be given in the conventional form:&nbsp; $R = k/n$ &nbsp; &#8658; &nbsp; Correct is solution 4 in contrast to answer 3.
 +
 
 +
 
 +
 
 +
'''(3)'''&nbsp; The&nbsp; $\mathbf{H}_3$&nbsp; rows result from linear combinations of&nbsp; $\mathbf{H}_1$&nbsp; rows:
 +
* The first&nbsp; $\mathbf{H}_3$&nbsp; row is the sum of row 1 and row 4.
 +
 
 +
* The second&nbsp; $\mathbf{H}_3$&nbsp; row is the sum of row 2 and row 3.
 +
 
 +
* The third&nbsp; $\mathbf{H}_3$&nbsp; row is the sum of row 1 and row 3.
 +
 
 +
* The fourth&nbsp; $\mathbf{H}_3$&nbsp; row is the sum of row 2 and row 4.
  
  
 +
By linear combinations,&nbsp; the four linearly independent equations with respect&nbsp; to $\mathbf{H}_1$&nbsp; now become four linearly independent equations with respect to&nbsp; $\mathbf{H}_3$ &nbsp; <br>&#8658; &nbsp;  Therefore,&nbsp; the&nbsp; <u>proposed solutions 2 and 3</u>&nbsp; are correct.
  
'''(3)'''&nbsp; Die $\mathbf{H}_3$&ndash;Zeilen ergeben sich aus Linearkombinationen von $\mathbf{H}_1$&ndash;Zeilen:
 
* Die erste $\mathbf{H}_3$&ndash;Zeile ist die Summe von Zeile 1 und Zeile 4.
 
* Die zweite $\mathbf{H}_3$&ndash;Zeile ist die Summe von Zeile 2 und Zeile 3.
 
* Die dritte $\mathbf{H}_3$&ndash;Zeile ist die Summe von Zeile 1 und Zeile 3.
 
* Die vierte $\mathbf{H}_3$&ndash;Zeile ist die Summe von Zeile 2 und Zeile 4.
 
  
 +
'''(4)'''&nbsp; Here,&nbsp; <u>solutions 2, 3, and 4</u>&nbsp; are correct:
 +
* If the code described by&nbsp; $\mathbf{H}_3$&nbsp; were systematic,&nbsp; $\mathbf{H}_3$&nbsp; should end with a&nbsp; $4 &times 4$&nbsp; diagonal matrix.&nbsp; This is not the case here.
  
Durch Linearkombinationen werden aus den vier linear unabhängigen Gleichungen bezüglich $\mathbf{H}_1$ nun vier linear unabhängige Gleichungen bezüglich $\mathbf{H}_3$ &nbsp; <br>&#8658; &nbsp; Richtig sind also die <u>Lösungsvorschläge 2 und 3</u>.
+
* The Hamming weights of all rows are equal&nbsp; $(w_{\rm R} = 4)$&nbsp; and also all columns each have the same Hamming weight&nbsp; $(w_{\rm C} = 2)$ &nbsp; &#8658; &nbsp; the code is regular.
  
 +
* This gives&nbsp; $R &#8805; 1 - 2/4 = 1/2$&nbsp; for the code rate.&nbsp;
  
'''(4)'''&nbsp; Hier sind die <u>Lösungsvorschläge 2, 3 und 4</u> richtig:
+
*But since the four rows of&nbsp; $\mathbf{H}_3$&nbsp; also describe four independent equations,&nbsp; the equal sign &nbsp; &#8658; &nbsp; $R = 1/2$&nbsp; also holds.
* Wäre der durch $\mathbf{H}_3$ beschriebene Code systematisch, müsste $\mathbf{H}_3$ mit einer $4 &times 4$&ndash;Diagonalmatrix enden. Dies ist hier nicht der Fall.
 
* Die Hamming&ndash;Gewichte aller Zeilen sind gleich $(w_{\rm Z} = 4)$ und auch alle Spalten haben jeweils das gleiche Hamming&ndash;Gewicht $(w_{\rm S} = 2)$ &nbsp; &#8658; &nbsp; der Code ist regulär.
 
* Daraus ergibt sich für die Coderate $R &#8805; 1 - 2/4 = 1/2$. Da aber auch die vier Zeilen von $\mathbf{H}_3$ vier unabhängige Gleichungen beschreiben, gilt ebenfalls das Gleichheitszeichen &nbsp; &#8658; &nbsp; $R = 1/2$.
 
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Latest revision as of 18:20, 19 December 2022

Product code described by the parity-check matrix  $\mathbf{H}$

In the adjacent graphic,  a product code is indicated at the top,  which is characterized by the following parity-check equations:

$$p_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_1 \oplus u_2\hspace{0.05cm},$$
$$p_2 = u_3 \oplus u_4\hspace{0.05cm},$$
$$p_3 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_1 \oplus u_3\hspace{0.05cm},$$
$$p_4 = u_2 \oplus u_4\hspace{0.05cm}.$$

Below are given the check matrices  $\mathbf{H}_1, \ \mathbf{H}_2$  and  $\mathbf{H}_3$.  To be checked:  Which of the matrices correctly describe the given product code according to the equation  $\underline{x} = \underline{u} \cdot \mathbf{H}^{\rm T}$  assuming the following definitions:

  • the code word  $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$,
  • the code word  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.


All  $\mathbf{H}$  matrices contain fewer  "ones"  than  "zeros".  This is a characteristic of the so-called  "low–density parity–check codes"  $($short:  $\rm LDPC$ codes$)$.  In the case of LDPC codes relevant to practice,  however,  the share of  "ones"  is still significantly lower than in these examples.

Furthermore, note for the exercise:

  • An  $(n, \ k)$  $\underline{x} = \underline{u} \cdot \mathbf{H}^{\rm T}$  block code is systematic if the first  $k$  bits of the code word  $\underline{x}$  contains the information word  $\underline{u}$.  With the code word  $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$  the parity-check matrix  $\mathbf{H}$  must then end with a  $k × k$ diagonal matrix.
  • A  "regular code"  $($with respect to the LDPC application$)$  exists,  if the Hamming weight of all rows   ⇒   $w_{\rm R}$ and the Hamming weight of all columns   ⇒   $w_{\rm C}$ are equal in each case.  Otherwise,  one speaks of an  "irregular LDPC code".
  • The parity-check matrix  $\mathbf{H}$  of a conventional linear  $(n, \ k)$  block code consists of exactly  $m = n - k$  rows and  $n$  columns.  For LDPC codes,  the requirement is   $m ≥ n - k$.  The equal sign is true if the  $m$  parity-check equations are statistically independent.
  • From the parity-check matrix  $\mathbf{H}$  a lower bound for the code rate  $R$  can be given:
$$R \ge 1 - \frac{{\rm E}[w_{\rm C}]}{{\rm E}[w_{\rm R}]} \hspace{0.5cm}{\rm with}\hspace{0.5cm} {\rm E}[w_{\rm C}] =\frac{1}{n} \cdot \sum_{i = 1}^{n}w_{\rm C}(i) \hspace{0.5cm}{\rm and}\hspace{0.5cm} {\rm E}[w_{\rm R}] =\frac{1}{m} \cdot \sum_{j = 1}^{ m}w_{\rm R}(j) \hspace{0.05cm}.$$
  • This equation applies equally to regular and irregular LDPC codes,  where for regular codes holds  ${\rm E}[w_{\rm C}] = w_{\rm C}$  and  ${\rm E}[w_{\rm R}] = w_{\rm R}$.



Hints:


Questions

1

Which parity-check matrix describes the given product code according to the sketch above?

$\mathbf{H}_1$  given  $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$.
$\mathbf{H}_1$  given  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
$\mathbf{H}_2$  given  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.
$\mathbf{H}_3$  given  $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.

2

For the remaining subtasks we shall always assume  $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$.
Which statements are valid for the parity-check matrix  $\mathbf{H}_1$?

The code is systematic.
The code is regular.
For the code rate holds  $R > 1/2$.
For the code rate holds  $R = 1/2$.

3

What statements hold for the parity-check matrix  $\mathbf{H}_3$?

No relation between  $\mathbf{H}_1$  and  $\mathbf{H}_3$  is discernible.
The  $\mathbf{H}_3$  rows are linear combinations of two  $\mathbf{H}_1$  rows each.
The four parity-check equations according to  $\mathbf{H}_3$  are linearly independent.

4

Which statements apply to the code denoted by  $\mathbf{H}_3$ ?

The code is systematic.
The code is regular.
For the code rate holds  $R ≥ 1/2$.
For the code rate holds  $R = 1/2$.


Solution

(1)  Correct are the  solutions 1 and 3:

  • With the code word definition   $\underline{x} = (u_1, \, u_2, \, u_3, \, u_4, \, p_1, \, p_2, \, p_3, \, p_4)$,  the parity-check matrix  $\mathbf{H}_1$  denotes the following check equations:
$$u_1 \oplus u_2 \oplus p_1 = 0\hspace{0.05cm},\hspace{0.3cm} u_3 \oplus u_4 \oplus p_2 = 0\hspace{0.05cm},\hspace{0.3cm} u_1 \oplus u_3 \oplus p_3 = 0\hspace{0.05cm},\hspace{0.3cm} u_2 \oplus u_4 \oplus p_4 = 0\hspace{0.05cm}.$$
  • This corresponds exactly to the assumptions made above.
  • The same result is obtained for  $\mathbf{H}_2$  and the code word definition   $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$.


With the same code word definition $\underline{x} = (u_1, \, p_1, \, u_2, \, p_2, \, u_3, \, p_3, \, u_4, \, p_4)$ the other parity-check matrices do not yield a meaningful set of equations:

  • According to parity-check matrix $\mathbf{H}_1$:
$$u_1 \oplus p_1 \oplus u_3 = 0\hspace{0.05cm},\hspace{0.3cm} u_2 \oplus p_2 \oplus p_3 = 0\hspace{0.05cm},\hspace{0.3cm} u_1 \oplus u_2 \oplus u_4 = 0\hspace{0.05cm},\hspace{0.3cm} p_1 \oplus p_2 \oplus p_4 = 0\hspace{0.05cm};$$
  • corresponding to parity-check matrix $\mathbf{H}_3$:
$$u_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_2 \hspace{-0.12cm}\oplus\hspace{-0.06cm} u_3 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_4 \hspace{-0.05cm} = \hspace{-0.05cm} 0\hspace{0.05cm},\hspace{0.15cm} u_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_2 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_3 \hspace{-0.12cm}\oplus\hspace{-0.06cm}u_4 \hspace{-0.05cm} = \hspace{-0.05cm} 0\hspace{0.05cm},\hspace{0.15cm} p_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} u_2 \hspace{-0.12cm}\oplus\hspace{-0.06cm} u_3 \hspace{-0.12cm}\oplus\hspace{-0.06cm}u_4 \hspace{-0.05cm} = \hspace{-0.05cm} 0\hspace{0.05cm},\hspace{0.15cm} p_1 \hspace{-0.12cm}\oplus\hspace{-0.06cm} u_2 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_3 \hspace{-0.12cm}\oplus\hspace{-0.06cm} p_4 \hspace{-0.05cm} = \hspace{-0.05cm} 0\hspace{0.05cm}.$$


(2)  Correct are the  proposed solutions 1 and 4:

  • The code is systematic because  $\mathbf{H}_1$  ends with a  $4 × 4$  diagonal matrix.
  • For a regular (LDPC) code,  there should be an equal number of  "ones"  in each row and in each column.
  • The first condition is satisfied  $(w_{\rm R} = 3)$,  but not the second.  Rather,  there is  (equally often)  one  "one"  or two  "ones"  per column   ⇒   ${\rm E}[w_{\rm C}] = 1.5$.
  • For an irregular code,  the lower bound for the code rate is:
$$R \ge 1 - \frac{{\rm E}[w_{\rm C}]}{{\rm E}[w_{\rm R}]} = 1 - \frac{1.5}{3} = 1/2 \hspace{0.05cm}.$$
  • Because of the given code structure  $(k = 4$  information bits,  $m = 4$  check bits   ⇒   $n = 8$  encoded bits$)$  the code rate can also be given in the conventional form:  $R = k/n$   ⇒   Correct is solution 4 in contrast to answer 3.


(3)  The  $\mathbf{H}_3$  rows result from linear combinations of  $\mathbf{H}_1$  rows:

  • The first  $\mathbf{H}_3$  row is the sum of row 1 and row 4.
  • The second  $\mathbf{H}_3$  row is the sum of row 2 and row 3.
  • The third  $\mathbf{H}_3$  row is the sum of row 1 and row 3.
  • The fourth  $\mathbf{H}_3$  row is the sum of row 2 and row 4.


By linear combinations,  the four linearly independent equations with respect  to $\mathbf{H}_1$  now become four linearly independent equations with respect to  $\mathbf{H}_3$  
⇒   Therefore,  the  proposed solutions 2 and 3  are correct.


(4)  Here,  solutions 2, 3, and 4  are correct:

  • If the code described by  $\mathbf{H}_3$  were systematic,  $\mathbf{H}_3$  should end with a  $4 × 4$  diagonal matrix.  This is not the case here.
  • The Hamming weights of all rows are equal  $(w_{\rm R} = 4)$  and also all columns each have the same Hamming weight  $(w_{\rm C} = 2)$   ⇒   the code is regular.
  • This gives  $R ≥ 1 - 2/4 = 1/2$  for the code rate. 
  • But since the four rows of  $\mathbf{H}_3$  also describe four independent equations,  the equal sign   ⇒   $R = 1/2$  also holds.