Page 1

1

Woven Convolutional Graph Codes with

Large Free Distances

I. E. Bocharova1, F. Hug2, R. Johannesson2, and B. D. Kudryashov1

1Dept. of Information Systems,

St. Petersburg Univ. of Information Technologies, Mechanics and Optics

St. Petersburg 197101, Russia

Email: {irina, boris}@eit.lth.se

2Dept. of Electrical and Information Technology, Lund University

P. O. Box 118, SE-22100 Lund, Sweden

Email: {florian, rolf}@eit.lth.se

Abstract

Constructions of woven graph codes based on constituent convolutional codes are studied and examples of

woven convolutional graph codes are presented. The existence of codes, satisfying the Costello lower bound on

the free distance, within the random ensemble of woven graph codes based on s-partite, s-uniform hypergraphs,

where s depends only on the code rate, is shown. Simulation results for Viterbi decoding of woven graph codes are

presented and discussed.

Index Terms

Convolutional codes, girth, graphs, graph codes, hypergraphs, LDPC codes, tailbiting codes, woven codes.

I. INTRODUCTION

Woven graph codes are concatenated graph-based codes with constituent block or convolutional codes [1], [2]. The

distinguishing feature of these codes is that the length of the constituent code is a multiple of the underlying graph

degree c, that is, their length is equal to lc, where l is an integer. In particular, when l tends to infinity we obtain

woven graph codes with constituent convolutional codes. While for example serial concatenated convolutional codes

are obtained by combining generator matrices, woven graph codes are obtained by combining the corresponding

parity-check matrices.

In [2], the existence of codes, satisfying the Varshamov-Gilbert (VG) bound, within the random ensemble of

woven codes based on s-partite, s-uniform hypergraphs, where s depends only on the code rate, and constituent

block codes, was proven. Due to the simple structure of woven graph codes, such codes can be analyzed with low

computational complexity while their minimum distances are rather close to the minimum distances of the best

known linear codes of same lengths and dimensions. Moreover, there exist linear-time encoding algorithms for this

class of codes.

In this paper, we will generalize the VG bound [2] to the corresponding bound for woven graph codes with

constituent convolutional codes, namely the Costello bound. Therefore, we consider woven graph codes with

constituent convolutional codes, based on s-partite, s-uniform hypergraphs, in the following referred to as woven

convolutional graph codes. Let the overall constraint length of woven convolutional graph codes tend towards

infinity. Then, within the random ensemble of such convolutional codes with s ≥ 2, codes satisfying the Costello

lower bound on the free distance exist for any rate. Examples of woven convolutional graph codes with surprisingly

large free distances are presented. Additionally, their bit error probabilities for Viterbi decoding are compared with

the best known convolutional codes of the same overall constraint length.

In Section II, properties of s-partite, s-uniform, c-regular hypergraphs are introduced. A compact representation of

hypergraphs as well as their relationship to Tanner graphs are discussed. Hypergraph-based block codes are defined

Page 2

2

12

11

9

8

1

7

32

6 10

5

4

Fig. 1.A 3-partite, 3-uniform, 4-regular hypergraph with its shortest cycle being highlighted.

in Section III. Section IV is devoted to generalizations of such codes to woven graph codes with constituent

block and convolutional codes. The Costello lower bound on the free distance of the random ensemble of woven

convolutional graph codes is derived in Section V, and examples of promising woven convolutional graph codes

are presented in Section VI. The paper is concluded by a discussion of simulation results of Viterbi decoding of

woven convolutional graph codes in Section VII.

II. GRAPHS AND HYPERGRAPHS

A hypergraph is a generalization of a graph and is determined by a set of vertices V = {vi} and a set of

hyperedges E = {ei}, where each hyperedge is a subset of vertices and may connect (contain) any number of

vertices. If each hyperedge connects not more than two vertices it is called an edge and we obtain an ordinary

graph.

A hypergraph is called s-uniform if every hyperedge has cardinality s, that is, it connects s vertices. For s = 2,

a hypergraph is a simple graph. The degree of a vertex in a hypergraph is the number of hyperedges that are

connected to (contain) it. If all vertices have the same degree c, then the hypergraph is c-regular, that is, c is the

degree of the hypergraph.

Let the set of vertices V of an s-uniform hypergraph be partitioned into t disjoint subsets Vk, k = 1,2,...,t. If

no hyperedge connects (contains) two vertices from the same set Vk, k = 1,2,...,t, the hypergraph is said to be

t-partite.

Hereinafter, we will consider only s-partite, s-uniform, c-regular hypergraphs. Such hypergraphs consist of a

union of s disjoint subsets of vertices Vk, k = 1,2,...,s, where each vertex is connected to s−1 vertices, one in

each of the other subsets and has no connection within its own subset.

In Fig. 1, a 3-partite, 3-uniform, 4-regular hypergraph is illustrated with its three disjoint vertex subsets being

represented by vertices with different shades of gray. Every hyperedge connects three vertices, one from each of

the three different vertex subsets.

A path of length L in a hypergraph is an alternating sequence of L + 1 vertices vi, i = 1,2,...,L + 1, and L

hyperedges ei, i = 1,2,...,L, with ei?= ei+1. If the first and the final vertex coincide, that is, v1= vL+1, we

obtain a cycle. A cycle is called simple if all its vertices and edges are distinct, except the first and final vertex

which coincide. Such a simple cycle is also known as a Berge cycle [3]. Finally, the girth of a hypergraph is the

length of its shortest simple cycle. The shortest cycle of the previously mentioned 3-partite, 3-uniform, 4-regular

hypergraph is highlighted in bold in Fig. 1. It consists of the vertices 6, 11, and 6 and thereby has girth equal to 2.

Page 3

3

Consider the hypergraph as illustrated in Fig. 1. The corresponding incidence matrix follows as

Hhg=

123456789 1011 1213 1415 16

1

2

3

4

5

6

7

8

9

1

0

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

0

0

1

0

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

1

0

0

0

0

1

0

0

1

0

0

0

1

0

0

0

1

0

0

0

1

0

0

1

0

0

0

0

0

1

0

0

1

0

0

0

0

0

1

1

0

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

0

1

0

0

0

1

0

0

0

1

0

0

0

1

0

0

1

0

0

0

0

0

1

0

0

1

0

1

0

0

0

0

1

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

0

0

1

0

0

0

1

0

0

0

1

0

0

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

1

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

1

0

0

10

11

12

(1)

and can be interpreted as 12 × 16 parity-check matrix Hhgof a hypergraph code Chg. Each column corresponds

to a hyperedge and each row represents a vertex of the hypergraph, with the three disjoint sets of vertices being

separated by dashed horizontal lines. The first column represents the hyperedge connecting the vertices 1, 5 and 9,

the second column the hyperedge connecting the vertices 1, 8 and 10, and so on.

By reordering the rows of (1), an equivalent parity-check matrix H?

duality, the equivalent parity-check matrix H?

corresponding dual hypergraph code C⊥

123456

Clearly, the generator matrix G⊥

as a tail-bitten convolutional code, obtained by tailbiting a parent convolutional code C⊥p

corresponding generator matrix G⊥p

1000

0010

1Z3

ZZ2

hg(2) is obtained. Using the concept of

hgof this hypergraph code is equal to the generator matrix G⊥

hgof the

hg,

H?

hg= G⊥

hg=

78910 11 1213 1415 16

1

5

9

2

6

1

1

1

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

1

0

0

0

0

0

0

1

0

0

0

1

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

1

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

1

0

1

0

0

0

0

1

0

1

0

0

0

1

1

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

1

0

0

0

0

1

0

1

0

0

0

0

0

0

1

0

0

0

1

1

0

0

0

1

0

0

0

1

0

0

0

1

0

0

10

3

7

11

4

8

12

hgof the rate R = (sn)/(cn) dual hypergraph code C⊥

.(2)

hgcan be interpreted

hgto length n, with its

hg(Z) being specified by

G⊥p

hg(Z) =

1

1

1

0

1

0

1

0

+

1

Z3

0

0

0

1

0

0

0

0

Z +

0

0

0

0

0

0

0

1

0

0

0

1

Z2+

0

0

0

0

0

1

0

0

0

0

1

0

Z3

=

1

1

1

Z

1

Z2

(3)

with free distance dfree= 4. Interpreting (3) as a convolutional parity-check matrix, we obtain the corresponding

convolutional code Cp

codes in order to distinguish it from the delay operator D of the constituent convolutional codes introduced later.

hgwith free distance dfree= 8. We use Z as the delay operator for the parent convolutional

Page 4

4

2

3

2

1

14

5

6

7

8

9

10

11

12

7

8

9

10

11

12

13

15

16

1

3

4

6

5

4

Fig. 2.A Tanner graph representation of the 3-partite, 3-uniform, 4-regular hypergraph illustrated in Fig. 1.

By tailbiting the generator matrix (3) of a rate R = s/c, memory m, parent convolutional code C⊥p

where n is any integer such that n > m, a set of generator matrices of dual hypergraph codes C⊥

rates R = (sn)/(cn) can be obtained.

Interpreting these generator matrices as incidence matrices and parity-check matrices of hypergraphs, we can

construct a set of woven graph codes with different rates, having some common properties [4] and being related to

the same underlying graph. Moreover, this set of woven graph codes can be compactly represented by the generator

matrix G⊥p

Note that in general not every hypergraph can be represented in such a compact form by the generator matrix

of its parent convolutional code. Although such a representation is not necessary for the following proofs and

theorems, all examples of hypergraphs within this paper will be given using the generator matrix of their parent

convolutional code.

hgto length n,

hgwith different

hg(Z) of the parent convolutional code.

Tanner graphs

By replacing every hyperedge of an s-partite, s-uniform, c-regular hypergraph with a vertex and s outgoing

edges, we obtain an alternative representation of a hypergraph, a so-called Tanner graph [5]. The Tanner graph for

the hypergraph shown in Fig. 1 is illustrated in Fig. 2. The three disjoint sets of vertices are represented by white,

gray, and black, vertices, respectively.

The newly introduced set of cn = 4 × 4 = 16 vertices are denoted variable or symbol nodes, while the

sn = 3 × 4 = 12 vertices on the left- and right-hand side are denoted constraint nodes. Interpreting the incidence

matrix of a hypergraph as the parity-check matrix of a corresponding hypergraph-based code, every symbol node

corresponds to one of cn codeword symbols, while every constraint node corresponds to one of sn parity-checks.

Page 5

5

III. HYPERGRAPH-BASED BLOCK CODES

A hypergraph-based block code, based on an s-partite, s-uniform, c-regular hypergraph and a rate Rc= b/c

constituent block code, is determined by its parity-check matrix

where each of the s parity-check submatrices Hiof size n(c − b) × nc, i = 1,2,...,s, corresponds to one of the

s disjoint sets of vertices. By reordering rows and columns, it is possible, without loss of generality, to represent

the first party-check submatrix H1by

00

where Hcis the (c−b)×c parity-check matrix of the constituent block code and the remaining s−1 parity-check

matrices Hiof size n(c − b) × nc, i = 2,3,...,s, are column permutations of H1, determined by the underlying

hypergraph.

By choosing b < c and assigning constituent block codes of different rates Rc= b/c to the same hypergraph, we

obtain hypergraph-based block codes of different rates. Since the total number of parity-checks of such a block code,

based on an s-partite, s-uniform, c-regular hypergraph is at most sn(c−b), the code rate Rwgof a hypergraph-based

block code follows as

Rhgb≥nc − sn(c − b)

nc

with equality if and only if all parity-checks are linearly independent.

Consider the previous parity-check matrix (1). The corresponding hypergraph can be interpreted as a hypergraph-

based block code whose constituent block codes are single-parity-check codes with parity-check matrix

Hc=?

However, as the rows in (1) are linear dependent, two parity-checks can be removed and we obtain a (16,6)

linear block code. Clearly, the rate of this hypergraph-based block code Rhgb= 6/16 satisfies the inequality (5) as

Rhgb≥ 3(3/4 − 1) + 1 = 1/4.

By interpreting a hypergraph as a hypergraph-based block code we impose some restrictions on the hypergraph

structure. In particular, each vertex corresponds to a constituent code and each codeword has to satisfy the parity

checks determined by Hc. Thus, only those cycles of the hypergraph where all participating vertices are incident

with the number of hyperedges equal to the Hamming weight of a codeword of the constituent code correspond to

codewords of a hypergraph-based block code.

Definition 1: A (≥ d)-cycle in the hypergraph is a cycle whose vertices are incident with at least d hyperedges.

Definition 2: The length (number of hyperedges) of the shortest (≥ d)-cycle of an s-partite hypergraph is its

(s,d)-girth gs,d.

Consider the previously illustrated (16,6) linear block code, determined by the hypergraph-based block code

based on the hypergraph (1) and a single parity-check matrix as a constituent block code. With the minimum

distance of the constituent block code being dc

follows as dmin= g3,2, where g3,2is the (3,2)-girth.

The shortest (≥ 2)-cycle of the corresponding 3-partite, 3-uniform, 4-regular hypergraph, that is, the (3,2)-girth

g3,2, has length 4 and is illustrated in Fig. 3. It consists of the hyperedges (2,5,11), (2,6,10), (4,5,10), and

(4,6,11).

The corresponding columns participating in this (≥ 2)-cycle are marked in bold in (1) and (2) and form one of

the smallest sets of four linearly dependent columns. Thus, it is easy to verify that the minimum distance of the

previously mentioned (16,6) linear block code is dmin= g3,2= 4.

Notice that the parent convolutional code determined by parity-check matrix (3) has free distance 8 and thus the

corresponding “free” (3,2)-girth is equal to 8 (see the first entry of Table I).

Hhgb=

H1

H2

...

Hs

(4)

H1=

Hc

0

...

0

···

···

...

···

0

0

...

Hc

...

Hc

= s(Rc− 1) + 1

(5)

1111

?.

min= 2, the minimum distance of the (16,6) linear block code

Page 6

6

9

12

11

8

1

7

32

106

5

4

Fig. 3. A shortest (≥ 2)-cycle of the 3-partite, 3-uniform, 4-regular hypergraph illustrated in Fig. 1.

IV. WOVEN GRAPH CODES

Woven graph codes are generalizations of hypergraph-based codes with either constituent block or convolutional

codes. Consider a binary (lc,lb) linear block code, determined by the parity-check matrix

Hc

(c−b)1

where Hc

binary matrices of size l × l. Then, the corresponding hypergraph-based code of length nlc with a constituent

block code, determined by its l(c − b) × lc parity-check matrix Hc, is called a woven graph code with constituent

block codes. While in the case of hypergraph-based codes a codeword of length c is assigned to each vertex, we

generalize those codes to woven graph codes by assigning a length c subblock, which is a time-cut of a length lc

codeword, to each vertex. Such codes were analyzed and discussed in [2].

Woven graph codes with constituent convolutional codes, hereinafter referred to as woven convolutional graph

codes, can be considered as a straightforward generalization of woven graph codes with constituent block codes.

Let Hc(D) denote the minimal-basic (b − c) × c parity-check matrix [6] of a rate R = b/c convolutional code

hc

hc

Hc=

Hc

Hc

...

11

Hc

Hc

...

Hc

12

...

...

...

...

Hc

Hc

...

Hc

1c

21222c

(c−b)2

(c−b)c

ij∈ Bl×l, i = 1,2,...,(c−b), j = 1,2,...,c, are size l×l submatrices and Bl×lis the set of all possible

Hc(D) =

ijD2+ ···, i = 1,2,...,(c − b), j = 1,2,...,c, are binary polynomials.

Denote by F2((D)) the field of binary Laurent series and regard a rate Rc= b/c convolutional code as a rate

Rc= b/c block code over the field of binary Laurent series. Then, the corresponding codewords are elements of

Fc

2((D)), which is a c-dimensional vector space over the field of binary Laurent series [6].

Representing a convolutional code as a block code over the field of binary Laurent series F2((D)), we obtain

woven convolutional graph codes as a generalization of woven graph codes with constituent block codes.

For example, the parity-check matrix Hwg(D) of a woven convolutional graph code, based on the hypergraph

hc

hc

...

11(D)

21(D)

hc

hc

...

12(D)

22(D)

...

...

...

...

hc

hc

...

hc

1c(D)

2c(D)

(c−b)1(D)

(c−b)2(D)

(c−b)c(D)

(6)

where hc

ij(D) = hc(0)

ij

+ hc(1)

ijD + hc(2)

Page 7

7

with parity-check matrix (1), is given by

Hwg(D) =

1

hc

0

0

0

tc

0

0

0

lc

1

0

0

0

23456789 1011 1213141516

1

2

3

4

5

6

7

8

9

10

11

12

1

hc

0

0

0

0

0

0

tc

0

lc

2

0

0

2

hc

0

0

0

0

0

tc

0

0

0

0

lc

3

3

hc

0

0

0

0

tc

0

0

0

0

lc

4

0

4

00000

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

hc

0

0

0

tc

0

0

0

lc

1

0

0

1

hc

0

0

tc

0

0

0

0

0

lc

2

0

2

hc

0

0

0

0

0

tc

lc

3

0

0

0

3

hc

0

0

0

0

tc

0

0

0

0

lc

4

4

hc

0

0

0

tc

0

0

0

lc

1

0

1

hc

0

0

tc

0

0

0

0

0

lc

2

2

hc

0

tc

0

0

0

0

lc

3

0

0

3

hc

0

0

0

0

tc

lc

4

0

0

0

4

hc

0

0

0

tc

0

0

0

lc

1

1

hc

0

0

tc

0

lc

2

0

0

0

2

hc

0

tc

0

0

0

0

lc

3

0

3

hc

tc

0

0

0

0

lc

4

0

0

4

1

2

3

4

4123

3412

2341

hc

tc

lc

1= hc

1= tc

1= lc

1(D)

1(D)

1(D)

hc

tc

lc

2= hc

2= tc

2= lc

4(D)?

2(D)

2(D)

2(D)

hc

tc

lc

3= hc

3= tc

3= lc

3(D)

3(D)

3(D)

hc

tc

lc

4= hc

4= tc

4= lc

4(D)

4(D)

4(D)

where Hc(D) =?hc

permutations of?hc

the n left constituent convolutional codes as a warp with nc threads. Each of the n right constituent convolutional

codes are tacked on c of the threads in the warp such that each thread of the warp is tacked on exactly once. Thus,

our construction is a special case of a woven code [7].

1(D)hc

2(D)hc

3(D)

3(D),tc

3(D),hc

hc

is the parity-check matrix of the rate Rc= 3/4 constituent

4(D)?and?lc

convolutional code, and?tc

Exploiting the above definitions in connection with the Tanner graph representation in Fig. 2, we can regard

1(D),tc

2(D),hc

2(D),tc

1(D),lc

2(D),lc

3(D),lc

4(D)?are two out of 24 possible

1(D),hc

4(D)?.

V. ASYMPTOTIC BOUND ON THE FREE DISTANCE OF WOVEN GRAPH CODES

Consider a woven graph code with a constituent block code, obtained by tailbiting (TB) a rate Rc= b/c

convolutional code with memory mcand let the length of a codeword of the TB block code in nc-tuples be equal

to l. Denote the minimum distance of the woven graph code by dwg

according to (5). Considering TB codes (instead of zero-tail or other termination techniques) simplifies the analysis

since for TB codes the code rate coincides with the rate of the parent convolutional code. Moreover, if l tends

towards infinity, the minimum distance of a TB code coincides with the free distance of its parent convolutional

code. Additionally, the minimum distance of the woven graph code is then replaced by the corresponding free

distance, which is denoted by dwg

Finally, following directly from (4) and (6), the memory mwg(as well as the overall constraint length) of such a

woven graph code is at most ns times larger than that of its constituent code, that is, mwg≤ nsmc. Now we can

prove the following:

Theorem 1: (Costello lower bound) For any ? > 0, some m0> 0, and for all mwg> m0within the random

ensemble of rate Rwg= s(Rc− 1) + 1 woven graph codes over s-partite, s-uniform, c-regular hypergraphs with

constituent rate Rc= b/c convolutional codes with memory mc, there exists a code such that its relative free

distance δwg

min, while its rate is given by Rwg= s(Rc−1)+1

free.

free= dwg

free/cmwgsatisfies the Costello lower bound [6],

δwg

free≥ −

Rwg

log2(21−Rwg− 1)− ?

(7)

if

s ≥

?

2,

3,

if Rwg≤ 0.402

if Rwg> 0.402.

(8)

Page 8

8

Proof: Analogously to the derivations within the proof of Theorem 1 in [2], let w be the Hamming weight

of the codeword v of the random binary woven graph code determined by the time-varying random parity-check

matrix

? Hs

i = 1,2,...,s, is an n × n block matrix (or in other words a binary matrix of size n(c − b)l × ncl), where n

denotes the number of constituent block codes within each subset of nodes, and

00

Hwg=

? H1

...

? H2

=

π1(H1)

π2(H2)

...

πs(Hs)

where πi(Hi) denotes a random permutation of the columns of Hi. Each of the s submatrices˜Hi = πi(Hi),

Hi=

Hc(1)

i

0

...

0

···

···

...

···

0

0

...

Hc(2)

i

...

Hc(n)

i

.

Within Hi, each of the n blocks denotes a random parity-check matrix Hc(t)

given by

which can be interpreted as a parity-check matrix of a rate R = lb×lc block code, whose dual generator matrix is

tailbitten to length l. All matrices Hc

obtained separately for each block matrix Hc(t)

i

by randomly choosing 0s and 1s equiprobably and independently.

In the following, we are going to find the parameter d, such that the probability P?vHT

constituent block code becomes a constituent convolutional code. Clearly, we can rewrite P?vHT

i

, t = 1,2,...,n, i = 1,2,...,s,

Hc(t)

i

=

Hc

00

Hc

Hc

01

···

Hc

...

Hc

···

...

0mc

1011

Hc

1mc

...

...

···

(l−mc)1

...

Hc

(l−2)0

Hc

(l−mc−1)0

Hc

Hc

(l−mc−1)1

(l−mc)0

Hc

(l−mc−1)mc

···

...

Hc

(l−2)1

Hc

(l−1)0

Hc

(l−mc)mc

...

···

Hc

(l−1)1

Hc

...

Hc

(l−2)mc

···

Hc

(l−1)mc

(9)

ij, i = 0,1,...,l−1, j = 0,1,...,mc, in (9) are of size (c−b)×c and can be

wg= 0??w?tends to zero

wg= 0??h,w??

for all w < d, where w denotes the Hamming weight of the codeword v, when l tends to infinity. In this case the

wg= 0??w?as

P?vHT

wg= 0??w?=

?

h

P?vHT

wg= 0??w,h?P(h | w) ≤ max

h

?

P?vHT

(10)

where h ≤ l denotes the number of nonzero subblocks of length nc in a codeword v of length ncl. The conditional

probability in the last inequality can be expressed as

P?vHT

where j = (j1,j2,...,js), with jidenoting the number of nonzero constituent codewords within the ith subset of

check nodes corresponding to the codeword of weight w, i = 1,2,...,s.

The events that a random codeword v and a random matrix Hi satisfy the ith subset of parity checks, i.e.,

vHT

and random parity-check matrices, because the same fragments of v participate in different sets of parity checks.

However, for all v satisfying the conditions w, h, and j, the probabilities of vHT

wg= 0??h,w?=

?

j

P?vHT

wg= 0??h,w,j?P(j | h,w)

(11)

i= 0, for different i are stochastically dependent in the product space of random equiprobable sequences v

i= 0 depend only on Hi, and

Page 9

9

thus the events are conditionally independent for given v, w, h, and j. Taking into account that there exist not

more than?nch

P?vHT

and

P?vHT

Note that in the derivation of (12), codewords containing h nontrivial c-subblocks are generated by not more

than (h − mc) nontrivial binary information b-tuples. Additionally, the number of possible locations of these h

nontrivial subblocks among l subblocks can be upper-bounded by l2l/mc. This bound follows directly by taking

into account that every codeword contains one or more (cyclic) bursts of at least mcnontrivial subblocks. Thus,

the number of bursts cannot be larger than l/mc. Additionally, as there are at most l possible starting positions for

each burst and less than l possible ending positions within each of the s subsets, the maximum total number of

possible configurations for h nontrivial subblocks follows as?(l2)(l/mc)?s.

not have to be taken into account and the corresponding probability can be upper-bounded by the tighter expression

(13).

In order to estimate the probability P (j | h,w) for a woven graph code with constituent block codes, consider

the following lemma which was proved in [2].

Lemma 1: For the random ensemble of binary woven graph codes with constituent block codes the probability

P(j | h,w) that a codeword of length ch and weight w contains j = (j1,j2,...,js) nonzero constituent codewords

in the s parity-check subsets can be upper-bounded by

w

?sequences of v satisfying the mentioned conditions, we obtain the upper bounds

wg= 0??h < l,w,j?≤ l2ls/mc?nch

wg= 0??h = l,w,j?≤

w

??s?

??s?

i=1

2jib(h−mc)2−jich

?

(12)

?ncl

w

i=1

2jibl2−jicl

?

. (13)

On the other hand, if all l blocks of a codeword are nontrivial, in other words, if h = l, these considerations do

P(j | h,w) ≤

s?

i=1

?n

ji

??ch

w/ji

?nch

?ji?w−1

w

ji−1

?

?

.

By combining (11), (12), and Lemma 1 we obtain

P?vHT

wg= 0??h < l,w?≤ l2l/mc?

j

?nch

?1−s

w

?1−s

s?

i=1

2jib(h−mc)−jich

?n

ji

??ch

w/ji

?ji?w − 1

?n

??ch

ji− 1

??ch

?

?ji?w − 1

?j?w − 1

≤ l2l/mc?nch

w

(n + 1)smax

(j1,...,js)

s?

2jb(h−mc)−jch

i=1

2jib(h−mc)−jich

ji

w/ji

ji− 1

??s?

?

≤ l2l/mc(n + 1)s

?nch

w

?1−s

max

j≤n

??

?n

j w/jj − 1

.(14)

As mentioned previously, in case all l blocks of a codeword are nontrivial, we have to replace (12) by (13), and it

thereby follows from (11), (13), and Lemma 1 in a similar fashion that

?ncl

Finally, we define the corresponding exponents of (14) and (15) and lower-bound their values by

−log2P?vHT

≥

sµ

−log2P?vHT

≥ max

θ>1

γ∈(0,1]

sθ

P?vHT

wg= 0??h = l,w?≤ (n + 1)s

w

?1−s

max

j≤n

??

2jl(b−c)

?n

j

??cl

w/j

?j?w − 1

j − 1

??s?

. (15)

Fl<h(δ) = lim

mc→∞

wg= 0??h < l,w?

1 −1

wg= 0??h = l,w?

1 −1

ncmcs

?

min

γ∈(0,1], µ≥1

??

µh

?δs

?

+ γ

?

1 +µ − 1

s

(1 − Rwg)

?

− γµh

?δs

γµ

??

(16)

Fl=h(δ) = lim

mc→∞

ncmcs

?

min

??

θh

?δs

?

+ γθ1 − Rwg

s

− γθh

?δs

γθ

??

(17)

Page 10

10

using the fact that

log2

?b

a

?

? bh

?a

b

?

where h(x) = −xlog2x−(1−x)log2(1−x) is the binary entropy function together with the following abbreviations

w

ncmcs,

Similarly, the exponent of (10) can be lower-bounded with (16) and (17) by

−log2P?vHT

Consider the truncation length l tending towards infinity, that is, θ → ∞. Then it is straightforward to verify that

Fl=h→ ∞ and only Fl<hdetermines the probability exponent F(δ). To find the minimum of Fl<h(δ) in (16) over

µ and γ, we use the fact that the function

δ =

µ =

h

mc,θ =

l

mc,

and

γ =j

n.

F(δ) = lim

mc→∞

wg= 0??w?

ncmcs

= min{Fl<h(δ),Fl=h(δ)}.

f(x) = βx − xh(α/x)

is convex if x > α > 0 and achieves its minimum

f(x0) = αlog2(2β− 1)

at the point

x0=

α

1 − 2−β.

Minimizing (16) in the same way over 0 < γ ≤ 1, leads to

γopt= min

?

1,

δs

µ(1 − 2−β)

?

(18)

with

β =s + (µ − 1)(1 − Rwg)

sµ

. (19)

Obviously, if s is chosen large enough, γoptfollows from (18) as γopt= 1 and (16) can be expressed by

?

By finally minimizing (20) over µ, we obtain

Fl<h(δ) ≥ min

µ≥1

−µ

sh

?δs

µ

?

+µ

s(1 − Rwg)

?

+ 1 −1 − Rwg

s

. (20)

µopt=

δs

1 − 2Rwg−1

(21)

which leads to

Fl<h(δ) ≥ δ log2

?21−Rwg− 1?+ 1 −1 − Rwg

s

. (22)

Clearly, for the Costello bound (7) to hold, F(δ) needs to be strictly positive, so that the probability of codewords

of relative weight below the Costello bound tends to zero if s is large enough. To complete the proof we find the

minimal value of s for which this holds. The lower limit on s within our derivation was imposed by the assumption

that γopt= 1, which holds as long as

δs

µ(1 − 2−β)≥ 1

where β was defined by (19). By combining (7), (18), and (21), it can be shown that (23) is fulfilled if s is selected

according to (8), which completes the proof.

(23)

Page 11

11

Graph

TB

code

Constituent

code

Rate Rwg = 1/4

Permutation

νdfree

Spectrum

Hyper, g = 2, g3,2 = 8

1111

1Z

Z3

Z2

Z3

Z2

1Z

(16,4)

hc

hc

hc

hc

1(D) = 1 + D + D2+ D4

2(D) = 1 + D + D2+ D3+ D4

3(D) = 1 + D + D3+ D5

4(D) = 1 + D2+ D5

dc

free= 5

(1,4,2,3)

(3,4,1,2)

51641,...

(20,5)

67120 1,...

Rate Rwg = 1/3

Utility, g = 4, g2,2 = 4

?

1Z

111

Z2

?

(9,3)

hc

hc

hc

1(D) = 1 + D + D4

2(D) = 1 + D + D3+ D4+ D5

3(D) = 1 + D2+ D3+ D4+ D5

dc

free= 6

(3,1,2) 26 304,0,0,0,0,0,3,0,6,0,...

Heawood, g = 6, g2,2 = 6

?

1Z

111

Z3

?

(21,7)

(1,3,2)

64 327,0,0,0,0,0,7,0,7,0,...

Rate Rwg = 1/2

Bipartite, g = 4, g2,2 = 4

?

1ZZ2

1111

Z3

?

(16,8)

hc

hc

hc

hc

1(D) = 1 + D + D2+ D4

2(D) = 1 + D + D2+ D3+ D4

3(D) = 1 + D + D3+ D5

4(D) = 1 + D2+ D5

dc

free= 5

(3,4,2,1)39 31 12,...

TABLE I

EXAMPLES OF PROMISING WOVEN CONVOLUTIONAL GRAPH CODES

VI. EXAMPLES

Parameters for some promising examples of woven convolutional graph codes are presented in Table I for rates

Rwg= 1/4, Rwg= 1/3, and Rwg= 1/2 with free distances up to dfree= 120.

For each entry in Table I, the parameters of the underlying graph or hypergraph are given in compact form by

the generator matrix G⊥p

girth and (s,d)-girth. By tailbiting we obtain the generator matrix G⊥

C⊥

hereinafter.

Consider the parity-check polynomials of the rate R = b/c constituent convolutional code in column three, and

their permutations as specified in the fourth column. By interpreting these codes as rate R = b/c block codes over

the field of binary Laurent series, we obtain our final woven convolutional graph codes.

In column four the overall constraint length ν of the corresponding minimal-basic [6] generator matrix Gwg(D)

is specified. By applying the BEAST [8], the free distance dfreeas well as the first Viterbi spectral components

have been calculated and are given in the last two columns of Table I.

Even though the girth of the underlying graph as well as the free distance dc

code is in general rather small, it is possible to construct woven convolutional graph codes with free distances up

to at least 120 [9].

hg(Z) of its parent convolutional code in the first column, as well as the corresponding

hgof the dual hypergraph-based block code

hg, which is equal to the parity-check matrix Hhgof the hypergraph-based block code Chgwhich we will utilize

freeof the constituent convolutional

Page 12

12

0.00.20.40.60.81.01.21.41.6

SNR [dB]

10−7

10−6

10−5

10−4

10−3

10−2

10−1

Bit Error Rate

OFD Convolutional Code (ν = 15, dfree= 30)

Woven Convolutional Graph Code (ν = 26, dfree= 30)

ODP Convolutional Code (ν = 26, dfree= 40)

Fig. 4.

and dfree = 30 in comparison to a rate R = 1/3 ODP convolutional code with ν = 26 and dfree = 40 as well as a rate R = 1/3 OFD

convolutional code with ν = 15 and dfree= 30.

Comparison of bit-error rate performances for Viterbi decoding for a rate Rwg = 3/9 woven convolutional graph code with ν = 26

Consider for example the first entry in Table I, where the generator matrix of the parent convolutional code is

given by

1

G⊥p

hg(Z) =

1

1

1

Z

Z3

11

Z2

Z

Z3

Z2

.(24)

As specified by the second column, we want to obtain the parity-check matrix for a (16,4) hypergraph-based block

code. By tailbiting (24) to length 4 we obtain the generator matrix G⊥

code C⊥

Clearly, the obtained 3-partite, 3-uniform, 4-regular hypergraph has three disjoint sets of vertices Vt, t =

1,2,3. While we assign the parity-check polynomials from column three to the vertices within V1 in their nat-

ural order, that is, (h1(D),h2(D),h3(D),h4(D)), the parity-check polynomials for the second and third sets V2

and V3 are permuted according to (1,3,4,2) and (3,4,1,2), that is, (h1(D),h3(D),h4(D),h2(D)) for V2 and

(h3(D),h4(D),h1(D),h2(D)) for V3.

We thereby have constructed a rate Rwg= 1/4 woven convolutional graph code with free distance 64, whose

minimal-basic generator matrix has an overall constraint length of 51.

hgof the rate R = 12/16 dual hypergraph-based

hg, which is equal to the parity-check matrix Hhgof the rate R = 4/16 hypergraph-based code Chg.

VII. SIMULATION RESULTS

To demonstrate the error-correcting capabilities of woven convolutional graph codes, the bit-error rate (BER)

performance for Viterbi decoding is simulated for a rate Rwg= 3/9 woven convolutional graph code with overall

constraint length ν = 26 and free distance dfree= 30. The obtained BER performance for Viterbi decoding is

illustrated in Fig. 4. For comparison, the BER performance for Viterbi decoding for the optimum distance profile

(ODP) rate R = 1/3 convolutional code with the same overall constraint length ν = 26 but with the larger free

distance dfree= 40 as well as the optimal free distance (OFD) rate R = 1/3 convolutional code with the same free

distance dfree= 30 but with a smaller overall constraint length ν = 15 are included in Fig. 4.

At low signal-to-noise ratios (SNRs) (0.0–0.5 dB) the BER for the woven convolutional graph code is very

close to the BER of the ODP convolutional code, despite the large difference in their free distances. However, for

higher SNRs, around BER= 10−5, the woven convolutional graph codes loses about 0.2 dB compared to the ODP

convolutional code. The OFD convolutional code, on the other hand, has a significantly worse BER performance

over the whole range of SNRs.

Page 13

13

VIII. CONCLUSIONS

The asymptotic behavior of woven graph codes with constituent convolutional codes has been studied. It has

been shown that within the random ensemble of such codes based on s-partite, s-uniform, c-regular hypergraphs

we can find a value s ≥ 2 such that for any code rate there exist codes satisfying the Costello lower bound on the

free distance. Examples of rate Rwg= 1/2, Rwg= 1/3, and Rwg= 1/4 woven convolutional graph codes with

free distances up to 120 have been presented. By simulations it has been shown that, at low signal-to-noise ratios

the bit error rate performance for Viterbi decoding of a woven convolutional graph code is rather close to that of

the optimum distance profile convolutional code with same overall constraint length.

ACKNOWLEDGMENT

This work was supported in part by the Swedish Research Council under Grant 621-2007-6281.

REFERENCES

[1] I. Bocharova, B. Kudryashov, R. Johannesson, and V. Zyablov, “Asymptotically good woven codes with fixed constituent convolutional

codes,” in Proc. IEEE International Symposium on Information Theory (ISIT’07), Nice, France, Jun. 24–29, 2007, pp. 2326–2330.

[2] I. E. Bocharova, B. D. Kudryashov, R. Johannesson, and V. V. Zyablov, “Woven graph codes: Asymptotic performances and examples,”

IEEE Trans. Inf. Theory, vol. 56, no. 1, pp. 121–129, Jan. 2010.

[3] C. Berge, Graphs and Hypergraphs.Amsterdam: North Holland, 1976.

[4] I. E. Bocharova, B. D. Kudryashov, and R. V. Satyukov, “Graph-based convolutional and block LDPC codes,” Problems of Information

Transmission, vol. 45, no. 4, pp. 69–90, 2009.

[5] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533–547, Sep. 1981.

[6] R. Johannesson and K. S. Zigangirov, Fundamentals of Convolutional Coding.

[7] S. H¨ ost, R. Johannesson, and V. V. Zyablov, “Woven convolutional codes I: Encoder properties,” IEEE Trans. Inf. Theory, vol. 48, no. 1,

pp. 149–161, Jan. 2002.

[8] I. E. Bocharova, M. Handlery, R. Johannesson, and B. D. Kudryashov, “A BEAST for prowling in trees,” IEEE Trans. Inf. Theory,

vol. 50, no. 6, pp. 1295–1302, Jun. 2004.

[9] F. Hug, I. Bocharova, R. Johannesson, and B. Kudryashov, “A rate R = 5/20 hypergraph-based woven convolutional code with free

distance 120,” IEEE Trans. Inf. Theory, vol. 56, no. 4, pp. 1618–1623, Apr. 2010.

Piscataway, NJ: IEEE Press, 1999.