A. Basics of LDPC codes
Low-Density Parity-Check Codes (LDPC) are special types of linear block codes which having huge codeword length. These LDPC codes were designed by Robert Gallager [3]. However, these codes were not generally utilized because of their high computing complexity nature. In 1996, Mackay and Neal [4] rethought LDPC codes, they demonstrate theirs close as far as possible execution LDPC codes have better error controlling execution as contrasted to Turbo codes with huge block length and lower decoding complexity nature. LDPC codes are represented by the accompanying subsequent important characteristics:
- Improved execution as contrasted to Turbo code
- Lower computational nature
- Higher adaptability because of parallel ability
- High throughput
With their exceptional highlights and execution, LDPC codes are utilized in various applications, for e.g., 5G [5].
B. Matrix Representation of LDPC codes
We can indicate LDPC codes as (n, Wc, Wr), wherever n is the code length, Wc is the section weight and Wr is the column weight. In standard LDPC codes, Wc and Wr stay invariant among entire rows and columns, whereas in irregular codes, Wc and Wr are vary among various rows and columns. All types of LDPC codes [6], must fulfil following equation
HTX=0 | (1) |
wherever X is a code word and H is parity check matrix. A matrix is sparse if at least half the numbers of elements in its H matrix have zero value. The term low density refers to the low concentration of ones in the parity check matrix of LDPC codes. Let, there be k sources bits in every n - bits codeword. At that point, H is a matrix given by (n-k) rows, each representing generation of one check bit and n columns. Here we take (8, 4) LDPC code, whose parity check matrix is |
Note: For the code under consideration Wc = 2 and Wr =4.
C. Tanner Graph Representation of LDPC codes
Tanner charts are called bipartite diagrams, which can be utilized to characterize LDPC codes. In Tanner charts, nodes characterize into two classes: check nodes and variable nodes, where variable node represents one column of the parity check matrix, and check nodes, represent one row of the parity check matrix. Figure 1 is a case of a bipartite Tanner chart for the LDPC code demonstrated to by parity check matrix represented in Eq. (2), in which (C1, C2, C3, C4) represent row message bits and (V1, V2, V3…. V8) represents column values (code word).
D. Experimental Result & Performance of LDPC code:
For performance evolution, MATLAB simulation of LDPC code shown in Fig. 2. Here compares the performance of LDPC code with the different code rate. From the graphs we can conclude that codes with a short length are used for low or medium code rates and codes with a long length like LDPC are used for higher code rate. LDPC code are long code which lead to large latency (1000 bits or so) and required higher power consumption. Low latency, lower power consumption and short block length codes are very much in need. Improvement for short block length are still open.
E. LDPC Prptograph
A protograph is a Tanner graph which is repeat to make a bigger graph. Protograph [7] construction is way of constructing parity check matrix. First define the base matrix or photo matrix which is expanded to get the actual parity check. These expansions are done by right shift permutation matrices. For ith generally small number of nodes, associated by few edges, permitting parallel edges between two nodes. A protograph is typically represented by a protomatrix, i.e., a matrix whose entries indicate the number of edges connecting the respective variable and check nodes. Therefore, unlike the parity check matrix, the protomatrix is in general non-binary. A simple example of a protograph is shown in Fig. 3.
This chart comprises of 3 variable nodes and 2 check hubs that are interrelated by 7 diverse edge (variable-to-check) types. The inferred diagram is developed by imitating the protograph multiple times and permuting variable-to-check pairings inside a similar edge kind of the protograph. For instance, the protomatrix of protograph in Fig. 2. is in the accompanying structure
where the lines and sections speak to the check nodes and variable nodes in the chart separately. The (i; j) component of the protomatrix shows the quantity of parallel edges that associate the check node i and the variable node j. The protograph code diagram has N times the same number of nodes as the protograph, however contrasted and the protograph it has a similar rate just as a similar degree appropriation for both variable and check nodes. Protograph LDPC codes are a subclass of multi-edge type LDPC codes where each edge of a protograph is one edge type. Protograph codes can accomplish limit moving toward execution with low encoder multifaceted nature just as quick disentangling [8]