This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Woven Graph Codes:
Asymptotic Performances and Examples

Irina E. Bocharova and Boris D. Kudryashov
Dept. of Information Systems,
St. Petersburg Univ. of Information Technologies, Mechanics and Optics
St. Petersburg 197101, Russia
Email: {irina, boris}@eit.lth.se
  
Rolf Johannesson
Dept. of Electro and Information Technology, Lund University
 P. O. Box 118, SE-22100 Lund, Sweden
Email: rolf@eit.lth.se
  
Victor V. Zyablov
Inst. for Information Transm. Problems, Russian Academy of Sciences
Moscow 101447, Russia
Email: zyablov@iitp.ru
Abstract

Constructions of woven graph codes based on constituent block and convolutional codes are studied. It is shown that within the random ensemble of such codes based on ss-partite, ss-uniform hypergraphs, where ss depends only on the code rate, there exist codes satisfying the Varshamov-Gilbert (VG) and the Costello lower bound on the minimum distance and the free distance, respectively. A connection between regular bipartite graphs and tailbiting codes is shown. Some examples of woven graph codes are presented. Among them an example of a rate Rwg=1/3R_{\rm wg}=1/3 woven graph code with dfree=32d_{\rm free}=32 based on Heawood’s bipartite graph and containing n=7n=7 constituent rate Rc=2/3R^{c}=2/3 convolutional codes with overall constraint lengths νc=5\nu^{c}=5 is given. An encoding procedure for woven graph codes with complexity proportional to the number of constituent codes and their overall constraint length νc\nu^{c} is presented.

Index terms—Convolutional codes, girth, graphs, graph codes, hypergraphs, LDPC codes, tailbiting codes, woven codes.

I Introduction

Woven graph codes can be considered as a generalization of low-density parity-check (LDPC) block codes [1]. Their structure as graph codes makes them suitable for iterative decoding. Moreover, the LDPC block codes are known as codes with low-complexity decoding and they can be considered as competitors to the turbo codes [2] which are sometimes called parallel concatenated codes. As mentioned in [3], the underlying graph defines a permutation of the information symbols which resembles the interleaving in turbo coding schemes.

On the other hand, similarly to the LDPC codes, graph codes usually have minimum distances essentially smaller than those of the best known linear codes of the same parameters. At a first glance, the minimum distance of a graph code does not play an important role in iterative decoding since the error-correcting capability of this suboptimal procedure is often less than that guaranteed by the minimum distance. However, in general, the belief-propagation decoding algorithms work better if the girth of the underlying graph is large, that is, if the minimum distance of the graph code is large [4].

In the sequel we distinguish between graph, graph-based, and woven graph codes. We say that a graph code is a block code whose parity-check matrix coincides with the incidence matrix of the corresponding graph. Graph-based codes constitute a class of concatenated codes with constituent block codes concatenated with a graph code (see, for example, [3]). Each vertex in the underlying graph corresponds to a constituent block code. The main feature of these codes is that the block length of their constituent block codes coincides with the degree of the underlying graph.

We introduce woven graph codes which are, in fact, graph-based codes with constituent block codes whose block length is a multiple of the graph degree cc, that is, their block length is lclc, where ll is an integer. In particular, when ll tends to infinity we obtain convolutional constituent codes.

Distance properties of bipartite graph-based codes with constituent block codes were studied in [3]. It was shown that if the minimum distance of the constituent block codes is larger than or equal to 33, then there exist asymptotically good codes with fixed constituent codes among these graph-based codes. Also it was shown in [3] that for some range of rates, random graph-based codes with block constituent codes satisfy the VG bound when the block length of the constituent codes tends to infinity. One disadvantage of graph-based codes that becomes apparent in the asymptotic analysis is that good performances can only be achieved when the block length of the constituent block codes (which in this case coincides with the graph degree cc) tends to infinity. In practice this leads to rather long graph-based codes with not only rather high decoding complexity of the iterative decoding procedures but also high encoding complexity.

In this paper, we consider a class of the generalized graph-based codes which we call woven graph codes with constituent block and convolutional codes. They are based on ss-partite, ss-uniform hypergraphs. Notice that graph-based codes with constituent block codes based on hypergraphs were considered in [5], [6]. It is mentioned in [5] that Gallager’s LDPC codes are graph codes over hypergraphs.

We consider first woven graph codes with constituent (lc,lb)(lc,lb) block codes. A product-type lower bound on the minimum distance of such codes is derived. In order to analyze their asymptotic performances we modify the approach used in [3] to ss-partite, ss-uniform hypergraphs and constituent (lc,lb)(lc,lb) block codes111When we were preparing this paper we were informed that the possibility of achieving the VG bound by considering hypergraphs was known to A. Barg [7].. It is shown that when ll grows to infinity in the random ensemble of woven graph codes with binary constituent block codes we can find s2s\geq 2 such that there exist codes satisfying the VG lower bound on the minimum distance for any rate.

In order to generalize the asymptotic analysis to woven graph codes with constituent convolutional codes we assume that the binary constituent block code is chosen as a zero-tail (ZT) terminated convolutional code and consider a sequence of ZT convolutional codes of increasing block length ll. It is shown that when the overall constraint length of the woven graph code tends to infinity in the random ensemble of such convolutional codes we can find s2s\geq 2 such that there exist codes satisfying the Costello lower bound on the free distance for any rate.

We also describe the constituent convolutional codes as block codes over the field of binary Laurent series [8]. This description as well as the notion of block Hamming distance [9] of convolutional codes is used to derive a product-type lower bound on the free distance of woven graph codes with constituent convolutional codes and to construct examples of such woven codes with rate Rwg=1/3R_{\rm wg}=1/3. For a given hypergraph the free distance of the woven graph code depends on the numbering of code symbols associating to the hypergraph vertices. By a search over all possible permutations of the constituent code we found an example of a rate Rwg=1/3R_{\rm wg}=1/3 woven graph code with overall constraint length ν=64\nu=64 and free distance dfree=32d_{\rm free}=32. The rate Rwg=1/3R_{\rm wg}=1/3 woven graph code is based on Heawood’s bipartite graph [10], [11] and contains constituent convolutional codes with overall constraint length νc=5\nu^{c}=5 and free distance dfreec=6d_{\rm free}^{c}=6.

We consider also the encoding problem for graph and woven graph codes. The traditional encoding technique for graph codes has complexity O(N2)O(N^{2}), where NN is the blocklength. We show by examples that some regular block graph codes are quasi-cyclic and thereby can be interpreted as tailbiting (TB) codes (see, for example, [12], [13]). It is known that the encoding complexity of such codes is proportional to the overall constraint length of the parent convolutional code.

By using a TB representation for the graph code we can construct an example of an encoder for a woven graph code that is also represented in the form of a TB code but with overall constraint length less than or equal to 2nνc2n\nu^{c}, where nn is the number of constituent convolutional codes with overall constraint length νc\nu^{c} each.

In Section II, we consider some properties of ss-partite, ss-uniform, cc-regular hypergraphs. We define woven graph codes with constituent block codes as well as with constituent convolutional codes and obtain product-type lower bounds on their minimum and free distances. Then, in Section III, we derive a lower bound on the free distance of the random ensemble of woven graph codes. In Section IV, examples of woven graph codes are given. We conclude the paper by considering encoding techniques for graph codes and woven graph codes in Section V.

II Preliminaries

A hypergraph is a generalization of a graph in which the edges are subsets of vertices and may connect (contain) any number of vertices. These edges are called hyperedges. A hypergraph is called ss-uniform if every hyperedge has cardinality ss or, in other words, connects ss vertices. If s=2s=2 the hypergraph is simply a 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 we say that this is the degree of the hypergraph. The hypergraph is cc-regular if every vertex has the same degree cc.

Let the set VV of vertices of an ss-uniform hypergraph be partitioned into tt disjoint subsets VjV_{j}, j=1,2,,tj=1,2,\dots,t. A hypergraph is said to be tt-partite if no edge contains two vertices from the same set VjV_{j}, j=1,2,,tj=1,2,\dots,t.

In the sequel we consider ss-partite, ss-uniform, cc-regular hypergraphs. Such a hypergraph is a union of ss disjoint subsets of vertices. Each vertex has no connections in its own set and is connected with s1s-1 vertices in the other subsets.

Refer to caption
Figure 1: A 3-partite, 3-uniform, 4-regular hypergraph.

In Fig. 1 a 33-partite, 33-uniform, 44-regular hypergraph is shown. It contains three sets of vertices. They are shown by triangles, rectangles, and ovals, respectively. There are no edges connecting vertices inside any of these three sets. The vertices are connected by hyperedges each of which connects three vertices.

A cycle of length LL in the hypergraph is an alternating sequence of L+1L+1 vertices and LL hyperedges where all vertices are distinct except the initial and the final vertex, which coincide, and all edges are distinct. The girth of a hypergraph is the length of its shortest cycle.

Refer to caption
Figure 2: A shortest compact subgraph.

In Fig. 2 we show a subgraph that contains the shortest cycle of the 33-partite, 33-uniform, 44-regular hypergraph in Fig. 1. It consists of the vertices 55, 1010, and 55 and has girth equal to 2. We introduce the notion of a compact (d)(\geq d)-connected subgraph in the hypergraph. It is a connected subgraph in which each vertex is incident with at least dd hyperedges. We call the length (number of hyperedges) of the shortest compact subgraph its (ss,dd)-girth. In Fig. 2 the hyperedges belonging to the shortest (2)(\geq 2)-compact subgraph are marked by circles. It is easy to see that (33,22)-girth is 66.

A 22-partite, 22-uniform hypergraph is a bipartite graph. For such a hypergraph the (22,22)-girth is equal to the girth and a compact subgraph is a cycle. Heawood’s bipartite graph [10], [11] with 1414 vertices and 2121 edges is shown in Fig. 3. This graph contains a set of n=7n=7 black and a set of n=7n=7 white vertices. Each vertex has no connections within its own set and is connected with c=3c=3 vertices from the other set. The girth of the Heawood graph is 66.

II-A Graph-based codes and graph codes

In order to illustrate the structure of a binary graph-based block code with constituent block codes we represent the Heawood bipartite graph using a so-called Tanner graph [15] as shown in Fig. 4.

Refer to caption
Figure 3: Heawood’s bipartite graph.
Refer to caption
Figure 4: A Tanner graph ( c=3c=3, n=7n=7) representation of Heawood’s bipartite graph.

We introduce a set of nc=21nc=21 (variable) vertices which correspond to the code symbols. Each of the 2n=142n=14 (constraint) vertices on the right- and left-hand sides corresponds to one of 14 parity checks. The c=3c=3 edges leaving one constraint vertex correspond to a codeword of the constituent (c,b)(c,b) block code of rate Rc=b/cR^{c}=b/c. The parity-check matrix of the corresponding graph-based code with binary constituent block codes is

Hgb=(H1H2)H_{\rm gb}=\begin{pmatrix}H_{1}\\ H_{2}\end{pmatrix} (1)

where the parity-check matrix H1H_{1} of size n×nc=7×21n\times nc=7\times 21 has the form

H1=(Hc𝟎𝟎𝟎𝟎𝟎𝟎𝟎Hc𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎Hc)H_{1}=\left(\begin{array}[]{ccccccc}H^{c}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}\\ {\boldsymbol{0}}&H^{c}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}\\ \vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\ {\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&{\boldsymbol{0}}&H^{c}\end{array}\right)

where HcH^{c} is a size (cb)×c=(3b)×3(c-b)\times c=(3-b)\times 3 parity-check matrix of the constituent block code, and H2H_{2} is a size n×nc=7×21n\times nc=7\times 21 parity-check matrix which is the permutation of the columns of H1H_{1} determined by the graph. Notice that in general by choosing b<cb<c and assigning constituent block codes of different rates Rc=b/cR^{c}=b/c to the same graph we can obtain graph-based codes of different rates. In general, since in an ss-partite, ss-uniform, cc-regular hypergraph the total number of parity checks is equal to sn(cb)sn(c-b), the code rate RgbR_{\rm gb} of the graph-based code is

Rgbn(cs(cb))nc=s(Rc1)+1R_{\rm gb}\geq\frac{n(c-s(c-b))}{nc}=s(R^{c}-1)+1 (2)

with equality if and only if all parity-checks are linearly independent. If s=2s=2, then we get Rgb2Rc1R_{\rm gb}\geq 2R^{c}-1.

The simplest example of a Heawood graph-based code can be obtained by choosing as constituent block codes a single-parity-check code of rate Rc=1/3R^{c}=1/3. Then the parity-check matrix HcH^{c} has the form

Hc=(111)H^{c}=\left(\begin{array}[]{lll}1&1&1\end{array}\right)

and the parity-check matrix of the graph-based code is

Hgb=Hg=(123456789101112131415161718192021111000000000000000000000011100000000000000020000001110000000000004000000000111000000000600000000000011100000080000000000000001110001000000000000000000011112100010000001000000000100010001000000100000030000001000100000010005000000000100010000001700100000000010001000090000010000000001000101101000000100000000010013).\footnotesize H_{\rm gb}=H_{\rm g}=\left(\begin{array}[]{ccc:ccc:ccc:ccc:ccc:ccc:ccc|r}1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&\\ \hline\cr 1&1&1&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&1&1&1&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&2\\ 0&0&0&0&0&0&1&1&1&0&0&0&0&0&0&0&0&0&0&0&0&4\\ 0&0&0&0&0&0&0&0&0&1&1&1&0&0&0&0&0&0&0&0&0&6\\ 0&0&0&0&0&0&0&0&0&0&0&0&1&1&1&0&0&0&0&0&0&8\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&1&1&1&0&0&0&10\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&1&1&1&12\\ \hline\cr 1&0&0&0&1&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0&0&1\\ 0&0&0&1&0&0&0&1&0&0&0&0&0&0&1&0&0&0&0&0&0&3\\ 0&0&0&0&0&0&1&0&0&0&1&0&0&0&0&0&0&1&0&0&0&5\\ 0&0&0&0&0&0&0&0&0&1&0&0&0&1&0&0&0&0&0&0&1&7\\ 0&0&1&0&0&0&0&0&0&0&0&0&1&0&0&0&1&0&0&0&0&9\\ 0&0&0&0&0&1&0&0&0&0&0&0&0&0&0&1&0&0&0&1&0&11\\ 0&1&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0&0&1&0&0&13\end{array}\right). (3)

In this case the graph-based code coincides with the graph code since (3) is the incidence matrix of the Heawood graph. In [4] it is proved that the minimum distance of the bipartite graph-based code with single-parity-check constituent codes is dmin=gd_{\min}=g, where gg is the girth of the corresponding graph. Notice that for the Tanner graph we have dmin=g/2d_{\min}=g/2. The parity-check matrix (3) is a 14×2114\times 21 parity-check matrix. Taking into account that one check is linearly dependent on the other, we obtain a (21,8)(21,8) binary block code. Its minimum distance is dmin=g=6d_{\min}=g=6.

Consider the hypergraph shown in Fig. 1. Its incidence matrix has the form

Hhg=Hhgb=(1234567891011121314151611110000000000000000011110000000010000000011110000200000000000011113100001000010000140100001000011000500100001100001006000110000100001071000100010001000801000100010001009001000100001000110000100010010001011)\footnotesize H_{\rm hg}=H_{\rm hgb}=\left(\begin{array}[]{cccc:cccc:cccc:cccc|r}1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&\\ \hline\cr 1&1&1&1&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&1&1&1&1&0&0&0&0&0&0&0&0&1\\ 0&0&0&0&0&0&0&0&1&1&1&1&0&0&0&0&2\\ 0&0&0&0&0&0&0&0&0&0&0&0&1&1&1&1&3\\ \hline\cr 1&0&0&0&0&1&0&0&0&0&1&0&0&0&0&1&4\\ 0&1&0&0&0&0&1&0&0&0&0&1&1&0&0&0&5\\ 0&0&1&0&0&0&0&1&1&0&0&0&0&1&0&0&6\\ 0&0&0&1&1&0&0&0&0&1&0&0&0&0&1&0&7\\ \hline\cr 1&0&0&0&1&0&0&0&1&0&0&0&1&0&0&0&8\\ 0&1&0&0&0&1&0&0&0&1&0&0&0&1&0&0&9\\ 0&0&1&0&0&0&1&0&0&0&0&1&0&0&0&1&10\\ 0&0&0&1&0&0&0&1&0&0&1&0&0&0&1&0&11\\ \end{array}\right) (4)

and is a 12×1612\times 16 parity-check matrix of a hypergraph-based code which coincides with the parity-check matrix of the hypergraph code. Each column represents a hyperedge and each row represents a vertex of this hypergraph. For example, the first four rows represent the vertices 1, 2, 3, and 4 (triangles), the next four rows he vertices 5, 6, 7, and 8 (rectangles), and the last four rows the vertices 9, 10, 11, and 12 (ovals). The first column represents the hyperedge which connects the vertices 1, 5, and 9, the second column the hyperedge connecting vertices 1, 6, and 10 etc. The rows of (4) are linearly dependent. By removing two parity checks we obtain a (16,6)(16,6) linear block code with the minimum distance dmin=g3,2=6d_{\min}=g_{3,2}=6, where g3,2g_{3,2} is the (33,22)-girth of the hypergraph. The rate of this hypergraph code is Rhg=3/8R_{\rm hg}=3/8, which satisfies inequality (2),

Rhg3(341)+1=14.R_{\rm hg}\geq 3\left(\frac{3}{4}-1\right)+1=\frac{1}{4}.

The Tanner version of this hypergraph is shown in Fig. 5.

Refer to caption
Figure 5: A Tanner graph representation of the (16,6)(16,6) hypergraph-based code.

For an ss-partite, ss-uniform, cc-regular hypergraph-based code with constituent block codes we have the following theorem.

Theorem 1

The minimum distance of a hypergraph-based code based on an ss-partite, ss-uniform, cc-regular hypergraph with (ss,dmincd_{\min}^{c})-girth gs,dmincg_{s,d_{\min}^{c}} and containing constituent block codes with minimum distance dminc2d_{\min}^{c}\geq 2 is

dmin=gs,dminc.d_{\min}=g_{s,d_{\min}^{c}}.

Proof. Any nonzero codeword in an ss-partite, ss-uniform, cc-regular hypergraph-based code always corresponds to a connected (dminc)(\geq d_{\min}^{c})-subgraph or a set of disjoint connected subgraphs. These subgraphs are called active [14], [4]. All hyperedges and vertices in an active subgraph are also called active. The number of hyperedges in the shortest connected subgraph is equal to gs,dmincg_{s,d_{\min}^{c}}. Any nonzero symbol in a codeword corresponds to an active hyperedge in the graph. By using the arguments given above, we conclude that for any codeword 𝒗{\boldsymbol{v}},

wH(𝒗)gs,dmincw_{\rm H}({\boldsymbol{v}})\geq g_{s,d_{\min}^{c}}

where wH(𝒗)w_{\rm H}({\boldsymbol{v}}) is the Hamming weight of 𝒗{\boldsymbol{v}}. Minimizing over 𝒗{\boldsymbol{v}} completes the proof.

II-B Woven graph codes with constituent block codes

Now assume that the constituent code assigned to the hypergraph vertices is a binary (lc,lb)(lc,lb) linear block code determined by a parity-check matrix

Hc=(H11cH12cH1,ccH21cH22cH2,ccH(cb),1cH(cb),2cH(cb),cc)H^{c}=\left(\begin{array}[]{llll}H^{c}_{11}&H^{c}_{12}&\dots&H^{c}_{1,c}\\ H^{c}_{21}&H^{c}_{22}&\dots&H^{c}_{2,c}\\ \vdots&\vdots&\ddots&\vdots\\ H^{c}_{(c-b),1}&H^{c}_{(c-b),2}&\dots&H^{c}_{(c-b),c}\end{array}\right) (5)

where Hijcl×lH^{c}_{ij}\in{\mathcal{B}}_{l\times l} is a size l×ll\times l matrix, l×l{\mathcal{B}}_{l\times l} is the set of all possible binary matrices of size l×ll\times l.

Let 𝒞2(Hc){\mathcal{C}}_{2}(H^{c}) denote such a binary (lc,lb)(lc,lb) constituent block code determined by the matrix (5). We call the corresponding hypergraph-based code with 𝒞2(Hc){\mathcal{C}}_{2}(H^{c}) as constituent codes a woven graph code with constituent block codes.

Consider an example of a woven graph code based on the bipartite graph with girth g=4g=4 shown in Fig. 6. The Tanner version of this the so-called “utility” bipartite graph is shown in Fig. 7.

Refer to caption
Figure 6: Utility bipartite graph.
Refer to caption
Figure 7: A Tanner graph representation of the utility bipartite graph.

The incidence matrix of this graph is

Hg=(111000000000111000000000111100010001001100010010001100).H_{\rm g}=\left(\begin{array}[]{ccc:ccc:ccc}1&1&1&0&0&0&0&0&0\\ 0&0&0&1&1&1&0&0&0\\ 0&0&0&0&0&0&1&1&1\\ \hline\cr 1&0&0&0&1&0&0&0&1\\ 0&0&1&1&0&0&0&1&0\\ 0&1&0&0&0&1&1&0&0\end{array}\right). (6)

We use a constituent (4×3,4×24\times 3,4\times 2) linear block code with dminc=3d_{\min}^{c}=3 determined by the parity-check matrix

Hc\displaystyle H^{c} =\displaystyle= (H1cH2cH3c)\displaystyle\left(H_{1}^{c}\quad H_{2}^{c}\quad H_{3}^{c}\right)
=\displaystyle= (100011101100010001110110001010110011000111011001).\displaystyle\left(\begin{array}[]{cccc:cccc:cccc}1&0&0&0&1&1&1&0&1&1&0&0\\ 0&1&0&0&0&1&1&1&0&1&1&0\\ 0&0&1&0&1&0&1&1&0&0&1&1\\ 0&0&0&1&1&1&0&1&1&0&0&1\\ \end{array}\right).

By searching over all possible permutations of the matrices H1cH_{1}^{c}, H2cH_{2}^{c}, and H3cH_{3}^{c} we found the following parity-check matrix of the woven graph code with the best minimum distance

Hwg=(H1cH2cH3c𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎H1cH2cH3c𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎H1cH2cH3cH2c𝟎𝟎𝟎H3c𝟎𝟎𝟎H1c𝟎𝟎H1cH2c𝟎𝟎𝟎H3c𝟎𝟎H3c𝟎𝟎𝟎H1cH2c𝟎𝟎).\footnotesize H_{\rm wg}=\left(\begin{array}[]{ccc:ccc:ccc}H_{1}^{c}&H_{2}^{c}&H_{3}^{c}&\bf 0&\bf 0&\bf 0&\bf 0&\bf 0&\bf 0\\ \bf 0&\bf 0&\bf 0&H_{1}^{c}&H_{2}^{c}&H_{3}^{c}&\bf 0&\bf 0&\bf 0\\ \bf 0&\bf 0&\bf 0&\bf 0&\bf 0&\bf 0&H_{1}^{c}&H_{2}^{c}&H_{3}^{c}\\ \hline\cr H_{2}^{c}&\bf 0&\bf 0&\bf 0&H_{3}^{c}&\bf 0&\bf 0&\bf 0&H_{1}^{c}\\ \bf 0&\bf 0&H_{1}^{c}&H_{2}^{c}&\bf 0&\bf 0&\bf 0&H_{3}^{c}&\bf 0\\ \bf 0&H_{3}^{c}&\bf 0&\bf 0&\bf 0&H_{1}^{c}&H_{2}^{c}&\bf 0&\bf 0\\ \end{array}\right). (8)

The matrix (8) describes a (36,12)(36,12) linear block code with dmin=10d_{\min}=10.

Any codeword 𝒗c{\boldsymbol{v}}^{c} of the (lc,lb)(lc,lb) constituent block code can be represented as a sequence of cc blocks of length ll, that is, 𝒗c=(𝒗1c,𝒗2c,,𝒗cc){\boldsymbol{v}^{c}}=({\boldsymbol{v}}_{1}^{c},{\boldsymbol{v}}_{2}^{c},\dots,{\boldsymbol{v}}^{c}_{c}), where 𝒗ic=(vi1c,vi2c,,vilc){\boldsymbol{v}}_{i}^{c}=(v^{c}_{i1},v^{c}_{i2},\dots,v^{c}_{il}), i=1,2,,ci=1,2,\dots,c. We define the minimum Hamming block distance between the codewords 𝒗c{\boldsymbol{v}}^{c} and 𝒗~c{\boldsymbol{\tilde{v}}}^{c} of the constituent block code as

dblockc=min𝒗c𝒗~c{wblock(𝒗c𝒗~c)}d_{block}^{c}=\min_{{\boldsymbol{v}}^{c}\neq{\boldsymbol{\tilde{v}}}^{c}}\left\{w_{block}({\boldsymbol{v}}^{c}-{\boldsymbol{\tilde{v}}}^{c})\right\}

where wblockc(𝒗c)=#(𝒗ic𝟎)w_{block}^{c}({\boldsymbol{v}}^{c})=\#({\boldsymbol{v}}_{i}^{c}\neq{\boldsymbol{0}}), i=1,2,,ci=1,2,\dots,c. Next we will prove the following theorem.

Theorem 2

The minimum distance of woven graph codes based on ss-partite, ss-uniform, cc-regular hypergraphs with (ss,dblockcd_{block}^{c})-girth gs,dblockcg_{s,d_{block}^{c}} and containing constituent block codes with minimum distance dmincd_{\min}^{c} and minimum block distance dblockc2d_{block}^{c}\geq 2 can be lower-bounded by

dminmax{gs,dblockcc,s}dminc.d_{\min}\geq\max\left\{\frac{g_{s,d_{block}^{c}}}{c},s\right\}d_{\min}^{c}.

Proof. Any nonzero codeword corresponds to an active connected subgraph or a set of disjoint connected subgraphs and the number of hyperedges in the shortest subgraph is gs,dblockcg_{s,d_{block}^{c}}. Any nonzero symbol in a codeword activates a hyperedge in the graph, that is, not less than ss constituent subcodes correspond to a codeword. Since at most cc hyperedges are connected with any hypergraph vertex then the number of active constituent subcodes can be lower-bounded by

gs,dblockcc.\frac{g_{s,d_{block}^{c}}}{c}.

Taking into account that any codeword of block weight greater than or equal to dblockcd_{block}^{c} in the constituent block code has a weight at least equal to dmincd_{\min}^{c} we obtain the following inequality

wH(𝒗)max{gs,dblockcc,s}dmincw_{\rm H}({\boldsymbol{v}})\geq\max\left\{\frac{g_{s,d_{block}^{c}}}{c},s\right\}d_{\min}^{c}

for any codeword 𝒗{\boldsymbol{v}} and the proof is complete.

From Theorem 2 for the woven graph code determined by (8) we obtain that dminmax{44,3}3=9.d_{\min}\geq\max\left\{\frac{4}{4},3\right\}3=9.

II-C Woven graph codes with constituent convolutional codes

Woven graph codes with constituent convolutional codes can be considered as a straightforward generalization of the woven graph code with constituent block codes. Assume that the 𝒞2(Hc){\mathcal{C}}_{2}(H^{c}) code is chosen as a zero-tail terminated (ZT) convolutional code and consider a sequence of ZT convolutional codes with increasing ll. It is evident that when ll tends to infinity the (lc,lb)(lc,lb) constituent code 𝒞2(Hc){\mathcal{C}}_{2}(H^{c}) can be chosen as a rate Rc=b/cR^{c}=b/c binary convolutional code with constraint length νc\nu^{c}. Then the corresponding woven graph code has rate R=s(Rc1)+1R=s(R^{c}-1)+1 and its constraint length is at most snνcsn\nu^{c}.

Another description of woven graph codes with constituent convolutional codes follows from the representation of the constituent convolutional code in polynomial form. Let Gc(D)G^{c}(D) be a minimal encoding matrix [8] of a rate Rc=b/cR^{c}=b/c, memory mcm^{c} convolutional code, given in polynomial form, that is,

Gc(D)=(g11c(D)g1cc(D)gb1c(D)gbcc(D))\vskip 5.69054ptG^{c}(D)=\begin{pmatrix}g^{c}_{11}(D)&\dots&g^{c}_{1c}(D)\\ \vdots&\ddots&\vdots\\ g^{c}_{b1}(D)&\dots&g^{c}_{bc}(D)\end{pmatrix} (9)

where gijc(D)=gijc(0)+gijc(1)D+gijc(2)D2++gijc(m)Dmg^{c}_{ij}(D)=g_{ij}^{c(0)}+g_{ij}^{c(1)}D+g_{ij}^{c(2)}D^{2}+\dots+g_{ij}^{c(m)}D^{m}, i=1,2,,bi=1,2,\dots,b, j=1,2,,cj=1,2,\dots,c, are binary polynomials such that mc=maxi,j{deggijc(D)}m^{c}=\max_{i,j}\{\deg g^{c}_{ij}(D)\}. The overall constraint length is νc=imaxj{deggijc(D)}\nu^{c}=\sum_{i}\max_{j}\{\deg g^{c}_{ij}(D)\}. The binary information sequence 𝒖c(D)=(u1c(D),u2c(D),,ubc(D)){\boldsymbol{u}}^{c}(D)=(u_{1}^{c}(D),u_{2}^{c}(D),\dots,u_{b}^{c}(D)) is encoded as

𝒗c(D)=𝒖c(D)Gc(D){\boldsymbol{v}}^{c}(D)={\boldsymbol{u}}^{c}(D)G^{c}(D)

where 𝒗c(D)=(v1c(D),v2c(D),,vcc(D)){\boldsymbol{v}}^{c}(D)=(v_{1}^{c}(D),v_{2}^{c}(D),\dots,v_{c}^{c}(D)) is a binary code sequence. Let Hc(D)H^{c}(D) denote a parity-check matrix for the same code,

Hc(D)=(h11c(D)h1cc(D)hr1c(D)hrcc(D))H^{c}(D)=\begin{pmatrix}h_{11}^{c}(D)&\dots&h_{1c}^{c}(D)\\ \vdots&\ddots&\vdots\\ h_{r1}^{c}(D)&\dots&h_{rc}^{c}(D)\end{pmatrix} (10)

where r=cbr=c-b is the redundancy of the constituent code.

We denote by 𝔽2((D)){\mathds{F}}_{2}((D)) the field of binary Laurent series and regard a rate Rc=b/cR^{c}=b/c constituent convolutional code as a rate Rc=b/cR^{c}=b/c block code 𝒞c{\mathcal{C}}^{c} over the field of binary Laurent series encoded by Gc(D)G^{c}(D). Then its codewords 𝒗c(D){\boldsymbol{v}}^{c}(D) are elements of 𝔽2((D))c{\mathds{F}}_{2}((D))^{c}, which is the cc-dimensional vector space over the field of binary Laurent series [8].

The minimum Hamming block distance between the codewords 𝒗j(D){\boldsymbol{v}}_{j}(D) and 𝒗k(D){\boldsymbol{v}}_{k}(D) is defined [9] as

dblock=min𝒗j(D)𝒗k(D){wblock(𝒗j(D)𝒗k(D))}d_{\rm block}=\min_{{\boldsymbol{v}}_{j}(D)\neq{\boldsymbol{v}}_{k}(D)}\{w_{\rm block}({\boldsymbol{v}}_{j}(D)-{\boldsymbol{v}}_{k}(D))\}

where wblock(𝒗(D))=#(vi(D)0)w_{\rm block}({\boldsymbol{v}}(D))=\#(v_{i}(D)\neq 0) is the Hamming (block) weight of 𝒗(D)=(v1(D),v2(D),,vc(D)){\boldsymbol{v}}(D)=(v_{1}(D),v_{2}(D),\dots,v_{c}(D)).

Representing a convolutional code as a block code over the field of binary Laurent series we can obtain a woven graph code with constituent convolutional codes as a generalization of a graph-based code with binary constituent block codes. For example, a parity-check matrix Hwg(D)H_{\rm wg}(D) of the rate Rwg=4/31=1/3R_{\rm wg}=4/3-1=1/3 Heawood’s graph-based code with Rc=2/3R^{c}=2/3 constituent convolutional codes has the form

Hwg(D)=(h1ch2ch3c000000000000000000000h1ch2ch3c000000000000000000000h1ch2ch3c000000000000000000000h1ch2ch3c000000000000000000000h1ch2ch3c000000000000000000000h1ch2ch3c000000000000000000000h1ch2c𝒉3ct1c000t3c000000t2c000000000000t1c000t3c000000t2c000000000000t1c000t3c000000t2c000000000000t1c000t3c000000t2c00t2c000000000t1c000t3c000000000t2c000000000t1c000t3c00t3c000000t2c000000000t1c00)H_{\rm wg}(D)=\footnotesize\left(\begin{array}[]{ccc:ccc:ccc:ccc:ccc:ccc:ccc}h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&h^{c}_{1}&h^{c}_{2}&{\boldsymbol{h}}^{c}_{3}\\ \hline\cr t^{c}_{1}&0&0&0&t^{c}_{3}&0&0&0&0&0&0&t^{c}_{2}&0&0&0&0&0&0&0&0&0\\ 0&0&0&t^{c}_{1}&0&0&0&t^{c}_{3}&0&0&0&0&0&0&t^{c}_{2}&0&0&0&0&0&0\\ 0&0&0&0&0&0&t^{c}_{1}&0&0&0&t^{c}_{3}&0&0&0&0&0&0&t^{c}_{2}&0&0&0\\ 0&0&0&0&0&0&0&0&0&t^{c}_{1}&0&0&0&t^{c}_{3}&0&0&0&0&0&0&t^{c}_{2}\\ 0&0&t^{c}_{2}&0&0&0&0&0&0&0&0&0&t^{c}_{1}&0&0&0&t^{c}_{3}&0&0&0&0\\ 0&0&0&0&0&t^{c}_{2}&0&0&0&0&0&0&0&0&0&t^{c}_{1}&0&0&0&t^{c}_{3}&0\\ 0&t^{c}_{3}&0&0&0&0&0&0&t^{c}_{2}&0&0&0&0&0&0&0&0&0&t^{c}_{1}&0&0\end{array}\right) (11)

where hich^{c}_{i} and tict^{c}_{i} are short-hand for hic(D)h^{c}_{i}(D) and tic(D)t^{c}_{i}(D), respectively, and Hc(D)=(h1c(D)h2c(D)h3c(D))H^{c}(D)=\left(h_{1}^{c}(D)\quad h_{2}^{c}(D)\quad h_{3}^{c}(D)\right) is a parity-check matrix of the rate Rc=2/3R^{c}=2/3 constituent convolutional code and (t1c(D),t2c(D),t3c(D))(t^{c}_{1}(D),t^{c}_{2}(D),t^{c}_{3}(D)) is one of six possible permutations of h1c(D),h2c(D),h3c(D)h_{1}^{c}(D),h^{c}_{2}(D),h^{c}_{3}(D).

Exploiting the above definitions we can interpret this bipartite woven graph-based code with constituent convolutional codes as follows. The left column of vertices in Fig. 4 represents nn parity checks each of which determines one of nn constituent fixed and identical convolutional codes and their ncnc branches represent the elements vijcL(D)𝔽2((D))v_{ij}^{c\mathrm{L}}(D)\in{\mathds{F}}_{2}((D)), ii even, 0i2n20\leq i\leq 2n-2, 1jc1\leq j\leq c. Similarly, the right column of vertices represents same convolutional codes and their ncnc branches represent the elements vijcR(D)𝔽2((D))v_{ij}^{c\mathrm{R}}(D)\in{\mathds{F}}_{2}((D)), ii odd, 1i2n11\leq i\leq 2n-1, 1jc1\leq j\leq c, where the set {vijcR(D)}\{v_{ij}^{c\mathrm{R}}(D)\} is a random permutation of the set {vijcL(D)}\{v_{ij}^{c\mathrm{L}}(D)\} determined by the graph.

We can also regard the nn left constituent convolutional codes as a warp with ncnc threads. Each of the nn right constituent convolutional codes are tacked on cc 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 [17] and we call this graph-based code a woven graph code.

Theorem 3

The free distance of a woven graph code based on an ss-partite, ss-uniform, cc-regular hypergraph with the (ss,dblockcd_{block}^{c})-girth gs,dblockcg_{s,d_{block}^{c}} and containing constituent convolutional codes with free distance dfreecd_{\rm free}^{c} and minimum block distance dblock2d_{block}\geq 2 can be lower-bounded by

dfreemax{gs,dblockcc,s}dfreec.d_{{\rm free}}\geq\max\left\{\frac{g_{s,d_{block}^{c}}}{c},s\right\}d_{\rm free}^{c}.

Proof. Since woven graph codes with constituent convolutional codes can be considered as a generalization of woven graph codes with constituent block codes, the theorem follows from Theorem 2 when ll tends to infinity.

For a woven graph code based on a bipartite graph with girth gg and containing constituent convolutional codes with minimum block distance dblockc=2d_{block}^{c}=2 and free distance dfreecd_{\rm free}^{c} by a straightforward generalization of the approach of [4] we obtain the following tighter bound on the free distance

dfreemax{g2,2}dfreec.d_{{\rm free}}\geq\max\left\{\frac{g}{2},2\right\}d^{c}_{\rm free}. (12)

III Asymptotic bounds on the minimum distance of woven graph codes

We will show that the ensemble of random woven graph codes based on random ss-partite, ss-uniform, cc-regular hypergraphs with a fixed degree cc and with a fixed number of vertices nn in each subgraph contains asymptotically good codes. In order to prove this we will modify the approach in [3].

III-A Woven graph codes with constituent block codes


First we consider the ensemble of random woven graph codes with rate Rc=b/cR^{c}=b/c constituent block codes determined by the edges of a random ss-partite, ss-uniform, cc-regular hypergraph corresponding to the time-varying random parity-check matrix

Hwg=(H~1H~2H~s)=(π1(H1)π2(H2)πs(Hs))H_{\rm wg}=\begin{pmatrix}{\tilde{H}}_{1}\\ {\tilde{H}}_{2}\\ \vdots\\ {\tilde{H}}_{s}\end{pmatrix}=\begin{pmatrix}\pi_{1}(H_{1})\\ \pi_{2}(H_{2})\\ \vdots\\ \pi_{s}(H_{s})\end{pmatrix} (13)

where H~i=πi(Hi){\tilde{H}}_{i}=\pi_{i}(H_{i}), i=1,2,,si=1,2,\dots,s, is a block matrix of size nc(1Rc)×ncnc(1-R^{c})\times nc (or a binary matrix of size n(cb)l×ncln(c-b)l\times ncl) and πi\pi_{i} denotes a random permutation of the columns of HiH_{i},

Hi=(Hic(1)𝟎𝟎𝟎Hic(2)𝟎𝟎𝟎Hic(n))H_{i}=\begin{pmatrix}H_{i}^{c(1)}&\boldsymbol{0}&\dots&\boldsymbol{0}\\ \boldsymbol{0}&H_{i}^{c(2)}&\boldsymbol{0}&\dots\\ \vdots&\dots&\ddots&\vdots\\ \boldsymbol{0}&\dots&\boldsymbol{0}&H_{i}^{c(n)}\end{pmatrix} (14)

where Hic(t)H_{i}^{c(t)}, t=1,,nt=1,\dots,n, denotes the random parity-check matrix (5) which determines the (lc,lb)(lc,lb) constituent block code and nn is the number of constituent codes in each subgraph.

Remark: In [3] a more restricted ensemble of random codes is studied in which all matrices are identical random matrices. In the proof of Theorem 1 we need that the syndrome components are independent random variables in the product probability space of random matrices and random permutations. The following simple example shows that this is not always the case if all matrices are identical.

Consider n=1n=1 constituent block codes of block length c=2c=2 with b=1b=1 information symbols. This example is rather artificial since the rate of the constituent block code Rc=1/2R^{c}=1/2 and therefore the rate of the graph-based code with s=2s=2 is Rwg=s(Rc1)+1=2Rc1=0R_{\rm wg}=s(R^{c}-1)+1=2R^{c}-1=0. In this case the parity-check matrix of the code has the form

Hwg=(H1π(H2))H_{\rm wg}=\left(\begin{array}[]{c}H_{1}\\ \pi(H_{2})\\ \end{array}\right)

where π\pi is a random permutation of cc elements. First assume that all matrices are identical, that is, H1=H2H_{1}=H_{2}. There are only 8 equiprobable elements in the product space, namely,

{Hwg}\displaystyle\{H_{\rm wg}\} =\displaystyle= {(0000),(0000),(0101),(0110),\displaystyle\left\{\left(\begin{array}[]{cc}0&0\\ 0&0\\ \end{array}\right),\left(\begin{array}[]{cc}0&0\\ 0&0\\ \end{array}\right),\left(\begin{array}[]{cc}0&1\\ 0&1\\ \end{array}\right),\left(\begin{array}[]{cc}0&1\\ 1&0\\ \end{array}\right),\right.
(1010),(1001),(1111),(1111)}.\displaystyle\left.\left(\begin{array}[]{cc}1&0\\ 1&0\\ \end{array}\right),\left(\begin{array}[]{cc}1&0\\ 0&1\\ \end{array}\right),\left(\begin{array}[]{cc}1&1\\ 1&1\\ \end{array}\right),\left(\begin{array}[]{cc}1&1\\ 1&1\\ \end{array}\right)\right\}.

For any vector 𝒙{\boldsymbol{x}} of weight 1 we have the following set of random equiprobable syndromes:

{𝒙HwgT}\displaystyle\{{\boldsymbol{x}}H_{\rm wg}^{\rm T}\} =\displaystyle= {(00),(00),(00),(01),\displaystyle\left\{\left(\begin{array}[]{cc}0&0\\ \end{array}\right),\left(\begin{array}[]{cc}0&0\\ \end{array}\right),\left(\begin{array}[]{cc}0&0\\ \end{array}\right),\left(\begin{array}[]{cc}0&1\\ \end{array}\right),\right.
(11),(10),(11),(11)}.\displaystyle\left.\left(\begin{array}[]{cc}1&1\\ \end{array}\right),\left(\begin{array}[]{cc}1&0\\ \end{array}\right),\left(\begin{array}[]{cc}1&1\\ \end{array}\right),\left(\begin{array}[]{cc}1&1\\ \end{array}\right)\right\}.

Therefore,

P(𝒙HwgT=𝟎|wH(𝒙)=1)=38>14.P({\boldsymbol{x}}H_{\rm wg}^{\rm T}={\boldsymbol{0}}|w_{\rm H}({\boldsymbol{x}})=1)=\frac{3}{8}>\frac{1}{4}.

If H1H_{1} and H2H_{2} are both random and independent this probability is equal to 1/4.

Although this remark contradicts the proof of Theorem 3 in [3], there exists another (combinatorial) way to prove the same statement for identical HiH_{i} [16].

Next we prove the following theorem.

Theorem 4

(Varshamov-Gilbert lower bound) For any ϵ>0\epsilon>0, some l0>0l_{0}>0, some integer s>0s>0 and for all l>l0l>l_{0} in the random ensemble of length nclncl woven graph codes with (lc,lb)(lc,lb) binary block constituent codes of rate Rc=b/cR^{c}=b/c there exist codes of rate Rwg=s(Rc1)+1R_{\rm wg}=s(R^{c}-1)+1 such that their relative minimum distance δwg=dmin/ncl\delta_{\rm wg}=d_{\min}/ncl satisfies the inequalities

δwg{δ(Rwg)ϵ, if Rwg>1+slog2(1δVG(Rwg))δVG(Rwg)ϵ, if Rwg1+slog2(1δVG(Rwg))\delta_{\rm wg}\geq\left\{\begin{array}[]{ll}\delta(R_{\rm wg})-\epsilon{\mbox{,}}&{\mbox{ if }}R_{\rm wg}>1+s\log_{2}(1-\delta_{{\rm\tiny VG}}(R_{\rm wg}))\\ \delta_{{\rm\tiny VG}}(R_{\rm wg})-\epsilon{\mbox{,}}&{\mbox{ if }}R_{\rm wg}\leq 1+s\log_{2}(1-\delta_{{\rm\tiny VG}}(R_{\rm wg}))\end{array}\right. (19)

where δ(Rwg)\delta(R_{\rm wg}) is a root of the equation

(1s)h(δ)δslog2(2(Rwg1)/s1)=0(1-s)h(\delta)-\delta s\log_{2}\left(2^{-(R_{\rm wg}-1)/s}-1\right)=0

and δVG(Rwg)\delta_{\rm VG}(R_{\rm wg}) is the solution of h(δ)+Rwg1=0h(\delta)+R_{\rm wg}-1=0, and h()h(\cdot) denotes the binary entropy function.

Proof. Let ww be the Hamming weight of the codeword 𝒗{\boldsymbol{v}} of the random binary woven graph code 𝒞2(Hwg){\mathcal{C}}_{2}(H_{\rm wg}). We are going to find a parameter dd such that the probability P(𝒗HwgT=𝟎|w){\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w) tends to 0 for all w<dw<d. We can rewrite P(𝒗HwgT=𝟎|w){\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w) as

P(𝒗HwgT=𝟎|w)=𝒋P(𝒗HwgT=𝟎|w,𝒋)P(𝒋|w){\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w)=\sum_{{\boldsymbol{j}}}{\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w,{\boldsymbol{j}}){\rm P}({\boldsymbol{j}}|w) (20)

where 𝒋=(j1,j2,,js){\boldsymbol{j}}=(j_{1},j_{2},\dots,j_{s}) and jij_{i} denotes the number of nonzero constituent codewords in the iith subgraph corresponding to the codeword of weight ww.

In the ensemble of random parity-check matrices Hc(t)H^{c(t)}, t=1,2,,nt=1,2,\dots,n, of size lc(1Rc)×lclc(1-R^{c})\times lc the probability that a nonzero vector 𝒗c\boldsymbol{v}^{c} is a codeword of the corresponding constituent random binary code 𝒞2(Hc){\mathcal{C}}_{2}(H^{c}) is equal to 2(cb)l2^{-(c-b)l} since the syndromes of the constituent codes are equiprobable sequences of length (cb)l(c-b)l. Taking into account that in the iith subgraph we have jij_{i} nonzero constituent codewords the probability P(𝒗HwgT=𝟎|w,𝒋){\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w,{\boldsymbol{j}}) can be upper-bounded by

P(𝒗HwgT=𝟎|w,𝒋)(nclw)i=1s2jicl(1Rc).{\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w,{\boldsymbol{j}})\leq\binom{ncl}{w}\prod_{i=1}^{s}2^{-j_{i}cl(1-R^{c})}. (21)

In order to estimate the probability P(𝒋|w){\rm P}({\boldsymbol{j}}|w) we prove the following lemma.

Lemma 1

For the ensemble of binary woven graph codes with constituent block codes described in Theorem 19, the probability P(𝐣|w){\rm P}({\boldsymbol{j}}|w) that a codeword of weight ww contains 𝐣=(j1,j2,,js){\boldsymbol{j}}=(j_{1},j_{2},\dots,j_{s}) nonzero constituent codewords in the ss subgraphs can be upper-bounded by

P(𝒋|w)i=1s(nji)(clw/ji)ji(w1ji1)(nclw).P\left({\boldsymbol{j}}|w\right)\leq\prod_{i=1}^{s}\frac{\binom{n}{j_{i}}\binom{cl}{w/j_{i}}^{j_{i}}\binom{w-1}{j_{i}-1}}{\binom{ncl}{w}}. (22)

Proof. Taking into account that in the iith subgraph the number of nonzero component codewords is equal to jij_{i} and that the subgraphs are random and independent we can rewrite the probability P(𝒋|w)P({\boldsymbol{j}}|w) as

P(𝒋|w)=i=1sP(ji|w).{\rm P}\left({\boldsymbol{j}}|w\right)=\prod_{i=1}^{s}{\rm P}\left(j_{i}|w\right).

The probability P(ji|w){\rm P}\left(j_{i}|w\right) can be upper-bounded as

P(ji|w)|i(𝒗,w,ji)|(nclw){\rm P}\left(j_{i}|w\right)\leq\frac{|{\mathcal{H}}_{i}({\boldsymbol{v}},w,j_{i})|}{\binom{ncl}{w}}

where i(𝒗,w,ji)={Hi|𝒗HiT=0,w,ji}{\mathcal{H}}_{i}({\boldsymbol{v}},w,j_{i})=\{H_{i}\left|\right.{\boldsymbol{v}}H_{i}^{T}=0,w,j_{i}\}. The cardinality of i(𝒗,w,ji){\mathcal{H}}_{i}({\boldsymbol{v}},w,j_{i}) can be upper-bounded as

|i(𝒗,w,ji)|=wk1,wk=w(nji)k=1ji(clwk)|{\mathcal{H}}_{i}({\boldsymbol{v}},w,j_{i})|=\sum_{w_{k}\geq 1,\sum w_{k}=w}\binom{n}{j_{i}}\prod_{k=1}^{j_{i}}\binom{cl}{w_{k}}
(nji)(clw/ji)ji(w1ji1)\leq\binom{n}{j_{i}}\binom{cl}{w/j_{i}}^{j_{i}}\binom{w-1}{j_{i}-1} (23)

where the sum is upper-bounded by the maximal term times the number of terms (w1ji1)\binom{w-1}{j_{i-1}}. ∎

Notice that in the above derivations we ignored the fact that w/jiw/j_{i} can be noninteger since we consider the asymptotic behaviour of (20).

It follows from Lemma 1 that

P(𝒗HwgT=0|w)𝒋(nlcw)1si=1s2jicl(1Rc)(nji)(clw/ji)ji(w1ji1){\rm P}({\boldsymbol{v}}H_{\rm wg}^{\rm T}=0|w)\leq\sum_{{\boldsymbol{j}}}\binom{nlc}{w}^{1-s}\prod_{i=1}^{s}2^{-j_{i}cl(1-R^{c})}\binom{n}{j_{i}}\binom{cl}{w/j_{i}}^{j_{i}}\binom{w-1}{j_{i}-1}
(n+1)s(nlcw)1smax𝒋i=1s2jicl(1Rc)(nji)(clw/ji)ji(w1ji1)\leq(n+1)^{s}\binom{nlc}{w}^{1-s}\max_{{\boldsymbol{j}}}\prod_{i=1}^{s}2^{-j_{i}cl(1-R^{c})}\binom{n}{j_{i}}\binom{cl}{w/j_{i}}^{j_{i}}\binom{w-1}{j_{i}-1}
=(n+1)s(nlcw)1si=1smaxji2jicl(1Rc)(nji)(clw/ji)ji(w1ji1)=(n+1)^{s}\binom{nlc}{w}^{1-s}\prod_{i=1}^{s}\max_{j_{i}}2^{-j_{i}cl(1-R^{c})}\binom{n}{j_{i}}\binom{cl}{w/j_{i}}^{j_{i}}\binom{w-1}{j_{i}-1}
=(n+1)s(nlcw)1s(maxj2jcl(1Rc)(nj)(clw/j)j(w1j1))s.=(n+1)^{s}\binom{nlc}{w}^{1-s}\left(\max_{j}2^{-jcl(1-R^{c})}\binom{n}{j}\binom{cl}{w/j}^{j}\binom{w-1}{j-1}\right)^{s}. (24)

Consider the asymptotic behaviour of (20) when mm tends to infinity. Introduce the notations γ=j/n\gamma=j/n and δ=w/(ncl)\delta=w/(ncl) and the function

F(δ)=limllog2P(𝒗HT=0|w)nlc.F(\delta)=\lim_{l\rightarrow\infty}\frac{\log_{2}{\rm P}({\boldsymbol{v}}H^{\rm T}=0|w)}{nlc}.

After simple derivations we obtain

F(δ)F^(δ){maxγ(0,1](1s)h(δ)(1Rwg)γ+sγh(δγ)}F(\delta)\leq\hat{F}(\delta)\triangleq\left\{\max_{\gamma\in(0,1]}(1-s)h(\delta)-(1-R_{\rm wg})\gamma+s\gamma h\left(\frac{\delta}{\gamma}\right)\right\} (25)

where Rwg=s(Rc1)+1R_{\rm wg}=s(R^{c}-1)+1 is the rate of binary woven graph code. Maximizing (25) over 0<γ10<\gamma\leq 1 gives

γopt=min{1,δ12(Rwg1)/s}.\gamma_{opt}=\min\left\{1,\frac{\delta}{1-2^{(R_{\rm wg}-1)/s}}\right\}.

Inserting γopt<1\gamma_{opt}<1 and γopt=1\gamma_{opt}=1 into (25) we obtain

F^(δ)={h(δ)+Rwg1, if 0<δ12(Rwg1)/s(1s)h(δ)δslog2(2(Rwg1)/s1), if δ12(Rwg1)/s\hat{F}(\delta)=\left\{\begin{array}[]{ll}h(\delta)+R_{\rm wg}-1{\mbox{,}}&{\mbox{ if }}0<\delta\leq 1-2^{(R_{\rm wg}-1)/s}\\ (1-s)h(\delta)-\delta s\log_{2}\left(2^{-(R_{\rm wg}-1)/s}-1\right){\mbox{,}}&{\mbox{ if }}\delta\geq 1-2^{(R_{\rm wg}-1)/s}\end{array}\right. (26)

which coincides with (9) and (10) in [3] for s=2s=2, that is, if the graph is bipartite.

For any RwgR_{\rm wg} and δ\delta from F^(δ)<0\hat{F}(\delta)<0, it follows that there exist codes of rate RwgR_{\rm wg} with relative minimum distance δwg=δ\delta_{\rm wg}=\delta. Let δ(Rwg)\delta(R_{\rm wg}) denote the solution of the equation

F^(δ)=0\hat{F}(\delta)=0 (27)

for 0<δ12(Rwg1)/s0<\delta\leq 1-2^{(R_{\rm wg}-1)/s} and let δVG(Rwg)\delta_{\scriptsize VG}(R_{\rm wg}) be the solution of h(δ)+Rwg1=0h(\delta)+R_{\rm wg}-1=0. Solving (27) for γopt<1\gamma_{opt}<1 and γopt=1\gamma_{opt}=1 we obtain that there exist woven graph codes of rate RwgR_{\rm wg} with the relative minimum distance δwg\delta_{\rm wg} satisfying the inequalities:

δwg{δ(Rwg)ϵ, if Rwg>1+slog2(1δVG(Rwg))δVG(Rwg)ϵ, if Rwg1+slog2(1δVG(Rwg)).\delta_{\rm wg}\geq\left\{\begin{array}[]{ll}\delta(R_{\rm wg})-\epsilon{\mbox{,}}&{\mbox{ if }}R_{\rm wg}>1+s\log_{2}(1-\delta_{{\rm\tiny VG}}(R_{\rm wg}))\\ \delta_{{\rm\tiny VG}}(R_{\rm wg})-\epsilon{\mbox{,}}&{\mbox{ if }}R_{\rm wg}\leq 1+s\log_{2}(1-\delta_{{\rm\tiny VG}}(R_{\rm wg})).\end{array}\right. (28)

Refer to caption
Figure 8: The relative minimum distance as a function of the code rate for the ensemble of binary woven graph codes with block constituent codes.
Refer to caption
Figure 9: The gap between the VG bound and the code rate as a function of the relative minimum distance.

In Fig. 8 the lower bound (19) on the relative minimum distance for the ensemble of binary woven graph codes with block constituent codes as a function of the code rate is shown. It is easy to see that when ss grows the ensemble of binary woven graph codes contains codes meeting the VG bound for almost all rates 0Rwg10\leq R_{\rm wg}\leq 1. Fig. 9 demonstrates the gap RVGRwgR_{\rm VG}-R_{\rm wg} between the VG bound and the code rate as a function of the relative minimum distance δwg\delta_{\rm wg} for different values of ss. It follows from Fig. 9 that for s3s\geq 3 the difference in code rate compared to the VG bound is negligible.

III-B Asymptotic bound on the free distance of woven graph codes with constituent convolutional codes

Consider a ZT convolutional woven graph code with constituent ZT convolutional codes of rate Rc=b/cR^{c}=b/c. The length of a ZT woven graph codeword in ncnc-tuples is equal to l+mwgl+m_{\rm wg} where ll is the number of ncnc-tuples influenced by information symbols and mwgm_{\rm wg} is the memory of the woven graph code of rate Rwg=s(Rc1)+1R_{\rm wg}=s(R^{c}-1)+1. Denote by dfreewgd^{\rm wg}_{{\rm free}} the free distance of the corresponding woven graph code.

Now we can prove the following

Theorem 5

(Costello lower bound) For any ϵ>0\epsilon>0, some m0>0m_{0}>0, some integer s2s\geq 2, and for all mwg>m0m_{\rm wg}>m_{0} in the random ensemble of rate Rwg=s(Rc1)+1R_{\rm wg}=s(R^{c}-1)+1 woven graph codes over ss-partite, ss-uniform, cc-regular hypergraphs with constituent convolutional codes of rate Rc=b/cR^{c}=b/c there exists a code with memory mwgm_{\rm wg} such that its relative free distance δfreewg=dfreewg/ncmwg\delta^{\rm wg}_{{\rm free}}=d^{\rm wg}_{{\rm free}}/ncm_{\rm wg} satisfies the Costello lower bound [8],

δfreewgRwglog2(21Rwg1)ϵ.\delta^{\rm wg}_{{\rm free}}\geq-\frac{R_{\rm wg}}{\log_{2}\left(2^{1-R_{\rm wg}}-1\right)}-\epsilon. (29)

Proof: Analogously to the derivations in the proof of Theorem 4 let 𝒋=(j1,j2,,js){\boldsymbol{j}}=(j_{1},j_{2},\dots,j_{s}) where jij_{i} denotes the number of nonzero constituent codewords in the iith subgraph corresponding to the codeword of weight ww, ji{1,,n}j_{i}\in\{1,...,n\}. In order to evaluate the number of nonzero constituent codewords among the nn constituent codewords, notice that the set of such codewords is a union of sets of nonzero constituent codewords belonging to each of the ss subgraphs. The cardinality of the union is at least jmax=maxi{ji}j_{\max}=\max_{i}\{j_{i}\}. Therefore the all-zero “tail” required to force the encoder into the zero state has length at least jmaxcmwgj_{\max}cm_{\rm wg}. The total number of redundant symbols consists of two parts: the number i=1sjicl(1Rc)\sum_{i=1}^{s}j_{i}cl(1-R^{c}) of parity-check symbols for the nonzero constituent codewords in the ss subgraphs and at least jmaxcmwgj_{\max}cm_{\rm wg} redundant symbols required for zero-tail terminating of the woven graph code. Thus, formula (21) can be rewritten as

P(𝒗HwgT=𝟎|w,𝒋)(nc(l+mwg)w)(i=1s2jicl(1Rc))2jmaxcmwg.{\rm P}({\boldsymbol{v}}H_{\rm wg}^{\mathrm{T}}={\boldsymbol{0}}|w,{\boldsymbol{j}})\leq\binom{nc(l+m_{\rm wg})}{w}\left(\prod_{i=1}^{s}2^{-j_{i}cl(1-R^{c})}\right)2^{-j_{\max}cm_{\rm wg}}. (30)

The statement of the Lemma 22 is changed in a following way

P(𝒋|w)i=1s(nji)(c(l+mwg)w/ji)ji(w1ji1)(nc(l+mwg)w).P\left({\boldsymbol{j}}|w\right)\leq\prod_{i=1}^{s}\frac{\binom{n}{j_{i}}\binom{c(l+m_{\rm wg})}{w/j_{i}}^{j_{i}}\binom{w-1}{j_{i}-1}}{\binom{nc(l+m_{\rm wg})}{w}}. (31)

Instead of (24) we now have

P(𝒗HwgT=0|w)\displaystyle{\rm P}({\boldsymbol{v}}H_{\rm wg}^{\rm T}=0|w) \displaystyle\leq (n+1)s(nc(l+mwg)w)1s\displaystyle(n+1)^{s}\binom{nc(l+m_{\rm wg})}{w}^{1-s} (32)
×\displaystyle\times maxj{(2jcl(1Rc)(nj)(c(l+mwg)w/j)j(w1j1))s2jcmwg}.\displaystyle\max_{j}\left\{\left(2^{-jcl(1-R^{c})}\binom{n}{j}\binom{c(l+m_{\rm wg})}{w/j}^{j}\binom{w-1}{j-1}\right)^{s}2^{-jcm_{\rm wg}}\right\}.

By introducing the notations

δ=wncmwg , μ=lmwg , γ=jn\delta=\frac{w}{ncm_{\rm wg}}\mbox{ , }\mu=\frac{l}{m_{\rm wg}}\mbox{ , }\gamma=\frac{j}{n}

we obtain from (30)–(32) that

F(δ)\displaystyle F(\delta) =\displaystyle= limmwglog2P(𝒗HT=0|w)ncmwg\displaystyle\lim_{m_{\rm wg}\rightarrow\infty}\frac{\log_{2}{\rm P}({\boldsymbol{v}}H^{\rm T}=0|w)}{ncm_{\rm wg}} (33)
\displaystyle\leq maxγ(0.1]{(1s)(1+μ)h(δ1+μ)γ(1+μμRwg)+γ(1+μ)sh(δγ(1+μ))}.\displaystyle\max_{\gamma\in(0.1]}\left\{(1-s)(1+\mu)h\left(\frac{\delta}{1+\mu}\right)-\gamma(1+\mu-\mu R_{\rm wg})+\gamma(1+\mu)sh\left(\frac{\delta}{\gamma(1+\mu)}\right)\right\}.

Maximizing (33) over 0<γ10<\gamma\leq 1, we obtain

γopt=min{1,δ(1+μ)(12x)}\gamma_{opt}=\min\left\{1,\frac{\delta}{(1+\mu)(1-2^{-x})}\right\} (34)

where

x=1+μ(1Rwg)s(1+μ).x=\frac{1+\mu(1-R_{\rm wg})}{s(1+\mu)}.

If ss is large enough, then γopt=1\gamma_{opt}=1. It follows from (33) that

F(δ)(1+μ)h(δ1+μ)1μ+μRwg,F(\delta)\leq(1+\mu)h\left(\frac{\delta}{1+\mu}\right)-1-\mu+\mu R_{\rm wg}{\mbox{,}} (35)

Maximization of F(δ)F(\delta) over μ\mu gives

Fopt(δ)δlog2(21Rwg1)RwgF_{opt}(\delta)\leq-\delta\log_{2}\left(2^{1-R_{\rm wg}}-1\right)-R_{\rm wg} (36)

where

μopt=δ12Rwg11.\mu_{opt}=\frac{\delta}{1-2^{R_{\rm wg}-1}}-1.

We can find a bound on δfreewg\delta^{\rm wg}_{{\rm free}} by solving Fopt(δ)=0F_{opt}(\delta)=0. Thus, we can conclude that for any ϵ>0\epsilon>0 we can find a woven graph code such that (29) holds ∎

IV Example

We start with considering a graph code determined by the parity-check matrix (3). As mentioned before, the matrix (3) can be considered as a 14×2114\times 21 parity-check matrix. Since the parity checks defined by the graph are linearly dependent (the sum of the rows of (3) is equal to zero) it turned out that by ignoring one parity check we obtain a parity-check matrix of a (21,8)(21,8) linear block code. For simplicity we consider the rate Rg=1/3R_{\rm g}=1/3 code that is obtained by ignoring the eighth information symbol which yields a (21,7)(21,7) subcode of this code.

It is easy to see that renumbering the graph vertices by adding to each vertex number some fixed number modulo the total number of vertices preserves both the incidence and adjacency matrices of the graph. For example, in Fig. 3, by adding 2 modulo 14 we will get exactly the same graph. When we have a similar property for linear codes we call such codes quasi-cyclic codes and these block codes can be described as tailbiting (TB) convolutional codes. Renumbering the vertices corresponds to permuting the rows of (3). By row permutations, (3) can be reduced to the form

(111000000000000000000100010000001000000000000111000000000000000000100010000001000000000000111000000000000000000100010000001000000000000111000000000000000000100010000001000000000000111000000001000000000100010000000000000000000111000000001000000000100010000000000000000000111010000001000000000100).\footnotesize\left(\begin{array}[]{ccc:ccc:ccc:ccc:ccc:ccc:ccc}1&1&1&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 1&0&0&0&1&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0&0\\ \hline\cr 0&0&0&1&1&1&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&1&0&0&0&1&0&0&0&0&0&0&1&0&0&0&0&0&0\\ \hline\cr 0&0&0&0&0&0&1&1&1&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&1&0&0&0&1&0&0&0&0&0&0&1&0&0&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&1&1&1&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&1&0&0&0&1&0&0&0&0&0&0&1\\ \hline\cr 0&0&0&0&0&0&0&0&0&0&0&0&1&1&1&0&0&0&0&0&0\\ 0&0&1&0&0&0&0&0&0&0&0&0&1&0&0&0&1&0&0&0&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&1&1&1&0&0&0\\ 0&0&0&0&0&1&0&0&0&0&0&0&0&0&0&1&0&0&0&1&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&1&1&1\\ 0&1&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0&0&1&0&0\end{array}\right). (37)

It follows from (37) that the graph shown in Fig. 3 corresponds to a (21,7)(21,7) TB code with a parent convolutional code determined by the parity-check matrix

Hconv(D)=(1111DD3).H_{\rm conv}(D)=\left(\begin{array}[]{lll}1&1&1\\ 1&D&D^{3}\end{array}\right). (38)

It means that this code is “tail-bitten” at the 7th level of the trellis diagram. A corresponding polynomial generator matrix of the parent convolutional code has the form

Gconv(D)=(D+D21+D+D21).G_{\rm conv}(D)=\left(\begin{array}[]{lll}D+D^{2}&1+D+D^{2}&1\end{array}\right). (39)

The minimum distance of the (21,7)(21,7) TB code is equal to the graph girth, that is, dmin=g=6d_{\min}=g=6.

Notice that many regular bipartite graphs look very similar to the Heawood graph in the sense that by manipulating the incidence (parity-check) matrices and truncating lengths we can obtain infinite families of graphs. Some properties of these graphs can be easily predicted from the properties of the corresponding parent convolutional codes.

Consider the parity-check matrix (11) of the woven graph code based on the Heawood bipartite graph with constituent convolutional codes of rate Rc=2/3R^{c}=2/3. This woven graph code has the rate Rwg=2/321=1/3R_{\rm wg}=2/3\cdot 2-1=1/3.

Let the rate Rc=2/3R^{c}=2/3 constituent convolutional code of memory m=3m=3 and overall constraint length νc=5\nu^{c}=5 with dfreec=6d_{\rm free}^{c}=6 be given by the generator matrix

Gc(D)=(1+D2D21+D+D2D+D2+D311+D2).G^{c}(D)=\begin{pmatrix}1+D^{2}&D^{2}&1+D+D^{2}\\ D+D^{2}+D^{3}&1&1+D^{2}\end{pmatrix}. (40)

A corresponding parity-check matrix Hc(D)H^{c}(D) is

Hc(D)=(1+D+D41+D+D3+D4+D51+D2+D3+D4+D5)T.H^{c}(D)=\begin{pmatrix}1+D+D^{4}\\ 1+D+D^{3}+D^{4}+D^{5}\\ 1+D^{2}+D^{3}+D^{4}+D^{5}\end{pmatrix}^{\mathrm{T}}. (41)

Notice that the constituent code 𝒞c{\mathcal{C}}^{c} considered as a block code over 𝔽((D)){\mathds{F}}((D)) represents a (3,2)(3,2) block code with the minimum distance dblockc=2d_{\rm block}^{c}=2.

By using the product-type lower bound (12) we obtain

dfreewg(g/2)dfreec=3×6=18.d^{\rm wg}_{{\rm free}}\geq(g/2)d_{\rm free}^{c}=3\times 6=18.

On the other hand, it was verified by computer search that any codeword of the woven graph code determined by (11) consists of at least three nonzero codewords of the component code 𝒞c{\mathcal{C}}^{c} described by (41). Moreover, it was found by computer search that each of these nonzero codewords of 𝒞c{\mathcal{C}}^{c} has the minimum block weight dblockc=2d_{\rm block}^{c}=2. Note that the codewords of the block code over 𝔽((D)){\mathds{F}}((D)) with block weight dblockc=2d_{\rm block}^{c}=2 corresponds to the codewords of the convolutional code belonging to its subcodes of rate Rc=1/2R^{c}=1/2. These three subcodes have generator matrices

G1c(D)=(g1c(D)g2c(D))G_{1}^{c}(D)=\left(\begin{array}[]{cc}g_{1}^{c}(D)&g_{2}^{c}(D)\end{array}\right)
G2c(D)=(g3c(D)g2c(D))G_{2}^{c}(D)=\left(\begin{array}[]{cc}g_{3}^{c}(D)&g_{2}^{c}(D)\end{array}\right)
G3c(D)=(g1c(D)g3c(D))G_{3}^{c}(D)=\left(\begin{array}[]{cc}g_{1}^{c}(D)&g_{3}^{c}(D)\end{array}\right)

where g1c(D)=1+D+D3+D4+D5g_{1}^{c}(D)=1+D+D^{3}+D^{4}+D^{5}, g2c(D)=1+D+D4g_{2}^{c}(D)=1+D+D^{4}, and g3c(D)=1+D2+D3+D4+D5g_{3}^{c}(D)=1+D^{2}+D^{3}+D^{4}+D^{5}.

The minimum free distance over all these subcodes of rate Rc=1/2R^{c}=1/2 is equal to 8. Taking into account that all other codewords of the woven graph code contain at least four nonzero codewords of 𝒞c{\mathcal{C}}_{c} of block weight dblockc=3d_{\rm block}^{c}=3 we obtain an improved lower bound on the free distance of the woven graph code as dfreemin{3×8,4×6}=24d_{\mathrm{free}}\geq\min\{3\times 8,4\times 6\}=24.

In order to obtain an upper bound on the free distance of the woven graph code we consider the parity-check matrix (11) in more detail. It also describes a quasi-cyclic code and can by row permutations be reduced to a parity-check matrix of a two-dimensional code, a TB (block) code in one dimension and a convolutional code in the other,

Hwg(D)=(h1ch2ch3c000000000000000000t1c000t2c000000t3c000000000000h1ch2ch3c000000000000000000t1c000t2c000000t3c000000000000h1ch2ch3c000000000000000000t1c000t2c000000t3c000000000000h1ch2ch3c000000000000000000t1c000t2c000000t3c000000000000h1ch2ch3c00000000t3c000000000t1c000t2c0000000000000000000h1ch2ch3c00000000t2c000000000t3c000t1c0000000000000000000h1ch2ch3c0t1c000000t2c000000000t3c00)H_{\rm wg}(D)=\footnotesize\left(\begin{array}[]{ccc:ccc:ccc:ccc:ccc:ccc:ccc}h^{c}_{1}&h^{c}_{2}&h^{c}_{3}&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ t^{c}_{1}&0&0&0&t^{c}_{2}&0&0&0&0&0&0&t_{3}^{c}&0&0&0&0&0&0&0&0&0\\ \hline\cr 0&0&0&h_{1}^{c}&h_{2}^{c}&h_{3}^{c}&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&t_{1}^{c}&0&0&0&t_{2}^{c}&0&0&0&0&0&0&t_{3}^{c}&0&0&0&0&0&0\\ \hline\cr 0&0&0&0&0&0&h_{1}^{c}&h_{2}^{c}&h_{3}^{c}&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&t_{1}^{c}&0&0&0&t_{2}^{c}&0&0&0&0&0&0&t_{3}^{c}&0&0&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&h_{1}^{c}&h_{2}^{c}&h_{3}^{c}&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&t_{1}^{c}&0&0&0&t_{2}^{c}&0&0&0&0&0&0&t_{3}^{c}\\ \hline\cr 0&0&0&0&0&0&0&0&0&0&0&0&h_{1}^{c}&h_{2}^{c}&h_{3}^{c}&0&0&0&0&0&0\\ 0&0&t_{3}^{c}&0&0&0&0&0&0&0&0&0&t_{1}^{c}&0&0&0&t_{2}^{c}&0&0&0&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&h_{1}^{c}&h_{2}^{c}&h_{3}^{c}&0&0&0\\ 0&0&0&0&0&t_{2}^{c}&0&0&0&0&0&0&0&0&0&t_{3}^{c}&0&0&0&t_{1}^{c}&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&h_{1}^{c}&h_{2}^{c}&h_{3}^{c}\\ 0&t_{1}^{c}&0&0&0&0&0&0&t_{2}^{c}&0&0&0&0&0&0&0&0&0&t_{3}^{c}&0&0\end{array}\right) (42)

A parity-check matrix of the parent convolutional code for the TB code (42) given in symbolic form is

H(D,Z)=(h1c(D)h2c(D)h3c(D)t1c(D)t2c(D)Zt3c(D)Z3)H(D,Z)=\left(\begin{array}[]{lll}h^{c}_{1}(D)&h^{c}_{2}(D)&h^{c}_{3}(D)\\ t^{c}_{1}(D)&t^{c}_{2}(D)Z&t^{c}_{3}(D)Z^{3}\end{array}\right) (43)

where ZZ and DD are formal variables. The matrix (43) can be considered as a parity-check matrix of a two-dimensional convolutional code. The variable ZZ corresponds to the parent convolutional code of the Heawood graph code (38), the variable DD is used for the constituent convolutional code (41).

A generator matrix of the two-dimensional convolutional code with the parity-check matrix (43) has the form

G(D,Z)=(gec(D)Z+gcc(D)Z3gac(D)+gdc(D)Z3gbc(D)+gfc(D)Z)G(D,Z)=\left(\begin{array}[]{lll}g^{c}_{e}(D)Z+g^{c}_{c}(D)Z^{3}&g^{c}_{a}(D)+g^{c}_{d}(D)Z^{3}&g^{c}_{b}(D)+g^{c}_{f}(D)Z\\ \end{array}\right) (44)

where gac(D)=h3c(D)t1c(D)g^{c}_{a}(D)=h^{c}_{3}(D)t^{c}_{1}(D), gbc(D)=h2c(D)t1c(D)g^{c}_{b}(D)=h^{c}_{2}(D)t^{c}_{1}(D), gcc(D)=h2c(D)t3c(D)g^{c}_{c}(D)=h^{c}_{2}(D)t^{c}_{3}(D), gdc(D)=h1c(D)t3c(D)g_{d}^{c}(D)=h^{c}_{1}(D)t^{c}_{3}(D), gec(D)=h3c(D)t2c(D)g^{c}_{e}(D)=h^{c}_{3}(D)t^{c}_{2}(D), and gfc(D)=h1c(D)t2c(D)g_{f}^{c}(D)=h^{c}_{1}(D)t^{c}_{2}(D).

The generator matrix (44) tail-bitten over variable ZZ at length 2121 yields the generator matrix G(D)G(D) of the code (42),

Gwg(D)=(gccgdc0000gec0gfc0gacgbc000000000000gccgdc0000gec0gfc0gacgbc000000000000gccgdc0000gec0gfc0gacgbc000000000000gccgdc0000gec0gfc0gacgbc0gacgbc000000000gccgdc0000gec0gfcgec0gfc0gacgbc000000000gccgdc0000000gec0gfc0gacgbc000000000gccgdc0)\footnotesize G_{\rm wg}(D)=\left(\begin{array}[]{ccc:ccc:ccc:ccc:ccc:ccc:ccc}g^{c}_{c}&g^{c}_{d}&0&0&0&0&g^{c}_{e}&0&g^{c}_{f}&0&g^{c}_{a}&g^{c}_{b}&0&0&0&0&0&0&0&0&0\\ \hline\cr 0&0&0&g^{c}_{c}&g^{c}_{d}&0&0&0&0&g^{c}_{e}&0&g^{c}_{f}&0&g^{c}_{a}&g^{c}_{b}&0&0&0&0&0&0\\ \hline\cr 0&0&0&0&0&0&g^{c}_{c}&g^{c}_{d}&0&0&0&0&g^{c}_{e}&0&g^{c}_{f}&0&g^{c}_{a}&g^{c}_{b}&0&0&0\\ \hline\cr 0&0&0&0&0&0&0&0&0&g^{c}_{c}&g^{c}_{d}&0&0&0&0&g^{c}_{e}&0&g^{c}_{f}&0&g^{c}_{a}&g^{c}_{b}\\ \hline\cr 0&g^{c}_{a}&g^{c}_{b}&0&0&0&0&0&0&0&0&0&g^{c}_{c}&g^{c}_{d}&0&0&0&0&g^{c}_{e}&0&g^{c}_{f}\\ \hline\cr g^{c}_{e}&0&g^{c}_{f}&0&g^{c}_{a}&g^{c}_{b}&0&0&0&0&0&0&0&0&0&g^{c}_{c}&g^{c}_{d}&0&0&0&0\\ \hline\cr 0&0&0&g^{c}_{e}&0&g^{c}_{f}&0&g^{c}_{a}&g^{c}_{b}&0&0&0&0&0&0&0&0&0&g^{c}_{c}&g^{c}_{d}&0\end{array}\right) (45)

where gicg_{i}^{c} is short-hand for gic(D)g_{i}^{c}(D).

Notice that any of the six permutations of the columns hic(D)h^{c}_{i}(D), i=1,2,3,i=1,2,3, generates a woven graph code. The permutation t1c(D)=h1c(D)t^{c}_{1}(D)=h^{c}_{1}(D), t2c(D)=h3c(D)t^{c}_{2}(D)=h^{c}_{3}(D), and t3c(D)=h2c(D)t^{c}_{3}(D)=h^{c}_{2}(D) describes the woven graph code with the largest free distance. The overall constraint length of this generator matrix is equal to 70 but the matrix is not in minimal form. A minimal-basic generator matrix [8] has the overall constraint length equal to 64 and differs from (45) by one row which can replace any of the rows of G(D)G(D) and has the form

(G0(D)G0(D)G0(D)G0(D)G0(D)G0(D)G0(D))\left(\begin{array}[]{ccccccc}G_{0}(D)&G_{0}(D)&G_{0}(D)&G_{0}(D)&G_{0}(D)&G_{0}(D)&G_{0}(D)\end{array}\right)

where

G0(D)=(gpc(D)gqc(D)gqc(D))G_{0}(D)=\left(\begin{array}[]{ccc}g^{c}_{p}(D)&g^{c}_{q}(D)&g^{c}_{q}(D)\end{array}\right)

where gpc(D)=D+D2g^{c}_{p}(D)=D+D^{2} and gqc(D)=1+D+D4g^{c}_{q}(D)=1+D+D^{4}.

The matrix (45) is a generator matrix of a convolutional code of rate Rwg=7/21R_{\rm wg}=7/21. By applying the BEAST algorithm [19] to the minimal-basic generator matrices corresponding to the different permutations of the columns hic(D)h^{c}_{i}(D), i=1,2,3,i=1,2,3, we obtained the free distance and a few spectrum coefficients of the corresponding woven graph codes. The parameters of the best obtained woven graph codes are presented in Table 1.

TABLE I: Spectra and overall constraint lengths of rate Rwg=1/3R_{\rm wg}=1/3 woven graph codes
Permutation\rm{Permutation} ν\nu dfreed_{{\rm free}} Spectrum\rm{Spectrum}
h1c(D),h3c(D),h2c(D)h^{c}_{1}(D),h^{c}_{3}(D),h^{c}_{2}(D) 6464 3232 7,0,0,0,0,0,7,0,7,07,0,0,0,0,0,7,0,7,0\dots
h2c(D),h1c(D),h3c(D)h^{c}_{2}(D),h^{c}_{1}(D),h^{c}_{3}(D) 6565 3232 7,0,0,0,7,0,0,0,21,07,0,0,0,7,0,0,0,21,0\dots
h2c(D),h3c(D),h1c(D)h^{c}_{2}(D),h^{c}_{3}(D),h^{c}_{1}(D) 6666 3030 7,0,0,0,0,0,0,0,7,07,0,0,0,0,0,0,0,7,0\dots

V Encoding

Generally speaking, encoding of graph-based block codes has complexity O(N2)O(N^{2}), where NN is the blocklength. This technique implies that we find a generator matrix corresponding to the given parity-check matrix and then multiply the information sequence by the obtained generator matrix. However, we showed by examples that some regular graph codes as well as woven graph codes are quasi-cyclic codes and thereby they can be interpreted as TB codes. For this class of codes the complexity of the encoding is proportional to the constraint length of the parent convolutional code.

In this section we are going to illustrate by an example an encoder of a woven graph code with constituent convolutional codes having encoding complexity proportional to the overall constraint length of the corresponding woven graph code νwgnsνc\nu_{\rm wg}\leq ns\nu^{c}.

Consider again the woven graph code in our example. It is based on the Heawood graph and uses constituent convolutional codes of rate Rc=2/3R^{c}=2/3 and overall constraint length νc=5\nu^{c}=5. Taking into account the representation (45) of the woven graph code as a rate Rwg=7/21R_{\rm wg}=7/21 two-dimensional code, a TB (block) code in one dimension and a convolutional code in the other, we can draw its encoder as shown in Fig. 10.

Refer to caption
Figure 10: An encoder of the two-dimensional woven graph code.

The input symbols u1,u2,,u7u_{1},u_{2},\dots,u_{7} enter the encoder once per each cycle of duration seven time instants. At each time moment the contents of each register is rewritten into the next (modulo seven) register and the three output symbols v1,v2,v3v_{1},v_{2},v_{3} are generated. In other words, each of the registers corresponding to the constituent code can be considered as an enlarged delay element of the encoder of the “TB-dimension” code determined by the graph. The sequence u1,u2,,u7u_{1},u_{2},\dots,u_{7} determines a transition between the states of this encoder. After a cycle of seven time instants we return to the starting state of the enlarged encoder and a TB-codeword (or a word from one of its cosets) of length 21 has been generated. Then the following seven input symbols u8,u9,,u14u_{8},u_{9},\dots,u_{14} enter and after seven time instants another word of length 21 has been generated, etc.

VI Conclusion

The asymptotic behavior of the woven graph codes with block as well as with convolutional constituent codes has been studied. It was shown that in the random ensemble of such codes based on ss-partite, ss-uniform, cc-regular hypergraphs we can find a value s2s\geq 2 such that for any code rate there exist codes meeting the VG and the Costello lower bound on the minimum distance and free distance, respectively. Product-type lower bounds on the minimum distance of graph-based and woven graph codes have been derived. Example of a rate Rwg=1/3R_{\rm wg}=1/3 woven graph code with free distance above the product bound is presented. It is shown, by an example, that woven graph codes can be encoded with a complexity proportional to the constraint length of the constituent convolutional code.

Acknowledgment

This work was supported in part by the Royal Swedish Academy of Sciences in cooperation with the Russian Academy of Sciences and in part by the Swedish Research Council under Grant 621-2007-6281.

References

  • [1] R. G. Gallager, Low-density Parity-Check Codes, Cambridge, MA: MIT Press, 1963.
  • [2] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo codes,” in Proc. IEEE Int. Conf. Commun. (ICC), Geneva, Switzerland, pp. 1064–1070, 1993.
  • [3] A. Barg and G. Zemor, “Distance properties of expander codes,” IEEE Trans. Inf. Theory, vol. 52, no.1, pp. 78–90, Jan. 2006.
  • [4] X.-Y.  Hu and M. F.  Fossorier “On the computation of the minimum distance of low-density parity-check codes,” Int. Conference on Communications (ICC’04), Paris, June 2004.
  • [5] G. Schmidt, V. V. Zyablov, and M. Bossert, “On expander codes based on hypergraphs,” ISIT 2003, Yokohama, Japan, June 29–July 4, 2003.
  • [6] S. Hoory and Y. Bilu, “The codes from hypergraphs,” European Journal of Combinatorics vol. 25, Issue 3, pp. 339–354, April, 2004.
  • [7] A. Barg, Private communication, May 2007.
  • [8] R. Johannesson and K. Sh. Zigangirov, Fundamentals of Convolutional Coding, IEEE Press, Piscataway, NJ, 1999.
  • [9] M. Bossert, C. Medina, and V. Sidorenko, “Encoding and distance estimation of product convolutional codes,” in Proc. IEEE Int. Symp. Information Theory (ISIT’05), Adelaide, Australia, Sept. 4-9, pp. 1063–1067, 2005.
  • [10] J. A. Bondy and U. S. R. Murty, Graph theory with Applications, N.Y.: North Holland, pp. 236 and 244, 1976.
  • [11] F. Harary, Graph theory, Reading, MA.:Addison-Wesley, p. 173, 1994.
  • [12] G. Solomon and H. C. A. van Tilborg, “A connection between block and convolutional codes,” SIAM J. Appl. Math., vol. 37, pp. 358–369, 1979.
  • [13] J. H. Ma and J. K. Wolf, “On tail-biting convolutional codes,” IEEE Trans. Commun., vol. COM-34, pp. 104–111, 1986.
  • [14] R. M. Tanner, “Minimum-distance bounds by graph analysis,” IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 808–820, Feb. 2001.
  • [15] R. M. Tanner, “A Recursive Approach to Low Complexity Codes,” IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533–547, Sep. 1981.
  • [16] L. Bassalygo, private communication, May 2007.
  • [17] S. Ho¨\ddot{\rm o}st, 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.
  • [18] R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, and D. J. Costello, Jr., “LDPC Block and Convolutional Codes Based on Circulant Matrices,” IEEE Trans. Inf. Theory, vol. 50, no. 12, pp. 2966–2984, Dec. 2004.
  • [19] 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, June 2004.
  • [20] I. E. Bocharova, B. D. Kudryasov, R. Johannesson, and P. Stahl, “Tailbiting codes: bounds and search results,” IEEE Trans. Inf. Theory, vol. 48, no. 1, pp. 137–148, Jan. 2002.