On LDPC codes corresponding to aﬃne parts of generalized polygons

In this paper we describe how to use special induced subgraphs of generalized m -gons to obtain the LDPC error correcting codes. We compare the properties of codes related to the aﬃne parts of q -regular generalised 6-gons with the properties of known LDPC codes corresponding to the graphs D (5 ; q )


Introduction
Tools of Coding theory have to be used together with cryptographic algorithms. Even a unique error during the transmission of ciphertext can make the decryption impossible. It is interesting that the same families of special graphs can be effectively used both in Coding Theory and Cryptography.
Information is always transmitted through the communication channel, which can be air, telephone line, beam of light or cable. It is usually very important for the recipient to receive exactly the same message as was given. Unfortunately, messages are usually exposed to interference, which could cause errors in the transmission. In order to minimize the number of errors in the transmission we can use error correcting codes.
Whole information in the computer is represented as zero-ones sequences. Coding of information using the linear error correcting codes means adding to the sequences of k elements some extra bits in a certain way. These bits do not carry information and only have checking properties. We denote [n, k] the code, which has a length of code words n and k information bits. In that code we have r = n − k parity checks. The ratio r/n is called code rate and is denoted by R C . It is interesting to look for codes with the best correction properties at the lowest code rate for economic reasons. In 1948 Claude Schannon in his works defined the concept of capacity and proved that there exists a code allowing the transfer of information from any small error probability if the rate of information transmission is below the capacity. Let T be the time of transmiting a single bit. Then the rate of information transmission is R t = k nT . Unfortunately, he did not show a way of constructing such codes. The most known classes of error correcting codes are Turbocodes and Low Density Parity Check Codes (LDPC codes). In this article we are only interested in the LDPC codes.
The LDPC codes were introduced in 1963 by Robert G. Gallanger. These codes have a high possibility of selection of parameters n and r, making it possible to create codes with a large block size and excellent correction properties. Their advantage is the existence of efficient decoding algorithms of linear complexity of the block length n.
There are few methods that allows to obtain the LDPC codes, but it is possible to construct very good codes from the families of graph that already exist or construct graphs with specific properties useful for this purpose. The ability to use graphs to construct error correcting codes was first discussed by Tanner [8]. This is the area where we can work because only specified graphs are suitable for creating a good code. Usually for this purpose, simple graphs are used, which means graphs undirected and containing no graph loops or multiple edges. The graph must be bipartite, sparse, without small cycles and biregular or regular with the possibility to obtain biregularity. The length of the shortest cycle in the graph is called girth. It is interesting to look for graphs with high girth because the codes based on them have better error correcting properties.
Every linear error correcting code can be represented in three ways: by the generator matrix G, parity checks matrix H or Tanner graph Γ(V, E). Parity checks matrix for [n, k] code is r×n matrix whose words are zeros or ones. Rows of this matrix correspond to the parity checks and the column to the codeword bits. If bit number j in the codeword is checked by the parity check number i then in the position (i, j) in matrix H is one if not there is zero. Each bit is checked by a unique set of control equations. In the regular LDPC code every row has the same constant weight r and every column has the same constant weight s. Switching column does not change code properties and provides an equivalent code. We assume that every codeword is from the set code is k × n zero-ones matrix whose rows create code base. G creates a codeword y for the information vector x of the length k: y = x · G. Each information vector corresponds to exactly one codeword. Parity checks matrix and generator matrix are dependent. It is known that if Bipartite graph we call the graph Γ(V, E) in which a set of nodes V can be divided into two subsets V = V 1 ∪ V 2 in such a way that no two vertices from each set V i , i = 1, 2 are connected by edge.
Tanner graph we call the bipartite graph in which one subset V 1 corresponds to the codeword bits and second V 2 to the parity checks. Vertex from the set V 1 is connected to a vertex from the set V 2 if and only if a bit corresponding to the vertex from V 1 is controlled by the parity check corresponding to the vertex from V 2 .
The code which has a representation as a sparse matrix or a sparse Tanner graph we call the LDPC code. The matrix is called a sparse if their ratio of ones to the number of zeros in each row and column is small compared to the length of the rows and columns. The very primary example of LDPC code is [7,4] the Hamming code with R C = 3 7 . Sparse graph has a small number of edges in relation to the number of vertices. The simple relationship describing the density of the graph Γ(V, E) is where |E| is the number of edges of graph Γ and |V | is the number of vertices.
In this paper we show that the graph corresponding to the affine part of the generalized m-gons can be used to obtain a very good class of LDPC codes. We discuss how to use them and compare our results with those used by the NSA codes obtained by Guinand and Lodge [2] who used as a base for codes the graphs with suitable properties D(k, q) constructed by Ustimenko and Lezebnik ( see [4,5,6]).
The distance between the vertices v 1 and v 2 of the graph is the length of minimal pass from v 1 and v 2 . The graph is connected if for an arbitrary pair of vertices v 1 , v 2 there is a pass from v 1 to v 2 . The diameter of a connected simple graph is the maximum of the distances between vertices in the graph.
We refer to the bipartite graph Γ(V 1 ∪ V 2 , E) as a biregular one if the number of neighbours for representatives of each partition set are constants r + 1 and s + 1 (bidegrees). We call the graph regular in the case r = s.
Generalized m-gons are connected, biregular, bipartite graphs with girth 2m, diameter m and bidegress (r + 1, s + 1). Traditionally, in the case of generalised m-gon Γ(V 1 ∪ V 2 , E) one partition set V 1 = P is called the set of points and the other V 2 = L is called the set of lines. Vertices corresponding to point can be connected by edges only with a vertex from L and the vertex corresponding to the line can be connected only with the vertex from the set P .
When two vertices point (p) and line [l] are connected by the edge we call this incidence pair (p, l) flag. We define the distance from flag (p, l) to the vertex v ∈ V as the sum of distances from p to v and l to v.
Affine generalized m-gon can be obtained in the following way. Let us choose a flag (p, l) in the generazilzed m-gon and remove all points and lines except these which are in the maximal distance from the flag. By this method we obtain a biregular graph with the bidegrees r and s. It is clear that affine generalized m-gons have a girth ≥ 2m. If the generalised m-gon is edge transitive then the structure/construction of affine generalised m-gon does not depend on the choice of the flag. In the case m = 6 there is only one known family of regular generalised m-gons with the bidegrees r + 1 = s + 1, where r = q = p m , p is prime, m ≥ 1. Each representative of this family is an edge transitive graph.
When m = 6 we denote generalized m-gon as GH(q, q) and affine generalized m-gon as AH(q, q), where q is a prime power. For more details about this structure we refer to [1]. Note that q + 1-regular graph GH(q, q) has 1 + q + q 2 + q 3 + q 4 + q 5 points and the same number of lines. The order of q-regular AH(q, q) is 2q 5 . The following interpretation of AH(q, q) can be used for p ≥ 5. Let where all coordinates are elements of F q . AH(q, q) is regular but has a structure that allows us to remove points and lines in such a way that we can obtain an arbitrary bidegree. We can do it exactly the same as it was done with D(k, q) in [6]. Let L be a set of all lines and P a set of all points. To obtain the desired bidegree (r, s) we must put restriction on coordinates. Let R ⊂ F q and S ⊂ F q be an r-element and s-element subsets respectively and let V P and V L be sets of points and lines in a new bipartite graph. They are the following sets: If the set of points is bigger than the set of lines, then points correspond to codeword bits and lines correspond to parity checks. Otherwise, lines correspond to codeword bits and points correspond to parity checks.

Code construction
To create the LDPC code of dimension d containing (n, k) the Hamming code as component codes we must use AH(q, q), where q is the first prime which is greater than n. Then we reduce the bidegree to (d, n). Bidegree reduction can only increase the girth. After reduction the bidegree graph can be disconnected. When we put restriction on the coordinates x of point, the graph will be divided into several components. But when we put restriction on the first coordinate a of lines the graph remains connected. This is due to a lack of symmetry AH(q, q). Next we take one component containing a chosen vertex (point or line) and find all other vertices for which there is a path to the chosen vertex. We use this component to create a parity checks matrix. If |V P | > |V L | then points correspond to code words, bits and lines to parity checks, if not then lines correspond to code words bits and points to parity checks. We decide to put one or zero in parity check matrix by checking if relations (1) on their coordinates hold. Every bit from the codeword is checked by d parity checks. In the case of graphs D(k, q), the resulting graphs are always disconnected. It is interesting that the properties of codes obtained from D(5, q) and AH(q, q) through the restriction on points coordinates are similar as can be seen in Figs 1 and 2. Table 1 contains the data about the resulting graphs.
Pobrane z czasopisma Annales AI-Informatica http://ai.annales.umcs.pl Data: 29/07/2023 13:01:00 Graphs D(5, 7) and AH(7, 7) with x ∈ R after the reduction bidegree to (2, 7) split into 49 components and D(4, 7) splits into 7 ones. They all give equivalent codes and it doesn't make any difference which component we choose. The graphs AH (17,17) with restriction on the points coordinate x ∈ R, |R| = 2 and D (5,17) after reduction bidegree to (2,15) split into 289 components. The larger field we use the better code rate we obtain, for example taking F 7 for the codes based on these graphs, the code rate is R C ≈ 0.286 but taking F 17 we have R C = 0.1(3).

Results
Transmission quality depends mainly on code, decoding algorithm and the level of noise in a communication channel. Code error correcting properties are tested by determining the relationship between the noise level and the bit error rate. The bit error rate (BER) is the ratio of the number of bit errors to the total number of transferred bits. Simulation usually carried out for Gaussian Channel where noise is modelled by Gaussian White Noise so our simulations In D(k, q) there is no difference if we put restriction on points or lines. When we take lines from a smaller partition set in a reduced AH(q, q), we obtain a better code but with exactly the same code rate R C ≈ 0.286 as if we take points from R, |R| = 2. Fig. 3 shows the results.

Remarks
In [2] as coordinates the authors used elements from F q where q is the first prime greater than n. We take q which is the first prime power greater than n. Fig. 4 shows that for the code based on D (3,16) we obtain as good results as for D (3,17). D (3,16) gives [256, 32] code with a slightly better code rate than code [255, 34] arising from D (3,17). Obviously in each code we can reduce the bidegree of graphs to (3,7) or (3, 15) depending on a field and a graph. But then the code rate increases.
It is also possible to construct the LDPC codes based on the graphs AO(q, q 2 ), q = 2 2k+1 arising from generalized 8-gons whose girth is 16, so it seems that this kind of codes has better error correcting properties. The graph AO(q, q 2 ) has the bidegree (q, q 2 ). It also has structure which allows easily to remove points and lines to obtain arbitrary bidegree exactly in the same way as it was done with D(k, q) and AH(q, q).