Construction and Encoding of QC-LDPC Codes Using Group Rings
11 Construction and Encoding of QC-LDPCCodes Using Group Rings
Hassan Khodaiemehr and Dariush Kiani
Abstract
Quasi-cyclic (QC) low-density parity-check (LDPC) codes which are known as QC-LDPC codes,have many applications due to their simple encoding implementation by means of cyclic shift registers.In this paper, we construct QC-LDPC codes from group rings. A group ring is a free module (at thesame time a ring) constructed in a natural way from any given ring and any given group. We presenta structure based on the elements of a group ring for constructing QC-LDPC codes. Some of thepreviously addressed methods for constructing QC-LDPC codes based on finite fields are special casesof the proposed construction method. The constructed QC-LDPC codes perform very well over theadditive white Gaussian noise (AWGN) channel with iterative decoding in terms of bit-error probabilityand block-error probability. Simulation results demonstrate that the proposed codes have competitiveperformance in comparison with the similar existing LDPC codes. Finally, we propose a new encodingmethod for the proposed group ring based QC-LDPC codes that can be implemented faster than thecurrent encoding methods. The encoding complexity of the proposed method is analyzed mathematically,and indicates a significate reduction in the required number of operations, even when compared to theavailable efficient encoding methods that have linear time and space complexities.
Index Terms
Group rings, low-density parity-check (LDPC) codes, quasi-cyclic (QC) codes
I. I
NTRODUCTION
H. Khodaiemehr and D. Kiani are with the Department of Mathematics and Computer Science, Amirkabir University ofTechnology (Tehran Polytechnic), Tehran, Iran (emails: [email protected] and [email protected]).D. Kiani is also with the School of Mathematics, Institute for Research in Fundamental Sciences (IPM), P.O. Box 19395-5746,Tehran, Iran. a r X i v : . [ c s . I T ] J a n T HE subfield of algebraic coding dominated the field of channel coding theory for thefirst couple of decades. In the s, the objective of most of the research in channelcoding was the development of algebraic block codes, particularly cyclic codes. The main focusof algebraic coding theory is the design of [ n, k, d ] -codes that maximize the minimum distance d for a given ( n, k ) over a finite field F q . The algebraic coding paradigm used the structure offinite fields to design efficient encoding and error-correction procedures for linear block codesoperating on a hard-decision channel. Cyclic codes are codes that are invariant under cyclic shiftsof n -tuple codewords. They were first investigated by Prange in [1] and became the primaryfocus of research after the publication of Peterson’s pioneering text in [2]. Cyclic codeshave a nice algebraic theory and attractive simple encoding and decoding procedures based oncyclic shift-register implementations. Hamming, Golay, and shortened Reed-Muller (RM) codescan be put into cyclic form. The main achievement in this field was the invention of BCH andReed-Solomon (RS) codes in and [3], [4], [5].Even though, binary algebraic block codes can be used on the additive white Gaussian noise(AWGN) channel, they have not proved to be the way to approach channel capacity on thischannel. Approaching the Shannon limit on the AWGN channel for an error-correction paradigmrequires the operation of the decoder on the vector of soft decisions and minimizing the Euclideandistance, rather than working on hard decisions and minimizing the Hamming distance. It can beshown that using hard decisions generally costs to dB loss in the decoding performance. Thus,in order to approach the Shannon limit on the AWGN channel, the error-correction paradigm ofthe algebraic coding must be modified to accommodate soft decisions. Probabilistic coding is an alternative line of development, that was more directly inspired byShannon’s probabilistic approach to coding. Whereas the algebraic coding theory aims to findspecific codes that maximize the minimum distance d for a given ( n, k ) , probabilistic codingis more concerned with finding the codes that optimize the average performance as a functionof coding and decoding complexities. Gallager’s doctoral thesis [6] on low-density parity-check(LDPC) codes was motivated by the problem of finding a class of random-like codes that couldbe decoded near capacity with quasi-optimal performance and feasible complexity. Gallager’sLDPC codes and his iterative a posteriori probability (APP) decoding algorithm, which seemsto have been the first appearance of the now-ubiquitous sum-product algorithm (SPA) or beliefpropagation , were long before their time. Gallager’s LDPC codes were forgotten for more than years due to their high complexity for the technology of that time. In , MacKay [7] showed empirically that near-Shannon-limit performance could be obtained with long LDPCcodes and iterative decoding.However, even though LDPC codes have a good error performance in the AWGN channel,their encoding complexity was a drawback for their implementation until the recent two decadesand the invention of the quasi-cyclic LDPC (QC-LDPC) codes. It has been shown that QC-LDPC codes can perform as well as other types of LDPC codes in most of the applications[8], [9], [10], [11], [12], [13], [14], [15]. They have also been applied in the design of efficientmultidimensional signal constellations for the AWGN channels [16], [17]. QC-LDPC codes haveadvantages over other types of LDPC codes in hardware implementation of encoding [18] anddecoding [9], [15]. Thus, most of the LDPC codes adopted as standard codes for various next-generation communication and storage systems, are quasi-cyclic. In [18], the authors proposeda method for encoding QC-LDPC codes with linear time and space complexities in the lengthof the code. These features have made the design of QC-LDPC codes an attractive researcharea and lots of methods, including algebraic methods, are proposed for constructing QC-LDPCcodes. Among these methods, the methods based on finite fields are the most related ones tothis paper [15], [19], [20].Looking at the evolution of channel coding theory, which can be found in the brilliant surveyof Costello and Forney [21], reveals a trade off between the complexity of encoding in thetransmitter and error performance of decoding in the receiver. Indeed, if we want to have a lowcomplexity encoding, the structure of the code must be close to the structure of the algebraiccodes (like cyclic codes) and if we want to have a code with good error performance in the AWGNchannel, the structure of the code should be close to the structure of the capacity-approachingcodes (like LDPC codes). In this paper, we propose a family of codes that have both advantagesat the same time. This family of codes can be obtained by group ring encodings, which arecalled group ring based codes through this paper. The codes from group ring encodings, whichare presented in [22], [23], are submodules (sometimes ideals) in a group ring. An isomorphismbetween a group ring and a certain subring of the matrices can be used to obtain the parity-check and the generator matrices of the codes directly from the elements of the group ring [23].The properties of the group ring based codes, such as the self-duality or owning a low densityparity-check matrix, have simple algebraic descriptions. Examples of LDPC and self-dual groupring based codes are presented in [23].In this paper, we present a new method for constructing and encoding QC-LDPC codes from group rings. We exploit the available implementations of the fast Fourier transform (FFT) overgroup rings [24] to increase the efficiency of the proposed encoding method, compared to theexistent encoding methods for QC-LDPC codes [18].The rest of this paper is organized as follows: Section II gives a brief introduction to grouprings and their matrix representation. In Section III, we present the design criteria for constructingthe parity-check matrix of the QC-LDPC codes based on finite fields. In Section IV, we presentthe design criteria for constructing the parity-check matrix of the QC-LDPC codes from anelement of a group algebra. In Section V, we present a new method for constructing QC-LDPCcodes based on group rings with a cyclic underlying group. In Section VI, we present theconstruction of QC-LDPC codes based on group rings with a non-cyclic Abelian underlyinggroup. A new encoding method for the proposed QC-LDPC codes based on group ring ispresented in Section VII. The implementation and complexity analysis of the proposed encodingmethod is given in Section VIII. Section IX is concerned with numerical and simulation results.Section X contains concluding remarks.
Notation : Matrices and vectors are denoted by bold upper and lower case letters. We denotethe groups and rings by upper case letters. The i th element of a vector a is denoted by a i andthe entry ( i, j ) of a matrix A is denoted by A i,j ; [ ] t denotes the transposition for vectors andmatrices. II. P RELIMINARIES ON G ROUP R INGS
Let G be a multiplicative group and let R be a ring. The group ring of G over R , which isdenoted by R [ G ] (or simply RG ), is the set of mappings f : G → R of finite support . A groupring is a free module and at the same time a ring. As a free module, its ring of scalars is thegiven ring R , and its basis is correspondence with the given group G . The module scalar product µf of a scalar µ in R and a vector (or mapping) f is defined as the vector x (cid:55)→ µ · f ( x ) , where x ∈ G and the dot operation ( · ) represents the multiplication in R . The module group sum oftwo vectors f and g is defined as the vector x (cid:55)→ f ( x ) + g ( x ) . To turn the additive group RG into a ring, we define the product of f and g to be the vector x (cid:55)→ (cid:88) uv = x f ( u ) g ( v ) = (cid:88) u ∈ G f ( u ) g ( u − x ) . (1) Let X be an arbitrary set and R be a ring with zero R . Suppose that f : X → R is a function whose domain is X . Thesupport of f , which is denoted by supp ( f ) , is the set of points in X in which f is non-zero, i.e., supp ( f ) = { x ∈ X | f ( x ) (cid:54) = 0 R } . The summation is admissible because f and g are of finite support. If the given ring R iscommutative, a group ring is also referred to as a group algebra , for it is indeed an algebraover the given ring. The mappings such as f : G → R are formal linear combinations of theelements of G , with coefficients in R , i.e., (cid:80) g ∈ G f ( g ) g , or simply (cid:80) g ∈ G f g g . Thus, the groupring RG is a ring consisting of the set of all summations u = (cid:80) g ∈ G α g g , where α g ∈ R . If v = (cid:80) g ∈ G β g g , then the addition is defined term-by-term, u + v = (cid:88) g ∈ G ( α g + β g ) g, while the multiplication is a convolution-like operation, uv = (cid:88) g,h ∈ G ( α g β h ) gh = (cid:88) g ∈ G (cid:32)(cid:88) h ∈ G α h β h − g (cid:33) g. The group G acts as a basis for the module RG over the ring R . Indeed, by considering an orderover the elements of G , every element of RG is a vector composed of elements of R , wherethe i th component is associated with the group element g i . Treating a group ring as the space offunctions mapping a group to a ring, the multiplication in the group ring is the convolution oftwo functions therein. More details about group rings and their properties can be found in [25]. Example 1:
Consider F q to be the finite field with q elements. Let G = Z be the cyclicgroup of three elements with generator a and identity element G . An element r of F q G may bewritten as r = z G + z a + z a , where z , z and z are in F q . Writing a different element s as s = w G + w a + w a , their sum is r + s = ( z + w )1 G + ( z + w ) a + ( z + w ) a , and theirproduct is rs = ( z w + z w + z w )1 G + ( z w + z w + z w ) a + ( z w + z w + z w ) a .The identity element G of G induces a canonical embedding of the coefficient ring F q into F q G and the multiplicative identity element of F q G is (1)1 G where the first comes from F q and thesecond from G . The additive identity element is zero. (cid:3) A. Group rings and the ring of matrices
From now on, we only consider group algebras over a finite group, which are denoted by G and H in most cases. Let { g , g , . . . , g n } be a fixed listing of the elements of G . We have thefollowing definition from [26]. Definition 1:
The RG -matrix of an element w = (cid:80) ni =1 α g i g i in the group ring RG is anelement in M n ( R ) , the ring of n × n matrices over R , defined as M ( RG, w ) = α g − g α g − g · · · α g − g n α g − g α g − g · · · α g − g n ... ... . . . ... α g − n g α g − n g · · · α g − n g n . (2)It is obvious that each row and each column is a permutation, determined by the group multi-plication, of the initial row. Theorem 1 ( [23, Theorem 1] ): Given a listing of the elements of a group G of order n , thereis a bijective ring homomorphism σ : w (cid:55)→ M ( RG, w ) between RG and the RG -matrices over R . III. D EFINITIONS AND B ASIC C ONCEPTS OF QUASI - CYCLIC
LDPC C
ODES
Let t and b be two positive integers. A b × b circulant is a b × b matrix for which each row isa right cyclic-shift of the row above it and the first row is the right cyclic-shift of the last row.The top row (or the leftmost column) of a circulant is called the generator of the circulant. Abinary QC code C qc is commonly specified by a parity-check matrix, which is a ( t − c ) × t arrayof b × b circulants over F . A. Construction of QC-LDPC codes based on finite fields
Consider the Galois field F q , where q is a power of a prime number p . Let α be a primitiveelement of F q . Then, { α −∞ = 0 , α = 1 , α. · · · , α q − } form all the q elements of F q . For eachnonzero element α i , with ≤ i < q − , we define a ( q − -tuple over F , z ( α i ) = ( z , . . . , z q − ) ,where the i th component z i is and all the other q − components are set to zero. The binaryvector, z ( α i ) , is referred to as the location-vector of α i , with respect to the multiplicative groupof F q , or the M -location-vector of α i . The location-vector of the element of F q is defined asthe all-zero ( q − -tuple, (0 , , . . . , .For a given δ ∈ F q , we form a ( q − × ( q − matrix A over F with the M -location-vectorsof δ, αδ, . . . α q − δ as the rows. Then, A is a ( q − × ( q − circulant permutation matrix (CPM), i.e., A is a permutation matrix for which each row is the right cyclic-shift of the rowabove it and the first row is the right cyclic-shift of the last row. The matrix A is referred to asthe ( q − - fold matrix dispersion (or expansion) of the field element δ over F . The construction of the parity-check matrices of the QC-LDPC codes starts with an m × n matrix W over F q given by W = (cid:104) W t W t · · · W tm − (cid:105) t = w , w , · · · w ,n − w , w , · · · w ,n − ... ... . . . ... w m − , w m − , . . . w m − ,n − , (3)whose rows satisfy the following two constraints:1) for ≤ i < m and ≤ k, l < q − , with k (cid:54) = l , α k W i and α l W i have at most one positionin which both of them have the same symbol from F q (i.e., they differ in at least n − positions);2) for ≤ i, j < m , and i (cid:54) = j , with ≤ k, l < q − , α k W i and α l W j differ in at least n − positions.The above two constraints on the rows of the matrix W are referred to as α - multiplied rowconstraints and , respectively. These conditions are the sufficient conditions or the designcriteria [19] for constructing the parity-check matrix of the QC-LDPC codes. In order to completethe construction, it is enough to replace each entry of W by its ( q − -fold matrix dispersionover F . For an m × n matrix W over F q , in which the entries are written as the powers ofthe primitive element α of F q , we define the base matrix or the exponent matrix as the m × n matrix B over {−∞ , , , . . . , q − } , so that B i,j = λ , for ≤ i ≤ m and ≤ j ≤ n , if andonly if W i,j = α λ . To simplify the notation, the matrices B and W can be used interchangeablyin the construction of codes.IV. C ONSTRUCTION OF
QC-LDPC C
ODES B ASED ON D IFFERENCE S ETS AND C YCLIC G ROUP A LGEBRAS
In this section, we present our key theorem based on the notation used in the precedingsections.
Theorem 2:
Let G = { g = 1 G , g , g , . . . g m } be a finite group and F q be the finite fieldof order m +1 , with primitive element α . Then, the F q G -matrix corresponding to the element w = (cid:80) mi =0 α i g i gives an ( m + 1) × ( m + 1) matrix W that satisfies the α -multiplied constraints and . Replacing each component of W by its corresponding ( q − × ( q − CPM in F q gives the parity-check matrix of a QC-LDPC code. Proof:
Let W be the corresponding RG -matrix of w and let W = (cid:104) α α α · · · α m (cid:105) be its first row. We can consider the other rows as permutations of the first row. Thus, if wecheck the constraint for W , the other rows also fulfill the constraint . Let ≤ k, l < q − ,be two integers, with k (cid:54) = l , and consider the vectors α k W and α l W . Then, having the samevalues in position i is equivalent to i + k = 2 i + l that implies k = l , which is a contradiction.Now, we check the second condition. Consider two different permutations of W as follows W i = (cid:104) α i α i · · · α im (cid:105) W j = (cid:104) α j α j · · · α jm (cid:105) . Without loss of generality, assume α k W i and α l W j have the same values in the first and secondpositions. Then, i + k = 2 j + l, i (cid:54) = j , i + k = 2 j + l, i (cid:54) = j . Consequently, i + 2 j = 2 j + 2 i , where i (cid:54) = i and j (cid:54) = j . We consider three different cases. Case 1 : If i < j , then i (1 + 2 j − i ) = i (1 + 2 j − i ) , i < j j (1 + 2 i − j ) , i > j j +1 , i = j . The first equation implies i = i , which is a contradiction. Using the second equation weconclude that i = j and j − i = i − j , which implies that i = j . Thus, k = l which is acontradiction. Now we consider the third equation. In the left side of this equation we have aproduct of an even and an odd number and in the right side we have an even number. The onlypossibility is to have j = i and i + 1 = j + 1 , that imply j = j , which is a contradiction. Case 2 : If i = j , we can show conveniently that i = j and the equation i − i = 2 i − i leads to a contradiction. Case 3 : If i > j , the proof is the same as the first case.Thus, W fulfills the α -multiplied constraints and .It follows from Theorem 2 that the Tanner graph associated with the matrix W has girth atleast . Theorem 2 is also valid for other prime numbers instead of . Now, we present some examplesusing the construction method of Theorem 2. Example 2:
We consider the groups of order which give the codes of length ×
255 = 2040 .The groups with elements are Z , Z × Z × Z , Q , D and Z × Z . We represent thecorresponding matrix of the element w in Theorem 2 by a matrix that contains the powers of α , which is referred to as the exponent matrix . For example, W ij = 2 for ≤ i, j ≤ , means W ij = α , where α is the primitive element of F . The F Z -matrix of w in Theorem 2 is asfollows W F Z = . (4)If we consider G = D , the dihedral group of order , which is defined as D = (cid:104) r, s | r = 1 , s = 1 , s − rs = r − (cid:105) , then the F D -matrix of w is W F D = . (5)The last example that we present here is the quaternion group. The quaternion group is a non-Abelian group of order eight which is denoted by Q or Q , and is given by the following grouppresentation Q = (cid:104)− , i, j, k | ( − = 1 , i = j = k = ijk = − (cid:105) , where , the identity element of the group, and − commute with the other elements of thegroup. The F Q -matrix of w is W F Q = . (6)By replacing each element of the matrices given in (4), (5) and (6), with their correspondingCPMs and choosing some rows of the obtained binary matrices, we get regular QC-LDPC codes,as the null space of these matrices, with different rates and with girth at least . (cid:3) In order to increase the rate of the constructed codes based on group algebras, we replacethe set of powers in Theorem 2, which is a set of the form (cid:8) , , . . . , | G |− (cid:9) for a group G , byother sets that are introduced in the next section.V. A N A LGEBRAIC F RAMEWORK FOR C ONSTRUCTING
QC-LDPC C
ODES B ASED ON G ROUP R INGS
In this section, we generalize the construction of Section IV and relate the design of a QC-LDPC code to the selection of two elements in two different group rings. Let G be a groupof order v (cid:48) . A k (cid:48) -subset D of G is a ( v (cid:48) , k (cid:48) , λ ) -difference set if the list of differences d d − , d , d ∈ D , contains each non-identity element of G exactly λ times. The number n (cid:48) = k (cid:48) − λ is the order of the difference set. A difference set D in G is non-Abelian, Abelian or cyclicprovided G is non-Abelian, Abelian or cyclic, respectively. The difference sets can be definedby using an algebraic approach.Let F be a field and G be a multiplicative group. A subset D ⊆ G is identified with anelement D = (cid:80) g ∈ D g ∈ F G . Moreover, D ( − = (cid:80) g ∈ D g − . Theorem 3 ( [27, Theorem 18.19] ): A k (cid:48) -subset D ⊆ G of a group G of order v (cid:48) with identityelement G is a ( v (cid:48) , k (cid:48) , λ ) -difference set of order n (cid:48) , if and only if D · D ( − = n (cid:48) · G + λ · G in C G . In the construction of QC-LDPC codes, we need difference sets with λ = 1 to avoid -cyclesin the Tanner graph of the code. Let G and H be two finite Abelian groups. In the sequel,we introduce a new ring R , which is related to H , and the construction of QC-LDPC codesusing the elements of the group algebra RG . Let d = (cid:80) h ∈ D h ∈ C H be an element satisfyingTheorem 3. Consider D = { d , d , . . . , d k (cid:48) } as the set of indices that appear in d , which is asubset of H . Then, we define an element w in RG and proceed like Theorem 2. It should benoted that both G and H can affect the performance of the constructed code, as will be shownin the simulation results. The structure of the group G can also affect the encoding complexity. A. Construction of group ring based QC-LDPC codes using cyclic groups
The first and the obvious case is to consider both G and H as cyclic groups. The existence andthe construction of the appropriate difference sets, in some classes of cyclic groups, is guarantiedby using the following theorems. Theorem 4 ( [27, Construction 18.28] ): Let α be the generator of the multiplicative group of F q m . Then, the set of integers (cid:110) ≤ i < q m − q − : trace m/ ( α i ) = 0 (cid:111) modulo ( q m − / ( q − forms a (cyclic) difference set with parameters (cid:18) q m − q − , q m − − q − , q m − − q − (cid:19) . (7)Here, the trace denotes the usual trace function trace m/ ( β ) = (cid:80) m − i =0 β q i from F q m onto F q .These difference sets are Singer difference sets . Theorem 5 ( [27, Construction 18.29] ): Let f ( x ) = x m + (cid:80) mi =1 a i x m − i be a primitive polynomialof degree m in F q . Consider the recurrence relation γ n = − (cid:80) mi =1 a i γ n − i and take arbitrary startvalues. Then the set of integers (cid:110) ≤ i < q m − q − : γ i = 0 (cid:111) is a Singer difference set.By using Theorem 4 and 5, we can construct a ( q + q + 1 , q + 1 , -difference set in theadditive group Z q + q +1 , when q is a power of a prime number. The constructed codes in thiscase are just the same as the constructed codes in [28]. The authors of [28], have proposedthe construction of -cycle free QC-LDPC codes using the cyclic difference sets. For a givendifference set D = { d , d , . . . , d k (cid:48) } in Z v (cid:48) , with d < d < · · · < d k (cid:48) , they considered the finitefield F q in different cases: q = v (cid:48) + 1 , or q ≥ d k (cid:48) + 1 or q ≥ d k (cid:48) − + 1 . The table of thedifference sets with small parameters, is available in [27, pp. 427–430], which can be used inthe construction of QC-LDPC codes as above. Now, we consider the general case where the group H is non-cyclic. As we saw in SectionIV, the structure of G has no effect on our design procedure and our concentration here is onthe structure of H . Hence, to simplify, we assume that G is a cyclic group. Let H be an Abeliangroup. We have the following theorem for Abelian groups. Theorem 6 ( [29, p. 193] ): Every finite Abelian group H is isomorphic to a direct product ofcyclic groups of the form Z p β × Z p β × · · · × Z p βtt , where p i ’s are primes (not necessarily distinct) and β i ’s are some positive integers.We can see from the proof of Theorem 2 that existence of a difference set in H , is notnecessary for constructing QC-LDPC codes and we can replace this assumption by a weakercondition. In the next section, we introduce a new method for constructing QC-LDPC codesusing Abelian groups.VI. C ONSTRUCTION OF G ROUP R ING B ASED
QC-LDPC
CODES U SING N ON - CYCLIC A BELIAN G ROUPS
In [28], QC-LDPC codes were constructed based on difference sets in cyclic groups. Differencesets do not exist in every cyclic group and furthermore, there is no efficient algorithm to findthem. Thus, the rate and length of the constructed codes based on cyclic difference sets will belimited. In this section, we introduce some combinatorial structures in arbitrary Abelian groups,which are close to difference sets and also enough for our application in the construction ofQC-LDPC codes. Then, we propose a new method to construct QC-LDPC codes based on theproposed structures and the group algebras. As we see in the sequel, these structures give codeswith the highest possible rate of a given length.
A. Combinatorial structures beyond the difference sets in the construction of QC-LDPC codes
In the construction of QC-LDPC codes based on Abelian groups, the first candidates aredifference sets in the Abelian groups. If instead of Z v (cid:48) , we consider a group A with v (cid:48) elements,which is written multiplicatively, the condition for a set D ⊂ A with k (cid:48) distinct elements to be adifference set is exactly like the cyclic case. While much is known about the difference sets inthe cyclic groups, little systematic work has been done for non-cyclic groups. As in the cycliccase, we are interested in difference sets with λ = 1 . We say that two difference sets D and D (cid:48) in A are equivalent if there exists an automorphism τ of A and an element g ∈ A such that D (cid:48) = D τ g . Non-cyclic difference sets for k (cid:48) < , are enumerated in [30]. We have summarizednon-equivalent and non-cyclic difference sets, which are proper for the construction of QC-LDPCcodes, in TABLE I. We can see from TABLE I that none of the non-cyclic difference sets with TABLE IN ON - CYCLIC DIFFERENCE SETS OF SIZE LESS THAN ( v (cid:48) , k (cid:48) , λ ) Underlying group Difference set D (21 , , a = b = 1 , ba = a b , a, a , b, a b (57 , , a = b = 1 , ba = a b , a, a , a , b, a b, a b,a b (57 , , a = b = 1 , ba = a b , a, a , a , b, a b , a b ,a b (183 , , a = b = 1 , ba = a b , a, a , a , a , a , a , b,a b, a b, a b, a b , a b ,a b (183 , , a = b = 1 , ba = a b , a, a , a , a , a , a , b,a b, a b, a b , a b , a b ,a b (273 , , a = b = c = 1 , a, b, a b, a b , a b , a b ,ca = a c, cb = b c, a b , a c, a bc, a bc,ba = ab a b c, a b c, a b c, a b c,b c , b c , b c (273 , , a = b = c = 1 , a, b, a b, a b , a b , a b ,ca = a c, cb = bc, a b , a c, a bc, a bc,ba = ab a b c, a b c, a b c, a b c,b c , b c , b c λ = 1 and k (cid:48) < are Abelian. Hence, considering Abelian difference sets in our frameworkmay not be accomplished simply. In the sequel, other structures will be introduced which canbe taken into account instead of difference sets. Such structures can be found in the packingproblems of finite Abelian groups [31], [32]. Definition 2:
For a given natural number t , an S t -set of size k (cid:48) in the Abelian group A is asubset S of A with k (cid:48) elements such that all the sums of t different elements in S are distinct in the group A .Let s ( A ) denote the cardinality of the largest S -set in A . In the study of S -sets, two centralfunctions are v ( k (cid:48) ) and v γ ( k (cid:48) ) , which give the order of the smallest Abelian group and cyclicgroup A , respectively, for which s ( A ) ≥ k (cid:48) . Since cyclic groups are special cases of the Abeliangroups, clearly v ( k (cid:48) ) ≤ v γ ( k (cid:48) ) , and any upper bound on v γ ( k (cid:48) ) is also an upper bound on v ( k (cid:48) ) .This is an important point in our work. Indeed, this inequality is equivalent to say that for agiven rate r , the group ring based QC-LDPC codes from Abelian groups are shorter than cyclicQC-LDPC codes with the same rate. In [31], [32], the values of v γ ( k (cid:48) ) and v ( k (cid:48) ) , for k (cid:48) ≤ ,were determined.Due to the proof of Theorem 2, when the differences of any pair of elements in a set of powersare distinct, the constructed QC-LDPC code based on such set is -cycle free. Let D ⊂ A denotethe set of the powers. Then, we have the following result. Proposition 1:
The difference set of D which is defined as D − D = { d − d | d , d ∈ D } ,contains no repetitive element, if and only if D is S -set. Proof:
The proof follows from the fact that if d − d = d − d , then d + d = d + d .In the construction of QC-LDPC codes, we are looking for the largest S -set in an Abeliangroup, which is denoted by H in the sequel, with cardinality s ( H ) . Our experimental results showthat the error performance of the group ring based QC-LDPC codes is related to the followingtwo conditions: 1) increasing the cardinality of the set of the powers, which is equivalent toincreasing the row weight of the constructed code, and 2) decreasing the size of the Abeliangroup H , which is equivalent to decreasing the block size b , which is also known as the liftingdegree . These two conditions are fulfilled if we choose the largest S -set in a given Abeliangroup H . Such structures have other applications in the coding theory [33], [34], [35]. To findan S -set of maximum size in a given group, symmetries in the structures of S -sets shouldbe considered. This is the motivation behind considering the concepts of group automorphismand subset equivalence. Several general bounds for the size of S -sets and exhaustive computersearch results for s ( H ) ≤ are presented in [31], [32].Two subsets S and S (cid:48) of an Abelian group H are equivalent, if S = ψ ( S ) , where ψ : H → H is a function of the form ψ ( x ) = ρ ( x ) + h , in which ρ ∈ Aut( H ) is an automorphism of H ,and h ∈ H is a constant. The equivalence mappings ψ form a group which is denoted by E ( H ) under function composition. They also preserve the property that all sums of the pairs aredistinct. For a given length, the following theorem helps us to estimate the maximum possible rate of the constructed QC-LDPC code using our method. Theorem 7 ( [32, Theorem 2] ): For a given finite Abelian group H , let S be an S -set in H with k (cid:48) -elements. Then, | H | ≥ (cid:18) − n ( H ) + 1 (cid:19) ( k (cid:48) − k (cid:48) + 2) , (8)where n ( H ) is the index of the subgroup I ( H ) of H formed by involutions (an involution of H is defined as an element x of H with order 2, i. e., x = 1 H ).An algorithm for finding an S -set with maximum size in an Abelian group, namely the backtrack search with isomorph rejection , was proposed in [31], [32]. We summarize the resultsof [31], [32] in TABLE II and TABLE III. TABLE II S - SETS OF SIZE k (cid:48) ≤ IN CYCLIC GROUPS k (cid:48) v γ ( k (cid:48) ) S -set1 1 { } { , } { , , } { , , , } { , , , , } { , , , , , } { , , , , , , } , { , , , , , , } { , , , , , , , } { , , , , , , , , }
10 72 { , , , , , , , , , }
11 96 { , , , , , , , , , , } , { , , , , , , , , , , } , { , , , , , , , , , , } , { , , , , , , , , , , }
12 114 { , , , , , , , , , , , }
13 147 { , , , , , , , , , , , , }
14 178 { , , , , , , , , , , , , , }
15 183 { , , , , , , , , , , , , , , } TABLE III S - SETS OF SIZE k (cid:48) ≤ IN A BELIAN NON - CYCLIC GROUPS k (cid:48) v ( k (cid:48) ) H S -set6 16 Z { (0 , , , , (0 , , , , (0 , , , , (0 , , , , (1 , , , , (1 , , , } Z × Z { (0 , , , (0 , , , (0 , , , (0 , , , (1 , , , (1 , , } Z { (0 , , (0 , , (0 , , (1 , , (2 , , (3 , } Z × Z { (0 , , , , (0 , , , , (0 , , , , (0 , , , , (1 , , , , (1 , , , , (0 , , , } Z × Z × Z { (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (1 , , , (1 , , } Z × Z { (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (1 , , , (1 , , , (1 , , , (0 , , }
11 96 Z × Z × Z { (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (1 , , , (1 , , , (1 , , } ,
11 96 Z × Z × Z { (0 , , , , (0 , , , , (0 , , , , (0 , , , , (0 , , , , (0 , , , , (0 , , , , (0 , , , , (1 , , , , (1 , , , , (1 , , , } ,
13 147 Z × Z { (0 , , , (1 , , , (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (0 , , , (1 , , , (1 , , , (2 , , , (2 , , , (2 , , } In the construction of our QC-LDPC codes, we use a subset of an S -set which has themaximum size and has the following additional condition. Definition 3:
Let S be an S -set in the Abelian group H . A subset D ⊂ S is calleda modified S -set if D ∩ ( D + D ) = ∅ , where D = { × d | d ∈ D } and D + D = { d + d | d , d ∈ D, d (cid:54) = d } . TABLE IVM
ODIFIED S - SETS OF SIZE k (cid:48) ≤ IN A BELIAN NON - CYCLIC GROUPS k (cid:48) v ( k (cid:48) ) H Modified S -set4 18 Z × Z × Z { (1 , , , (1 , , , (2 , , , (2 , , } Z × Z × Z { (1 , , , (1 , , , (1 , , , (2 , , , (2 , , } Z × Z × Z { (2 , , , (2 , , , (2 , , , (2 , , , (3 , , , (1 , , } Z × Z × Z { (1 , , , (1 , , , (1 , , , (1 , , , (2 , , , (2 , , , (3 , , } Z × Z × Z { (3 , , , (3 , , , (3 , , , (3 , , , (3 , , , (1 , , , (1 , , , (2 , , } Z × Z × Z { (2 , , , (2 , , , (2 , , , (2 , , , (2 , , , (2 , , , (3 , , , (3 , , , (1 , , }
10 144 Z × Z × Z { (2 , , , (2 , , , (2 , , , (2 , , , (2 , , , (2 , , , (3 , , , (3 , , , (3 , , , (1 , , }
11 168 Z × Z × Z { (2 , , , (2 , , , (2 , , , (2 , , , (2 , , , (1 , , , (1 , , , (1 , , , (1 , , , (3 , , , (4 , , }
12 196 Z × Z × Z { (3 , , , (3 , , , (3 , , , (3 , , , (3 , , , (3 , , , (1 , , , (1 , , , (1 , , , (4 , , , (4 , , , (2 , , }
13 256 Z × Z × Z { (6 , , , (6 , , , (6 , , , (6 , , , (6 , , , (8 , , , (8 , , , (7 , , , (7 , , , (4 , , , (2 , , , (3 , , , (1 , , } From now on, by an S -set, we mean a modified S -set . TABLE IV contains all modified S -sets of order less than or equal to . We have presented the results of the Abelian groupswhich are the direct product of cyclic groups. Note that the cyclic groups of order p δ − ,for some prime number p and a positive integer δ , can only be used as the components ofthe direct product. In Section IX, some examples are given indicating the higher rates of the constructed codes based on Abelian group algebras compared to the constructed codes based oncyclic difference sets.The results of TABLE IV are not optimized with respect to the group size, since we haveconsidered only the groups which are direct product of three cyclic groups. For example in thegroup Z × Z × Z of size there is a modified S -set of size , however, if we use thegroup Z of order , we have the following S -set S of size S = { (3 , , , , (3 , , , , (3 , , , , (3 , , , , (3 , , , , (3 , , , , (1 , , , , (1 , , , , (4 , , , , (4 , , , , (4 , , , , (4 , , , , (2 , , , , (2 , , , , (2 , , , , (2 , , , } . (9) B. Construction method
Now, we are ready to present the method of constructing QC-LDPC codes based on Abelian S -sets and group rings. Let A be an Abelian group. By a result attributed to Gauss (Theorem 6), A can be expressed as a direct product of a finite number of cyclic groups of prime power order.Let A ∼ = Z p β × Z p β × · · · × Z p βtt and consider F q i as the Galois field with q i -elements andwith the primitive element α i , where q i = p β i i and ≤ i ≤ t . We consider the Abelian group H = Z q − × Z q − × · · · × Z q t − of order b = (cid:81) ti =1 ( q i − . Let D = { d , d , . . . , d k (cid:48) } be an S -set with maximum size k (cid:48) in H . Using the map Φ that maps h = ( h , h , . . . , h t ) ∈ H to α h = ( α h , α h . . . , α h t t ) , with α = ( α , . . . , α t ) , it can be checked that H and F = F ∗ q ×· · ·× F ∗ q t are isomorphic as Abelian groups. We conclude that h − h (cid:48) (cid:54) = z − z (cid:48) , for h , h (cid:48) , z , z (cid:48) ∈ H , if andonly if Φ( h − h (cid:48) ) (cid:54) = Φ( z − z (cid:48) ) . Now, we generalize the definition of CPM, which is used in thelifting of the finite field based QC-LDPC codes, to the group ring based QC-LDPC codes. Definition 4:
Let α i be the primitive element of the Galois field F q i , where ≤ i ≤ t and let b = (cid:32) t (cid:89) i =1 ( q i − (cid:33) . (10)The Quasi Circulant Permutation Matrix of α ( i ,...,i t ) = ( α i , . . . , α i t t ) , which is denoted by theQCPM of α ( i ,...,i t ) , with ≤ i j ≤ q j − and ≤ j ≤ t , is a b × b matrix which is defined as QCPM( α ( i ,...,i t ) ) := CPM( α i , F q ) ⊗ · · · ⊗ CPM( α i t t , F q t ) , (11) in which ⊗ denotes the the Kronecker product of matrices, the matrix CPM( α i j j , F q j ) , for ≤ j ≤ t , is a ( q j − × ( q j − circulant matrix and its first row is the location-vector of theelement α i j j with respect to the multiplicative group of F q j . We denote the zero element of F q j by α −∞ j . If for some ≤ j ≤ t in (11), i j = −∞ , then QCPM( α ( i ,...,i t ) ) is defined as the b × b zero matrix. Example 3:
We want to obtain the QCPM of α (1 , in F × F , which is a × matrix asfollows QCPM( α (1 , ) = CPM( α , F ) ⊗ CPM( α , F )= ⊗ . By replacing each component a i,j of CPM( α , F ) , with a i,j × CPM( α , F ) , we obtain thefollowing matrix QCPM( α (1 , ) = . If A is an m × n matrix and B is a p × q matrix, then the Kronecker product A ⊗ B is the mp × nq block matrix: A ⊗ B = a , B · · · a ,n B ... . . . ... a m, B · · · a m,n B . (cid:3) In order to complete our construction method, we consider the ring R which is formed by the Z -linear combination of the basis elements of the form α i ⊗ · · · ⊗ α i t t , where ≤ i j ≤ q j − and ≤ j ≤ t . Alike the previous cases, the construction of QC-LDPC codes from Abeliangroup rings needs an m × n matrix over R , whose rows W , . . . , W m , satisfy the following twoconstraints:1) For ≤ i ≤ m − and k = ( k , . . . , k t ) , l = ( l , . . . , l t ) ∈ Z q − × · · · × Z q t − with k j (cid:54) = l j and j = 1 , . . . , t , the two vectors α k W i and α l W i have at most one position where bothof them have the same symbol from R , (i.e., they differ in at least n − positions).2) For ≤ i, j ≤ m − , i (cid:54) = j , and k = ( k , . . . , k t ) , l = ( l , . . . , l t ) ∈ Z q − × · · · × Z q t − ,the two vectors α k W i and α l W j differ in at least n − positions.We call these conditions the α -multiplied constraints and , respectively. Note that the multi-plication of α i ⊗ · · · ⊗ α i t t and α j ⊗ · · · ⊗ α j t t is defined as α k ⊗ · · · ⊗ α k t t , where k r = i r + j r (mod q r − , for ≤ r ≤ t . We also denote α i ⊗ · · · ⊗ α i t t by α ( i ,...,i t ) . Based on theaforementioned notations and definitions, we have the following theorem. Theorem 8:
Let D = { d , d , . . . , d n − } be an S -set in the Abelian group H = Z q − ×· · · , × Z q t − , G = { g = 1 G , g , g , · · · g n − } be a finite group of order n and F q i be the Galoisfield of order q i with the primitive element α i . Let α = ( α , . . . , α t ) and consider the ring R which is formed by Z -linear combination of the basis elements of the form α i ⊗ · · · ⊗ α i t t ,where ≤ i j ≤ q j − and ≤ j ≤ t . If ( q i − ’s, for ≤ i ≤ t , are odd numbers, then the RG -matrix corresponding to the element of the form w = (cid:80) n − i =0 α d i g i gives an n × n matrix W that satisfies the α -multiplied constraints and . By replacing each component of W byits corresponding (cid:81) ti =1 ( q i − × (cid:81) ti =1 ( q i − QCPM and choosing a subarray of W , we obtainthe parity-check matrix of a -cycle free QC-LDPC code. Proof:
Since all the rows W , . . . , W m − are obtained from the permutations of the firstrow W , it is enough to show that the first α -multiplied constraint is fulfilled for W =( α d , α d , . . . , α d k ) . Let k = ( k , . . . , k t ) , l = ( l , . . . , l t ) ∈ Z q − × · · · × Z q t − , with l (cid:54) = k , besuch that α l W and α k W have more than one position in common. Then, for some ≤ i ≤ n and ≤ j ≤ n , α l α d i = α k α d i and α l α d j = α k α d j which yield the following equations l + d i = k + d i , l + d j = k + d j . Consequently, it follows that k = l , which is a contradiction. For the second constraint, assumethat α l W and α k W i , where ≤ i ≤ m − , have more than one position in common. Then,for some ≤ i < j ≤ n and ≤ i (cid:48) < j (cid:48) ≤ n , α l α d i = α k α d i (cid:48) and α l α d j = α k α d j (cid:48) whichimply the following equations l + d i = k + d i (cid:48) , l + d j = k + d j (cid:48) . Thus, we have d i − d i (cid:48) = d j − d j (cid:48) . We also know that i (cid:54) = i (cid:48) and j (cid:54) = j (cid:48) . If i (cid:54) = j (cid:48) and i (cid:48) (cid:54) = j ,we get a contradiction with the assumption that D is an S -set. Note that l (cid:54) = k implies that i (cid:54) = i (cid:48) and j (cid:54) = j (cid:48) . If i = j (cid:48) and i (cid:48) (cid:54) = j or if i (cid:48) = j and i (cid:54) = j (cid:48) we conclude that d i = d (cid:48) i + d j or d j = d i + d (cid:48) j which is a contradiction, since D is an S -set. If i = j (cid:48) and j = i (cid:48) , wehave d i = 2 d j mod ( q − , . . . , q t − , where, d i = ( d i, , . . . , d i,t ) , d j = ( d j, , . . . , d j,t ) andthe mod operation is applied componentwise. Since ( q i − is an odd number for ≤ i ≤ t ,it follows that d i = d j which is a contradiction. Thus, if we replace the components of W with their corresponding QCPMs, we obtain the parity-check matrix of a -cycle free QC-LDPCcode.If we remove the repetitive members in the set D , then we obtain an S -set which satisfiesthe conditions of Theorem 8 without requiring that ( q i − ’s should be odd numbers. Similarto the cyclic case, we present the parity-check matrix of the code by an array which consistsof the powers of QCPMs. For example α i ⊗ · · · ⊗ α i t t in the parity-check matrix is denoted by ( i , . . . , i t ) . We present the steps of Theorem 8 in the next example. Although, all the assumptionsof Theorem 8 are not fulfilled in this example, it is a useful example to see our method forconstructing QC-LDPC codes. Example 4:
Consider the Abelian S -set D = { (0 , , , , (0 , , , , (0 , , , , (0 , , , , (1 , , , , (1 , , , } in Z . There are two groups of order ,namely Z and S . Consider G = Z as the underling group. The parity-check matrix of theQC-LDPC code based on Theorem 8, can be constructed by taking some rows of following matrix and replacing its components with their corresponding QCPMs: W = (0 , , ,
0) (0 , , ,
1) (0 , , ,
0) (0 , , ,
0) (1 , , ,
0) (1 , , , , , ,
1) (0 , , ,
0) (0 , , ,
1) (0 , , ,
0) (0 , , ,
0) (1 , , , , , ,
0) (1 , , ,
1) (0 , , ,
0) (0 , , ,
1) (0 , , ,
0) (0 , , , , , ,
0) (1 , , ,
0) (1 , , ,
1) (0 , , ,
0) (0 , , ,
1) (0 , , , , , ,
0) (0 , , ,
0) (1 , , ,
0) (1 , , ,
1) (0 , , ,
0) (0 , , , , , ,
1) (0 , , ,
0) (0 , , ,
0) (1 , , ,
0) (1 , , ,
1) (0 , , , . As an example, the QCPM of (0 , , , is QCPM( α (0 , , , ) = . If we consider the first three rows of W , then we obtain a QC-LDPC code of length andrate at least . . (cid:3) Using Theorem 8 and the proposed method in [28], for constructing QC-LDPC codes fromcyclic difference sets, we get the following theorem.
Theorem 9:
Let D = { d , d , . . . , d n − } be an S -set in the Abelian group H = Z q − ×· · · , × Z q t − , G = { g = 1 G , g , g , · · · g n − } be a finite group of order n and F q i be the Galoisfield of order q i with the primitive element α i . Let α = ( α , . . . , α t ) and consider the ring R which is formed by Z -linear combination of the basis elements of the form α i ⊗ · · · ⊗ α i t t , where ≤ i j ≤ q j − and ≤ j ≤ t . If ( q i − ’s, for ≤ i ≤ t are odd numbers, (or D containsno repetitive elements), and W and W − are the RG -matrices corresponding to the elements w = (cid:80) n − i =0 α d i g i and w − = (cid:80) n − i =0 α − d i g i , respectively, then W (cid:48) = (cid:104) W W − (cid:105) gives an n × n matrix that satisfies the α -multiplied constraints and . By replacing each componentof W (cid:48) with its corresponding (cid:81) ti =1 ( q i − × (cid:81) ti =1 ( q i − QCPM and choosing a subarray of W (cid:48) , we obtain the parity-check matrix of a -cycle free QC-LDPC code. Proof:
Since all the rows W (cid:48) , . . . , W (cid:48) m − are obtained from the permutations of the firstrow W (cid:48) , it is enough to show that the first α -multiplied constraint is fulfilled for W (cid:48) =( α d , . . . , α d n | α − d , . . . , α − d n ) . Let k = ( k , . . . , k t ) and l = ( l , . . . , l t ) in Z q − × · · · × Z q t − ,with l (cid:54) = k , be such that α l W (cid:48) and α k W (cid:48) have more than one position in common. Based onTheorem 8, both of these common positions cannot be in the first n positions or in the last n positions. For some ≤ i ≤ n and n + 1 ≤ j ≤ n , let α l α d i = α k α d i and α l α − d j = α k α − d j which results in the following equations l + d i = k + d i , l − d j = k − d j . Consequently, we have k = l , which is a contradiction. For the second constraint, assume that α l W (cid:48) and α k W (cid:48) i , where ≤ i ≤ m − , have more than one position in common. Then, forsome ≤ i (cid:54) = i (cid:48) ≤ n and n + 1 ≤ j (cid:54) = j (cid:48) ≤ n , α l α d i = α k α d i (cid:48) and α l α d j = α k α − d j (cid:48) whichresults in the following equations l + d i = k + d i (cid:48) , l − d j = k − d j (cid:48) . It follows that d i − d i (cid:48) = d (cid:48) j − d j . If i (cid:54) = j (cid:48) and i (cid:48) (cid:54) = j , we get a contradiction with the assumptionthat D is an S -set. If i = j and i (cid:48) (cid:54) = j (cid:48) or if i (cid:48) = j (cid:48) and i (cid:54) = j we conclude that d i = d (cid:48) i + d (cid:48) j or d (cid:48) j = d i + d j which is a contradiction, since D is an S -set. If i = j and i (cid:48) = j (cid:48) , we have d i = 2 d (cid:48) i mod ( q − , . . . , q t − . Since ( q i − is an odd number for ≤ i ≤ t , d i = d (cid:48) i which is a contradiction.To describe the construction of Theorem 9 by group-rings representations, we can use thefollowing theorem. Theorem 10 ( [25, Lemma 3.4] ): Let G and H be two groups and let K be a field. Then K [ G ] ⊗ K K [ H ] ∼ = K [ G × H ] . We can replace the field K in Theorem 10 by any commutative ring with identity. Thus,the group ring that describes the construction of Theorem 9 is R [ G (cid:48) ] = R [ C × G ] , where C = { , − } is a multiplicative group of order . In this case, we have considered the first n rows of an RG (cid:48) -matrix. C. Achievable parameters of the group ring based QC-LDPC codes
Here, we explain the important parameters of the obtained codes using Abelian group rings.These parameters are compared with the achievable parameters of the other construction methods,namely the ones based on finite fields. The parameters that we have considered for our analysisare the length and the rate of the code. We only consider the girth QC-LDPC codes for ourcomparisons. First, we consider the construction methods based on finite fields. We concludethe following result from [36, Corollary 1] and we use it to estimate the values of rate andlength that can be achieved by using the designed QC-LDPC codes based on the finite fieldsapproaches.
Proposition 2:
In constructing a QC-LDPC code with cyclic lifting degree b using an m × n exponent matrix B , with m ≤ n , that does not contain −∞ in the components, a necessarycondition for having a girth at least in the Tanner graph is b ≥ n .When we apply Proposition 2 to finite field based QC-LDPC codes, we reach the upper bound n ≤ q − on the row weight of the code. The construction of QC-LDPC codes based on Latinsquares over finite fields, which is proposed in [37], and the proposed construction methods in[20], achieve this upper bound. Thus, construction of QC-LDPC codes with lengths γ ( q − and rates − ργ is possible, in which q is a prime power and ≤ γ, ρ ≤ q − .As explained above, by using the approaches based on finite fields, the lifting degree b is ofthe form p β − , for a prime number p and a positive integer β . For example, the achievablevalues of b , which are smaller than , are ,
22 24 26 28 31 35 36 40 42 46 48 ,
52 58 63 66 70 72 78 80 82 88 96 . Thus, only of the possible values for b can be achieved by using the approaches basedon finite fields. When we employ the Abelian group rings, the lifting degree b is of the form (cid:81) ti =1 (cid:16) p β i i − (cid:17) , in which p i ’s are distinct prime numbers and β i ’s and t are positive integers.In this case, the achievable values for b , which are smaller than , are , where the circled values are the ones that cannot be obtained by using the approaches based onfinite fields. This indicates increase in the number of achievable values for b , compared tothe one for finite fields.Using Theorem 7, we find an upper bound on the row weight of the group ring based QC-LDPCcodes. Let H be an Abelian group used in our construction. Let s ( H ) denote the cardinality ofthe largest S -set in H , which gives s ( H ) as the maximum achievable row weight of the groupring based QC-LDPC codes based on H . Then, by using Theorem 7, it follows that s ( H ) ≤ (cid:36) (cid:112) − − h y ( H ))2 (cid:37) = (cid:36) (cid:112) h y ( H )2 (cid:37) , (12)where (cid:98) x (cid:99) , for a real number x , denotes the largest integer less than or equal to x and h y ( H ) = | H | ( n ( H ) + 1) n ( H ) . (13)Finding the Abelian groups that achieve this upper bound, is an interesting problem. When | H | is large enough, we can assume h y ( H ) ≈ | H | and (12) will be an upper bound in terms of | H | .Consequently, construction of QC-LDPC codes with lengths γ (cid:81) ti =1 (cid:16) p β i i − (cid:17) and rates − ργ is possible, in which γ, ρ are integers with ≤ γ ≤ s ( H ) and ≤ ρ ≤ s ( H ) , the p i ’s aredistinct prime numbers and the β i ’s and t are positive integers.VII. A N EW E NCODING OF
QC-LDPC C
ODES B ASED ON THE M ULTIPLICATION OF G ROUP A LGEBRAS
In general, the quasi-cyclic codes are encoded by multiplying a message vector m of length kb by a ( kb × nb ) generator matrix G , where G is usually in systematic form, i.e., G = (cid:104) I kb P kb × ( n − k ) b (cid:105) , where I kb is the kb × kb identity matrix. There are two difficulties in theimplementation of this encoding procedure. First, the generator matrix G is usually a densematrix and requires a large number of memory units, i.e., b ( n − k ) k units, to store P . Second,although the encoding of QC codes can be partially parallelized so that the computation unitsare reduced by a factor of b , the total number of symbol operations is still b ( n − k ) k , whichis the same as that for general linear codes. In [18], an efficient encoding method has beenproposed for QC-LDPC codes. The authors of [18] computed a generator matrix G with quasi-cyclic structure benefiting from the quasi-cyclic structure of the parity-check matrix and theGaussian elimination method. Another method was proposed in [23] that uses the structure ofgroup algebras to obtain the generator matrix. This method can be used for the unit elements ofa group algebra. Let w be a unit element in the group algebra RG . Let W be its corresponding RG -matrix. Then W is an invertible matrix over R . Without loss of generality, we consider theparity-check matrix H of the code as the first n − k rows of W . We divide the matrices W and W − as follow I n × n = WW − = H ( n − k ) × n J k × n (cid:104) A n × ( n − k ) B n × k (cid:105) = H ( n − k ) × n A n × ( n − k ) H ( n − k ) × n B n × k J k × n A n × ( n − k ) J k × n B n × k . The above equation gives H ( n − k ) × n B n × k = n − k × k and consequently, it follows that B tn × k is agenerator matrix for the given code.Although, we used the group rings to construct our QC-LDPC codes, our construction methodis completely different from the presented method in [23]. We design our codes over a groupring RG , where | G | = n . Then, based on the available connection between the RG -matrices in M n ( R ) and the elements of the group ring, we replace the components of the RG -matrix by theircorresponding QCPMs. In both cases that we considered, i.e., when R is a finite field or when R isthe tensor product of multiple fields, the map that sends the elements of R to their correspondingQCPMs, is a multiplicative group isomorphism. Indeed, it preserves the multiplication but notnecessarily the addition. Thus, we may have QCPM( r + r ) (cid:54) = QCPM( r ) + QCPM( r ) ,for some r , r ∈ R . In fact, an element U in M n ( R ) can be invertible in M n ( R ) but afterreplacing its components with their corresponding QCPMs, the obtained matrix can be a non-singular binary matrix (i.e., its determinant can be an even number). The idea that we use here is replacing the matrix multiplication in M nb ( F ) , where b = (cid:81) ti =1 ( q i − , by a convolution likeoperation in the group ring R (cid:48) G , where R (cid:48) = F [ x ] (cid:10) x q − − (cid:11) ⊗ · · · ⊗ F [ x t ] (cid:10) x q t − t − (cid:11) , and x , . . . , x t are independent variables. We define the QCPM of x i ⊗ · · · ⊗ x i t t ∈ R (cid:48) , where ≤ i j ≤ q j − and ≤ j ≤ t , as QCPM( α ( i ,...,i t ) ) , which is a b × b matrix. Theorem 11:
A matrix M ∈ M n ( R (cid:48) ) is a unit (a zero-divisor) if and only if the matrix whichis obtained by replacing the components of M with their corresponding QCPMs, is a unit (azero-divisor) in M nb ( F ) . Proof:
The proof follows from the fact that the map Φ that sends x i to a circulant matrix X i of size ( q i − × ( q i − and with the first row of the form (0 , , , . . . , , is an isomorphismbetween two rings M n ( R (cid:48) ) and Im (Φ) ⊂ M nb ( F ) . We define Φ over other elements of R (cid:48) naturally. A. Mathematical description of encoding for group ring based QC-LDPC codes
Let w be an element in the group algebra R (cid:48) G and W be its corresponding R (cid:48) G -matrix ofsize n × n . Let H be the rb × nb parity-check matrix of a group ring based QC-LDPC code C ,with r < n . The matrix H is obtained by choosing some rows from the array matrix W , whichis denoted by H arr , and replacing the components of H arr by their corresponding QCPMs. Thegroup ring R (cid:48) G is a finite ring with identity and w is either a unit or a zero-divisor. Consequently, W is either a unit matrix or a zero-divisor matrix in M n ( R (cid:48) ) . To simplify our notation, we statethe following theorem. Theorem 12:
Let G be a finite Abelian group and R (cid:48) G be the aforementioned group ring.Then, R (cid:48) G is isomorphic to the group algebra F G (cid:48) , where G (cid:48) = C q − × · · · × C q t − × G and C q i − is the multiplicative cyclic group of order q i − , for i = 1 , . . . , t . Proof:
The proof follows from the following isomorphisms F [ x i ] (cid:104) x q i − i − (cid:105) ∼ = F C q i − , i = 1 , . . . , t. Consequently, R (cid:48) G ∼ = ( F C q − ⊗ · · · ⊗ F C q t − )[ G ] . Based on Theorem 10, F C q − ⊗ · · · ⊗ F C q t − is isomorphic to F [ C q − × · · · × C q t − ] . Let H = C q − × · · · × C q t − . We show that F [ H ][ G ] is isomorphic to F [ H × G ] . To this end, it can be checked easily that the map Φ which is given by Φ (cid:32)(cid:88) g ∈ G (cid:88) h ∈ H α ( g,h ) ( g, h ) (cid:33) = (cid:88) g ∈ G β g g, is an isomorphism between F [ H × G ] and F [ H ][ G ] , where β g = (cid:80) h ∈ H α ( g,h ) h ∈ Z [ H ] .Now, we describe the encoding approach in both cases. Case 1 : Let W be the R (cid:48) G -matrix of a unit element w ∈ R (cid:48) G , H arr be a subarray of W and H be its corresponding ( rb × nb ) binary matrix after replacing the QCPMs. Consider U and u as the inverses of W and w in M n ( R (cid:48) ) and R (cid:48) G , respectively. We want to encode a binaryvector m ∈ F kb , where k = n − r . We divide the input vector m into k sections of size b as m = ( m , . . . , m k ) . Then, we map the following vector to m ( m , . . . , m k ) (cid:55)→ ( m ( x , . . . , x t ) , . . . , m k ( x , . . . , x t )) , where m j ( x , . . . , x t ) = (cid:80) b − i =0 m j,i X Ψ − ( i ) , X = x ⊗ · · · ⊗ x t and Ψ is a bijection map from Z q − × · · · × Z q t − to Z b = Z ( q − ×···× ( q t − , such that Ψ ( i , . . . , i t ) = t − (cid:88) j =1 ( i j − (cid:32) t (cid:89) s = j +1 ( q s − (cid:33) + i t . (14)Let H arr be the subarray of W corresponding to the list L = (cid:8) g − i , . . . , g − i r (cid:9) in G . Considerthe list L (cid:48) = G − { g i , . . . , g i r } = { g j , . . . , g j k } , and m L (cid:48) = (cid:80) ki =1 m i ( x , . . . , x t ) g j i . Then,the encoding of m can be done by using the flowing group ring multiplication c = m L (cid:48) u andreplacing the components of c with their corresponding QCPM-generators. The QCPM-generatorof an element x i ⊗ · · · ⊗ x i t t is the vector e q − i ⊗ · · · ⊗ e q t − i t , where e q j − i j is a vector of length ( q j − in which the i thj position is and the other components are , for j = 1 , . . . , t . Wecheck the validity of this statement in Theorem 13. Theorem 13:
Let H arr be the subarray of W corresponding to a list L = (cid:8) g − i , . . . , g − i r (cid:9) in G , (i.e., H arr is formed by rows i , . . . , i r of W ). If we construct the parity-check matrix of thecode C from H arr , based on [23, Theorem 5.1], the matrix G arr formed by the rows of W − withindices given in L (cid:48) = { g j , . . . , g j k } = G − { g i , . . . , g i r } , can be used to construct the generatormatrix of C . Replace the components of H arr and G arr with their corresponding QCPMs anddenote the obtained matrices by H and G , respectively. The encoding of a vector m of length kb , that means the calculation of mG , can be done by computing the group ring multiplication c = m L (cid:48) u and replacing the components of c with their corresponding QCPM-generators. Proof:
The encoding of m = ( m , . . . , m k ) , where m i = ( m i, , . . . , m i,b − ) and i =1 , . . . , k , means the calculation of c = mG . Using block matrices, we have c = (cid:104) m · · · m k (cid:105) W (cid:48) g − j g · · · W (cid:48) g − j g n − ... . . . ... W (cid:48) g − jk g · · · W (cid:48) g − jk g n − , (15)where W (cid:48) g − jz g s is the QCPM of the ( j z , s ) th component of W − . For z = 1 , . . . , n , the sub-block c z , which corresponds to the indices ( z − b +1 to zb of c , is obtained by (cid:18)(cid:80) ki =1 m i W (cid:48) g − ji g z (cid:19) g z .The group element g z in the right side of this equation indicates the location of the sub-vector (cid:80) ki =1 m i W (cid:48) g − ji g z in the given codeword c . In our proposed encoding method, we compute thegroup ring multiplication c = (cid:32) k (cid:88) i =1 m i ( x , . . . , x t ) g j i (cid:33) ( w (cid:48) g g + · · · + w (cid:48) g n − g n − ) . Using the properties of the group ring multiplication, the coefficient of g z in the above multiplica-tion is (cid:80) ki =1 m i ( x , . . . , x t ) g j i w (cid:48) g ki g k i , where g j i g k i = g z , for i = 1 , . . . , k . Since G is an Abeliangroup, we have g k i = g − j i g z and the coefficient of g z is (cid:18)(cid:80) ki =1 m i ( x , . . . , x t ) w (cid:48) g − ji g z (cid:19) g z . Afterreplacing the QCPM-generators, we reach the same result as the usual encoding. Case 2 : Let w be a zero divisor in R (cid:48) G and W ∈ M n ( R (cid:48) ) be its corresponding R (cid:48) G -matrix such that for a matrix U ∈ M n ( R (cid:48) ) and u ∈ R (cid:48) G , WU t = n × n and wu t = 0 .Let H arr be the subarray of W corresponding to the list L = (cid:8) g − i , . . . , g − i r (cid:9) ⊂ G and H be itscorresponding ( rb × nb ) binary matrix which is obtained by replacing the elements of H arr withtheir corresponding QCPMs. Let C be a code with parity-check matrix H . Then, the generatormatrix of C is a k (cid:48) × nb binary matrix such that GH t = k (cid:48) × rb , where k (cid:48) = nb − rank( H ) . Ifthe matrix H has full rank, then instead of finding the generator matrix of C , we consider H asthe generator matrix of the code C ⊥ and we find its parity-check matrix. Similar to the methodused in Theorem 13, every codeword c (cid:48) in C ⊥ is obtained as follows: first, we have an element c (cid:48) in R (cid:48) G of the form c (cid:48) = mw , where m ∈ M (cid:48) and M (cid:48) is the R (cid:48) -submodule of R (cid:48) G generatedby the list L of G . Then, the vector c (cid:48) is obtained by replacing the components of c (cid:48) withtheir corresponding QCPM-generators. If L w is linearly independent, rank( W ) = |L| = r and For a given group G = { g = 1 G , g , . . . , g n − } and a group ring RG , let u = (cid:80) n − i =0 β g i g i be an element in RG . Thenwe define u t as (cid:80) n − i =0 β g i g − i . rank( U ) = n − r , then we find n − r independent rows of U which are in accordance with a listin G like L (cid:48) = (cid:8) g − j , . . . , g − j n − r (cid:9) . We put these n − r independent rows of U in a matrix whichis denoted by U arr . Then, a necessary and sufficient condition to have a single check element, isobtaining the rank ( n − r ) b after replacing the elements of U arr by their corresponding QCPMs[23, Theorem 4.9]. Hence, the encoding of a vector m can be done by using the group ringmultiplication c = m L (cid:48) u , where m L (cid:48) = (cid:80) n − ri =1 m i ( x , . . . , x t ) g j i , and replacing the componentsof c with their corresponding QCPM-generators. Now, let both H and H arr have full rank, dim M (cid:48) = |L| = r < ω = rank( W ) and WU t = n × n , with rank( U ) = n − ω . In addition,let the substituting of QCPMs in U admit a matrix of rank ( n − ω ) b . In this case, we obtainthe generator matrix of C by adding ω − r extra vectors to the independent rows of U or U arr .Moreover, the rows of W corresponding to the list L of G , are independent and we can extend L to a subset T = (cid:110) g − i , . . . , g − i r , g − i r +1 , . . . , g − i ω (cid:111) of G , corresponding to the independent rowsof W , and put all these row vectors in a matrix W ω . Since, rank( W ) = ω , there exists an n × ω matrix C such that W ω C = I ω . This implies W ω C = H arr H (cid:104) C C (cid:105) = I ω . (16)We conclude that H arr C = r × ( ω − r ) . Let U n − ω be a matrix formed by n − ω linearly independentcolumns of U . Then, it can be shown [23], that the binary matrix G b that is obtained by replacingthe components of G arr = (cid:104) U n − ω C (cid:105) t with their corresponding QCPMs, is the generatormatrix of C . In Remark 7.1, we have explained the details of our encoding method based onmultiplication of group rings. Remark 7.1:
Using the aforementioned notation, let the binary matrix G b of size ( n − r ) b × nb be the generator matrix of C obtained from G arr = (cid:104) U n − ω C (cid:105) t by replacing its componentswith their corresponding QCPMs. Let U n − ω be the subarray of R (cid:48) G -matrix U corresponding tothe list L u = (cid:8) g j , . . . , g j n − ω (cid:9) ⊂ G . Let U bn − ω and C b be the matrices obtained by replacingthe QCPMs in U n − ω and C , respectively. The encoding of m = ( m , . . . , m k ) , with m i =( m i, , . . . , m i,b − ) , i = 1 , . . . , k and k = n − r , can be done as c = mG b , which is equivalent to c = m U bn − ω + m C b , (17)where m = ( m , . . . , m n − ω ) and m = ( m n − ω +1 , . . . , m k ) . Since U n − ω is a subarray of the R (cid:48) G -matrix U , by using the same method in the proof of Theorem 13, we can prove that the term c = m U bn − ω can be obtained by performing the following group ring multiplication c = (cid:32) n − ω (cid:88) i =1 m i ( x , . . . , x t ) g − j i (cid:33) ( u tg g + · · · + u tg n − g n − ) , where ( u tg , . . . , u tg n − ) t is the first column of U . It is enough to show that the term c = m C b can also be obtained by using a group ring multiplication. To this end, C must be a subarrayof an R (cid:48) G -matrix. Let us consider W ω C = I ω and let C be the first column of C . Let W bethe first row of the R (cid:48) G -matrix W . Since all other rows of W can be written as a permutationof the first row, W ω will be of the following form W ω = g − i ( W ) ... g − i ω ( W ) , (18)where g − i j ( W ) , for j = 1 , . . . , ω , is the i thj row of W . Note that W ω C = I ω implies (cid:68) g − i j ( W ) , ( C ) t (cid:69) = δ j, , for j = 1 , . . . , t , in which δ j, = 1 ( j = 1) , j (cid:54) = 1) is theKeronecker’s delta and (cid:104) , (cid:105) denotes the inner product in F n . We also have the following trivialresult. Lemma 14:
Let F be an arbitrary field and let (cid:104) , (cid:105) denote the inner product over F n , for apositive integer n . Then, for every x , y ∈ F n , and every permutation σ on { , . . . , n } , (cid:104) x , y (cid:105) = (cid:104) σ ( x ) , σ ( y ) (cid:105) .If there exists a set I = { g , . . . , g ω } ⊂ G such that g − l g − i s ∈ T = (cid:110) g − i , . . . , g − i r , g − i r +1 , . . . , g − i ω (cid:111) ,for l, s = 1 , . . . , ω , then based on Lemma 14, there exists a reordering on I , like { g (cid:48) , . . . , g (cid:48) ω } ,that gives an R (cid:48) G -matrix C (cid:48) as C (cid:48) = (cid:104) g (cid:48) ( C ) · · · g (cid:48) ω ( C ) (cid:105) , such that W ω C (cid:48) = I ω . Thus, instead of C , we can consider a submatrix of C (cid:48) which is an R (cid:48) G matrix. Consequently, the second part of encoding, i.e., m C b , can be obtained by substitutingthe QCPM-generators in the components of the following group ring multiplication c = (cid:32) n − r (cid:88) i = n − ω +1 m i ( x , . . . , x t )( g (cid:48) i + ω − n + r ) − (cid:33) c (cid:48) R (cid:48) G , (19)where c (cid:48) R (cid:48) G = C (cid:48) , g + · · · + C (cid:48) n, g n − and ( C (cid:48) , , . . . , C (cid:48) n, ) t is the first column of C (cid:48) . In thiscase, the codewords of C cannot be obtained by using a single generator. Removing each oneof the aforementioned conditions makes the encoding highly complicated. (cid:3) Due to the mathematical complexity of the encoding method proposed in Case , finding anelements w in R (cid:48) G that satisfy the assumptions of Case is our desire. In Proposition 3, wespecify some conditions under which the obtained array matrix W , remains an invertible matrixover F after replacing the components of W with their corresponding QCPMs. We need thefollowing results and definitions to establish this result.Let Γ denote the n × n cyclic shift matrix whose entries are Γ i,j = 1 if j − i ≡ n ) ,and , otherwise. An n × n circulant matrix A over the ring of integers modulo m , which isdenoted by Z m for a positive integer m , can be written as A = (cid:80) n − i =0 a i Γ i , where a i ∈ Z m and i = 0 , . . . , n − . We associate with the circulant matrix A the polynomial f ( x ) = (cid:80) n − i =0 a i x i in the ring Z m [ x ] . The following theorem states the necessary and sufficient conditions for A being an invertible matrix over Z m . Theorem 15 ( [38, Theorem 2.2] ): Let m = p k p k · · · p k h h denote the prime powers factorizationof m and let f denote the polynomial over Z m associated to a circulant matrix A . The matrix A is invertible over Z m if and only if, for i = 1 , . . . , h , we have gcd ( f ( x ) , x n −
1) = 1 in Z p i [ x ] . Let q be a power of an odd prime p and let ζ n denote a primitive n th root of unity. The n th cyclotomic polynomial Φ n ( x ) is Φ n ( x ) = (cid:89)
A number ϑ is a primitive root modulo n if every number coprime to n iscongruent to a power of ϑ modulo n . In other words, ϑ is a generator of the multiplicativegroup of integers modulo n [40].Let us denote the inverse of a (mod b ) by [ a − ] b . Based on these statements, we have thefollowing proposition. Proposition 3:
Let q = 2 m and G = { g , g , . . . , g n − } be a cyclic group of order n , where n and q − are distinct odd prime numbers. Consider D = { d , . . . , d n − } ⊂ Z q − as a modified S -set such that max( D (cid:48) ) − min( D (cid:48) ) ≤ ϕ ( n ( q − , where D (cid:48) = (cid:8) d (cid:48) , . . . , d (cid:48) n − (cid:9) and d (cid:48) i = nd i [ n − ] q − + i ( q − q − − ] n (mod n ( q − . Let α be the primitive element of F q , w = (cid:80) n − i =0 α d i g i ∈ F q G and W be its corresponding F q G -matrix. If is the primitive rootmodulo n ( q − and ( f ( x ) , Φ n ( x )Φ ( q − ( x )) = 1 over F [ x ] , where f ( x ) = (cid:80) n − i =0 x d (cid:48) i , then, thematrix obtained from W by replacing the components with their corresponding CPMs, is aninvertible matrix over F . Proof:
We use Theorem 11 in the case t = 1 and R (cid:48) [ G ] = F C q − [ G ] . Instead of considering W ∈ M n ( F q ) and replacing the components of W by their corresponding CPMs, we consider theimage of w as an element w (cid:48) in F C q − [ G ] . It is enough to show that w (cid:48) is an invertible element.Based on Theorem 12, R (cid:48) G ∼ = F [ C q − × G ] and since ( n, q −
1) = 1 , R (cid:48) G and F [ C n ( q − ] areisomorphic via an isomorphism, namely γ . It should be noted that the support of w (cid:48) is the subset S = { ( d i , g i ) | i = 0 , . . . , n − } of C q − × G . Consider an element g to be the generator of G ,then ( α, g ) is the generator of the cyclic group C q − × G , which is isomorphic to C n ( q − . Weshow that D (cid:48) is the support of γ ( w (cid:48) ) . To this end, we find an element β i in Z n ( q − such that ( α, g ) β i = α d i g i , for i = 0 , . . . , n − . This implies the following system of congruent equations β i ≡ d i (mod ( q − ,β i ≡ i (mod n ) . Based on Chinese remainder theorem [41, Section 31.5], the solution of this system of equationsis d (cid:48) i = nd i [ n − ] q − + i ( q − q − − ] n (mod n ( q − . Thus, the F [ C n ( q − ] -matrix of γ ( w (cid:48) ) is an n ( q − × n ( q − cyclic matrix and its corresponding polynomial is f ( x ) = (cid:80) n − i =0 x d (cid:48) i . It is enough to show that ( f ( x ) , x n ( q − −
1) = 1 in F [ x ] . We know that x n ( q − − (cid:81) d | n ( q − Φ d ( x ) = Φ ( x )Φ n ( x )Φ q − ( x )Φ n ( q − ( x ) , [42]. The degree of f ( x ) is max( D (cid:48) ) and ithas as a root with multiplicity min( D (cid:48) ) . Since, (2 , n ( q − and is the primitive rootmodulo n ( q − , based on Theorem 16, Φ n ( q − ( x ) is an irreducible polynomial. The condition max( D (cid:48) ) − min( D (cid:48) ) ≤ ϕ ( n ( q − implies (Φ n ( q − ( x ) , f ( x )) = 1 . Based on the assumptions, ( f ( x ) , Φ n ( x )Φ ( q − ( x )) = 1 and since f (1) = n (cid:54)≡ , we have ( f ( x ) , x n ( q − −
1) = 1 and the result holds.Based on Theorem 15 and Theorem 16, construction of invertible circulant matrices over F q is an straightforward job, but when we replace the CPMs, finding the sufficient conditions forremaining invertible over F is a complicated task and results in the conditions of Theorem 3. Example 5:
Consider the group G = { g = 1 G , g , g } as the cyclic group of order and R (cid:48) = F C . Let w = xg + x g + x g , in which x is generator of the multiplicative cyclic group of order , C = { , x, . . . , x } . Then, the R (cid:48) G -matrix of w is W = x x x x x x x x x . (20)Choose the first row of W as H arr , replace x, x , x by their corresponding CPMs and denotethe obtained binary matrix by H . We use this matrix as the parity-check matrix of the QC-LDPCcode C . The element w is a zero divisor in R (cid:48) G and we can find u ∈ R (cid:48) G such that uv = 0 . Wefind u as follows. It is easy to check that det( W ) = x + x + x + 1 = ( x + 1) ( x + x + 1) .Dividing x + 1 by x + x + 1 gives f ( x ) = x + x + x + 1 . It is also easy to check that theadjoint matrix of W is adj ( W ) = x + x x + x x + x x + x x + x x + x x + x x + x x + x , (21)and WW ∗ = det( W ) I , where W ∗ = adj ( W ) t . Then, put U = f ( x ) W ∗ which is the followingmatrix after simplifications U = ( x + x + x + 1) . It is clear that WU = . We can check that rank ( W ) = 16 and rank ( U ) = 3 , over F . Thus, W does not have the conditions of Remark 7.1, but we explain the encoding method by using thesematrices with some modifications. Replace the CPMs in W , and denote the obtained matrix by W b . Then, the rows in the list L = { − , , , } of W b are linearly independent over F .Let H (cid:48) be the submatrix of W corresponding to L . There is a × binary matrix C such that H (cid:48) C = I C = . Replace the CPMs in U and choose the first columns of the obtained matrix and denote it by U . Since H is corresponding to the first rows of W , we choose the columns − of C and denote the obtained matrix by C . The generator matrix of C is a × binary matrix like G such that GH t = × and rank ( G ) = 14 . Put G = (cid:104) U C (cid:105) t which is of rank . Weonly consider the message vectors with in the last two coordinates. Then, G can be used forencoding the messages of this form. Note that U t is a submatrix of U t which is the followingmatrix U t = ( x + x + x + 1) . (22)Let u = (cid:80) i =0 f i ( x ) g i , where f i ( x ) = (cid:80) j =0 c i,j x j , for i = 0 , , . Then, u t = (cid:80) i =0 f − i ( x ) g − i ,where f − i ( x ) = (cid:80) j =0 c i,j x − j . For example, the encoding of the vector m = [ m m ] , with m = [1 0 1] and m = [0 1 0 0 1 1 0 1 1] , can be done as c = m U t + m C t . We have m U t = [0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1] . This multiplication can also be done as follows c ( x ) = m ( x ) u t = (1 + x )( x + x + x + 1) (cid:88) i =0 g i = ( x + x + x + x )( g + g + g ) . Now, replace the generator of CPMs in c ( x ) which gives the following binary vector c = [0 1 1 1 0 0 1 | | . (cid:3) VIII. E
NCODING I MPLEMENTATION
To make a better understanding about the encoding method proposed in Section VII, wepresent its naive implementation in the case that a unit group ring element is used in theconstruction of code. Let u = (cid:80) nj =1 u j ( x , . . . , x t ) g j = (cid:80) nj =1 (cid:80) b − i =0 u j,i X Ψ − ( i ) g j be the groupring element that generates the code, in which Ψ is defined in (14). As explained in Section VII,the encoding of a vector m = ( m , . . . , m k ) , with m j = ( m j, , . . . , m j,b − ) and j = 1 , . . . , k ,can be done by viewing m as a group ring element of the form m L (cid:48) = (cid:80) kj =1 m j ( x , . . . , x t ) g i j = (cid:80) kj =1 (cid:80) b − i =0 m j,i X Ψ − ( i ) g i j and computing m L (cid:48) u .In Fig. 1, we present the encoder circuit that implements this procedure. The inputs of thisencoder are loaded from k input registers (RIs) of size b and the outputs are stored in n outputregisters (ROs) of size b . This circuit is composed of n partial multiplier circuits (PMCs) andeach one multiplies m L (cid:48) by one u s ( x , . . . , x t ) , for s = 1 , . . . , n . The encoding operation isperformed in kb clocks, after b clocks delay in the beginning. In this circuit, the sub-blockdenoted by PS, is a programable switch which is composed of n -to- n demultiplexers thatdepending on g i j , (i.e., when the encoder is processing the j th sub-vector m j of the input vector m ) it routs the inputs to their correct positions in the output registers. After routing and choosingthe appropriate register, the new value of the register is the XOR of its previous value and thenew routed value.Each PMC itself is composed of b monomial multipliers (MMs), which are denoted byMM s, , . . . , MM s,b for PMC s and s = 1 , . . . , n . The structure of PMC s , for s = 1 , . . . , n , isdepicted in Fig. 2. In PMC s , the monomial u s ( x , . . . , x t ) g s = (cid:80) b − j =0 u s,j X Ψ − ( j ) g s is multipliedby m L (cid:48) in kb clocks. In the implementation of this circuit, we use a lookup table (LUT) thatpreserves the input-output relation of the map Ψ , which is defined in (14). The ports RE and WE in PMCs and MMs denote the read enable and write enable terminals, respectively, whichare used to enable the reading and writing operations on the appropriate RAMs.The implementation circuit of MM s,l , for l = 1 , . . . , b , is presented in Fig. 3 that takes m j,i X Ψ − ( i ) g i j = m j,i x i ⊗ · · · ⊗ x i t t g i j in clock jn + i , for j = 0 , . . . , k , i = 1 , . . . , b , andmultiplies it by u s,l X Ψ − ( l ) g s = u s,l x l ⊗ · · · ⊗ x l t t g s in the group ring R (cid:48) G . The ports RA andWA are used to specify the read address and write address in the RAMs. After each b clocks,the writing operation in one of the provided RAMs in MM s,l , for all ≤ s ≤ n and ≤ l ≤ b ,is finished and the reading process in MM s,l starts from the beginning address of this RAM. Atthe same time, the reading operation from the other RAM of each MM s,l is finished and thewriting on it will be started. Thus, a rectangular waveform with duty cycle and the pulsewidth of b clocks can be used for controlling the read and write operations.The implementation of this naive encoder can be improved in many aspects. It is presentedto make the understanding of the encoding procedure easier for the one who is not familiarwith group ring operations. However, the proposed encoder have some good properties likeusing RAMs instead of shift registers that decreases the implementation cost and also the powerrequired for encoder circuit. The implementation of this circuit requires nb -to- multiplexers, nb -to- and n -to- n demultiplexers, nb + 1 LUT (which itself is composed of multiplexers)with b inputs and t outputs, nb + log ( b ) − AND gates, n XOR gates with b inputs and n XOR gates with two inputs. In Addition, we require nb full adders (FAs) with log ( q − bits, nb FAs with log ( q − bits,... and nb FAs with log ( q t − bits, which is equivalent tohave nb FAs with log ( b ) bits. The memory requirements include a RAM with nb bits and ( tb + 1) n + log ( b ) flip-flops, (the terms log ( b ) in the number of registers and log ( b ) − inthe number of AND gates are due to the implementation of a counter in the encoder circuit thatcounts from to b − continuously). Since the encoding is performed in kb clocks, all the spacecomplexity, the time complexity and the memory requirements of this encoder remain linear inthe code length nb .Considering the encoder described above, does not motivate us for implementing the encodingof group ring based QC-LDPC codes, because another encoder with linear time-space complexi-ties is proposed in [18] for QC-LDPC codes. In the sequel, we analyze the complexity of encodingover group rings theoretically, that indicates the existence of a faster encoder, compared to theone in [18], for group ring based QC-LDPC codes. Our analysis requires some backgroundsabout generalizing FFT convolution over group rings. m , m ,b − · · · · · · PMC g , · · · g , g ,b − · · · PMC n Out g n, · · · g n, g n,b − ... Counter0 to b − ... ......... ... XORXORXORIn1In2In n RO RO RO n Out1Out2Out n RI · · · m k, m k,b − · · · RI k m , m ,b − · · · RI Section jj = 1 : k g j in process ib REWERAIn
Fig. 1. The encoder circuit of the unit-derived group ring based QC-LDPC codes.
ANDAND MM s, MM s,b ... XOR ...
WEREWERE m j,i g s, g s,b − ...... Out( l , l , . . . , l t ) = (0 , , . . . , q − , q − , . . . , q t − ib
01 REWE ( i , i , . . . , i t )Ψ ii Fig. 2. The implementation of the s th partial multiplier circuit, PMC s , for s = 1 , . . . , n . i i i t · · · + il l l t + + MOD q − MOD q − MOD q t − LUTof Ψ RAM1OutInWARAWERE OutRAM2InWARAWERE
DMUX MUX
Out m j,i g s,l REWE ...... . . .
Fig. 3. The implementation circuit of MM s,l , for l = 1 , . . . , b . A. Complexity analysis
Mathematically looking, our encoding is the multiplication of two group ring elements m L (cid:48) and u in R (cid:48) G , where G is an Abelian group of order n and R (cid:48) = R ⊗ R ⊗ · · · ⊗ R t , with R i = F C q i − ∼ = F [ x i ] (cid:10) x q i − i − (cid:11) , i = 1 , . . . , n. (23)Treating a group ring as the space of functions mapping a group to a ring, the multiplication ina group ring is the convolution of two functions therein. Due to the recent advances in signalprocessing and computer algebra [24], discrete Fourier transform (DFT) has been generalized tofinite rings which model quantized sequences. The widespread use of the DFT is mostly causedby the great efficiency of the fast Fourier transform (FFT) algorithm for its computation. Thus,convolutions can be computed over finite rings using FFT techniques. The FFT algorithm itselfis independent of the ring which is used, but depends only on the sequence length (in our casethe group order of G ) [24]. Following the general case that is considered in [24], let R be acommutative ring with identity and G be a finite Abelian group of order n . Definition 6:
It is said that R supports a discrete Fourier transform over G if RG is isomorphicto R n , which is the pointwise product algebra of n -tuples from R . An isomorphism Γ : RG → R n is called a (generalized) discrete Fourier transform which is not necessarily unique.The usual cyclic convolution of sequences with length n fits into this framework by choosing G as C n , which is the cyclic group of order n . The necessary and sufficient conditions on R tomake RG isomorphic to R n were determined in [24]. Consider R as a finite commutative ringwith identity. Then, R can be written as a direct sum of local rings, i.e., R = R ⊕· · ·⊕ R l , where R i ’s are commutative local rings with identity [43, Theorem VI.2]. A local ring is a commutativering which has exactly one maximal ideal M . It is proved that R supports a Fourier transformover G if and only if each R i supports a Fourier transform over G [24, Theorem 1]. Theorem 17 ( [24, Theorem 2] ): Let R be a local ring and G be a finite Abelian group oforder n and exponent m , which is the maximum of the orders of the elements of G . Then, R supports a discrete Fourier transform over G if and only if1) R contains a primitive m th root of unity ;2) m is a unit in R .If M is the maximal ideal of a local ring R , then R/M is a finite field which is called the residue field . Let R be a finite ring with decomposition R = R ⊕ · · · ⊕ R l , where R i ’s, are finitelocal rings with residue fields R i /M i of order p k i i , i = 1 , . . . , l . Then, we have the followingtheorem. Theorem 18 ( [24, Theorem 4] ): Let R = R ⊕ · · · ⊕ R l , where R i ’s are finite local rings anddefine O ( R ) = gcd (cid:8) p k i i − , i = 1 , . . . , l (cid:9) . If G is a finite Abelian group of exponent m , then R supports a discrete Fourier transform over G if and only if m | O ( R ) .For any finite ring, O ( R ) determines exactly the sequence lengths (or the group exponents)for which a discrete Fourier transform can be defined, namely the divisors of O ( R ) [24]. Aftergiving the necessary and sufficient conditions on the finite ring R for supporting DFT over G ,the authors of [24] have introduced some conditions for implementing the FFT and the fastconvolution methods over finite rings.Due to above discussions, by choosing an appropriate size n for the group G , the con-volution of m L (cid:48) and u can be done by using an FFT algorithm that involves O ( n log n ) Let R be a commutative ring with identity. An element ξ ∈ R is a primitive m th root of unity if ξ m = 1 and ξ k (cid:54) = 1 for < k < m . multiplication over R . Now, we analyze the complexity of multiplication over R . Our goalis to find an upper bound for the cost of multiplying two polynomials in R [ X ] of degreeless than s . For a given ring R , one of the best currently known bounds that indicates thecomputational cost of multiplying two single variable polynomial over R was obtained by Cantorand Kaltofen in [44]. Their algorithm performs O ( s log s log log s ) additions and subtractionsand O ( s log s ) multiplications in R and it relies on suitable incarnations of the FFT. In ourcase, the multiplication of two elements in the ring of t -variates polynomials, F [ x , . . . , x t ] ,is required, where the maximum degree of the i th variable x i is q i − , for i = 1 , . . . , t . Weconsider F [ x , . . . , x t ] as R [ x t ] , where R = F [ x , . . . , x t − ] . Thus, the multiplication of twoelements in F [ x , . . . , x t ] involves O (( q t −
1) log ( q t − multiplications in R . Similarly, R can be written as R [ x t − ] , where R = F [ x , . . . , x t − ] , and every multiplication in R is equivalent to O (( q t − −
1) log ( q t − − multiplications in R . Consequently, the multipli-cation in F [ x , . . . , x t ] involves O (( q t − q t − −
1) log ( q t −
1) log ( q t − − multiplica-tions in R . Using the same procedure for other x i ’s yields the multiplication complexity in F [ x , . . . , x t ] . Thus, the number of binary operations required for multiplying two elements in F [ x , . . . , x t ] is O (cid:0)(cid:81) ti =1 ( q i −
1) log ( q i − (cid:1) , which is simplified to O (cid:0) b (cid:81) ti =1 log ( q i − (cid:1) .Hence, we reach an upper bound for the cost of multiplying two elements in R (cid:48) G that countsthe total required number of AND gates as O (cid:0) nb log n (cid:81) ti =1 log ( q i − (cid:1) . It is significantlylower than n b binary multiplications involved in the regular multiplication of two elementsin R (cid:48) G . Dividing O (cid:0) nb log n (cid:81) ti =1 log ( q i − (cid:1) operations into nb time intervals admits anencoder with linear time complexity in the code length nb and logarithmic space complexity O (cid:0) log n (cid:81) ti =1 log ( q i − (cid:1) , which is a significant reduction in the space complexity comparedto the proposed encoder in [18]. We can also implement an encoder with space complexity O ( nb ) and time complexity O (cid:0) log n (cid:81) ti =1 log ( q i − (cid:1) that indicates a faster implementationof encoding for group ring based QC-LDPC codes compared to the other families. For example,if we consider t = 1 , the time complexity of the proposed encoding for group ring based QC-LDPC codes is determined as O (log n log b ) . Due to the given lower bounds in [36], for a -cycle free QC-LDPC code we have n ≤ b . Thus, using the encoder of group ring based QC-LDPC codes gives the time complexity of O ((log b ) ) while using the encoder of [18] givesthe time complexity of O ( b ) that indicates a significant reduction in the time complexity ofencoding. Consequently, the implementation of FFT for group ring based QC-LDPC codes makes asignificant improvement in the complexity of encoding. Using FFT has been shown to beamenable to analysis and construction of some QC-LDPC codes and obtaining their generatormatrices [45]. The introduction of matrix transformation via the Galois Fourier transform (GFT)is an important development of quasi-cyclic (QC) codes [45]. Galois Fourier transform wasapplied in [46] for implementing two low-complexity encoding algorithms for quasi-cyclic codes.In the sequel, we give a brief introduction on GFT and the encoding methods introduced in[46]. We also present a comparison between the proposed encoding method in this paper andthe proposed methods in [46].Consider a binary QC code with mb × nb parity-check matrix H , which is an m × n array ofbinary b × b circulant matrices where b is assumed to be an odd number [45]. Using Fermat-EulerTheorem, there is a two’s power number q such that q − is divisible by b [47]. Let α be anelement in F q of order b . Let a = ( a , . . . , a b − ) be a vector over F q . Its Fourier transform[46], denoted by F [ a ] , is given by the vector f = ( f , . . . , f b − ) whose t th component, f t , for ≤ t ≤ b − , is given by f t = (cid:80) b − l =0 α tl a l . The vector a , which is the inverse Fourier transformof the vector f , denoted by F − [ f ] , can be retrieved as a l = (cid:80) b − t =0 α − tl f t . Define the followingtwo b × b Vandermonde matrices over F q : V = [ α − ij ] and V = [ α ij ] , for ≤ i, j < b . Thefollowing lemma says that all circulant matrices can be diagonalized by the same similaritytransformation A (cid:55)→ VAV − . Lemma 19 ( [45, Lemma 1] ): Let A be a b × b circulant matrix over F q with generator ( a , . . . , a b − ) . Let V = [ α − ij ] , ≤ i, j < b , be a b × b matrix, where α is an element in F q of order b . Then, VAV − is a b × b diagonal matrix, A F , whose diagonal vector is the Fouriertransform of ( a , . . . , a b − ) , i.e., A F = diag (cid:32) b − (cid:88) l =0 a l , b − (cid:88) l =0 α l a l , . . . , b − (cid:88) l =0 α ( b − l a l (cid:33) . (24)The fact that all circulant matrices can be diagonalized using the same similarity transformationallows to diagonalize any array of circulant matrices as follows [45]. Lemma 20 ( [45, Lemma 2] ): Let H be an m × n array of b × b circulant matrices over F q , H = [ A i,j ] , where A i,j is a circulant matrix with generator ( a i,j, , . . . , a i,j,b − ) , ≤ i < m , ≤ j < n . Define H F = diag( V , . . . , V (cid:124) (cid:123)(cid:122) (cid:125) m ) H diag( V − , . . . , V − (cid:124) (cid:123)(cid:122) (cid:125) n ) . (25) Then, H F is an m × n array of b × b diagonal matrices. In particular, H F = (cid:2) A F i,j (cid:3) , where A F i,j = diag (cid:32) b − (cid:88) l =0 a i,j,l , b − (cid:88) l =0 α l a i,j,l , . . . , b − (cid:88) l =0 α ( b − l a i,j,l (cid:33) , for ≤ i < m , ≤ j < n .Next, it has been shown that some row and column permutations can be performed on H F toget a b × b diagonal array of m × n matrices. For any integer i , denote the nonnegative integerless than b and congruent to i modulo b by ( i ) b . Lemma 21 ( [45, Lemma 2] ): Let π m ( i ) = m ( i ) b + (cid:98) i/b (cid:99) , ≤ i < mb , and π n ( j ) = n ( j ) b + (cid:98) j/b (cid:99) , ≤ j < nb . Then, π m is a permutation on { , , . . . , mb − } and π n is a permutationon { , , . . . , nb − } . Furthermore, permuting the rows and columns of H F using π m and π n ,respectively, yields the matrix H F ,π = diag ( B , B , . . . , B b − ) which is a b × b diagonal arrayof m × n matrices B t = [ b i,j,t ] , where b i,j,t = (cid:80) b − l =0 α tl a i,j,l , for ≤ i < m , ≤ j < n and ≤ t < b .It is proved that the correspondence H ↔ H F ,π is a one-to-one correspondence between arraysof circulant matrices and diagonal arrays of matrices [45, Theorem 1]. The following theoremuses the same procedure for the dual code of a QC code to obtain its generator matrix. Theorem 22 ( [45, Theorem 5] ): Let H be an m × n array of b × b circulant matrices and H F ,π = diag ( B , B , . . . , B b − ) , where B , B , . . . , B b − are m × n matrices. Let m (cid:48) be apositive integer not less than n − min { rank ( B ) , rank ( B ) , . . . , rank ( B b − ) } . Let D s be an m (cid:48) × n matrix of rank n − rank ( B s ) such that B s D ts = , for ≤ s < b . Let ˆ G = diag ( D , D , . . . , D b − ) and ˆ G π − be ˆ G after applying the permutations π − m (cid:48) and π − n onthe rows and columns of ˆ G , respectively. Then, G = ˆ G π − , F = diag( V , . . . , V (cid:124) (cid:123)(cid:122) (cid:125) m (cid:48) ) ˆ G π − diag( V − , . . . , V − (cid:124) (cid:123)(cid:122) (cid:125) n ) , is an m (cid:48) × n array of b × b circulant matrices such that HG t = and rank( G ) = nb − rank( H ) .Furthermore, if H is binary, then the matrices D , D , . . . , D b − can be selected such that G isbinary.The transformation introduced above, which is denoted by GFT in the sequel, was applied in[46] to design two efficient encoding approaches. In the design of these encoding methods, it is assumed that b = q − . In this case, the GFT of a b -tuple over F is a b -tuple over F r ,i.e., q = 2 r . It is proved that the submatrices on the main diagonal of the block diagonal matrix ˆ G F ,π satisfy the following condition which is known as the conjugacy constraint [47] D (2 t ) b = D ◦ t , (26)where M ◦ t denotes the Hadamard product of t copies of the matrix M and t is a nonnegativeinteger. The matrix D (2 t ) b is called a conjugate matrix of D t [46]. Thus, we can group all thesubmatrices on the main diagonal D i , ≤ i < b into λ conjugacy classes, Ψ , Ψ , . . . , Ψ λ − ,where Ψ i = (cid:8) D t i , D (2 t i ) b , . . . , D (2 ηi − t i ) b (cid:9) = (cid:110) D t i , D ◦ t i , . . . , D ◦ ηi − t i (cid:111) , in which D t i is the representative of the conjugacy class Ψ i and η i is the least integer satisfying (2 η i t i ) b = t i , and η i divides r [47]. The conjugacy classes have a key role in the encodingmethods proposed in [46] which are given next.Consider an ( nb, kb ) QC code C over F r with generator matrix G = [ W i,j ] , ≤ i < k , ≤ j < n , which is a k × n block matrix of b × b circulants. Suppose m = [ m i ] as the messagevector and the resulting codeword as c = [ c j ] , ≤ i < k , ≤ j < n , where both m i and c j arevectors of length b . Since W i,j is a circulant, m i W i,j = m i VV − W i,j VV − = (cid:0) m F i W F i,j (cid:1) F − ,where m F i = m i V . As a result, c j can be computed by GFT as [46] c j = (cid:0) m F W F ,j + m F W F ,j + · · · + m F k − W F k − ,j (cid:1) F − . Due to the block diagonal structure of ˆ G F ,π , multiplying a vector of length kb by such a kb × nb matrix can be computed on b submatrices D i ’s of size k × n separately. Thus, using GFTreduces the number of operations efficiently by a factor b . This approach is well-known forimplementing the filtering by discrete Fourier transform. It greatly reduces the computationalcomplexity of encoding of nonbinary QC codes [46]. The overall computational complexity of theGFT encoding is less than bk ( n − k )(log b +log b )+( n + k ) b (log b ) log +( n + k ) b (log b ) log (3 / in terms of bit operations [46]. To compare the complexity of GFT encoding with the proposedencoding based on group ring multiplication, we consider k = n , and the worst case of complexity The Hadamard product of two matrices M = [ m i,j ] and N = [ n i,j ] of the same size, denoted by M ◦ N , is defined as theirelement-wise product, i.e., M ◦ N = [ m i,j n i,j ] . analysis is n = b , since n ≤ b . Thus, the complexity of GFT encoding is upper bounded by b (log b ) log + 2 b (log b ) log (3 / . Since log (6) = 2 . , both terms O ( b (log b ) log ) and O ( b (log b ) log (3 / ) are higher than the complexity of group ring based QC-LDPC codes, whichis O ( b (log b ) ) . The overall memory consumption of the GFT encoding is bk ( n − k ) Galoissymbols, which is the same as that of the regular encoding [46].As mentioned above, the GFT encoding can greatly reduce the complexity of encoding ofnonbinary QC codes. However, its efficiency decreases for binary codes, because it involvesmany Galois field multiplications in the vector-matrix multiplication [46]. Thus, it is suggestedto encode a binary message m directly in the transform domain to save these Galois fieldmultiplications. Thus, the encoding in the transform domain (ETD) was presented in [46]for binary QC codes. We avoid going through the detail of this encoding approach and weonly present its complexity analysis. The overall computational complexity of the ETD is lessthan bk ( n − k ) log b + n (2 b − λ ) log ( b ) + n ( b − λ ) log b + nb (log b ) (log (3 / . Considering k = n = b yields the approximation of complexity terms for ETD encoding as O ( b log ( b )) and O ( b (log b ) (log (3 / ) . Similar to GFT encoding, the term b (log b ) (log (3 / makes thecomplexity of the ETD encoding higher than the complexity of encoding based on group ringmultiplication. Remark 8.1:
In summary, using FFT in lowering the encoding complexity can be done indifferent manners. In fact, using an appropriate implementation of FFT that respects the algebraicstructure of the code, increases the efficiency of encoding. For example, GFT encoding and ETDencoding cannot be employed for group ring based QC-LDPC codes, because these approacheshighly depend on the circulant structure of the sub-blocks in the generator matrix. Thus, wecan employ these encoding methods for CPM-QC-LDPC codes, but not for group ring basedQC-LDPC codes, since they are designed based on QCPMs. The proposed encoding based ongroup ring multiplication employs an appropriate implementation of the FFT that complies thestructure of underlying group ring and obtains a remarkable reduction in the encoding complexity.The main reason for outperforming of the encoding method proposed for group ring based QC-LDPC codes on other FFT based encoding methods, is using two different FFTs in the encodingprocedure. One of these FFTs is enabled by employing Abelian groups in the structure of thebase matrix of group ring based QC-LDPC codes. The second one is enabled by modellingthe sub-blocks of the message vectors as multivariate polynomials and implementing the partialmultiplications in the components of codewords with fast convolution methods. IX. S
IMULATION R ESULTS
In this section, we present the numerical results that verify the efficiency of group ring basedQC-LDPC codes. Bit error rate (BER) and word error rate (WER) performances of the codesconstructed based on groups of order and the structure of Theorem 2 are presented in Fig. 4. For G = D , we use the rows , , of the F G -matrix W as the parity-check matrix. For G = Q ,we use the rows , , and for G = Z we use the first three rows of W as the parity-checkmatrix. Thus, the row and the column weights of these codes are and , respectively. The nullspace of these matrices are (1279 , -regular QC-LDPC codes and their error performanceusing the SPA ( iterations) over the AWGN channel with BPSK modulation, is illustrated inFig. 4. The rate of these codes is . . Due to these numerical results, the error performance ofthe code based on G = Z is better than the error performance of the codes based on other groupswith the same order. Thus, in all codes constructed in the sequel, the group G is considered tobe a cyclic group. Our simulation results also indicate that in the case of using non-cyclic groupsas the underlying group G , the error performance of the obtained code is related to the subarrayof W which is used as the parity-check matrix of the code. In the rest of this section, theparity-check matrix of the given codes are corresponding to the subarrays of the form H ( ρ, γ ) at the upper left corner of W , where ρ and γ , for ≤ ρ, γ ≤ n , denote the number of blocksin the rows and in the columns, respectively.In Fig. 5 and Fig. 6, we present the comparisons between the error performance of algebraicQC-LDPC codes constructed based on finite fields [20], [48], [45], [49], [9] and the errorperformance of group ring based QC-LDPC codes. Let H (3 , and B be the parity-checkmatrix obtained from Theorem 2 with G = Z and its corresponding base matrix, respectively.Denote the parity-check matrix obtained from the base matrix − B by − H (3 , and consider C as the null space of the parity-check matrix H = (cid:104) H (3 , − H (3 , (cid:105) . Then, C is a codewith length , dimension and rate . . Bit error and block error performances of C are illustrated in Fig. 5. At the BER of − , C performs . dB from the Shannon limitand it can be compared with C , C and C which are introduced next. In Fig. 5, C is the (3969 , QC-LDPC code given in [20, Example 1] with rate . and it performs . dBfrom the Shannon limit. The code C in this figure is the (4032 , QC-LDPC code withrate . given in [45, Example 4] that performs . dB from the Shannon limit. The code C is an algebraic irregular QC-LDPC code [49, Example 2] with length , dimension and −6 −5 −4 −3 −2 −1 B i t/ W o r d E rr o r R a t e E b /N (dB) BER (2040,1279)−G=Z BER (2040,1279)−G=D BER (2040,1277)−G=Q WER (2040,1279)−G=Z WER (2040,1279)−G=D WER (2040,1277)−G=Q Uncoded BPSKShannon Limit for Rate 0.626
Fig. 4. BER and WER performances of the group ring based QC-LDPC codes based on different groups of order . rate . that performs . dB from the Shannon limit.As another example, consider C as the null space of the parity-check matrix H = (cid:104) H (4 , − H (4 , (cid:105) , where H (4 , is obtained from Theorem 2 with G = Z . This code is a (1778 , QC-LDPCcode with rate . and it performs . dB from the Shannon limit. The error performanceof this code can be compared with the error performance of C that performs . dB from theShannon limit. This code is a (2032 , QC-LDPC code with rate . and it is obtainedby considering q = 128 and H (5 , in [20, Example 1].In Fig. 6, we consider the construction of low rate QC-LDPC codes using Theorem 2 andtheir error performance. In this figure, C is the null space of the parity-check matrix H (4 , which is obtained from Theorem 2 with G = Z . This code is a (2040 , QC-LDPC codewith rate . that performs . dB from the Shannon limit. The error performance of thiscode can be compared with the error performance of C . This code is a (2040 , QC-LDPC −8 −7 −6 −5 −4 −3 −2 −1 B it/ W o r d E rr o r R a t e E b /N (dB) BER, C WER, C Shannon limit, rate 0.813BER, C WER, C Shannon limit, rate 0.716BER, C WER, C Shannon limit, rate 0.708BER, C WER, C Shannon limit, rate 0.817BER, C WER, C Shannon limit, rate 0.819BER, C WER, C Shannon limit, rate 0.812Uncoded
Fig. 5. Comparison between the error performance of the group ring based and finite field based QC-LDPC codes in [20,Example 1] over the AWGN channel. code with rate . and given in [9, Example 2] that performs . dB from the Shannon limit.The code C in Fig. 6 is the null space of the parity-check matrix (cid:104) H (4 , − H (4 , (cid:105) , where H (4 , and H (4 , are obtained from Theorem 2 with G = Z . It is a (2550 , QC-LDPCcode with rate . that performs . dB from the Shannon limit. It can be compared with C and C . The former is a (4 , -regular QC-LDPC code with length , dimension and rate . ; the latter is obtained by masking the base matrix of C with the following × matrix [48, Example 1]: Z (4 ,
8) = , (27)that gives a (3 , -regular (2640 , QC-LDPC code with rate . and with higher girthcompared to C . Both these codes have a low error floor in their performance curves. At the BER of − , C and C perform . dB and . dB from the Shannon limit, respectively.In comparing C , C and C , it is evident that C has a weak error performance. The reason ofthis weak error performance arises from the high column degree of this code compared to itslength. For example, C is a code with shorter length and its performance is almost similar to C . Another instance of group ring based QC-LDPC codes is C which is a (3066 , codewith rate . . This code is obtained from Theorem 2 with G = Z and its parity-check matrixis H (3 , . At the BER of − , it performs . dB from the Shannon limit. This code canbe compared with C which is a (3066 , QC-LDPC code with rate . and it is given in[9, Example 1]. At the BER of − , C performs . dB from the Shannon limit. −8 −7 −6 −5 −4 −3 −2 −1 B it/ W o r d E rr o r R a t e E b /N (dB) BER, C WER, C Shannon limit, rate 0.505BER, C WER, C Shannon limit, rate 0.508BER, C WER, C Shannon limit, rate 0.501BER, C WER, C Shannon limit, rate 0.503BER, C WER, C Shannon limit, rate 0.515BER, C Shannon limit, rate 0.501BER, C Shannon limit, rate 0.5Uncoded
Fig. 6. Comparison between the error performance of group ring based and finite field based QC-LDPC codes in [9], [48] overthe AWGN channel.
In Fig. 7, we present the simulation results of the QC-LDPC codes obtained from Theorem 8and the codes constructed in [28]. The addressed codes in [28] can also be obtained fromTheorem 9 by choosing the group G as a cyclic group and D as a difference set in Z q − . Wealso compared our codes with the random MacKay LDPC codes [50]. The codes with lengths and are chosen from [28] for comparing the results. Simulation results show that theperformance of the code with length is . dB away from the performance of a randomMacKay LDPC code with the same rate and length and average column degree . . The code withlength and dimension is obtained from the modified S -set found in Z × Z × Z × Z .The group G is considered to be the cyclic group of order . We consider the first rows ofthe corresponding R (cid:48) G matrices in both of these cases. Thus, the row and the column degrees ofboth codes are and , respectively. Both of these codes have the rate . and nearly the sameerror performance. The code of length and dimension is obtained from the modified S -set found in Z × Z × Z , which is given in TABLE IV. The row and the column degreesof this code are and , respectively. Another MacKay LDPC code with these parameters andthe average column degree is constructed. The error performance of all these codes using theSPA ( iterations) over the AWGN channel, with BPSK modulation, is illustrated in Fig. 7.In this figure, it can be seen that our code and the MacKay LDPC code both have the sameerror performance. A performance comparison has already been done between the binary QC-LDPC codes of [28] and their random-like binary girth non-QC and QC counterparts. Thesenon-QC and QC codes were generated by software [51] and using the method given in [52],respectively. According to the results of [28], the QC-LDPC codes based on difference sets havea considerably better performance than the random-like QC and non-QC girth LDPC codes.Due to the similar performance of group ring based QC-LDPC codes and the QC-LDPC codesof [28], the group ring based QC-LDPC codes of Theorem 8 outperform the LDPC codes of[51] and [52].We use the given S -set in (9) and the construction method of Theorem 9 to generate anothergroup ring based code as follows. Considering the subarray H (4 , in our base matrix gives aQC-LDPC code with rate . and length that can be compared with the constructed codein [53, Example 11.9]. Both of these codes have the row degree and the column degree and the rate . . In Fig. 8, we present the simulation results of these two codes. Another codethat is presented in Fig. 8, is a random MacKay LDPC code [50] with length and rate . and average column degree . It can be seen that all these codes have nearly the same errorperformance. At the BER of − , these codes perform within . dB from their correspondingShannon limits. In Fig. 9, the error performance of the codes obtained from H (4 , and H (4 , are compared with the codes constructed in [15, Example 2] and [9, Example 2], respectively.The group ring based code with length has the same error performance as the one based on −7 −6 −5 −4 −3 −2 −1 B i t/ W o r d E rr o r R a t e E b /N (dB) (3328,2307) Mackay BER(4096,3075) Z × Z × Z × Z BER(4080,3063) BER(3328,2307) Z × Z × Z BER(2286,1781) BER(2286,1781) MacKay BER(3328,2307) Mackay WER(4096,3075) Z × Z × Z × Z WER(4080,3063) WER(3328,2307) Z × Z × Z WER(2286,1781) WER(2286,1781) MacKay WERUncoded BPSKShannon Limit for Rate 0.75Shannon Limit for Rate 0.78Shannon Limit for Rate 0.693
Fig. 7. BER and WER performances of the QC-LDPC codes based on modified S -sets over the AWGN channel. finite fields in [15, Example 2], but the constructed code in [9, Example 2] outperforms the groupring based code with length about . dB at the BER of − . The error performance ofthe other group ring based LDPC codes can be found in [54]. It is shown that the performanceof these codes can be compared with random MacKay LDPC codes.X. C ONCLUSIONS
In this paper, a new method has been proposed for constructing QC-LDPC codes from grouprings. Simulation results show that the error performance of the group ring based codes outper-forms the error performance of the random-like QC and non-QC LDPC codes. It has been shownthat the error performance of group ring based QC-LDPC codes is as good as recently designedQC-LDPC codes based of finite fields. In addition, an algebraic framework has been proposedthat describes the group ring based QC-LDPC codes as specific submodules in group rings.The relations between the parameters of the underlying group ring and the error performanceof the obtained code have been illustrated using the simulation results. Applying the proposed −8 −7 −6 −5 −4 −3 −2 −1 B i t/ W o r d E rr o r R a t e E b /N (dB) (8160,7159) BER(8192,7171) MacKay BER(8192,7171) BER(8160,7159) WER(8192,7171) MacKay WER(8192,7171) WERUncoded BPSKShannon Limit for rate 0.87 Fig. 8. Performance comparison between the finite field based QC-LDPC code in [53, Example 11.9], the group ring basedQC-LDPC code from Z × Z × Z × Z and a random MacKay code [50] over the AWGN channel. algebraic framework, that authorizes the application of fast Fourier transform in computations, anew encoding method with faster implementation capability, compared to the available encodingmethods, has been proposed. The complexity of the proposed encoding method for group ringbased QC-LDPC codes has been analyzed mathematically. The proposed QC-LDPC codes inthis paper together with the proposed encoding method, enable the exploiting of the benefitsof algebraic codes (simple encoding) and modern codes (acceptable error performance in theAWGN channel) at the same time. A CKNOWLEDGMENTS
The authors would also like to thank the anonymous referees for their helpful comments onthe earlier versions of this paper. The authors also acknowledge the financial support of theInstitute for Research in Fundamental Sciences (IPM). The research of the second author was −8 −7 −6 −5 −4 −3 −2 −1 B i t/ W o r d E rr o r R a t e E b /N (dB)BER, (2048,1024), Group ring basedWER, (2048,1024), Group ring basedBER, (2040,1051), Algebraic QC−LDPCWER, (2040,1051), Algebraic QC−LDPCBER, (8192,7171), Group ring basedWER, (8192,7171), Group ring basedUncoded BPSKShannon Limit for rate 0.87BER, (8192,7171), Finite field approachWER, (8192,7171), Finite field approachShannon Limit for rate 0.5 Fig. 9. Performance comparison between the finite field based QC-LDPC codes in [15, Example 2], [9, Example 2] and thegroup ring based QC-LDPC codes from Z × Z × Z × Z over the AWGN channel. in part supported by a grant from IPM (No. ). We would like to thank Prof. DanielPanario and Dr. Sara Saeedi Madani for proofreading the paper.R EFERENCES [1] E. Prange, “Cyclic error-correcting codes in two symbols,”
Air Force Cambridge Res. Center, Cambridge, MA, Tech. NoteAFCRC-TN-57-103 , Sept. 1957.[2] W. W. Peterson and E. J. Weldon,
Error-correcting Codes, Second Edition . M.I.T. Press, 1972.[3] A. Hocquenghem, “Codes correcteurs d’erreurs,”
Chiffres , vol. 2, pp. 147–158, 1959.[4] R. C. Bose and D. K. Ray-Chaudhuri, “On a class of error correcting binary group codes,”
Inform. and Control , vol. 3,pp. 68–79, 1960.[5] I. Reed and G. Solomon, “Polynomial codes over certain finite fields,”
Journal of the Society of Industrial and AppliedMathematics , vol. 8, no. 2, pp. 300–304, 1960.[6] R. G. Gallager,
Low-density Parity-check Codes , ser. M.I.T. Press research monographs. M.I.T. Press, 1963.[7] D. J. C. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes,”
ElectronicsLetters , vol. 33, no. 6, pp. 457–458, Mar. 1997. [8] N. Bonello, S. Chen, and L. Hanzo, “Construction of regular quasi-cyclic protograph LDPC codes based on V ANDER - MONDE matrices,”
IEEE Trans. on Vehicular Technology , vol. 57, no. 4, pp. 2583–2588, Jul. 2008.[9] Y. Y. Tai, L. Lan, L. Zeng, S. Lin, and K. A. S. Abdel-Ghaffar, “Algebraic construction of quasi-cyclic LDPC codes forthe AWGN and erasure channels,”
IEEE Trans. on Commun. , vol. 54, no. 10, pp. 1765–1774, Oct. 2006.[10] J. L. Fan, “Array codes as low-density parity-check codes,” in
Proc. Int. Symp. Turbo Codes , Sept. 2000, pp. 2–7.[11] S. Myung and K. Yang, “A combining method of quasi-cyclic LDPC codes by the chinese remainder theorem,”
IEEECommun. Letters , vol. 9, no. 9, pp. 823–825, Sept. 2005.[12] K. Lally and P. Fitzpatrick, “Algebraic structure of quasicyclic codes,”
Disc. Appl. Math. , vol. 111, pp. 157–175, Sept.2001.[13] S. J. Johnson and S. R. Weller, “A family of irregular LDPC codes with low encoding complexity,”
IEEE Commun. Letters ,vol. 7, no. 2, pp. 79–81, Feb. 2003.[14] M. Yang and W. E. Ryan, “Performance of efficiently encodable low-density parity-check codes in noise bursts on theEPR4 channel,”
IEEE Trans. on Magnetics , vol. 40, no. 2, pp. 507–512, Mar. 2004.[15] L. Lan, L. Zeng, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-Ghaffar, “Construction of quasi-cyclic LDPC codes for AWGNand binary erasure channels: A finite field approach,”
IEEE Trans. on Inform. Theory , vol. 53, no. 7, pp. 2429–2458, Jul.2007.[16] H. Khodaiemehr, M.-R. Sadeghi, and A. Sakzad, “Practical encoder and decoder for power constrained QC LDPC-latticecodes,”
IEEE Trans. on Commun. , vol. PP, no. 99, pp. 1–1, 2016.[17] H. Khodaiemehr, D. Kiani, and M.-R. Sadeghi, “LDPC lattice codes for full-duplex relay channels,”
IEEE Trans. onCommun. , vol. PP, no. 99, pp. 1–1, 2016.[18] Z. Li, L. Chen, L. Zeng, S. Lin, and W. Fong, “Efficient encoding of quasi-cyclic low-density parity-check codes,”
IEEETrans. on Commun. , vol. 53, no. 11, pp. 1973–1973, Nov. 2005.[19] S. Song, B. Zhou, S. Lin, and K. Abdel-Ghaffar, “A unified approach to the construction of binary and nonbinary quasi-cyclic LDPC codes based on finite fields,”
IEEE Trans. on Commun. , vol. 57, no. 1, pp. 84–93, Jan. 2009.[20] L. Zhang, S. Lin, K. Abdel-Ghaffar, Z. Ding, and B. Zhou, “Quasi-cyclic LDPC codes on cyclic subgroups of finite fields,”
IEEE Trans. on Commun. , vol. 59, no. 9, pp. 2330–2336, Sept. 2011.[21] D. J. Costello and G. D. Forney, “Channel coding: The road to channel capacity,”
Proceedings of the IEEE , vol. 95, no. 6,pp. 1150–1177, Jun. 2007.[22] G. Hughes, “Constacyclic codes, cocycles and a u + v | u − v construction,” IEEE Trans. on Inform. Theory , vol. 46, no. 2,pp. 674–680, 2000.[23] P. Hurley and T. Hurley, “Codes from zero-divisors and units in group rings,”
J. Inform. and Coding Theory , vol. 1,no. 1, pp. 57–87, 2009. [Online]. Available: http://arxiv.org/abs/0710.5893[24] E. Dubois and A. N. Venetsanopoulos, “The discrete Fourier transform over finite rings with application to fast convolution,”
IEEE Trans. on Computers , vol. C-27, no. 7, pp. 586–593, Jul. 1978.[25] D. S. Passman,
The algebraic structure of group rings , ser. Pure and applied mathematics. Wiley, 1977.[26] T. Hurley, “Group rings and rings of matrices,”
Inter. J. Pure & Appl. Math. , vol. 31, no. 3, pp. 319–335, 2006.[27] C. J. Colbourn and J. H. Dinitz,
Handbook of Combinatorial Designs , 2nd ed., ser. Discrete Mathematics and ItsApplications. CRC Press, 2010.[28] M. Esmaeili and M. Javedankherad, “ -cycle free LDPC codes based on difference sets,” IEEE Trans. on Commun. ,vol. 60, no. 12, pp. 3579–3586, Dec. 2012.[29] T. W. Judson,
Abstract Algebra: Theory and Applications , ser. VCU Mathematics textbook series. Virginia CommonwealthUniversity Mathematics, 2009. [30] R. E. Kibler, “A summary of noncyclic difference sets, k < ,” J. Comb. Theory, Ser. A , vol. 25, no. 1, pp. 62–67, 1978.[31] H. Haanp¨a¨a, A. Huima, and P. R. J. ¨Osterg˙ard, “Sets in Z n with distinct sums of pairs,” Discrete Applied Mathematics ,vol. 138, pp. 99–106, 2004.[32] H. Haanp¨a¨a and P. R. J. ¨Osterg˙ardb, “Sets in Abelian groups with distinct sums of pairs,”
J. of Number Theory , vol. 123,pp. 144–153, 2007.[33] A. Brouwer, J. B. Shearer, N. Sloane, and W. D. Smith, “A new table of constant weight codes,”
IEEE Trans. on Inform.Theory , vol. 36, no. 6, pp. 1334–1380, Nov. 1990.[34] R. Graham and N. Sloane, “Lower bounds for constant weight codes,”
IEEE Trans. on Inform. Theory , vol. 26, no. 1, pp.37–43, Jan. 1980.[35] R. L. Graham and N. J. A. Sloane, “On additive bases and harmonious graphs,”
SIAM Journal on Algebraic DiscreteMethods , vol. 1, no. 4, pp. 382–404, 1980.[36] M. Karimi and A. H. Banihashemi, “On the girth of quasi-cyclic protograph LDPC codes,”
IEEE Trans. on Inform. Theory ,vol. 59, no. 7, pp. 4542–4552, Jul. 2013.[37] L. Zhang, Q. Huang, S. Lin, K. Abdel-Ghaffar, and I. F. Blake, “Quasi-cyclic LDPC codes: An algebraic construction,rank analysis, and codes on latin squares,”
IEEE Trans. on Commun. , vol. 58, no. 11, pp. 3126–3139, Nov. 2010.[38] D. Bini, G. M. D. Corso, G. Manzini, and L. Margara, “Inversion of circulant matrices over Z m ,” Math. Comput. , vol. 70,no. 235, pp. 1169–1182, 2001.[39] R. Lidl and H. Niederreiter,
Finite Fields , ser. Encyclopedia of Mathematics and its Applications. Cambridge UniversityPress, 1997, no. v. 20, pt. 1.[40] E. Bach and J. O. Shallit,
Algorithmic Number Theory: Efficient algorithms , ser. Algorithmic Number Theory. M.I.T.Press, 1996, no. v. 1.[41] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein,
Introduction To Algorithms . M.I.T. Press, 2001.[42] A. Tuxanidy and Q. Wang, “Composed products and factors of cyclotomic polynomials over finite fields,”
Des. CodesCryptography , vol. 69, no. 2, pp. 203–231, 2013.[43] B. R. McDonald,
Finite Rings with Identity . New York: Marcel Dekker, 1974.[44] D. G. Cantor and E. Kaltofen, “On fast multiplication of polynomials over arbitrary algebras,”
Acta Infor. , vol. 28, pp.693–701, 1991.[45] Q. Diao, Q. Huang, S. Lin, and K. Abdel-Ghaffar, “A matrix-theoretic approach for analyzing quasi-cyclic low-densityparity-check codes,”
IEEE Trans. on Inform. Theory , vol. 58, no. 6, pp. 4030–4048, Jun. 2012.[46] Q. Huang, L. Tang, S. He, Z. Xiong, and Z. Wang, “Low-complexity encoding of quasi-cyclic codes based on G
ALOIS F OURIER transform,”
IEEE Trans. on Commun. , vol. 62, no. 6, pp. 1757–1767, Jun. 2014.[47] R. E. Blahut,
Theory and Practice of Error Control Codes . USA: Addison-Wesley Publishing Company, 1983.[48] J. Li, K. Liu, S. Lin, and K. Abdel-Ghaffar, “Algebraic quasi-cyclic LDPC codes: Construction, low error-floor, large girthand a reduced-complexity decoding scheme,”
IEEE Trans. on Commun. , vol. 62, no. 8, pp. 2626–2637, Aug. 2014.[49] J. Kang, Q. Huang, L. Zhang, B. Zhou, and S. Lin, “Quasi-cyclic LDPC codes: an algebraic construction,”
IEEE Trans.on Commun. , vol. 58, no. 5, pp. 1383–1396, May 2010.[50] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,”
IEEE Trans. on Inform. Theory ∼ radford/ftp/LDPC-2006-02-08/[52] M. P. C. Fossorier, “Quasicyclic low-density parity-check codes from circulant permutation matrices,” IEEE Trans. onInform. Theory, , vol. 50, no. 8, pp. 1788–1793, Aug. 2004.[53] W. Ryan and S. Lin,
Channel Codes: Classical and Modern . Cambridge University Press, 2009. [54] T. Hurley, P. McEvoy, and J. Wenus, “Algebraic constructions of LDPC codes with no short cycles,” IJICoT , vol. 1, no. 3,pp. 285–297, 2010.[55] G. H. Hardy and E. M. Wright,