arXiv:1108.0840v1 [cs.IT] 3 Aug 2011 nomto ehooy udUiest,S-20 ud S Lund, [email protected]). SE-22100 fl[email protected]; University, Lund Technology, Information ehoois ehnc n pis t eesug197101 [email protected] Petersburg [email protected], St. [email protected]; Optics, Univers and Petersburg Mechanics St. Technologies, Systems, Information of Department 621-2007-61281. h iiu itne nfc,i a hw n[4 that [14] in shown was it fact, In b guaranteed distance. those minimum than su less of the often capabilities are decodin iterative procedure error-correcting within suboptimal the role distance important since minimum is an algorithms, The play and graph. to [1] underlying not seems iterations the of independent parameter of a number the determines n Cbokcdsaeitoue.Fnly e Cregular QC to new up Finally, girth introduced. with presented. are codes are block codes LDPC block distance S Triple QC Steiner minimum gi matrices, and all-ones large their on with based determining codes Constructions block Algorit for LDPC discussed. are for and way iteratively a searching such for in constructed codes block convolutiona com found. on tailbiting, be based of can graphs principle bipartite the of Using p representations codes. for searching block biad supports LDPC and graphs ful bipartite codes of (LDPC) matrices parity-check cency low-density (QC) cyclic eoigagrtm o DCcdsi the is codes LDPC for iterat algorithms of to efficiency decoding the due determining but itera algori parameter believe-propagation important low-complexity codes, the An for linear example for known suitable like best are decoding, the they of structure that their than less is presented. are Tutte’ [13] Heawood’s, graphs as Balaban’s LDPC such [11], graphs and convolutional bipartite in on famous example, for based codes For representations known. compact previously fo [12] searching than and describing better in graphs applied be codin can Moreover, methods codes. LDPC theory powerful perspec for new searching was opens in which graphs tives [6]–[10]), on example, based for con codes (see, a and Recently, shown codes [2]–[5]. LDPC codes between turbo nection to competitor main a are the in [1] lager idaec arx aliig it,mnmmdistance minimum girth, tailbiting, matrix, biadjacency .HgadR oanso r ihteDprmn fElectric of Department the with are Johannesson R. and Hug F. w are Satyukov V. Roman and Kudryashov, D. B. Bocharova, E. I. hswr a upre npr yteSeihRsac Counc Research Swedish the by part in supported was work This onso h it n h iiu itneo LDPC of distance minimum the and girth the on Bounds Abstract yial,LP oe aeamnmmdsac which distance minimum a have codes LDPC Typically, Gal- by invented codes, (LDPC) parity-check Low-density ne Terms Index Terlto ewe aiycekmtie fquasi- of matrices parity-check between relation —The erhn o otg rp-ae LDPC Graph-Based Voltage for Searching rn .Bcaoa lra Hug, Florian Bocharova, E. Irina LP oe ovltoa oe anrgraph, Tanner code, convolutional code, —LDPC 1960 ,cnttt o eerhtpcsnethey since topic research hot a constitute s, .I I. aliigCdswt ag Girth Large with Codes Tailbiting NTRODUCTION 24 oi .Kdyso,adRmnV Satyukov V. Roman and Kudryashov, D. Boris r given. are m). t fInformation of ity usa(e-mail: Russia , girth ee (e-mail: weden tdn ebr IEEE Member, Student lb Grant by il which , ystems, codes l land al ower- t the ith ha ch thm. pact hms tive rth ive ja- s, y g g r - - ftemlilctv ru ftefiiefield finite the of group multiplicative the of 1] 1] 2] 2] hl 8 ie xmlso ahrsh rather of examples girth gives with [8] while codes [23], [21], [19], [18], nee atcs nbt ae,asse fieulte wi inequalities of and system base Systems a [24] cases, Triple both [7], Steiner In in from lattices. while integer constructed ar matrices, seed are [20] base [18], called matrices all-ones references (also The on graph [31]). focused protograph base or corresponding [20] degre graph or the weight called or (also matrix matrix) tech- base proper star algebraic a procedures choosing some these by Commonly combine search. computer girth and large niques with rate. codes and length LDPC block same the of codes random outperform a osdrdi eea aes o xml,[] 8,[18 most rates [8], at code girth [7], with example, of Codes for range [24]. [23], papers, wide [21], several a in for considered distance was minimum large and short good codes. for LDPC searching motivates This codes moder [18]. or lengths LDPC short block for pseudorandom ensembles) optimal or asymptotically random (from outperform [21]. can in they codes convolutional for used was method same The ewudlk omnin[9,weeacaso CLDPC QC of class a girth where larger [19], rate with mention of codes to codes like LDPC would QC we to leading constructions r rsne n[4 n ti hw htQ DCcodes LDPC QC that shown is it and girth [24] with in presented are sn ihrfiiegoere 1]o tie rpeSystem girth Triple Steiner having or [17], [15] geometries [16], finite approache either a combinatorial design using on algebraic based com- for constructed encoding commonly suitable low are most with are codes codes LDPC Such regular plexity. of subclass a is exactly aiycekmti ihexactly with matrix parity-check admped-admcdsaeawy reua 2] [30 w [29], [15]–[28], irregular [11], A always [8], are [7], codes irregular random/pseudo-random subdi- or be regular can into codes nonrandom vided where nonrandom, or random particular of are distance these distance, minimum minimum of large the interest. size with by the codes upper-bounded of as LDPC is structure However, sets the sets. absorbing by signal-to-noise absorbing dictated high smallest the predominantly the in is codes region LDPC (SNR) of performance the oto h aesdvtdt osrcignonrandom constructing to devoted papers the of Most h rbe ffidn CLP oe ihlregirth large with codes LDPC QC finding of problem The optimal asymptotically not are codes LDPC QC Although h ls fqaicci (QC) quasi-cyclic of class The DCcdscnb hrceie sete random/pseudo- either as characterized be can codes LDPC ( ,K J, K ) rglr(orno)LP oei eemndb a by determined is code LDPC (nonrandom) -regular ≥ ofJohannesson, Rolf , nsi ahrow. each in ones 14 R 2 = n lc eghbetween length block and 14 / oe ihgrhu to up girth with Codes . 5 ihgrhu to up girth with g ≥ 6 elw IEEE Fellow, J mns te algebraic other Amongst . ( ,K J, nsi ahclm and column each in ones 12 ) rglrLP codes LDPC -regular 12 ae nsubgroups on based 34 r osrce in constructed are F , 000 18 p a obtained. was , with and 92 J , ≥ hile 000 QC ate ort nd th ], ]. 3 e e s s 1 t 2 integer coefficients describing all cycles of a given length [32], [33]. In particular, the presented codes with girth 10 is obtained and suitable labels or degrees are derived. For and 12 are shorter than the codes presented in [26] and [8], example, if we replace all nonzero entries in the base matrix [22], respectively. Moreover, our codes with girth 14 to 18 by permutation matrices [27], [31], circulant matrices [8], [18], are shorter than the corresponding codes presented in [24]. [19], [24], [26], or sums of circulant matrices [25], we obtain Section IX concludes the paper with some final remarks. the corresponding QC LDPC block codes. On the other hand, II. GENERATOR AND PARITY-CHECK MATRICES if we replace all nonzero entries in the base matrix by either monomials or binomials, we obtain the corresponding (parent) Consider a rate R = b/c binary convolutional code C with LDPC convolutional codes [21], [25], [28]. the semi-infinite generator matrix
Notice that both constructing the inequalities and the label- G0 G1 ... Gmg ing require significant computational efforts. Some methods G = G0 G1 ... Gmg (1) directed towards reducing the computational complexity of . . . ...... these steps can be found in [23], [26]. Parameters of the so far shortest QC LDPC block codes of memorymg where Gi, i = 0, 1,...,mg, are b × cbinary with J =3 and girth 6, 8, and 10 found via computer search matrices. Its semi-infinite syndrome former are presented in [26], improving previous results from [18]. T T T H0 H1 ... Hm As mentioned earlier, it is important that the constructed QC T T T HT = H0 H1 ... Hm (2) LDPC block codes have large minimum distance for achieving . . . ...... a suitable upper-bound on their error-correcting performance at high SNR. It is proved in [2] that the minimum distance of memorym, where in general m 6= mg, Hj ,j = of QC LDPC codes whose base parity-check matrices are 0, 1,...,m, are (c − b) × c binary matrices, and T denotes J ×K all-one matrices is upper-bounded by (J +1)!. However, transpose. Clearly G and H satisfy considering base matrices with zeros leads to QC LDPC codes GHT = 0 (3) with larger minimum distance. For example, in [25] it is shown that replacing all nonzero entries in the base matrix and by sums of circulants and all zero entries by all-zero matrices, vHT = 0 (4) increases the minimum distance of the resulting code while preserving its regularity. For LDPC convolutional codes this where approach implies that a parity-check matrix contains binomials v = uG (5) instead of monomials. The corresponding upper-bound on the is the code sequence and u is the information sequence. minimum distance of such LDPC codes is presented in [25]. Next we tailbite the semi-infinite generator matrix (1) to A particular case of this upper-bound, valid only for codes length M c-tuples, where M > max{m,m }. Then we obtain with zeros and monomials is derived in [11]. g the Mb × Mc generator matrix of the quasi-cyclic (QC) block In Section II, we introduce notations for generator and code B as parity-check matrices of convolutional codes and for their G G ... G corresponding tailbiting block codes. Section III focuses on 0 1 mg G G ... G bipartite graphs, biadjacency matrices, and their relation to 0 1 mg . . . parity-check matrices of LDPC block codes. Our constructions ...... of base and voltage matrices, used when searching for LDPC G0 G1 ... Gmg block codes with large girth, are introduced in Section IV. GTB = (6) Gmg G0 G1 ... Gmg−1 Bounds on the girth and the minimum distance for QC (J, K)- . . . − .. .. . regular LDPC block codes are discussed in Section V. New Gmg 1 Gmg . . search algorithms for QC LDPC block codes constructed . .. .. . . . G1 from all-one matrices, Steiner Triple Systems, and QC regular G1 G2 ... Gmg G0 matrices are presented in Section VI. Moreover, depending Every cyclic shift of a codeword of B by c places modulo on the desired girth, algorithms of different complexity for Mc is a codeword. The corresponding tailbiting parity-check constructing the set of inequalities and searching for suitable matrix is the M(c − b) × Mc matrix labelings are described. A new algorithm for computing the minimum distance of QC (J, K)-regular LDPC codes is H0 Hm Hm−1 ... H1 described in Section VII and used to compute the minimum H1 H0 Hm H2 distance of our newly found codes. Moreover, we determined ...... H1 . . . the hitherto unknown minimum distance for some of the . .. shortest known LDPC codes given in [24]. In Section VIII, we . . H0 Hm HTB = (7) present new examples of (J, K)-regular QC LDPC codes in Hm H1 H0 the form of tailbiting LDPC codes with girth between 10 and . . H . H .. 24. This representation is compact and it is possible to apply m 1 . . . . low-complexity encoding, searching, and decoding procedures ...... well developed for convolutional and tailbiting block codes H H − ... H H m m 1 1 0 3
It is easily shown that GTB and HTB satisfy of an equivalent (J, K)-regular LDPC block code constructed from circulant matrices T 0 GTBHTB = (8) Iw11 Iw12 ··· Iw1c given that (3) is fulfilled. I I ··· I H = w21 w22 w2c (13) The parity-check matrix for the convolutional code C can C ············ also be written as the (c − b) × c polynomial matrix Iw − Iw − ··· Iw − (c b)1 (c b)2 (c b)c 2 m H(D)= H0 + H1D + H2D + ··· + HmD (9) where wij are the entries of the degree matrix W and Iwij denotes an M ×M circulant matrix, that is, an identity matrix or, equivalently, as with its rows shifted cyclically to the left by wij positions. Note, that the (J, K)-regular LDPC block code determined by h11(D) h12(D) ... h1c(D) HC is not quasi-cyclic, although equivalent to the QC block h21(D) h22(D) ... h2c(D) H(D)= . . . (10) code determined by HTB. . . .. Example 1 (Cont'd): We return to (12) in Example 1 and h − (D) h − (D) ... h − (D) (c b)1 (c b)2 (c b)c reorder the columns as and the rows as 1, 5, 2, 6, 3, 7, 4, 8 In the sequel we mostly consider parity-check matrices 1, 4, 2, 5, 3, 6. Then we obtain the equivalent rate R =1−6/8 wij with only monomial entries hij (D) = D of degree wij , (3, 4)-regular LDPC block code with parity-check matrix where wij are nonnegative integers. Clearly, such a parity- check matrix H(D) can be represented by its degree matrix 15263748 W = (wij ), i =1, 2,...,c − b and j =1, 2,...,c. Note that 1 1 0 1 0 1 0 1 0 starting from Section VIII we will relax the restriction to only 4 0 1 0 1 0 1 0 1 monomial entries and also include zero entries. 2 1 0 1 0 0 1 0 1 (14) HC = 5 0 1 0 1 1 0 1 0 Example 1: Consider the rate R =1/4 convolutional code C 3 1 0 0 1 1 0 0 1 with parity-check matrix 6 0 1 1 0 0 1 1 0 11 1 1 H(D)= 1 1 DD (11) III. GRAPHS AND BIADJACENCY MATRICES 1 D 1 D A graph G is determined by a set of vertices V = {vi} and whose degree matrix is a set of edges E = {ei}, where each edge connects exactly two vertices. The degree of a vertex denotes the number of 0 0 0 0 edges that are connected to it. If all vertices have the same W = 0 0 1 1 degree c, the degree of the graph is c, or, in other words, the 0 1 0 1 graph is c-regular. Tailbiting (11) to length M =2, we obtain the tailbitten 6 × 8 Consider the set of vertices V of a graph partitioned into t parity-check matrix of a QC LDPC block code disjoint subsets Vk, k =0, 1,...,t−1. Such a graph is said to be t-partite, if no edge connects two vertices from the same 12345678 set Vk, k =0, 1,...,t − 1. 1 1 1 1 1 0 00 0 A path of length L in a graph is an alternating sequence 2 1 1 0 0 0 01 1 of L +1 vertices v , i = 1, 2,...,L +1, and L edges e , i i HTB = 3 1 0 1 0 0 10 1 (12) i =1, 2,...,L, with ei 6= ei+1. If the first and the final vertex 4 0 0 0 0 1 11 1 coincide, that is, if v = v , then we obtain a cycle. A cycle 1 L+1 5 0 0 1 1 1 10 0 is called simple if all its vertices and edges are distinct, except 6 0 1 0 1 1 01 0 for the first and final vertex which coincide. The length of the shortest simple cycle is denoted the girth of the graph. In particular, every cyclic shift of a codeword by c =4 places In [18] it was proven that the girth of a graph coincide modulo Mc =8 is a codeword. with the minimum distance of the block code, whose parity- Due to the restriction to monomial entries in H(D), HTB check matrix corresponds to the incidence matrix of the graph. is (J, K)-regular, that is, it has exactly J and K ones in Moreover, the girth determines the number of independent each column and row, respectively. Moreover, to fulfill the iterations in belief-propagation decoding [1]. low density criterion, M has to be much larger than J and K, Every parity-check matrix H of a rate R = k/n LDPC and thus the matrix HTB is sparse. block code can be interpreted as the biadjacency matrix [34] Note that the first c columns of HTB are repeated throughout of a bipartite graph, the so-called Tanner graph [35], having the whole matrix in a cyclicly shifted manner. By reordering two disjoint subsets V0 and V1 containing n and n−k vertices, the columns as 1,c + 1, 2c + 1,..., (M − 1)c + 1, 2,c + respectively. The n vertices in V0 are called symbol nodes, 2, 2c +2,..., (M − 1)c +2, etc. and the rows as 1, (c − b)+ while the n − k vertices in V1 are called constraint nodes. If 1, 2(c−b)+1,..., (M −1)(c−b)+1, 2, (c−b)+2, 2(c−b)+ the underlying LDPC block code is (J, K)-regular, the symbol 2,..., (M −1)(c−b)+2, etc. we obtain a parity-check matrix and constraint nodes have degree J and K, respectively. 4 s1 s2 s3 s4 s5 s6 s7 s8 s1 s2 s3 s4
0 0 0 1 0 0
0 1 0 1
0 1
c1 c2 c3 c1 c2 c3 c4 c5 c6
Fig. 1. Tanner graph with 8 symbol nodes (si, i = 1, 2,..., 8) and 6 Fig. 2. Bipartite graph with 4 symbol nodes (si, i = 1, 2, 3, 4) and 3 constraint nodes (ci, i = 1, 2,..., 6). constraint nodes (ci, i = 1, 2, 3). Since the edges are labeled according to (16), this corresponds to a voltage graph.
′ Consider the Tanner graph with the biadjacency matrix HTB, edge if and only if v and v are connected in the voltage corresponding to a QC (J, K)-regular LDPC code, obtained graph GV with the voltage value of the corresponding edge from the parity-check matrix of a tailbiting LDPC block code. given by γ(e,v,v′) = γ − γ′. It is easy to see that cycles Clearly, by letting the tailbiting length M tend to infinity, in the lifted graph correspond to cycles in the voltage graph we obtain a convolutional parity-check matrix H(D) (10) of with zero voltage. Consequently, the girth gV of a voltage the parent convolutional code C. In terms of Tanner graph graph follows as the length of its shortest cycle with voltage representations, this procedure corresponds to unwrapping the zero, which is equal to the free girth gfree [8], [23]. A voltage underlying graph and extending it in the time domain towards assignment corresponds directly to selecting the degrees of the infinity. Hereinafter, we will call the girth of this infinite parity-check monomials in H(D). Tanner graph the free girth and denote it gfree. In the following we start from a base graph GB and use Example 1 (Cont'd): Interpreting (14) as a biadjacency ma- a voltage assignment based on the monomial degrees wij of trix, we obtain the corresponding Tanner graph G as illustrated the degree matrix W to determine the corresponding voltage in Fig. 1 with 8 symbol nodes and 6 constraint nodes, having graph GV. The edge voltage from the constraint node ci to the girth g =4. symbol node sj is denoted by µij while the opposite direction from symbol node sj to constraint node ci follows as µ¯ji, i =1, 2,..., (c − b) and j =1, 2,...,c, where IV. BASE MATRICES,VOLTAGES, AND THEIR GRAPHS
A binary matrix B is called base matrix for a tailbiting µij = wij LDPC block code if its parent convolutional code with parity- (16) µ¯ = −w check matrix H(D) has only monomial or zero entries and ( ji ij satisfies When searching for LDPC convolutional codes with given (15) free girth gfree, we use integer edge voltages, that is, we B = H(D) D=1 deal with an infinite additive group. However, when searching that is, all nonzero entries in H(D ) are replaced by D0 =1. for QC LDPC block codes with given girth g, obtained by Different tailbiting LDPC block codes can have the same base tailbiting a parent convolutional code to length M, we use a matrix B. group of modulo M residues, that is, (16) is replaced by The base graph GB follows as the bipartite graph, whose biadjacency matrix is given by the base matrix . Denote B µij = wij mod M the girth of such a base graph g . The terminology “base (17) B µ¯ = −w mod M graph” originates from graph theory and is used, for example, ( ji ij in [36]. It differs from the terminology used in [8], [31], where The definitions of path and cycle in a voltage graph coincide protograph or seed graph are used. with those in a regular graph, except for the additional Consider the additive group , where . From (Γ, +) Γ= {γ} restriction that two neighboring edges may not connect the the base graph we obtain the voltage graph GB = {EB, VB} same nodes in reversed order. The voltage of a path or cycle [37], [38] by assigning a voltage value GV = {EB, VB, Γ} within a voltage graph, follows as the sum of all edge voltages ′ to the edge connecting the vertices and ′, γ(e,v,v ) e v v involved. satisfying the property γ(e,v,v′) = −γ(e, v′, v). Although the graph is not directed, the voltage of the edge depends on Example 1 (Cont'd): The bipartite graph whose biadjacency the direction in which the edge is passed. Finally, define the matrix is given by the base matrix B of the rate R = 1/4 voltage of the path to be the sum of the voltages of its edges. (3, 4)-regular LDPC convolutional code C is illustrated in Let G = {E, V} be a lifted graph obtained from a voltage Fig. 2. As the edges are labeled according to (16), Fig. 2 graph GV, where E = EB × Γ and V = VB × Γ. Two vertices corresponds to a voltage graph with girth gV =4 (for example, ′ ′ (v,γ) and (v ,γ ) are connected in the lifted graph by an s1 → c1 → s2 → c2 → s1). The edge from, for example, 5
constraint node c2 to symbol node s3 is labeled according to In [12] a lower bound on the girth of a voltage graph gV was found via the girth of the corresponding base graph gB for µ23 = −µ¯32 = w23 =1 ordinary graphs. It is straightforward to generalize this bound: As the free girth of the infinite Tanner graph, corresponding Consider a base graph of a QC (J ≥ 3,K)-regular to the parent convolutional code C, determined by the convo- LDPC convolutional code with girth gB and let ds denote lutional parity-check matrix H(D) is equal to the girth of the the sth generalized minimum Hamming distance of the linear M((J − 2)c + b) × JMc block code determined by the parity- voltage graph, we can conclude that gfree = gV =4. If we neglect all edge labels, we would obtain the corre- check matrix which corresponds to the incidence matrix of the sponding base graph. Tanner graph. In order words, ds corresponds to the number of nontrivial (not identically zero) positions of an s-dimensional linear subcode. V. BOUNDS ON THE GIRTH AND THE MINIMUM DISTANCE OF (J ≥ 3,K) QC LDPC BLOCK CODES Theorem 2: There exist a tailbiting length M and a voltage assignment, such that the girth g of the Tanner graph for the There are a number of approaches which can be applied corresponding TB block code of length N = Mc satisfies the to construct and search for QC -regular LDPC (J = 2,K) inequality block and convolutional codes [12] or the bipartite graphs constructed by their incidence matrices. Since every LDPC g ≥ 2max {gB + ⌈gB/2⌉ , d2}≥ 3gB (19) convolutional code can be represented by a bipartite Tanner graph using the biadjacency matrix, these techniques can be where d2 is the second generalized minimum Hamming dis- applied to (J ≥ 3,K) QC LDPC codes. Moreover, bounds on tance, that is, the minimum support of a subcode of dimension the girth and the minimum distance of (J =2,K) QC LDPC two. We have equality in (19), if the underlying base graph codes [12] can be generalized to an arbitrary J. consists of two connected cycles, having at least one common vertex. Theorem 1: The minimum distance dmin and the girth g of Proof: According to Theorem 1, any cycle in the Tanner an (n,k,dmin) QC LDPC block code B obtained from a rate graph of a QC LDPC block code corresponds to a cycle of R = b/c convolutional code C with free distance dfree and the same length in the voltage graph. As the labels of the girth gfree by tailbiting to length M are upper-bounded by the inequalities voltage Tanner graph can be freely chosen, it is enough to prove that there is no zero cycle shorter than 2(gB + ⌈gB/2⌉), dmin ≤ dfree that is, no such cycle whose voltage is zero regardless of the
g ≤ gfree labeling of the base graph. In particular, such a cycle is also known as an inevitable cycle [7] or balanced cycle [8]. The Proof: The first statement follows directly from the fact number of times each edge in such a cycle of the voltage that any codeword v(D) of the tailbiting block code B, graph is passed in different directions has to be even. This obtained from the parity-check matrix H(D) of the parent cycle cannot be simple, since in a simple cycle each edge is convolutional code C, satisfies passed in one direction only. Hence, the cycle passes through the vertices of a subgraph which contains at least two different v(D)HT (D)= 0 mod (DM − 1) (18) cycles, corresponding to two different nonzero codewords. The Since the parent convolutional code C satisfies (18) without minimum distance of the base graph is gB, and, according to reduction modulo (DM − 1) and reducing modulo (DM − 1) the Griesmer bound, the smallest length of a linear code with does not increase the weight of a polynomial, the first state- two nonzero codewords of minimum distance d is d + ⌈d/2⌉, ment follows directly. and, hence, the first lower bound of inequality (19) follows. For the second statement we consider the voltage graph GV Consider the second lower bound. The definition of the representation of the parent convolutional code C with girth second generalized minimum Hamming distance implies that gV = gfree together with the Tanner graph representation of the the smallest subgraph with two cycles has to have at least d2 QC LDPC block code B with girth g. Similar to the relations edges. Thus, the second of the two lower bounds gives the between the free distance dfree and the minimum distance dmin, precise value of the girth of a subgraph containing two con- there exists a relation between each cycle within the voltage nected cycles, having at least one common vertex. Otherwise, graph GV of the parent convolutional code and the Tanner d2 is a lower bound. graph G of the corresponding block code obtained by tailbiting The bounds are tighter than the 3gB bound [7], [36] but not to length M. The edge voltages for every cycle in GV have tight if the shortest non-simple cycle consists of two simple to sum up to zero. Similarly, every cycle in G corresponds to cycles connected by a path. a cycle in GV such that its edge voltages have to sum up to Finally, we want to recall an upper bound on the achievable zero modulo M. With the same argument as before it follows girth and minimum distance. We start by reformulating the directly that theorem on the achievable girth by Fossorier [18] and thereby generalize it to include base matrices with zero elements. g ≤ gV = gfree Theorem 3: Consider the parity-check matrix H(D) of a rate R = b/c convolutional code with base matrix B. Denote the 6
s1 s2 s3 s4 ′ corresponding base graph GB and let B be the 2×3 submatrix µ31 µ14 µ12 µ32 µ13 µ33 ′ 1 1 1 B = (20) µ µ 1 1 1 22 23 µ21 µ24 If the base matrix B, after possibly reordering its rows and ′ µ µ columns, contains the submatrix B , then the girth gV of the 11 34 corresponding voltage graph GV is upper-bounded by
gV ≤ 12 (21) c1 c2 c3 regardless of the voltage assignment. Fig. 3. A bipartite voltage graph with 4 symbol nodes (si, i = 1, 2, 3, 8) and 3 constraint nodes (ci, i = 1, 2, 3) with its edges labeled according to Proof: The subgraph determined by the 2 × 3 submatrix (16). B′ contains 3 symbol nodes, 2 constraint nodes, and 6 edges. Moreover, there exist 3 shortest cycles of length 4. Thus, the the list of inequalities determined during the first step. In base graph G has girth g = 4 and its second generalized B B general, when searching for all cycles of length g roughly Hamming distance is d =6. Applying Theorem 2, we obtain 2 (J − 1)g different paths have been considered. However, by the precise value of the achievable girth as 2d = 12, which 2 using a similar idea as in [33] when searching for a path within completes the proof. a trellis, we create a tree of maximum depth and search For parity-check matrices with only nonzero monomial g/2 only for identical nodes within the tree and thereby reduce the entries, the inequality (21) was proven in [18]. complexity to roughly (J − 1)g/2. Moreover, let H(D) be the parity-check matrix of a rate R = b/c (J, K)-regular LDPC convolutional code with free Creating a tree structure distance dfree. By tailbiting to length M we obtain a QC LDPC Utilizing the base graph of a rate -regular block code of block length Mc and minimum distance dmin. As R = b/c (J, K) proven in [2] for parity-check matrices without zero elements LDPC convolutional code, with c symbol and c − b constraint and reformulated in [11] for parity-check matrices with zero nodes, we construct a separate subtree starting with each of the symbol nodes. elements, the corresponding minimum distance dmin can be c upper-bounded by Before describing the algorithm, we have to introduce some notations. A node in the tree will be denoted by ξ and has a dmin ≤ dfree ≤ (c − b + 1)! (22) unique parent node ξp. The underlying base graph is bipartite, that is, every node ξ in the tree with ξ ∈Vi is only connected For parity-check matrices with only nonzero monomials, the ′ inequality simplifies to (J + 1)!. to nodes ξ ∈ Vj with i, j ∈ {0, 1}, i 6= j, where V0 and V1 are the sets of symbol and constraint nodes, respectively. In other words, a symbol node is only connected to constraint VI. SEARCHING FOR QC LDPC BLOCK CODES WITH LARGE GIRTH nodes and vice versa. Moreover, every node ξ is characterized by its depth ℓ(ξ) and its number n(ξ), where n(ξ)= i follows When searching for QC LDPC block codes with large girth, directly from ξ = si or ξ = ci depending on whether its depth we start from a base graph of a rate R = b/c (J, K)-regular ℓ(ξ) is even or odd. In particular, ξ ∈Vℓ(ξ) mod2. LDPC convolutional code. Using the following algorithm, we Having introduced those basic notations, we can grow c determine a suitable voltage assignment based on the group separate subtrees, with the root node ξi,root of the ith subtree of nonnegative integers, such that the girth of this voltage being initialized with ξ ∈ V0 and depth ℓ(ξ)=0. Extend graph is greater than or equal to a given girth g. Afterwards every node ξ ∈ Vi at depth ℓ(ξ) = n with i = n mod 2 by we replace all edge labels by their corresponding modulo M ′ connecting it with the nodes ξ ∈ Vi+1 mod 2 at depth n +1 residuals, where we try to minimize M while preserving the according to the underlying base graph, except ξp which is girth g. Using the concept of biadjacency matrices leads to already connected to ξ at depth n − 1. the corresponding degree matrix W and we obtain the parity- Finally we label the edges according to (16) and obtain the check matrix of a convolutional code whose bipartite graph has voltage for node ξ in the ith subtree as the sum of the edge girth g = gfree. Tailbiting to lengths M, yields the rate R = voltages of the path ξi,root → ξ. Mb/Mc QC LDPC block code whose parity-check matrix is Clearly, all subtrees together contain all paths of a given equal to the biadjacency matrix of a bipartite graph with girth length in the voltage graph. Moreover, taking into account g. that the girth g of bipartite graphs is always even, we can The algorithm for determining a suitable voltage assignment conclude that in order to check all possible cycles of length for a base graph consists of the following two main steps: at most g − 2 in the voltage graph, it is sufficient to grow 1) Construct a list containing all inequalities describing the corresponding c subtrees up to depth (g − 2)/2 and to cycles of length smaller than g within the base graph. construct voltage inequalities for all node pairs (ξ, ξ′) in the 2) Search for such a voltage assignment of the base graph same subtree i with the same number n(ξ)= n(ξ′) and depth that all inequalities are satisfied. ℓ(ξ)= ℓ(ξ′) but different parent nodes ξp 6= ξ′p. The efficiency of the second step, searching for a suitable The corresponding voltage inequality for the node pair voltage assignment, depends on the chosen representation for (ξ, ξ′) follows directly as the difference between the voltages 7
µ34 ℓ(ξ)=2 in the subtree starting with symbol node s1, are s4 µ 33 −µ11 + µ12 − µ22 + µ21 6=0
c3 s3 −µ11 + µ12 − µ32 + µ31 6=0 µ32 −µ21 + µ22 − µ32 + µ31 6=0 s2 Note that amongst all 36 voltage inequalities, there are only
−µ31 18 unique ones.
µ24 Algorithm TR: Constructing a tree representation. s4 −µ21 µ23 1) Grow c separate subtrees according to the underlying base graph up to depth g/2 − 1, with the root node s1 c2 s3 µ22 ξi,root of the ith subtree being initialized with ξ ∈ V0 and depth ℓ(ξ)=0. − s µ11 2 2) Extend every node ξ ∈Vi at depth ℓ(ξ)= n with i = n ′ mod 2 by connecting it with the nodes ξ ∈Vi+1 mod 2 at depth n +1 according to the underlying base graph, µ14 p s4 except ξ which is already connected to ξ at depth n−1. µ13 Denote the set of all nodes within the ith subtree by Ti.
c1 s3 µ12 Searching for a suitable voltage assigment
s2 Using the obtained subtrees Ti, i =1, 2,...,c, with maxi- mum depth g/2−1, we have found all cycles of length smaller Fig. 4. A tree representation with maximum depth two, starting with symbol than or equal to g − 2 as well as their corresponding voltage node s1. inequalities. The same cycle might be found several times within the c ′ subtrees. Moreover, two different cycles can correspond to the for the paths from ξi,root to ξ and ξ , respectively, that is, ′ same voltage inequality. (ξi,root → ξ) − (ξi,root → ξ ). ′ ′ We continue by creating a reduced list L of node pairs If there exists a cycle g