Strongly Connected Ramanujan Graphs for Highly Symmetric LDPC Codes

A number of studies focus on Low-Density Parity-Check (LDPC) codes to ensure reliable data communications. This study proposes an algebraic algorithm to generate strongly connected Ramanujan graphs able to provide highly symmetric LDPC codes with minimized error floor. Several Ramanujan graphs are created using GAP system software to generate a rank-efficient parity-check matrix with fixed-rate LDPC codes. We find that Ramanujan LDPC codes achieve frame error rate and bit error rate on the order of 10-5\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${10}^{-5}$$\end{document} and 10-6\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${10}^{-6}$$\end{document}, respectively. Furthermore, the codes outperform QC LDPC codes and those Ramanujan LDPC codes in literature.


Introduction
The channel coding theorem has captivated the attention of researchers and motivated them to design codes that have facilitated communication systems to transmit information with reliability while approaching capacity. In communication systems, the probability of decoding error of coded information is a significant parameter in measuring the reliability of communication systems, where the lower the probability of decoding error, the more reliable the communication system is. The weak converse of Fano's inequality [1] to the channel coding theorem shows two critical parameters that control the probability of decoding error, the code's length, and rate. The theorem shows that when the length of the codeword approaches infinity, the probability of decoding error goes exponentially to zero 1 3 if the code rate is below the channel capacity. Conversely, this probability approaches one exponentially if the code rate is above the channel capacity.
Low-Density Parity-Check (LDPC) code forms a family of error correction codes that meets the above inequality. Because the parity-check matrix of LDPC code is precisely the adjacency matrix of a bipartite graph called the Tanner graph, iterative decoding techniques employ the Tanner graph as the underlying graph to decode the received words. When the underlying graphs exhibit a significant girth and expanding factor, the iterative decoders decode LDPC codes near Shannon's limit. The decoder requires a large girth to avoid any possible feedback in the decoding algorithm, which is a primary cause that degrades the decoding efficiency. Moreover, it requires a significant expanding factor, which is how fast the information is disseminated among incident vertex nodes of the graph; the more significant the expansion factor is, the faster the iterative decoder starts coverage.
One way to construct excellent LDPC codes is to choose suitable graphs that meet decoder requirements. Ramanujan graphs [2] are excellent candidates because they have a significant expanding factor and the highest lower known girth limit. For example, Margulis [3] proposed the first explicit construction of (3,6) regular LDPC codes based on Ramanujan graphs. As compared to the random construction of LDPC codes [4] and for a code of length n , Margulis's method undertook to realize a decrement in the code construction complexity in terms of the required memory and number of operations from O n 2 to O(logn) and from O n j to O(logn)loglogn respectively. Rosenthal and Vontobel [5] developed an alternative approach based on Lubotzky, Phillips, and Sarnak's (LPS) Ramanujan graphs [2]. Their study revealed that the performance of generated LDPC codes from Ramanujan graphs presents a significant gain in the bit error rate (BER) in low SNR ranges compared to random regular LDPC codes of the same dimension.
In contrast, MacKay and Postol [6] reported weaknesses in the LDPC codes constructed from Ramanujan graphs. They pointed out that Margulis's code generates codewords that cause problems to iterative decoders. On the other hand, they recognized that Rosenthal's approach produces low-weight codewords, which is the leading cause of the error floor that occurs during code simulation. Meanwhile, two facts are revealed in [6]; Ramanujan-Margulis codes (Rosenthal's approach) outperform the same length random LDPC codes in low SNR ranges because the code rate of the Ramanujan-Margulis code is higher than 0.5. And because the [2184, 1092] code is not able to simulate down to frame error rate (FER) of 10 −5 , it is classified as an invalid code for practical applications [6]. Hyungrok and Yamasaki's study [7] suggested a possible use of LPS [2] and Chiu's [8] Ramanujan graphs to construct a new family of LPS expanders based on the ℚ rational numbers for the applications of secure Cayley hash functions. For practical application support, Lio [9] partitioned the Ramanujan-Margulis parity-check matrix, which lowered the probability of decoding error.
Other studies dealt with trapping sets or decoders to lowering the error floor phenomenon in Random and Ramanujan LDPC codes demonstrated in [10][11][12][13][14]. Karimi [15] used a search algorithm to find the dominant trapping sets for Quasi-Cyclic (QC) LDPC codes. Zhang [16] proposed three different classes of type II QC LDPC codes with girth eight from the Sidon sequence; the simulations addressed some of the proposed codes could achieve BER value down to 10 −4 at 1.5 dB. In [17], Zhang proposed an algebraic construction for type II QC LDPC codes from the Tanner method based on multiplicative subgroup analysis; the long codes in his work simulated down to 10 −4 when the SNR is at least 2.8 dB. As a result, the error floor phenomenon was reduced in the previous works.
However, although the previous works [5,6] have focused only on generating LDPC codes from Ramanujan graphs, little attention has been paid to minimize error floor problem by using edge-transitive Cayley graphs as Ramanujan graphs to construct highly symmetric LDPC codes [18] that have fixed-rate and closely fixed distance. To the best of our knowledge, the highly symmetric LDPC codes based on the edge-transitive approach have not been implemented and tested in real-life problems. Therefore, this paper provides an algebraic method for constructing highly symmetric LDPC codes to ensure the constructed LDPC parity-check matrix from Cayley graphs generates decodable codewords with reduced error floor compared to [6]. In this work, the Cayley graphs constructed are very much connected Ramanujan graphs and are used to construct (3,6) regular LDPC codes. Furthermore, the parity-check matrix of LDPC codes is a full-rank matrix.
What is more, designing symmetric Cayley graphs based on the proposed algorithm provides unique LDPC codes that outperform many QC LDPC codes of similar lengths. This paper is organized as follows; Section 2 presents the proposed methodology for the construction of Ramanujan Graph-based LDPC codes. Section 3 illustrates the results and discusses the proposed codes. Finally, Section 4 draws some conclusions from this research study.

Methodology
The current study involves the construction of Cayley graphs as a suitable Ramanujan expander using Groups, Algorithms, and GAP Programming system software [19] to generate highly symmetric LDPC codes [20]. In an attempt to avoid feedback in the algorithm of an iterative decoder, which is the cause of error floor, and to ensure the decoder starts coverage close to Shannon's limit, Ramanujan graphs were chosen for generating the LDPC codes [21]. GAP software is chosen on account of its ability to provide thousands of functions and packages to implement algebraic algorithms for building graphs [19].
In all cases, LDPC codes were constructed to have a fixed-rate [18,20] and full rank parity-check matrix, where the constraint space of the codewords is generated by the orbit of one constant weight constraint under a group action [19,20]. Each of the graphs constructed in this work is very much connected graph because they have large values, where 0 < ≤ 1 , and = 1 is the maximum value that one can get with these types of expanders [22]. According to Definition 1.1 [22], a finite graph X on a set V of n vertices is called an -expander, (X) , if |Y| ≤ 0.5|V| = n∕2 , and | Y| ≥ |Y| holds for every subset Y of V, where the boundary Y = {v ∈ V�Y ∶ (v, y) ∈ E for some y ∈ Y} . The graphs constructed were split directly based on the procedure available in [3,5,6] to obtain the LDPC matrix and codes. Moreover, the generated LDPC matrices have full rank, and the code rate is constant and exactly equals 0.5. The value of the expanding factor, also known as the Cheeger constant [23], of the constructed graphs was measured to be six; however, splitting the graphs to generate the matrix (Tanner graph) makes its value equal to 3.
One way to construct Ramanujan graphs is by using Cayley graphs [5,6,18,24]. Let us introduce Cayley graphs in simple words based on [25]. Assuming G is a finite or infinite group generated by a generator set S ⊆ V , the Cayley graph Cay(V, S) is defined to be a graph with vertex set V = G , generator set S , and edge set E = {{x, y} ∶ x, y ∈ G ∶ ∃s ∈ S ∶ y = xs} , where the edges are adjacent, and that one is obtained by right multiplication by some element of S . In general, Cayley graphs are often not symmetric, which means the group G acts transitively on the vertex of Cay(V, S) but not on the edges. They are symmetric if and only if the generator set is symmetric, i.e., S = S −1 [18]. Then they are called edge-transitive Cayley graphs such that Lemma 4 of [24] is satisfied. Since S is symmetric, the adjacency relation is also symmetric, and therefore, the graph is undirected. Generally speaking, the lemma, is based on [18], may be explained as follows. Assume there is an action group called act on the vertex set V of the Cayley graph. In other words, there exists homeomorphism ∶ act → Aut(V) . Let S be an orbit of this action, that is, there exists ∈ V such thatS = { ( )( )| ∈ act} . Here, the semi-direct product group H = V ⋊ act acts on Cay(V, S), and this action is transitive on the edges. The code is called highly symmetric code if Corollary 1 [20] is satisfied, where it can be summarized as the group act acts on S and hence on S 2 , if a small code B ⊆ S 2 is kept byact , then H = V ⋊ act keepsC (G, S, B) . Besides, if B is a single orbit symmetric with respect to act then C (G, S, B) is also single orbit symmetric and therefore, it called highly symmetric when |S| is bounded.
In this study, we implement Cayley symmetric graphs Cay(V, S) as Ramanujan graphs when the vertex node set V is a Projective General Linear (PGL) group, and they are denoted by p,q PGL 2 q , S , where PGL 2 q is the projective general linear group over the field q . The n-by-n adjacency matrix of p,q is symmetric, the eigenvalues are real [25]; furthermore, the graphs are k regular, connected, and are bi-colorable graphs. Therefore, the eigenvalues can be sorted as 0 = k ≥ 1 ≥ ⋯ ≥ n−1 = −k . By taking p to be a prime congruent to 1 modulo four, i.e., p ≡ 1(mod 4) , and i 2 ≡ −1(mod q) , one can construct the generator set of Cayley graph such that the Cayley graph is a Ramanujan graph by using the Jacobi symbol; the prime p is constructed as Consider a 0 > 0 and odd, and a j ∶ j ∈ {1, 2, 3} are even. Then there are p + 1 available solutions to (1); for each solution, define p matrix in PGL 2 q as These solutions, s ± 1 , s ± 2 , and s ± 3 , define the generator set S = s 1 , s 2 , s 3 , s −1 1 , s −1 2 , s −1 3 of p,q ; the determinant of each solution equals p . LPS performs a map-to-map the elements of PGL 2 q or, equivalently, GL q , to their images as To use p,q in regular LDPC codes, p,q must have a bipartite structure; therefore, q > p is chosen to be a prime number such that q ≡ 1(mod 4) . Based on the Legendre symbol, p q , the graph p,q is bipartite if and only if p q = −1, which means p is a quadratic non-residue modulo q ; otherwise, it is not a bipartite graph. In general, when x of the Legendre symbol x q is a quadratic residue modulo q, g ∈ PGL 2 q belongs to the right side of the bipartite graph with quadratic residue modulo q determinant. Otherwise, the mapping decides that the element belongs to the left side of the graph with a quadratic non-residue modulo q determinant [2,5].
The kernel of the above mapping is the Special Linear group, PSL 2 q ⊆ PGL 2 q . However, the set of the elements on the right side of the graph is the set of the right-coset, R , of PSL 2 q group; PSL 2 q ∪ R = PGL 2 q [6], and |g| ∈ * q ∶ g ∈ PGL 2 q . Since B ⊂ PSL 2 q [21] then the expansion constant of this subset is However, the expansion constant of the graph p,q is Furthermore, , the number of elements on the left side of the LPS graph equals the number of elements on the right side of the graph [5,6].
To construct the LDPC matrix [5], two disjoint copies of PSL 2 q named L and L are used to index columns of the matrix [5]; however, the rows of the LDPC array are indexed by R as defined above. Therefore, the number of columns in the LDPC matrix is the same as the number of vertices in the Cayley graph. The nonzero elements, 1 s, of column l ∈ L in H m×n are entries of ls 1 , ls 2 , ls 3 rows; however, those of column l ∈L are entries of ls −1 1 , ls −1 2 , and ls −1 3 rows in H m×n . This mapping of 1 s to all columns of L and L , respectively, results in a full-rank (3,6) LDPC parity-check matrix; in this matrix, every column has a degree of 3, and every row has a degree of 6.
H m×n the adjacency matrix of the split graph from ( p,q ) is a Tanner graph of n vertices. Graph splitting, even for non-bipartite graphs, produces a bipartite graph; the effect of splitting on the girth and expanding factor of Tanner graph as compared to the p,q ( PGL 2 p , S) graph is that the graph after splitting has a girth equal to or greater than the girth of the p,q graph, while the expanding factor is at most the expanding factor of the p,q graph [21]. In this work, although the splitting procedure of the graphs is similar to the used method in [5,6], our algorithm shows that the constructed LDPC codes generally have no error floor in the simulation. The algorithm proves the symmetric LDPC codes, which is the requirement of [18]. The steps of the suggested algorithm are followed to implement the graphs and LDPC codes.

Computational Discrete Algebraic Algorithm
In group theory, the elements of a group can have the matrix or permutation form. At first, the generator matrix set is computed based on (2), then converted to permutation form to fit GAP software requirements and have an isomorphic among the group elements [19]. The proposed algorithm shown below is used to create the Ramanujan graphs and the parity-check matrices of LDPC codes.
Although the steps of the GAP system in the algorithm ran efficiently in a short time, the part of simulation in MATLAB consumes a considerable amount of time as the SNR increased. Furthermore, the simulation time increased proportionally with the length of the LDPC code. Therefore, the simulations are carried out through an SNR of 1.25 dB for [50616, 25308] Ramanujan LDPC code. It is reasonable to accept this drawback in the algorithm because it is known that Ramanujan LDPC codes achieve near Shannon limits.
With more powerful processors, simulations can be run more rapidly. This algorithm is suitable for low SNR regions.

Results and Discussion
In earlier studies, attempts were made to construct LDPC codes from Ramanujan graphs [5,6] to achieve closer to Shannon's limits than the performance of random LDPC codes. However, the error floor was reported during the simulations due to linearly dependent rows in their parity-check matrix [6]. Ramanujan graphs were constructed as well connected and highly symmetric graphs; therefore, the LDPC codes generated have a fixed rate and constant distance [18]. Moreover, the generated LDPC parity-check matrix of each code was full rank, and it appears that the error floor in the simulations is reduced as compared to [6]. All data generated or analysed during this study, including the results and conclusions, are included in this article. In Figs. 1 and 2, we compare the frame error rate performance and the bit error rate of the proposed binary LDPC codes versus SNR.
As can be seen in Fig. 1, the proposed algorithm provides a substantial gain in terms of the frame error rate of the [2184, 1092] LDPC code as compared to the construction available in [6]. It shows approximately a two-fold magnitude gain compared to the results of exact code dimensions in [6]. However, the performance of [4896, 2448] LDPC code is identical to the codes in [5,6] over the same SNR range. Since the iterative decoder complexity grows linearly with the code length and because the used computer in getting Fig. 1 Fig. 1. Figure 2 shows the BER performance of the proposed Ramanujan LDPC codes over the performance of Ramanujan LDPC codes in [6] and the types mentioned above of QC LDPC codes. The results show that only the QC LDPC II (II) [16] code achieves performance close to the proposed [2448, 1092] Ramanujan LDPC code. As can be seen from the code simulation, the suggested algorithm provides LDPC codes with a minimized error floor.  We use the condition number to verify the quality of the constructed parity-check matrix. The condition number, defined for rectangular matrix as the ratio of the maximum singular value to the lowest nonzero singular value of that matrix, which is a measure of the decoder's ability to recover the transmitted code, has been calculated for the matrices constructed in [5,6], and for the matrices constructed in this article. In this work, we found that the parity-check matrix of the codes [4896,2448], and [2184, 1092] respectively, are a rank-efficient matrix with condition number values of 6.95 and 5.60 respectively, as compared to its value 8.30e + 15 of [4896, 2448] of [5,6].
The main reason why the condition number of the parity-check matrix of [5,6] is high is the construction of the parity-check matrix in [5,6] produces many linearly dependent rows. This property transforms the matrix into a singular matrix and produces a large number of errors even when the received word has only fewer errors. However, when a small error occurred in the received noisy word of the proposed parity-check matrices in this study, only a minor error may occur at the decoder since the underlying graph has a small condition value. Figure 3 shows the singular values of the constructed parity-check matrix from the proposed [2184, 1092] and [4896, 2448] and of [5,6] coeds, respectively. It appears in Fig. 3a and b that the singular values are symmetric around 0 −1 2 , this may imply that the reason behind this symmetry is that the proposed algorithm generates symmetric well-connected Ramanujan graphs. However, the singular values in Fig. 3c appears not symmetrical, implying that the parity-check matrix of the works in [5,6] are not symmetric.

Conclusions
Prior studies have documented that the algebraic construction of LDPC codes based on Ramanujan graphs generates an error floor while decoding the received words from the channel. However, these studies have not focused on symmetric Ramanujan graphs. In this work, we propose an algorithm in the GAP system to construct highly symmetric Ramanujan-LDPC codes generated from edge-transitive Cayley graphs. The results show that the [2184, 1092] LDPC code reveals little error floor during code simulation compared to [6]. We calculated the condition number of our codes and the code in the studies [5,6] and found that its value in the proposed codes in this paper is low; however, its value is large in the studies above, which makes the parity-check matrix singular. This is another reason why the decoder shows a high error floor in the literature because the graph is not optimum and lets the decoder generates errors while decoding the received words. However, the decoders based on the LDPCs matrices constructed in this work generate minor errors when a small error occurs in the transmitted codewords due to channel nose. The results show that the code [2184, 1092] can be used in practical applications because the FER and BER performance of this code are around 10 −5 and 10 −6 , respectively, as SNR increases. Finally, the proposed codes seem to perform better than the QC LDPC codes that have compact dimensions.
Funding No funding was received.
Data Availability All data generated or analysed during this study, including the results and conclusions, are included in this article.

Code Availability
The author used MATLAB based on the algorithm described in detail in the manuscript.

Conflict of interest
The authors declare that they have no confict of interest.