than an algebraic construction tested in [7] in the area of higher SNR. ... g â¦â gα + b a dilation of G . We will be using α in the center of the automorphism group ...
Construction of Good LDPC Codes using Dilation Matrices M. Greferath, M. O’Sullivan and R. Smarandache∗
Abstract This paper extends results that have been reported in [1],[6], and [5] for algebraic construction of a low-density matrix to be used as a parity-check matrix for an error-correcting code. After describing the basic idea and the results we finish with a performance diagram that suggests that these codes are as good as random constructions in the area of low SNR and perform better than an algebraic construction tested in [7] in the area of higher SNR. As has been noted in [8], codes with algebraic structure may be easier to implement. The flexibility of the construction we describe may also be advantageous.
1
Details of the Construction
For a positive integer R we will use the notation R for {1, . . . , R} . Let G be an abelian group and let R and S be positive integers. We construct a bipartite graph with vertex sets R × G and S × G and edges determined by translation and dilation maps on G . The binary adjacency matrix for the bipartite graph can be used as a check matrix for an error correcting code. Definition 1.1 Let G be an abelian group. For each c ∈ G , the translation defined by c , is the map g 7→ g + c on G . For each automorphism α of G and each b ∈ G we call the map g 7→ g α + b a dilation of G . We will be using α in the center of the automorphism group of G . We construct the bipartite graph as follows. Construction 1.2 Let G a finite abelian group, let R , S and T positive integers, and let ρ : T −→ R and σ : T −→ S be mappings. Furthermore, for each t ∈ T fix a dilation θ t of G . The reader may agree on the notation v ∼ w if vertices v, w ∈ V are connected by an edge in the underlying graph. We define a bipartite graph (V, E) with V := R × G ∪ S × G,
and E := {(ρ(t), g), (σ(t) ∼ θ t (g)) | t ∈ T , g ∈ G}.
In order to make the construction more transparent we give two examples that also help to characterize previous work. Example 1.3 (a) Let G = Z/p × Z/q for p and q primes. Let R = 1 , and let T = 3S . For t ∈ T let σ(t) = dt/3e and let θt : (x, y) 7→ (x + ct , at y + bt ) where at is nonzero. ∗
All authors are with the Department of Mathematics at San Diego State University in San Diego, CA
1
There are simple methods to choose the a t , bt and ct to ensure that the bipartite graph has either girth 6, girth 8, or girth 10. These were reported in [6] and [5]. For girth 10 we have recently chosen p = 97 and q = 5 with c := (0, 1, 5, 0, 9, 20), a := (1, 1, 4, 1, 2, 3) and b := (0, 2, 0, 0, 2, 1) . It turns then out that the adjacency matrix can be written using p × p circulant1 matrices Ict , and placement in a 5 by 10 array determined by the maps on Z/5 determined by y 7→ at yb + bt . I0 + I 5 0 I1 0 0 I0 I20 I9 0 0 0 I0 0 I 1 I5 0 I 0 0 0 I9 + I20 0 0 I0 I5 I1 0 I9 I0 + I20 0 0 I1 0 I5 I0 0 I20 0 0 I 0 + I9 0 0 I 1 + I 5 0 0 I 0 I9 0 0 I20 I0
(b) Let G = Z/p , and let R and S be arbitrary positive integers. Let T = RS . Let the maps ρ and σ be such that each element of R × S is the image of a unique t under the map (ρ, σ) : T −→ R × S . For each t let θt (x) = x + ct . The adjacency matrix for the bipartite graph is then an R by S matrix of shifted identity matrices. This type of matrix was studied by Fossorier [2], and follows a well known example of Tanner’s [8].
2
How to avoid cycles of given length
Consider a path of length 2 from (r, g) ∈ R × G to (s, h) ∈ S × G and then to (r 0 , g 0 ) . These two edges are due to two elements t, u ∈ T such that ρ(t) = r θt (g) = h
σ(t) = s
and
ρ(u) = r0 0 θu (g ) = h
σ(u) = s
Then σ(t) = σ(u) and θu−1 θt (g) = g 0 . Extending this reasoning, a cycle of length 2M given by (r 1 , g1 ) ∼ (s1 , h1 ) ∼ · · · ∼ (rM , gM ) ∼ (sM , hM ) ∼ (r1 , g1 ) gives rise to two sequences of length M , namely τ and µ , such that for m∈M, ρ(τ (m)) = rm
ρ(µ(m)) = rm+1
σ(τ (m)) = sm
σ(µ(m)) = sm
θτ (m) (gm ) = hm
θµ(m) (gm+1 ) = hm
Therefore ρ(τ (m)) = ρ(µ(m − 1)) gm+1 =
σ(τ (m)) = σ(µ(m))
−1 θµ(m) θτ (m) (gm )
Here we compute m + 1 and m − 1 modulo M with representatives in M and observe that −1 −1 θµ(M ) θτ (M ) · · · θµ(1) θτ (1)
has a fixed point, namely g1 . 1
Ik is the permutation matrix of a cyclic shift by k
2
(1)
Definition 2.1 Two maps τ, µ : Z/M −→ T are called compatible when for all m ∈ Z/M , there holds ρ(τ (m)) = ρ(µ(m − 1)) and σ(τ (m)) = σ(µ(m)) They are non-collapsible when τ (m) 6= µ(m)
and τ (m) 6= µ(m − 1).
We call them balanced when as multisets {τ (m) : m ∈ Z/M } = {µ(m) : m ∈ Z/M }. We showed above that the maps τ and µ determined by a cycle must be compatible. If subsequent edges of a cycle are distinct then τ and µ are non-collapsible.
2.1
Compositions of translations
If the θt are all translation maps, by ct , then the composite (1) is a translation by 0 and consequently M X
cτ (m) −
M X
cµ(m) = 0.
(2)
m=1
m=1
For each t ∈ T , let κt = #{m ∈ M : τ (m) = t} − #{m ∈ M : µ(m) = t} Since τ and µ are compatible, we have X X κt = 0 and κt = 0. t∈ρ−1 (r)
t∈σ −1 (s)
Furthermore, we obtain T X
|κt | ≤ 2M.
t=1
Then the equation (2) can be rewritten as T X
κt ct = 0
t=1
We note that if τ and µ are balanced then κ t = 0 for all t , so this sum 0. Furthermore, if τ and µ are balanced there is some permutation π ∈ S M such that µ = τ ◦ π . Consequently, if all of the θt are translations then an upper bound for the girth is 2M where M is such that there exist π ∈ SM and τ : M −→ T with τ and τ ◦ π compatible, so that this sum equals 0 .
2.2
Our main result
To state a theorem we will introduce a submodule K of Z T and polynomials Fπ for certain permutations π such that a number of properties are granted.
3
P Consider the module ZT with weight function, wt(u) = Tt=1 |ut | . For each r ∈ R , let vr ∈ ZT be the indicator for ρ−1 (r) , (vr )t = 1 for t ∈ ρ−1 (r) and 0 otherwise. Similarly, for s ∈ S , let ws be the indicator for σ −1 (s) . Let K be the submodule of ZT orthogonal to vr for all r ∈ R and to all ws for all s ∈ S . Let ε be the permutation in Sm given by (1, 2, 3, . . . , m) , i.e the cyclic shift by one. We will say that a permutation π ∈ Sm is doubly-free if both π and πε−1 are fixed point free. We define a polynomial M m i Y X Y ( Fπ (u1 , . . . , um , v1 , . . . , vm ) = uj )vi − ( uπ(j) )vπ(i) i=1
j=i+1
j=1
Our results about girth can then be summarized in the following theorem. Theorem 2.2 Let G = Z/p × Z/q for p and q positive integers. Let R , S and T be positive integers. Let ρ : T −→ R and σ : T −→ S . For t ∈ T let θ t : (x, y) 7→ (x + ct , at y + bt ) where at is nonzero. Suppose the following: PT (a) For all κ ∈ K of weight at most 2M there holds t=1 κt ct 6= 0 (mod p) (b) For all m ≤ M , and all doubly-free permutations π ∈ S m and all τ : m −→ T such that τ and τ ◦ π are compatible there holds Fπ (aτ (1) , . . . , aτ (m) , bτ (1) , . . . , bτ (m) ) 6= 0
(mod q)
Then the bipartite graph will have girth at least 2M .
3
Experimental results
For codes with the structure described in Example 1.3 a), we have implemented an algorithm in Magma to choose the parameters to construct (3,6) regular LDPC codes of arbitrary girth. For girth 12 we have several codes of length 4906 and larger and rate roughly 1/2 . We were interested in comparing these codes with those which have been given in the literature. To this end we chose two examples for comparison: the (3, 6) -regular random codes where the graph is of girth at least 6 and the codes induced by the Margulis construction described in [3, 4] and [7]. The results are graphed in the following figure. In this figure the curve passing the diamonds show the performance of one of our (3, 6) -regular [4906, 2453] -codes. The curve passing the circles is due to the construction by Margulis of same rate and comparable length. The boxes define a curve that is induced by a (3, 6) -regular random construction of the same length, however of girth that is only known to be greater or equal 6 . The figure suggests, that in low SNR our systematic construction performs closely to the random construction. For higher SNR it seems to be inferior but still better than the Margulis construction. It is a question of further research and simulation to explore the error floor of our construction and compare it to that of all systematic constructions known so far.
4
.1
.1e–1
.1e–2
.1e–3 Bit Error Probability 1e–05
1e–06
1e–07
1
1.2
1.4
1.6
1.8
2
Eb/N0 (dB)
References [1] J. Bond, S. Hui, and H. Schmidt. Linear-congruence construction of low-density check codes. In B. Marcus and J. Rosenthal, editors, Codes, Systems and Graphical Models, IMA Vol. 123, pages 83–100. Springer-Verlag, 2001. [2] M. Fossorier, “Quasi-cyclic low density parity check codes from circulant permutation matrices,” submitted to IEEE Trans. Inform. Theory, 2003. [3] G. A. Margulis. Explicit constructions of graphs without short cycles and low density codes. Combinatorica, 2(1):71–78, 1982. [4] G. A. Margulis. Explicit group-theoretic constructions of combinatorial schemes and their applications in the construction of expanders and concentrators. Problems Inform. Transmission, 24(1):39–46, 1988. Translation from Problemy Peredachi Informatsii. [5] M. O’Sullivan, R. Smarandache: High-rate, short length, (3, 3s)-regular LDPC codes of girth 6 and 8. Proceedings. of the 2003 IEEE International Symposium on Information Theory Yokohama, Japan, 2003. [6] M. O’Sullivan, M. Greferath and R. Smarandache, Construction of LDPC Codes from Affine Permutation Matrices. Proceedings of the Allerton Conference 2002, Urbana-Champaign (IL), 2002. [7] J. Rosenthal and P. O. Vontobel. Constructions of LDPC codes using Ramanujan graphs and ideas from Margulis. In Proc. of the 38-th Allerton Conference on Communication, Control, and Computing, pages 248–257, 2000. [8] R. M. Tanner, D. Sridhara, and T. Fuja, “A class of group-structured LDPC codes,” in Proc. of ICSTA 2001, (Ambleside, England), 2001. 5