Aufgaben:Exercise 4.12: Regular and Irregular Tanner Graph: Difference between revisions

From LNTwww
Noah (talk | contribs)
No edit summary
No edit summary
Line 1: Line 1:
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes}}
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes}}


[[File:P_ID3072__KC_A_4_12_v1.png|right|frame|Given Tanner graph for code  $\rm A$]]
[[File:P_ID3072__KC_A_4_12_v1.png|right|frame|Tanner graph for code  $\rm A$]]
Dargestellt ist ein Tanner–Graph eines Codes  $\rm A$  mit
Shown is a Tanner graph of a code  $\rm A$  with
* the&nbsp; <i>variable nodes</i>&nbsp; (abbreviated VNs)&nbsp; $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ V_6$, where&nbsp; $V_i$&nbsp; denotes the&nbsp; $i$th code word bit (whether information&ndash; or parity bit) and corresponds to the&nbsp; $i$th column of the parity-check matrix;
* the&nbsp; variable nodes&nbsp; $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ V_6$,&nbsp;. where&nbsp; $V_i$&nbsp; denotes the&nbsp; $i$<sup>th</sup>&nbsp; code word bit&nbsp; $($whether information bit or parity bit$)$&nbsp; and corresponds to the&nbsp; $i$<sup>th</sup>&nbsp; column of the parity-check matrix;
* the&nbsp; check nodes</i>&nbsp; (abbreviated CNs)&nbsp; $C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_3$, which represent the rows of the&nbsp; $\mathbf{H}_{\rm A}$ matrix and hence the parity-check equations.


* the&nbsp; check nodes</i>&nbsp; $C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_3$,&nbsp; which represent the rows of the&nbsp; $\mathbf{H}_{\rm A}$&nbsp; matrix and hence the parity-check equations.


An edge between&nbsp; $V_i$&nbsp; and&nbsp; $C_j$&nbsp; indicates that the&nbsp; $i$th code word symbol is involved in the&nbsp; $j$th parity-check equation. In this case, the element&nbsp; $h_{j,\hspace{0.05cm}i}$&nbsp; of the parity-check matrix is equal&nbsp; $1$.


An edge between&nbsp; $V_i$&nbsp; and&nbsp; $C_j$&nbsp; indicates that the&nbsp; $i$<sup>th</sup>&nbsp; code word symbol is involved in the&nbsp; $j$<sup>th</sup>&nbsp; parity-check equation.&nbsp; In this case,&nbsp; the element&nbsp; $h_{j,\hspace{0.05cm}i}$&nbsp; of the parity-check matrix is equal&nbsp; $1$.


In the exercise, the relation between the above Tanner&ndash;graph &nbsp;$($valid for the code&nbsp; $\rm A)$&nbsp; and the matrix&nbsp; $\mathbf{H}_{\rm A}$&nbsp; shall be given. In addition, the Tanner&ndash;graph to a parity-check matrix&nbsp; $\mathbf{H}_{\rm B}$&nbsp; shall be set up, resulting from&nbsp; $\mathbf{H}_{\rm A}$&nbsp; adding another row. This is to be determined so that the associated code&nbsp; $\rm B$&nbsp; is regular. This means:
In this exercise, the relation between the above Tanner graph &nbsp;$($valid for the code&nbsp; $\rm A)$&nbsp; and the matrix&nbsp; $\mathbf{H}_{\rm A}$&nbsp; shall be given.&nbsp;  
* From all&nbsp; <i>variable nodes</i>&nbsp; $V_i$&nbsp; $($with&nbsp; $1 &#8804; i &#8804; n)$&nbsp; go off equal numbers of edges, likewise from all&nbsp; <i>check nodes</i>&nbsp; $C_j$&nbsp; $($with&nbsp; $1 &#8804; j &#8804; m)$.
* The Hamming weights of all rows of&nbsp; $\mathbf{H}_{\rm B}$&nbsp; are each said to be equal&nbsp; $(w_{\rm Z})$, as are the Hamming&ndash;weights of all columns&nbsp; $(w_{\rm S})$.
* For the rate of the regular code to be constructed&nbsp;$\rm B$&nbsp; the following lower bound then applies:
:$$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}}
\hspace{0.05cm}.$$


In addition,&nbsp; the Tanner graph to a parity-check matrix&nbsp; $\mathbf{H}_{\rm B}$&nbsp; shall be set up,&nbsp; resulting from&nbsp; $\mathbf{H}_{\rm A}$&nbsp; adding another row.&nbsp; This is to be determined so that the associated code&nbsp; $\rm B$&nbsp; is regular.&nbsp; This means:
* From all&nbsp; variable nodes&nbsp; $V_i$&nbsp; $($with&nbsp; $1 &#8804; i &#8804; n)$&nbsp; go off an equal number of edges,&nbsp; <br>likewise from all&nbsp; check nodes&nbsp; $C_j$&nbsp; $($with&nbsp; $1 &#8804; j &#8804; m)$.


* The Hamming weights of all rows of&nbsp; $\mathbf{H}_{\rm B}$&nbsp; are each said to be equal&nbsp; $(w_{\rm R})$,&nbsp; as are the Hamming weights of all columns&nbsp; $(w_{\rm C})$.


* For the rate of the regular code&nbsp;$\rm B$&nbsp; to be constructed,&nbsp; the following lower bound then applies:
:$$R \ge 1 - \frac{w_{\rm C}}{w_{\rm R}}
\hspace{0.05cm}.$$








<u>Hints:</u>
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes|"Basics of Low&ndash;density Parity&ndash;check Codes"]].


Hints:
*Reference is made in particular to the section&nbsp; [[Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes#Two-part_LDPC_graph_representation_-_Tanner_graph|"Two-part LDPC graph representation &ndash; Tanner graph"]].
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes|"Basics of Low&ndash;density Parity&ndash;check Codes"]].
*Reference is made in particular to the page&nbsp; [[Channel_Coding/The_Basics_of_Low-Density_Parity_Check_Codes#Two-part_LDPC_graph_representation_-_Tanner_graph|"Two-part LDPC graph representation &ndash; Tanner graph"]].
   
   


Line 41: Line 42:
{Which statements are true based on the Tanner graph?
{Which statements are true based on the Tanner graph?
|type="[]"}
|type="[]"}
+ The row 1 of&nbsp; $\mathbf{H}_{\rm A}$&ndash;matrix is&nbsp; "$1 \ 1 \ 0 \ 1 \ 0 \ 0$".
+ The row 1 of the&nbsp; $\mathbf{H}_{\rm A}$&nbsp; matrix is&nbsp; "$1 \ 1 \ 0 \ 1 \ 0 \ 0$".
- The row 2 of&nbsp; $\mathbf{H}_{\rm A}$&ndash;matrix is&nbsp; "$1 \ 0 \ 1 \ 0 \ 0 \ 1$".
- The row 2 of the&nbsp; $\mathbf{H}_{\rm A}$&nbsp; matrix is&nbsp; "$1 \ 0 \ 1 \ 0 \ 0 \ 1$".
+ The row 3 of&nbsp; $\mathbf{H}_{\rm A}$&ndash;matrix is&nbsp; "$0 \ 1 \ 1 \ 0 \ 0 \ 1$".
+ The row 3 of the&nbsp; $\mathbf{H}_{\rm A}$&nbsp; matrix is&nbsp; "$0 \ 1 \ 1 \ 0 \ 0 \ 1$".


{What are the properties of the code&nbsp; $\rm A$&nbsp;?
{What are the properties of code&nbsp; $\rm A$&nbsp;?
|type="[]"}
|type="[]"}
+ The code is systematic.
+ The code is systematic.
Line 52: Line 53:
- The code rate is&nbsp; $R = 1/3$.
- The code rate is&nbsp; $R = 1/3$.


{The matrix&nbsp; $\mathbf{H}_{\rm B}$&nbsp; is obtained from&nbsp; $\mathbf{H}_{\rm A}$&nbsp; by adding one more row. By which fourth row does a regular code&nbsp; $\rm B$ result?
{The matrix&nbsp; $\mathbf{H}_{\rm B}$&nbsp; is obtained from&nbsp; $\mathbf{H}_{\rm A}$&nbsp; by adding one more row.&nbsp; By which fourth row does a regular code&nbsp; $\rm B$&nbsp; result?
|type="[]"}
|type="[]"}
+By adding "$0 \ 0 \ 0 \ 1 \ 1 \ 1$".
+By adding "$0 \ 0 \ 0 \ 1 \ 1 \ 1$".
Line 58: Line 59:
- By adding any other row.
- By adding any other row.


{What are the properties of the code&nbsp; $\rm B$&nbsp;?
{What are the properties of code&nbsp; $\rm B$?
|type="[]"}
|type="[]"}
- The code is systematic.
- The code is systematic.

Revision as of 17:23, 17 December 2022

Tanner graph for code  $\rm A$

Shown is a Tanner graph of a code  $\rm A$  with

  • the  variable nodes  $V_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ V_6$, . where  $V_i$  denotes the  $i$th  code word bit  $($whether information bit or parity bit$)$  and corresponds to the  $i$th  column of the parity-check matrix;
  • the  check nodes  $C_1, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \ C_3$,  which represent the rows of the  $\mathbf{H}_{\rm A}$  matrix and hence the parity-check equations.


An edge between  $V_i$  and  $C_j$  indicates that the  $i$th  code word symbol is involved in the  $j$th  parity-check equation.  In this case,  the element  $h_{j,\hspace{0.05cm}i}$  of the parity-check matrix is equal  $1$.

In this exercise, the relation between the above Tanner graph  $($valid for the code  $\rm A)$  and the matrix  $\mathbf{H}_{\rm A}$  shall be given. 

In addition,  the Tanner graph to a parity-check matrix  $\mathbf{H}_{\rm B}$  shall be set up,  resulting from  $\mathbf{H}_{\rm A}$  adding another row.  This is to be determined so that the associated code  $\rm B$  is regular.  This means:

  • From all  variable nodes  $V_i$  $($with  $1 ≤ i ≤ n)$  go off an equal number of edges, 
    likewise from all  check nodes  $C_j$  $($with  $1 ≤ j ≤ m)$.
  • The Hamming weights of all rows of  $\mathbf{H}_{\rm B}$  are each said to be equal  $(w_{\rm R})$,  as are the Hamming weights of all columns  $(w_{\rm C})$.
  • For the rate of the regular code $\rm B$  to be constructed,  the following lower bound then applies:
$$R \ge 1 - \frac{w_{\rm C}}{w_{\rm R}}

\hspace{0.05cm}.$$



Hints:



Questions

1 How many rows  $(m)$  and columns  $(n)$  does the parity-check matrix  $\mathbf{H}_{\rm A}$ have?

$m \hspace{0.18cm} = \ $
$n \hspace{0.3cm} = \ $

2 Which statements are true based on the Tanner graph?

The row 1 of the  $\mathbf{H}_{\rm A}$  matrix is  "$1 \ 1 \ 0 \ 1 \ 0 \ 0$".
The row 2 of the  $\mathbf{H}_{\rm A}$  matrix is  "$1 \ 0 \ 1 \ 0 \ 0 \ 1$".
The row 3 of the  $\mathbf{H}_{\rm A}$  matrix is  "$0 \ 1 \ 1 \ 0 \ 0 \ 1$".

3 What are the properties of code  $\rm A$ ?

The code is systematic.
The code is regular.
The code rate is  $R = 1/2$.
The code rate is  $R = 1/3$.

4 The matrix  $\mathbf{H}_{\rm B}$  is obtained from  $\mathbf{H}_{\rm A}$  by adding one more row.  By which fourth row does a regular code  $\rm B$  result?

By adding "$0 \ 0 \ 0 \ 1 \ 1 \ 1$".
By adding "$1 \ 1 \ 1 \ 1 \ 1 \ 1$".
By adding any other row.

5 What are the properties of code  $\rm B$?

The code is systematic.
The code is regular.
The code rate is  $R = 1/2$.
The code rate is  $R = 1/3$.


Solutiojn

(1)  The number of $\mathbf{H}_{\rm A}$–rows is equal to the number of check nodes $C_j$ in the Tanner graph  ⇒  $\underline{m = 3}$, and the number $\underline{n = 6}$ of variable nodes $V_i$ is equal to the column number.


(2)  Correct are answers 1 and 3 in contrast to statement 2:

  • The second $\mathbf{H}_{\rm A}$–row is rather "$1 \ 0 \ 1 \ 0 \ 1 \ 0$". Thus, this exercise is based on the following parity-check equation:
Underlying parity-check equations
$${ \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}.$$

  • In the diagram, the parity-check equations are illustrated as red (row 1), green (row 2), and blue (row 3) groupings, respectively.


(3)  Correct are solutions 1 and 3:

  • The $\mathbf{H}$ matrix ends with a $3 &times 3$ diagonal matrix   ⇒   systematic code.
  • Thus, the Hamming weights of the last three columns are $w_{\rm S}(4) = w_{\rm S}(5) = w_{\rm S}(6) = 1$.
  • For the first three columns, $w_{\rm S}(1) = w_{\rm S}(2) = w_{\rm S}(3) = 2$   ⇒   irregular code.
  • The three matrix rows are linearly independent. Thus $k = n - m = 6 - 3 = 3$ and $R = k/n = 1/2$ holds.


Modified Tanner graph for code $\rm B$

(4)  Correct is the proposed solution 1:

  • Looking at the previous Tanner–s graph, one can see the correctness of proposed solution 1.
  • By adding the row "$0 \ 0 \ 0 \ 1 \ 1 \ 1$" to the $\mathbf{H}_{\rm A}$ matrix, one obtains:
$${ \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}.$$

The modifications are marked in red in the adjacent graphic.

Due to the newly added check node $C_4$ and the connections with $V_4, \ V_5$ and $V_6$, there are now

  • from all variable nodes $V_i$ two lines, and
  • from all Check Nodes $C_j$ uniformly four.


This is the condition for the code $\rm B$ to be regular.


(5)  Correct are the solutions 2 and 3:

  • The construction in subtask (4) yields a regular code.
  • The Hamming weights of the rows and columns, respectively, are $w_{\rm Z} = 3$ and $w_{\rm S} = 2$.
  • This gives as lower bound for the code rate:
$$R \ge 1 - \frac{w_{\rm S}}{w_{\rm Z}}

= 1 - {2}/{3} = 1/3 \hspace{0.05cm}.$$

  • The $\mathbf{H}$ manipulation does not change the generator matrix $\mathbf{G}$.
  • The same code is still sent with code rate $R = 1/2$.