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