LDPC Convolutional Code Baed on Permutation Polynomial over Integer Ring Marco B. S. Tavare and Gerhard P. Fettwei Vodafone Chair Mobile Communication Sytem, Dreden Univerity of Technology, 01062 Dreden, Germany Email: {tavare, fettwei}@ifn.et.tu-dreden.de Abtract A novel algebraic contruction technique for LDPC convolutional code (LDPCCC) baed on permutation polynomial over integer ring i preented. The underlying element of thi contruction technique are graph automorphim and quai-cyclic (QC) code. The algebraic tructure of the obtained LDPCCC, their encoding and decoding are dicued. Thee new code have a pecial tructure, which i favorable for high-rate VLSI implementation. Their performance in the aymptotic cae are uperior to that of the QC code from which they are derived at a much lower complexity. 1 I. INTRODUCTION Low-Denity Parity-Check (LDPC) code were invented by Gallager [1] in the early 60. The convolutional counterpart of Gallager LDPC block code, namely LDPC convolutional code (LDPCCC), were propoed by Jiménez-Felttröm and Zigangirov [2]. Contrary to LDPC block code, a ingle LDPCCC can be applied to a multitude of frame length becaue of it inherent convolutional tructure. Moreover, a pipelined verion of the conventional meage-paing decoder can be derived. Thi pipelined decoder alleviate the typical on-chip interconnection problem [3] and ha ome other advantage regarding it VLSI deign. In [4] it wa hown that for a comparable performance the complexity of a decoder for LDPCCC i much lower than the complexity of a decoder for block code. Additionally, LDPCCC can be eaily encoded uing hift-regiter. The original contruction technique for LDPCCC preented in [2] conit of unwrapping the parity-check matrice of LDPC block code. The code obtained through thi technique are of emi-random nature. Thi randomne preent ome diadvantage in term of toring and acceing the paritycheck matrice, encoding data and analyzing the code. The inertion of an algebraic tructure in the LDPCCC can be exploited to overcome ome of thee problem and, alo, for even more efficient VLSI deign (e.g. parallelization method, memory architecture, cheduling, etc.). Several method for deigning tructured LDPC block code have been propoed recently (ee [5], [6] and the reference therein). Among thee method, the quai-cyclic (QC) contruction propoed by Tanner et al. [5] are particular intereting becaue they allow a direct mapping into convolutional code [7]. However, QC code with circulant 1 Thi work wa upported by the German minitry of reearch and education within the project Wirele Gigabit With Advanced Multimedia Support (WIGWAM) under grant 01 BU 370. matrice are known to have poor ditance propertie for higher block length. Thi fact i alo reflected in the correponding convolutional code [7]. In thi context, Takehita [8] propoed a new code contruction method, where the paritycheck matrice are defined by permutation polynomial over integer ring. The obtained parity-check matrice (graph) have automorphim that can be exploited to rearrange them in a generalized circulant fahion. Although not yet formally proven, the minimum ditance of thee QC code eem to grow with the block length. LDPCCC obtained from thi cla of QC code have not been previouly conidered in the literature and are the ubject of thi paper. The remainder of thi paper i organized a follow. Section II explain how convolutional code can be obtained from QC block code. In Section III, we how how to obtain QC block code from a cla of permutation polynomial over integer ring. The LDPCCC derived from thee QC block code are defined in Section IV. In the ame ection, iue like encoding, decoding, calability and termination of thee novel LDPCCC are dicued. Section V preent everal reult on performance for our code. Finally, we ummarize our finding in Section VI. II. LDPC CONVOLUTIONAL CODES FROM QC CODES LDPC convolutional code are derived from QC code by replicating their contraint graph to infinity [5]. Thi can be expreed by repreenting the circulant in the parity-check matrix of a QC code by polynomial. Then, the polynomial parity-check matrix of the correponding LDPCCC ha the form H(D) = p (1,1) (D) p (1,K) (D)..... p (J,1) (D) p (J,K) (D), (1) where p (j,k) (D) = I(j,k) D e(i,j,k). The I(j, k) monomial entrie in p (j,k) (D) correpond to the identity matrice cyclichifted by e(i, j, k) poition, which are preent in each circulant of the QC parity-check matrix. III. PERMUTATION POLYNOMIALS AND QC CODES Let G = (V C E) be a regular bipartite graph with vertex degree (λ, ρ). The et V = {v 1,, v N }, C = {c 1,, c N M } and E = {e 1,, e L }, where L = Nλ = (N M)ρ, repreent the variable node, the check
(a) (b) Fig. 1. Parity-check matrice obtained from QPP f(x) = 29x + 42x 2 : (a) before reordering (b) after reordering node and the edge, repectively. Next, we define the et R = {r 1,, r L } and L = {l 1,, l L }, which repreent the right and left label of the edge in E, repectively. In addition, each v i (c i ) i aociated to a ubet of R (L), namely R i = {r (i 1)λ+1,, r (i 1)λ+λ } (L i = {l (i 1)ρ+1,, l (i 1)ρ+ρ }). A permutation i defined by a bijective function f : R L. In thi ene, f define the graph connection and, conequently, the parity-check matrix of the code. In thi work we are intereted in permutation, which can be expreed through polynomial. More pecifically, we will only conider quadratic permutation polynomial (QPP ) over integer ring with the imple form f(x) = ax + bx 2. (2) The condition that the coefficient a and b mut atify to make f a permutation polynomial over the ring Z L = {0,, L 1}, a well a, the earch algorithm for coefficient that maximize the graph girth are decribed in [8]. A mentioned by Takehita, the nature of the permutation polynomial reult in graph automorphim. The dijoint et of variable node V i = {v i, v i+β,, v i+ N 1} with i = 0,, N N β β and check node C j = {c j, c j+γ,, c (N M) j+ γ 1 } with j = 0,, (N M) (N M) γ repreent the equivalence clae of the graph under it automorphim. The parameter β i defined in [8] and γ = βλ ρ. Oberving the regularity in the ditribution of graph node that pertain to any equivalence cla, one can conclude that the parity-check matrix H of the reulting code i highly tructured. Effectively, if we reorder the column of H according to the permutation P x = {0, β,, N β, 1, 1 + β,, 1 + N β,, β 1, β 1 + β,, β 1 + N β} and the row according to the permutation P y = {0, γ,, N M γ, 1, 1+γ,, 1+N M γ,, γ 1, γ 1+γ,, γ 1+ N M γ}, we obtain a generalized circulant matrix. Figure 1 exemplifie thi phenomenon for a regular (3, 6)-code with dimenion (N = 1008, M = 504). Thi code wa obtained from the permutation polynomial f(x) = 29x + 42x 2 with β = 12. It i eay to ee that the ize of the circulant i given by S c = N/β = 84. Moreover, computation have hown that the girth of thi code i g = 8 and the minimum ditance i d min = 44 [8]. IV. LDPC CONVOLUTIONAL CODES FROM PERMUTATION POLYNOMIALS We ue the QC tructure of the matrice obtained through polynomial permutation to generate LDPCCC. In general, the circulant in thee matrice are in factorized form. Thi mean that for a given code equence (, v i, v i+1, v i+2, ), the parity-check equation repreented by the circulantfactor contain dijoint equence of code ymbol given by (, v i, v i+δ, v i+2δ, ), where δ i the ditance between the ymbol checked by a circulant-factor and, imultaneouly, the number of circulant-factor that compoe the original circulant. The LDPCCC obtained from thi generalized circulant matrice code will have baically the ame form of (1), but now the entrie of H(D) will be vector of length δ given by p (j,k) (D) = [ I(j,k,1) I(j,k,δ) D e(i,j,k,1) 1,, ] T D e(i,j,k,δ) δ, (3) where the ubindexe of D tand for the dijoint equence of code ymbol that are ued by each element of p (j,k) (D). A. Encoding A block code that ha a parity-check matrix H compoed of circulant will have a ytematic generator matrix alo compoed of circulant if it can be written a H = [Λ Γ]. (4) In the equation above, H i (n k) n and Γ i an (n k) (n k) invertible quare matrix. The conventional method for contructing the generator matrix G i to find an (n k) (n k) matrix Φ uch that ΦΓ = I (n k), where I (n k) i the
Fig. 2. Generator matrix in ytematic circulant form (n k) (n k) identity matrix. Then, the generator matrix will have the following form G = [I k (ΦΛ) T ]. (5) A it might be conjectured, not all circulant matrice H will have Γ in an invertible form. For intance, in Figure 1(b) the lat S c row of Γ are zero. In thi cae, the generator matrix G cannot be quai-cyclic. To circumvent thi problem, we can cyclically hift S c column of H to the right until we obtain a Γ that ha full rank. Figure 2 how the ytematic generator matrix obtained from the parity-check matrix in Figure 1(b) by cyclic hifting it 3 time (in each time we hift S c column, i.e., a column of circulant) to the right. A we can ee, the generator matrix i not low-denity. However, it exhibit the deired circulant tructure. The encoder for the LDPCCC i directly obtained from the generator matrix of the QC code by tranlating it circulant into polynomial, a explained in Section II for the paritycheck matrix. Although the generator matrix of the underlying QC code i not low-denity and, conequently, the polynomial generator matrix G(D) of the LDPCCC contain lot of term, the encoder for both code are very practical for a hardware implementation. Thi feature i due to the highly tructured generator matrice that allow efficient implementation baed on hift-regiter and XOR operation. Conequently, we can expect that high-rate implementation of thee encoder are feaible with the current VLSI technology. B. Decoding Decoding of LDPCCC can be performed uing the pipeline decoder [2]. An example of thi decoder for a convolutional code of memory m = 3 and graph degree (λ = 2, ρ = 3) i hown in Figure 3. The ymbol from the channel are continuouly decoded. At each time, ρ = 3 ymbol enter (leave) the decoder. The I proceor repreent the iteration. They are identical and operate in parallel. In each proceor, only the ρ + λ = 5 highlighted graph vertice and the thick edge are active each time. The decoder for LDPCCC from generalized circulant matrice will have baically the ame complexity and tructure of Figure 3. But now, becaue of the parity-check on dijoint ymbol equence, δ ρ ymbol enter (leave) the decoder each time. Thu, the LDPCCC obtained from QC code with generalized circulant matrice permit decoder with a new degree of parallelim (δ), which i an important feature when conidering high-rate implementation. C. Scalability We can obtain horter QC block code from an exiting mother QC code by hrinking it circulant. Thi operation on the mother code can be eaily performed by the modulo operator. In thi cae, we chooe a new circulant ize S N (S N i maller than the circulant ize of the mother code) and calculate the hift of the circulant for the new code with e N (i, j, k) = e M (i, j, k) mod S N, (6) where e N (i, j, k) and e M (i, j, k) are repectively the hift of the circulant for the new and mother code, uing the ame terminology a in (1). Naturally, the new convolutional code aociated with the new QC code with circulant ize S N will have lower memorie and are derived uing the ame idea of Section II. D. Termination In order to perform optimal decoding uing the pipeline decoder [2], the graph underlying the codeword of the LD- PCCC have to be terminated. The termination i the proce that bring the convolutional encoder back to the zero tate. When the tranmitted codeword i a terminated equence, the oft-decoder can aume that all the ymbol after the lat effectively tranmitted ymbol are zero with infinite reliability. In the cae of ytematic convolutional code, the termination conit in a equence of zero that i fed into the encoder. The length of thi termination equence L T i determined by the memory m of the ytematic convolutional code and alo by the number of line k of G(D). Actually, we can write L T = k m.
Fig. 3. Pipeline decoder for a convolutional code with memory m = 3 Becaue the termination equence i not uer data, it caue the o-called rate-lo. In thi cae, the rate of the terminated code will be R T = L R L T, (7) L where L i the length of the terminated codeword and R i the rate of the non-terminated (or infinite) codeword. A a matter of fact, for very large codeword (L k m ) the rate-lo i negligible. (3,6) 504x1008 PEG LDPCBC (3,6) 504x1008 QPP LDPCBC (3,6) LDPCCC (m = 83) V. SIMULATION RESULTS Figure 4 how the curve for the non-terminated LDPC convolutional code (LDPCCC) obtained from the QPP code in Figure 1. A a comparion, the curve for the regular QPP LDPC block code (QPP LDPCBC) code from Figure 1 and the regular (3, 6) PEG-code [10] with block length N = 1008 and girth g = 8 are alo hown. A we can oberve, the LDPCCC outperform the other code. At a = the convolutional code ha a gain of more than 1 db. It i important to mention that thi convolutional code ha memory m = 83. Hence, it ue a decoder, which i much impler than the decoder for block code with N = 1008 [4]. Figure 5 how the effect of rate-lo expreed in term of for the LDPCCC with memory m = 83. A we can oberve, for lower block length the terminated code perform bad. For block length above N = 4320, the terminated LDPCCC perform better than the QPP LDPCBC with N = 1008. Although we are comparing code with different block ize, the implementation complexity for the LDPCCC in quetion i till very low comparing to the LDPCBC with N = 1008. In Figure 6 we tudy the LDPCCC with reduced memorie uing the idea of Section IV-C. A we can oberve, the code with memory m = 41 ha a performance imilar to the mother code with memory m = 83. On the other ide, the code with memory m = 20 preent an error-floor. We conjecture that thi effect poibly occur becaue the hrinking of the circulant of the parity-check matrix may reult in a new code that ha lot of hort cycle in it graph 10 4 Threhold for regular (3,6) code 10 6 0.5 1 1.11 1.5 2 2.5 3 Fig. 4. Comparion between LDPC block and non-terminated convolutional code tranmitted over the BIAWGN channel. All code have rate R = 1/2 and the maximum number of decoding iteration i I = 80. and thu it i not appropriate for decoding uing the pipeline decoder (meage-paing algorithm). Reducing the memory of the LDPCCC reult in lower implementation complexity and alo in lower rate-lo due to termination. Figure 7 how a comparion that involve code memory and block length for terminated LDPCCC. It can be oberved that code with lower memory how better reult concerning the tradeoff performance v. rate-lo for maller block length, while code with higher memory perform better with bigger block length. For intance, the terminated LDPCCC with memorie below m = 41 and block length N = 2160 are at leat a good a the LDPCBC with N = 1008. From thi we can conclude that for a given ytem with certain range of block length, it i an optimization problem to find the code in a certain memory range that give the bet performance conidering the termination loe.
= 83 N = 2160 = 20 N = 2160 LDPCCC m = 41 N = 2160 = 83 N = 8460 LDPCCC m = 20 N = 8460 = 41 N = 8460 QPP LDPCBC N = 1008 LDPCCC m = 83 R = 0.5 10 4 LDPCCC m = 83 N = 2160 LDPCCC m = 83 N = 4320 LDPCCC m = 83 N = 6480 LDPCCC m = 83 N = 8460 QPP LDPCBC N = 1008 0 0.5 1 1.5 2 2.5 E /N b 0 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 Fig. 5. Simulation reult for the terminated convolutional code with memory m = 83 for different block length. The tranmiion occur over the BIAWGN channel. I = 80 decoding iteration are ued. Fig. 7. Terminated LDPC convolutional code with different memorie and different block length. The tranmiion take place over the BIAWGN channel. I = 80 decoding iteration are ued. 10 4 = 83 R = 0.5 = 20 R = 0.5 = 41 R = 0.5 0 0.5 1 1.5 2 2.5 3 Fig. 6. Comparion between LDPC convolutional code with different memorie. The tranmiion take place over the BIAWGN channel. I = 80 decoding iteration are ued. VI. CONCLUSIONS In thi paper we have preented a new cla of LDPC convolutional code, which are derived from QC code defined by permutation polynomial. Thee new code can be encoded uing hift-regiter and, becaue of their highly tructured graph, they can be decoded uing a lightly modified verion of the pipeline decoder [2]. Thi modified pipeline decoder allow a new degree of parallelim that depend upon the number of factor (δ) the circulant of the parity-check matrix of the aociated QC code are decompoed. In addition, we howed that the generator matrix of the QC code can be obtained in circulant form and thu a polynomial generator for the LDPCCC can be derived from it. Moreover, we preented a method to obtain code with lower memorie from a given mother code. The termination problem wa alo approached and we examined how the performance of the code behave with regard to the block length and code memory. Finally, we would like to point out that further reearch can be done in the direction of finding optimal (performance v. rate-lo) LDPCCC from permutation polynomial for a given range of block length. Within thi context, the deign of irregular LDPCCC i alo an open iue. REFERENCES [1] R. G. Gallager, Low-Denity Parity-Check Code, Cambridge, MA: MIT Pre, 1963. [2] A. Jiménez-Felttröm and K. Sh. Zigangirov, Time-varying periodic convolutional code with low-denity parity-check matrix, IEEE Tran. Inform. Theory, vol. IT-45, pp. 2181-2191, Sept. 1999. [3] A. J. Blankby and C. J. Howland, A 690-mW 1-Gb/ 1024-b, Rate-1/2 Low-Denity Parity-Check Code Decoder, IEEE J. Solid-State Circuit, vol. 37, pp. 404-412, Mar. 2002. [4] A. E. Puane, A. Jimenéz-Felttröm, A. Sridharan, M. Lentmaier, K. Sh. Zigangirov and D. J. Cotello, Jr., Implementation Apect of LDPC Convolutional Code, ubmitted to IEEE Tran. Commun., Sept. 2005. [5] R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja and D. J. Cotello, Jr., LDPC block and convolutional code baed on circulant matrice, IEEE Tran. Inform. Theory, vol. IT-50, pp. 2966-2984, Dec. 2004. [6] H. Tang, J. Xu, S. Lin and K. A. S. Abdel-Ghaffar, Code on Finite Geometrie, IEEE Tran. Inform. Theory, vol. IT-51, pp. 572-596, Feb. 2005. [7] R. M. Tanner, Convolutional code from quai-cyclic code: A link between the theorie of block and convolutional code, Univ. Calif. Santa Cruz, Tech. Rep., 1987. [8] O. Y. Takehita, A new contruction for LDPC code uing permutation polynomial over integer ring, ubmitted to IEEE Tran. Inform. Theory, Jun. 2005 [9] R. Johannenon and K. Sh. Zigangirov Fundamental of Convolutional Coding, Picataway, NJ: IEEE Pre, 1999. [10] X.-Y. Hu, E. Eleftheriou and D. M. Arnold, Regular and irregular progreive edge-growth Tanner graph, IEEE Tran. Inform. Theory, vol. IT-51, pp. 386-398, Jan. 2005.