+ All Categories
Home > Documents > Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

Date post: 22-Sep-2016
Category:
Upload: np
View: 213 times
Download: 0 times
Share this document with a friend
13
1040 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 reduction in number of branches contributes to a significant reduction in computational complexity. VII. CONCLUSION In this correspondence, a soft-decision suboptimum decoding al- gorithm for binary linear block codes based on an iterative search algorithm has been presented. The decoding scheme is based on an algebraic decoding procedure to generate candidate codewords, a test for optimality, a nearest neighbor test, and a minimum- weight subtrellis search algorithm for the optimal MLD solution. Simulation results for some well-known codes have shown that the proposed algorithm achieves practically optimum or near-optimum performance with a significant reduction in computational complexity as compared to the optimal Viterbi decoding based on the full trellis diagram of the code. It provides a very effective tradeoff between error performance and decoding complexity. ACKNOWLEDGMENT The authors wish to thank the reviewers for their useful comments and suggestions. The authors also wish to thank T. Kuomoto for his help in part of the simulations. REFERENCES [1] J. K. Wolf, “Efficient maximum likelihood decoding of linear block codes using a trellis,” IEEE Trans. Inform. Theory, vol. IT-24, pp. 76–80, Jan. 1978. [2] K. R. Matis and J. W. Modestino, “Reduced-search soft-decision trellis decoding of linear block codes,” IEEE Trans. Inform. Theory, vol. IT-28, pp. 349–355, Mar. 1982. [3] G. D. Forney, Jr., “Coset codes II: Binary lattices and related codes,” IEEE Trans. Inform. Theory, vol. 34, pp. 1152–1187, Sept. 1988. [4] A. Vardy and Y. Be’ery, “Maximum likelihood soft-decision decoding of BCH codes,” IEEE Trans. Inform. Theory, vol. 40, pp. 546–554, Mar. 1994. [5] Y. Berger and Y. Be’ery, “Soft trellis-based decoder for linear block codes,” IEEE Trans. Inform. Theory, vol. 40, pp. 764–773, May 1994. [6] H. Yamamoto, T. Fujiwara, T. Kasami, and S. Lin, “A trellis-based recursive maximum likelihood decoding algorithm for linear block codes,” submitted to IEEE Trans. Inform. Theory, 1996. [7] Y. S. Han, C. R. P. Hartman, and C. C. Chen, “Efficient priority- first search maximum likelihood soft-decision decoding of linear block codes,” IEEE Trans. Inform. Theory, vol. 39, pp. 1514–1523, Sept. 1993. [8] T. Kaneko, T. Nishijima, H. Inazumi, and S. Hirasawa, “An efficient maximum-likelihood decoding algorithm for linear block codes with algebraic decoder,” IEEE Trans. Inform. Theory, vol. 40, pp. 320–327, Mar. 1994. [9] G. D. Forney, Jr., “Generalized minimum distance decoding,” IEEE Trans. Inform. Theory, vol. IT-12, pp. 125–131, Apr. 1966. [10] D. Chase, “A class of algorithms for decoding block codes with channel measurement information,” IEEE Trans. Inform. Theory, vol. IT-18, pp. 170–181, Jan. 1972. [11] H. Tanaka and K. Kakigahara, “Simplified correlation decoding by selecting possible codewords using erasure information,” IEEE Trans. Inform. Theory, vol. IT-29, pp. 743–748, Sept. 1983. [12] D. J. Taipale and M. B. Pursley, “An improvement to generalized minimum distance decoding,” IEEE Trans. Inform. Theory, vol. 37, pp. 167–172, Jan. 1991. [13] T. Kasami, T. Takata, T. Yamashita, and S. Lin, “Suboptimum decoding of decomposable block codes,” IEEE Trans. Inform. Theory, vol. 40, pp. 1392–1405, Sept. 1994. [14] M. P. C. Fossorier and S. Lin, “Soft-decision decoding of linear block codes based on ordered statistics,” IEEE Trans. Inform. Theory, vol. 41, pp. 1217–1234, Sept. 1995. [15] T. Koumoto, H. Nagano, T. Takata, T. Fujiwara, T. Kasami, and S. Lin, “An iterative soft-decision decoding algorithm,” in Proc. 18th Symp. on Information Theory and Its Applications (Hanamaki, Japan, Oct. 1995), pp. 557–560. [16] R. Y. Rubinstein, Simulation and the Monte Carlo Method. New York: Wiley, 1981. [17] A. Vardy, “Even more efficient bounded-distance decoding of the hexacode, the golay code and the Leach lattice,” IEEE Trans. Inform. Theory, vol. 41, pp. 1495–1499, Sept. 1995. [18] D. J. Muder, “Minimal trellises for block codes,” IEEE Trans. Inform. Theory, vol. 34, pp. 1049–1053, Sept. 1988. [19] T. Kasami, T. Takata, T. Fujiwara, and S. Lin, “On the optimum bit orders with respect to the state complexity of trellis diagrams of binary linear codes,” IEEE Trans. Inform. Theory, vol. 39, pp. 242–245, Jan. 1993. [20] , “On complexity of trellis structure of linear block codes,” IEEE Trans. Inform. Theory, vol. 39, pp. 1057–1064, May 1993. [21] Y. Berger and Y. Be’ery, “Bounds on the trellis size of linear block codes,” IEEE Trans. Inform. Theory, vol. 39, pp. 203–209, Jan. 1993. [22] V. V. Zyablov and V. R. Sidorenko, “Bounds on the complexity of trellis decoding of linear block codes,” Probl. Pred. Infom., vol. 29, July/Sept. 1993. [23] T. Kasami, T. Takata, T. Fujiwara, and S. Lin, “On structural complexity of the L-section minimal trellis diagrams for binary linear block codes,” IEICE Trans. Fundamentals of Elec., Comm. Comp. Sci., vol. E76-A, no. 9, pp. 1411–1421, Sept. 1993. [24] , “On branch labels of parallel components of the L-section minimal trellis diagrams for binary linear block codes,” IEICE Trans. Fundamentals of Elec., Comm. Comp. Sci., vol. E77-A, no. 6, pp. 1058–1068, June 1994. [25] G. D. Forney, Jr., “Dimension/length profiles and trellis complexity of linear block codes,” IEEE Trans. Inform. Theory, vol. 40, pp. 1741–1772, Nov. 1994. [26] G. D. Forney, Jr. and M. D. Trott, “The dynamics of group codes: State spaces, trellis diagrams and canonical encoders,” IEEE Trans. Inform. Theory, vol. 39, pp. 1491–1513, 1993. Quasi-Cyclic Structure of Reed–Muller Codes and their Smallest Regular Trellis Diagram Morteza Esmaeili, T. Aaron Gulliver, Senior Member, IEEE, and Norman P. Secord, Member, IEEE Abstract—The largest quasi-cyclic subcode of the Reed–Muller code , invariant under the shift is determined. This code, denoted is presented through its module decomposition into cyclic submodules. The smallest regular trellis diagram (SRTD) is defined for block codes. This trellis and its construction algorithm are given for the class of cyclic-form codes. Using the cyclic-form structure of , the -section SRTD of this code is determined. The eight-section SRTD is given for the Reed–Muller codes The quasi-cyclic subcodes of with regular -section minimal trellis diagrams are presented. Index Terms—Minimal trellis, quasi-cyclic codes, Reed–Muller codes, regular trellis. Manuscript received May 16, 1995; revised November 18, 1996. This work was supported in part by the Natural Sciences and Engineering, Research Council of Canada and the Telecommunications Research Institute of Ontario. M. Esmaeili is with the Department of Mathematics and Statistics, Carleton University, Ottawa, Ont., Canada K1S 5B6. T. A. Gulliver was with the Department of Systems and Computer En- gineering, Carleton University, Ottawa, Ont., Canada K1S 5B6. He is now with the Department of Electrical and Electronic Engineering, University of Canterbury, Christchurch, New Zealand. N. P. Secord is with the Communications Research Centre, Box 11490, Station H, Ottawa, Ont., Canada K2H 8S2. Publisher Item Identifier S 0018-9448(97)02629-1. 0018–9448/97$10.00 1997 IEEE
Transcript
Page 1: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1040 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

reduction in number of branches contributes to a significant reductionin computational complexity.

VII. CONCLUSION

In this correspondence, a soft-decision suboptimum decoding al-gorithm for binary linear block codes based on an iterative searchalgorithm has been presented. The decoding scheme is based onan algebraic decoding procedure to generate candidate codewords,a test for optimality, a nearest neighbor test, and a minimum-weight subtrellis search algorithm for the optimal MLD solution.Simulation results for some well-known codes have shown that theproposed algorithm achieves practically optimum or near-optimumperformance with a significant reduction in computational complexityas compared to the optimal Viterbi decoding based on the full trellisdiagram of the code. It provides a very effective tradeoff betweenerror performance and decoding complexity.

ACKNOWLEDGMENT

The authors wish to thank the reviewers for their useful commentsand suggestions. The authors also wish to thank T. Kuomoto for hishelp in part of the simulations.

REFERENCES

[1] J. K. Wolf, “Efficient maximum likelihood decoding of linear blockcodes using a trellis,”IEEE Trans. Inform. Theory, vol. IT-24, pp. 76–80,Jan. 1978.

[2] K. R. Matis and J. W. Modestino, “Reduced-search soft-decision trellisdecoding of linear block codes,”IEEE Trans. Inform. Theory, vol. IT-28,pp. 349–355, Mar. 1982.

[3] G. D. Forney, Jr., “Coset codes II: Binary lattices and related codes,”IEEE Trans. Inform. Theory,vol. 34, pp. 1152–1187, Sept. 1988.

[4] A. Vardy and Y. Be’ery, “Maximum likelihood soft-decision decodingof BCH codes,” IEEE Trans. Inform. Theory, vol. 40, pp. 546–554,Mar. 1994.

[5] Y. Berger and Y. Be’ery, “Soft trellis-based decoder for linear blockcodes,”IEEE Trans. Inform. Theory, vol. 40, pp. 764–773, May 1994.

[6] H. Yamamoto, T. Fujiwara, T. Kasami, and S. Lin, “A trellis-basedrecursive maximum likelihood decoding algorithm for linear blockcodes,” submitted toIEEE Trans. Inform. Theory, 1996.

[7] Y. S. Han, C. R. P. Hartman, and C. C. Chen, “Efficient priority-first search maximum likelihood soft-decision decoding of linear blockcodes,”IEEE Trans. Inform. Theory, vol. 39, pp. 1514–1523, Sept. 1993.

[8] T. Kaneko, T. Nishijima, H. Inazumi, and S. Hirasawa, “An efficientmaximum-likelihood decoding algorithm for linear block codes withalgebraic decoder,”IEEE Trans. Inform. Theory,vol. 40, pp. 320–327,Mar. 1994.

[9] G. D. Forney, Jr., “Generalized minimum distance decoding,”IEEETrans. Inform. Theory,vol. IT-12, pp. 125–131, Apr. 1966.

[10] D. Chase, “A class of algorithms for decoding block codes with channelmeasurement information,”IEEE Trans. Inform. Theory, vol. IT-18, pp.170–181, Jan. 1972.

[11] H. Tanaka and K. Kakigahara, “Simplified correlation decoding byselecting possible codewords using erasure information,”IEEE Trans.Inform. Theory, vol. IT-29, pp. 743–748, Sept. 1983.

[12] D. J. Taipale and M. B. Pursley, “An improvement to generalizedminimum distance decoding,”IEEE Trans. Inform. Theory, vol. 37, pp.167–172, Jan. 1991.

[13] T. Kasami, T. Takata, T. Yamashita, and S. Lin, “Suboptimum decodingof decomposable block codes,”IEEE Trans. Inform. Theory, vol. 40, pp.1392–1405, Sept. 1994.

[14] M. P. C. Fossorier and S. Lin, “Soft-decision decoding of linear blockcodes based on ordered statistics,”IEEE Trans. Inform. Theory, vol. 41,pp. 1217–1234, Sept. 1995.

[15] T. Koumoto, H. Nagano, T. Takata, T. Fujiwara, T. Kasami, and S. Lin,“An iterative soft-decision decoding algorithm,” inProc. 18th Symp. onInformation Theory and Its Applications(Hanamaki, Japan, Oct. 1995),pp. 557–560.

[16] R. Y. Rubinstein,Simulation and the Monte Carlo Method.New York:Wiley, 1981.

[17] A. Vardy, “Even more efficient bounded-distance decoding of thehexacode, the golay code and the Leach lattice,”IEEE Trans. Inform.Theory, vol. 41, pp. 1495–1499, Sept. 1995.

[18] D. J. Muder, “Minimal trellises for block codes,”IEEE Trans. Inform.Theory, vol. 34, pp. 1049–1053, Sept. 1988.

[19] T. Kasami, T. Takata, T. Fujiwara, and S. Lin, “On the optimum bitorders with respect to the state complexity of trellis diagrams of binarylinear codes,”IEEE Trans. Inform. Theory, vol. 39, pp. 242–245, Jan.1993.

[20] , “On complexity of trellis structure of linear block codes,”IEEETrans. Inform. Theory, vol. 39, pp. 1057–1064, May 1993.

[21] Y. Berger and Y. Be’ery, “Bounds on the trellis size of linear blockcodes,”IEEE Trans. Inform. Theory, vol. 39, pp. 203–209, Jan. 1993.

[22] V. V. Zyablov and V. R. Sidorenko, “Bounds on the complexity oftrellis decoding of linear block codes,”Probl. Pred. Infom., vol. 29,July/Sept. 1993.

[23] T. Kasami, T. Takata, T. Fujiwara, and S. Lin, “On structural complexityof the L-section minimal trellis diagrams for binary linear block codes,”IEICE Trans. Fundamentals of Elec., Comm. Comp. Sci., vol. E76-A,no. 9, pp. 1411–1421, Sept. 1993.

[24] , “On branch labels of parallel components of the L-sectionminimal trellis diagrams for binary linear block codes,”IEICE Trans.Fundamentals of Elec., Comm. Comp. Sci., vol. E77-A, no. 6, pp.1058–1068, June 1994.

[25] G. D. Forney, Jr., “Dimension/length profiles and trellis complexityof linear block codes,”IEEE Trans. Inform. Theory, vol. 40, pp.1741–1772, Nov. 1994.

[26] G. D. Forney, Jr. and M. D. Trott, “The dynamics of group codes: Statespaces, trellis diagrams and canonical encoders,”IEEE Trans. Inform.Theory, vol. 39, pp. 1491–1513, 1993.

Quasi-Cyclic Structure of Reed–Muller Codesand their Smallest Regular Trellis Diagram

Morteza Esmaeili, T. Aaron Gulliver,Senior Member, IEEE,and Norman P. Secord,Member, IEEE

Abstract—The largest quasi-cyclic subcode of the Reed–Muller codeR(r;m), invariant under the shift T

2 is determined. This code,denotedQCR(r;m; l); is presented through its module decompositioninto cyclic submodules. The smallest regular trellis diagram (SRTD) isdefined for block codes. This trellis and its construction algorithm aregiven for the class of cyclic-form codes. Using the cyclic-form structureof QCR(r;m; l), the 2l-section SRTD of this code is determined. Theeight-section SRTD is given for the Reed–Muller codesR(r;m): Thequasi-cyclic subcodes ofR(r;m) with regular 2l-section minimal trellisdiagrams are presented.

Index Terms—Minimal trellis, quasi-cyclic codes, Reed–Muller codes,regular trellis.

Manuscript received May 16, 1995; revised November 18, 1996. This workwas supported in part by the Natural Sciences and Engineering, ResearchCouncil of Canada and the Telecommunications Research Institute of Ontario.

M. Esmaeili is with the Department of Mathematics and Statistics, CarletonUniversity, Ottawa, Ont., Canada K1S 5B6.

T. A. Gulliver was with the Department of Systems and Computer En-gineering, Carleton University, Ottawa, Ont., Canada K1S 5B6. He is nowwith the Department of Electrical and Electronic Engineering, University ofCanterbury, Christchurch, New Zealand.

N. P. Secord is with the Communications Research Centre, Box 11490,Station H, Ottawa, Ont., Canada K2H 8S2.

Publisher Item Identifier S 0018-9448(97)02629-1.

0018–9448/97$10.00 1997 IEEE

Page 2: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 1041

I. INTRODUCTION

The trellis diagrams associated with block codes were first investi-gated in [1], [2]. These trellises can be used for soft-decision decodingvia the Viterbi algorithm. Research on the trellis structure of linearblock codes was accelerated by the work of Forney [3] in 1988. Hedemonstrated that the Reed–Muller codes have a relatively simplefour-section trellis structure. In this correspondence, we show that thequasi-cyclic (QC) structure of these codes is the reason behind thissimple trellis. This motivates our investigation of the QC structure ofReed–Muller codes and their associated trellis diagrams. The largestsubcode of therth-order Reed–Muller codeR(r;m), invariant undera shift by 2m�l positions, denoted byQCR(r;m; l), is determinedfor 1 � l <m: For example, it is shown that

QCR(r;m; 1) = QCR(r;m; 2) = R(r;m) 6= QCR(r;m; 3):

In addition

kr;m;l =

l

i=1

(2i � 1)m� l

r � i+ 1+

r�l

i=0

m� l

i

wherekr;m;l is the dimension ofQCR(r;m; l):A trellis diagram representing a block code is said to be minimal

if it has the minimum number of states. In general, the minimal2l-section trellis diagram of a QC subcode ofR(r;m) is not regular, inthe sense that the number of vertices in the diagram is not the same forall time indicesi; 0< i< 2l: When the minimal trellis diagram is notregular, a better (from the point of view of VLSI implementation)nonminimal trellis may exist. For instance, an important factor inthe implementation of a trellis decoder is the number of identicalnoncommunicating parallel subtrellises in the trellis. This is becausethe subtrellises can be processed in parallel, thus improving thedecoding speed.

In this correspondence, we introduce the concept of asmallestregular trellis diagram(SRTD). The term “smallest” is used to denotethe fact that this regular trellis diagram may not be minimal, but ithas the same state complexity (maximum number of states) as theminimal trellis. In addition, the SRTD has the maximum number ofparallel subtrellises, which is an important factor in the decodingprocess. When the minimal trellis diagram has the same number ofstates at all time indices (except for the initial and final time indices),the SRTD is in fact the minimal trellis diagram.

Based on the similarity between cyclic codes andQCR(r;m; l);we have defined the class ofcyclic-formcodes, which includes cycliccodes as a subclass. For these codes, we have determined the SRTDand developed a construction algorithm for this trellis. Using thestructure of cyclic-form codes, the SRTD ofQCR(r;m; l) can easilybe found.

This correspondence is structured as follows. The necessary back-ground material is introduced in Section II. The QC structure ofReed–Muller codes is presented in Section III. In Section IV, regulartrellis diagrams are defined, and the largest QC subcode ofR(r;m)with a regular minimal trellis diagram is found. The class of cyclic-form codes and their SRTD is presented in Section V. This allowsus to determine the SRTD ofQCR(r;m; l); which is the largestQC subcode ofR(r;m) invariant under a shift by2m�l positions.Applying the results obtained in Section V, the structure of the2l-section SRTD ofQCR(r;m; l) is determined in the first part ofSection VI. The eight-section SRTD ofR(r;m) is given in the secondpart of Section VI. Finally, some conclusions based on this work aregiven in Section VII.

II. BACKGROUND

The first part of this section presents the necessary definitions andresults concerning the minimal trellis diagram of a linear block code.The second part defines the class of Reed–Muller codes.

A. Minimal Trellis Diagrams

Describing any(n; k) linear block codeC by a trellis diagram,and therefore using the Viterbi algorithm for decoding, was firstintroduced in [1], [2]. While there are many ways in which to definethis trellis diagram, every linear block codeC has a uniqueminimaltrellis diagram,G [1]–[7]. G is minimal in the sense that it has theminimum possible number of states at any time indexi; 0 � i � n,wheren is the blocklength ofC: In fact,G is a directed graph withunique initial and final verticesv0 andvn, such that

1) Each directed path connectingv0 andvn has lengthn (and isassociated with one codeword ofC).

2) Two paths representing two different codewords differ in atleast one edge.

3) The number of vertices ofG at a distancei; 1 � i � n; fromv0 is the minimum possible.

Using the terminology of dynamic systems [8], the vertices ofG at adistancei; 0 � i � n; from v0 are called the states at time indexi:

To construct the minimal trellis diagram of a linear block code weapply the concepts of atomic codewords and trellis product operationgiven in [7]. Let

G = (V;E;A) =

n

i=0

Vi;

n

i=1

Ei; A

be a lengthn graph withVi; 0 � i � n; as the set of vertices attime index i, andEi; 1 � i � n; as the set of edges connectingthe elements ofVi�1 andVi: Every edge has a label andA, the setof labels, is a group, say under the addition operation “+.” An edgee of G connecting verticesv1 and v2 with label a is denoted bye = (v1; a; v2):

Definition 1 (Trellis Product) [7]: The product of two lengthngraphsG0 = (V 0; E0; A) and G00 = (V 00; E00; A), denoted byG0 � G00, is defined by

G0

�G00 =

n

i=0

V0

i � V00

i ;

n

i=1

E0

i �E00

i ; A

with

(e0; e00) = ((v01; a0

; v0

2); ((v00

1 ; a00

; v00

2 ))

:= ((v01; v00

1 ); a0 + a

00

; ((v02; v00

2 )):

The product ofk trellises of the same length follows by inductionon the definition. More on this subject can be found in [7].

For nonnegative integersi andj, the interval[i; j] is said to be thespanof codewordc = (c1; � � � ; cn) 2 C if ci andcj are nonzero, andcl = 0 if l ; i or j ; l: In this case, the codewordc is said to beactivein the interval[i; j� 1], and has span lengthj� i+1: The indicesiandj are called thestarting andendingpositions ofc, respectively.Note that the components of codewordc are the labels of a pathin the minimal trellis diagram of the code. In the remainder of thiscorrespondence the labeling is ignored, as we are only concernedwith the trellis structure.

For 0 � i � n � 1, let

i� = f0; 1; � � � ; ig and i

+ = fi+ 1; i+ 2; � � � ; ng (1)

and defineCi and Ci as

Ci = fc 2 C: cj = 0; i+ 1 � j � ng

Ci = fc 2 C: cj = 0; 1 � j � ig: (2)

Page 3: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1042 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

In addition, defineC0 = Cn

= C: Forney and Trott [8] haveshown that the number of states at time indexi in the minimaltrellis diagramG is equal to the cardinality of the quotient groupC=C

iCi:

Definition 2 (Atomic Codeword) [7]:A codewordc 2 C is saidto be an atomic codeword if it cannot be expressed as a linearcombination of codewords ofC with span lengths strictly smallerthan that ofc: The set of all atomic codewords with the same spanis called an atomic class.

Calling two codewords of a linear block codeC equivalent if theyhave the same span interval defines an equivalence relation onC:

An equivalence class of the partition ofC obtained by this relationconsists of all the codewords having the same span interval. In thispartition, any equivalence class containing an atomic codeword iscalled an atomic class. This is due to the fact that ifa 2 C is atomicand the span interval ofc 2 C is the same as that ofa, then c isalso an atomic codeword. An(n; k) linear block code hask distinctatomic classes [7]. Kschischang and Sorokine [7] have shown thatthe minimal trellis diagramG for C is the product of the minimaldiagrams associated with the one-dimensional codes generated byk

distinct atomic codewords, one from each atomic class. This conceptwas extended in [9] to the more general case where the code is definedover a product of vector spaces. When the dimensions of the vectorspaces differ, the code is called amixed code.

Let Vi; 1 � i � n; be a vector space overF , andC (a linearblock code) be a finitely generated subspace of the vector spaceV = �

n

i=1 Vi: Then a trellis-oriented generator matrix ofC canbe constructed for which the trellis complexity can be completelydetermined.

Definition 3 (Canonical Matrix): Let M be an m � n matrixwhose entries in thejth column are in the vector spaceVj overF: Consider the set

S = fM1;M2; � � � ;Mn;M1;M

2; � � � ;M

ng

whereMi (respectively,M i); 1 � i � n; is them� i matrix formed

from the firsti (respectively, lasti) columns ofM: Then matrixMis said to be a canonical matrix if the nonzero rows of each elementof S are linearly independent.

Any matrix can be transformed into an equivalent canonical matrixby elementary row operations.

Theorem 1 [9]: Let Vi; 1 � i � n; be a vector space over GF(q)andC a subspace ofV = �

n

i=1 Vi of dimensionk, regarded as an(n; k) linear block code. SupposeM is a canonical generator matrixfor C with rows denoted byg1; g2; � � � ; gk: Moreover, suppose thatGi; 1 � i � k; is the minimal trellis diagram of the one-dimensionalcode generated bygi: Then,G = G1 �G2 � � � � �Gk is a minimaltrellis diagram forC: |

Remark 1: Based on this theorem, we denote a canonical matrixas a trellis-oriented generator matrix (TOGM) in the remainder ofthe correspondence.

In the minimal trellis diagramG of C, let Ti(G) denote thebipartite graph consisting ofVi�1 and Vi, the set of vertices ofGat time indicesi � 1 and i, respectively, and the edges connectingthe elements ofVi�1 andVi: Let ed(v) denote the number of edgesentering a given state (or vertex)v and letld(v) denote the numberof edges leavingv:

Given the assumptions of Theorem 1, lete(i) (respectively,s(i))denote the number of rows in the trellis-oriented generator matrixM that end (respectively, start) at time indexi; 0 � i � n: Thenin Vi all vertices have the same entering and leaving degrees, i.e.,ed(v) = ed(u) = qe(i) and ld(v) = ld(u) = qs(i+1), for allv; u 2 Vi (except ld(vn) = ed(v0) = 0): In addition, b(Ti(G)),the number of edges ofTi(G) is given byb(Ti(G)) = qs +s(i),

wheresj is the number of atomic classes active at timej: The numberof components ofTi(G), denoted byti(C); 1 � i � n; is given byti(C) = qa(i) where

a(i) = jI([1; i� 1]) \ E([i+ 1; n])j:

I([i; j]) denotes the set of atomic classes ofC with span that beginsin [i; j], andE([i; j]) denotes the set of atomic classes ofC with spanthat ends in[i; j]: Moreover, each component is a complete bipartitegraph withqe(i) vertices on one side andqs(i) vertices on the other.t0(C) is defined to be zero.G consists ofqjA j identical (in termsof the graph structure) parallel subtrellises, whereA1n is the numberof rows of M that start at time index1 and end at time indexn:More on this subject can be found in [9]. In the literature, thestatecomplexity ofC has been defined to bes = max fs0; s1; � � � ; sng:

B. Reed–Muller Codes

Let a = (a1; a2; � � � ; an) and b = (b1; b2; � � � ; bn) be twon-tuples. The Boolean product ofa and b is defined to beab := (a1b1; a2b2; � � � ; anbn): The product ofi n-tuples is calleda Boolean product of degreei:

For a nonnegative integerm, consider the 2m-tuples

v0; v1; � � � ; vm such that v0 has Hamming weight2m, andvi; 1 � i � m; is the concatenation of2m�i identical blocks oflength 2

i: Each of these blocks is divided into two subblocks oflength2i�1 such that the first subblock is the string of all zeros, andthe second subblock is the string of all ones.

Definition 4 (Reed-Muller Codes):Let 0 � r � m, andA be theset consisting ofv0 and all the Boolean products of the elements ofD = fv1; v2; � � � ; vmg up to degreer: The subspace of GF(2)2

generated byA is defined as therth-order Reed–Muller code oflength 2

m, denoted byR(r;m):

SinceA is a linearly independent set of vectors, it follows fromDefinition 4 thatR(r;m) has dimension

r

i=0

m

i

and has generator matrixGr

m whose rows are precisely the elementsof A:

III. QUASICYCLIC STRUCTURE OFREED–MULLER CODES

Reed–Muller codes are closely related to QC codes. It is easilyshown that therth-order Reed–Muller codeR(r;m) is invariantunderT 2 , a shift by2m�2 positions. AlthoughR(r;m) is notinvariant underT 2 , it is shown in this section that one of itssubspaces of dimension

r

i=0

m

i�

m� 3

r � 3

is invariant underT 2 : In fact, based on Theorem 2 (which isthe main result of this section),QCR(r;m; l); the largest subcodeof R(r;m) invariant underT 2 ; 1 � l � m; is determined. Agenerator matrix forQCR(r;m; l) is given which represents a com-plete decomposition of this code into QC subcodes.QCR(r;m; 3)

andQCR(r;m; 4) are given as examples.In the remainder of this correspondence, the notationM1 � M2

means that matricesM1 and M2 have the same row space, whileM1 = M2 means thatM1 andM2 have the same rows.

From the(u; u+v)-construction ofR(r;m) [10], it is known thatGr

m, the generator matrix ofR(r;m), has the following form:

Gr

m =Gr

m�1 Gr

m�1

Gr�1m�1

; (3)

Page 4: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 1043

where denotes a matrix of all zeros. Iterating (3), it is also possibleto expressGr

m as

Gr

m =

Gr

m�2 Gr

m�2 Gr

m�2 Gr

m�2

Gr�1

m�2 Gr�1

m�2

Gr�1

m�2 Gr�1

m�2

Gr�2

m�2

: (4)

Let Bi

m denote the set of all Boolean products of degree preciselyi between elements of the setfv1; v2; � � � ; vmg: Then, for0 � i �

r � m; Gr

m can be expressed in the form

Gr

m =

Br

m

Br�1m

...Bi+1

m

Gi

m

: (5)

Obviously,Br

m consists ofm!=r!(m� r)! elements.From (3) and (5) withi = r � 1, we obtain

Gr

m=Gr

m�1 Gr

m�1

Gr�1

m�1

=

Br

m�1 Br

m�1

Gr�1

m�1 Gr�1

m�1

Gr�1

m�1

Br

m�1 Br

m�1

Gr�1

m�1

Gr�1

m�1

:

(6)

According to Definition 3, the last matrix in (6) is a trellis-orientedgenerator matrix.

On the other hand, combining (4) and (5) withi = r�2 results in

Gr

m =

Br

m�2 Br

m�2 Br

m�2 Br

m�2

Br�1

m�2 Br�1

m�2 Br�1

m�2 Br�1

m�2

Gr�2

m�2 Gr�2

m�2 Gr�2

m�2 Gr�2

m�2

Br�1

m�2 Br�1

m�2

Gr�2

m�2 Gr�2

m�2

Br�1

m�2 Br�1

m�2

Gr�2

m�2 Gr�2

m�2

Gr�2

m�2

Br

m�2 Br

m�2 Br

m�2 Br

m�2

Br�1

m�2 Br�1

m�2

Br�1

m�2 Br�1

m�2

Br�1

m�2 Br�1

m�2

Gr�2

m�2

Gr�2

m�2

Gr�2

m�2

Gr�2

m�2

: (7)

If R(r;m) is considered as a subspace of�4i=1 F

2 , then therepresentation ofGr

m given by the last matrix in (7) is a canonicalmatrix. Hence this is a trellis-oriented generator matrix for the four-section minimal trellis diagram ofR(r;m) according to Theorem1.

Consider a linear block codeC with generator matrixM: If forany row vectorc in M; T l(c) is another row vector inM , thenC isa QC code invariant underT l: Therefore, it follows from (7) that theReed–Muller codeR(r;m) is a QC code invariant underT 2 :

The trellis-oriented generator matrix of the minimal eight-sectiontrellis diagram ofR(r;m) can be obtained by iterating (4) to onemore level and substituting in (5). Assumingm> 3, the generator

matrix has the form

Gr

m �

1 1 1 1 � � � �

� � 1 1 1 1 � �

� � � � 1 1 1 1

� 1 � 1 1 � 1 �

2 2 � � � � � �

� 2 2 � � � � �

� � 2 2 � � � �

� � � 2 2 � � �

� � � � 2 2 � �

� � � � � 2 2 �

� � � � � � 2 2

0 0 0 0 0 0 0 0

3 � � � � � � �

� 3 � � � � � �

� � 3 � � � � �

� � � 3 � � � �

� � � � 3 � � �

� � � � � 3 � �

� � � � � � 3 �

� � � � � � � 3

(8)

where 0; 1; 2; and 3 denoteBr

m�3; Br�1

m�3; Br�2

m�3 and Gr�3

m�3, re-spectively, and the dashes represent all-zero matrices. Note that allmatrices in a given row have the same size.

It can easily be shown that the four rows in (8) containing thetermBr�1

m�3 are not closed under the operatorT 2 : For instance,if br�1

m�3 2 Br�1

m�3 and is a string of zeros of length2m�3, then

br�1

m�3br�1

m�3br�1

m�3br�1

m�3 62 R(r;m):

Hence,R(r;m) is not invariant underT 2 :

The largest subcode ofR(r;m) invariant underT 2 can easilybe determined by inspection of the generator matrix (8). However, forthe general caseT 2 ; l � 3; finding the largest invariant subcodeis much more difficult and the following lemmas are required.

If i = r � 1 in (5), Gr

m can be expressed as

Gr

m =Br

m

Gr�1m

: (9)

Lemma 1: For integersr andm satisfying0 � r � m� 1

Br

m =Br

m�1 Br

m�1

Br�1

m�1

: (10)

Proof: Applying (3) and (9) we obtain

Gr

m =Br

m

Gr�1m

=Br

m

Gr�1

m�1 Gr�1

m�1

Gr�2

m�1

(11)

and

Gr

m =Gr

m�1 Gr

m�1

Gr�1

m�1

=

Br

m�1 Br

m�1

Gr�1

m�1 Gr�1

m�1

Br�1

m�1

Gr�2

m�1

=

Br

m�1 Br

m�1

Br�1

m�1

Gr�1

m�1 Gr�1

m�1

Gr�2

m�1

: (12)

Now (10) follows from comparing (11) to (12). |

Using (8) as a reference, forl � 3 it is possible to define matricesM0;l;Ml�1;l; andMl;l as follows in (13)–(15) (see (14) at the topof the next page):

M0;l := [Br

m�l Br

m�l � � � Br

m�l] (13)

Page 5: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1044 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

Ml�1;l :=

Br�l+1m�l Br�l+1

m�l � � �

Br�l+1m�l Br�l+1

m�l � � �

.... ..

. .... .

. .....

� � � Br�l+1m�l Br�l+1

m�l

� � � Br�l+1m�l Br�l+1

m�l

(14)

Ml;l :=

Gr�lm�l � � �

Gr�lm�l � � �

.... ..

. .... .

...� � � Gr�l

m�l

� � � Gr�lm�l

: (15)

These three matrices have2l columns consideringBrm�l; B

r�l+1m�l

and Gr�lm�l as individual entries. It is clear thatM0;l;Ml�1;l; and

Ml;l generate quasi-cyclic codes invariant underT 2 : Denotethese quasi-cyclic codes byC0;l; Cl�1;l; and Cl;l; respectively.The remaining portion of the generator matrixGr

m can be furthersubdivided into matrices containing terms of the formBr�i

m�l for1 � i � l�2: Considering each of these submatrices as the generatormatrix of a code, we want to find the largest subcode that is invariantunderT 2 : To do this, it is more convenient to work with binarymatrices first and find the cyclic submatrices. Then, we can substituteBr�im�l for the1’s and replace the0’s by matrices of all zeros, denoted

by ; with the same dimensions asBr�im�l:

Let v1 be a binary sequence of length2� whose first fourcomponents are ones and the remaining components are all zero. Letu1 be a second binary sequence of length2

� whose componentsare all zero except for the second and fourth components whichare one. For1 � i � 2

��1 define vi = T 2i�2(v1) and ui =

T 2i�2(u1): v2 is defined to be the binary sequence of length

2� such that only the last two components are nonzero.Define the(2��1)�2

� matricesM(2�) andMc(2

�) as follows:

M(2�) =

v1u1...

v2 �1

u2 �1

v2

Mc(2�) =

w

T (w)...

T 2 �2(w)

(16)

wherew = T 2(v2 ):

Example 1: For � = 3 we have

M(23) =

1 1 1 1 0 0 0 0

0 1 0 1 0 0 0 0

0 0 1 1 1 1 0 0

0 0 0 1 0 1 0 0

0 0 0 0 1 1 1 1

0 0 0 0 0 1 0 1

0 0 0 0 0 0 1 1

;

Mc(23) =

1 1 0 0 0 0 0 0

0 1 1 0 0 0 0 0

0 0 1 1 0 0 0 0

0 0 0 1 1 0 0 0

0 0 0 0 1 1 0 0

0 0 0 0 0 1 1 0

0 0 0 0 0 0 1 1

: (17)

Lemma 2: With the foregoing notation,M(2�) is a row-reduced

generator matrix of a cyclic code and its equivalent trellis-orientedgenerator matrix isMc(2

�):

Proof: The proof is by induction on�, and is omitted. |

Next, define

ti =

vi + v2 +i; 1 � i � 2��2 � 1

2 �1

j=2

vj ; i = 2��2

(18)

and

wi = ui + u2 +i; for 1 � i � 2��2

� 1: (19)

For convenience, letpM denote the matrix obtained by concate-natingp copies of a given matrixM: Now, define the row-reducedmatricesM(2

��1 � 1; 2��2 � 1) and2M(2��1

) as

M(2��1

� 1; 2��2

� 1) :=

v1w1

...v2 �1

w2 �1

v2...

v2 �1

2M(2��1

) :=

t1w1

...t2 �1

w2 �1

t2

: (20)

Example 2: For � = 4 we have

M(7; 3) =

v1w1

v2w2

v3w3

v4v5v6v7

=

11110000 00000000

01010000 01010000

00111100 00000000

00010100 00010100

00001111 00000000

00000101 00000101

00000011 11000000

00000000 11110000

00000000 00111100

00000000 00001111

(21)

2M(23) =

t1w1

t2w2

t3w3

t4

=

11110000 11110000

01010000 01010000

00111100 00111100

00010100 00010100

00001111 00001111

00000101 00000101

00000011 00000011

Page 6: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 1045

2Mc(23

) =

11000000 11000000

01100000 01100000

00110000 00110000

00011000 00011000

00001100 00001100

00000110 00000110

00000011 00000011

: (22)

Note that2Mc(23) represents a(16; 7) cyclic code. The reason is

that a right shift of the last row of this matrix is equal to the sumof all rows of the matrix. In addition, two right shifts of the last rowgives the first row. In general, ifM represents an(n; k) cyclic codethenpM is the generator matrix of a(pn; k) cyclic code.

Lemma 3: With the foregoing notation, letC be a(2�; 3�2��2�

2) linear block code with generator matrixM(2��1� 1; 2��2� 1):

ThenC contains a unique largest cyclic subcodeC0 with generatormatrix 2Mc(2

��1):

Proof: From the structure ofM(2��1 � 1; 2��2 � 1); it can

be seen that in the row space of this matrix there is no vector whosefirst nonzero component is in the2��1th column. In other words,the binary linear block codeC with generator matrixM(2

��1 �

1; 2��2 � 1) has no codeword starting at time index2��1: Thisshows that the row space of this matrix, considered as a linear blockcode, does not contain a cyclic subcode of dimension�2��1:

It is obvious that the row space of2M(2��1

) is a subspace ofthe row space of the matrixM(2

��1 � 1; 2��2 � 1): From Lemma2, the trellis-oriented generator matrix obtained from2M(2

��1) is

2Mc(2��1

) and represents a cyclic code, as mentioned previously.Therefore, the row space ofM(2

��1�1; 2��2�1) contains a cycliccode of dimension2��1�1 with generator matrix2Mc(2

��1): This

is the largest cyclic subcode ofC, sinceC does not contain a cyclicsubcode of dimension�2��1: |

Now the largest quasi-cyclic subcode of the Reed–MullercodeR(r;m) can be defined. First, consider the set of matrices2l�i�1Mc(2

i+1) for 1 � i � l � 2: Then, for each matrix, replace

the 1’s by the matrixBr�im�l, and replace the0’s by a matrix of all

zeros with the same dimension asBr�im�l, denoted by : Denote the

resulting matrix byMi;l:

Lemma 4: The matrixMi;l; 1 � i � l � 2; is a generator matrixfor a quasi-cyclic codeCi;l of length2m and dimension

(2i+1

� 1)�m� l

r � i

invariant underT 2 : Considering the codesC0;l; Cl�1;l; andCl;l

defined earlier, for0 � i 6= j � l

Ci;l Cj;l = ;: (23)

Proof: The first statement follows from the cyclic structure of2l�i+1Mc(2

i�1) and the substitution of1 and0 with Br�i

m�l and ,respectively. For the second part, it is sufficient to state that

Br�im�l \B

r�j

m�l = ;; if 0 � i 6= j � l� 1

Gr�lm�l \B

r�im�l = ;; if 0 � i � l� 1: (24)

|

Theorem 2: The quasi-cyclic code

QCR(r;m; l) =

l

i=0

Ci;l; (25)

is the largest subcode ofR(r;m) invariant underT 2 :

Proof: The proof is by induction onl: According to Lemma 4,QCR(r;m; l) is a quasi-cyclic code of length2m which is invariantunderT 2 : Hence we need only show that this code is the largestsubcode ofR(r;m) invariant underT 2 : For l = 1 and 2, the

statement follows from (6) and (7), respectively. Suppose it holdsfor a fixed l � 2 (induction hypothesis). Now we must show thatQCR(r;m; l + 1) is the largest subcode ofQCR(r;m; l) invariantunder T 2 (Note that QCR(r;m; l + 1) is a subspace ofQCR(r;m; l)).

We can rewrite (10) in the form

Br�im�l =

Br�im�l�1 Br�i

m�l�1

Br�i�1m�l�1

: (26)

Then the matricesMi;l that generate the codesCi;l; 0 � i � l � 1;

can be expanded and partitioned into two submatrices. The firstsubmatrix consists of those rows which contain the blocksBr�i

m�l�1

and , and the second submatrix consists of those rows which contain

the blocksBr�i�1m�l�1 and : Applying (6) in a similar manner,Ml;l

can be partitioned into two submatrices with the first containing rowswith entriesBr�l

m�l�1 and , and the second consisting of rows withentriesGr�l�1

m�l�1 and : From thesel + 1 matrices, like terms can

be collected to form a new set ofl + 2 matrices, i.e., the rows ofMi;l containingBr�i

m�l�1 are grouped with those rows ofMi�1;l

containing the same term to form a new matrix. What needs to be

shown is that the matrix containing the termsBr�im�l�1 hasMi;l+1

as a submatrix andMi;l+1 is the largest submatrix invariant underT 2 : The matricesM0;l+1 andMl+1;l+1, containing the terms

Brm�l�1 andGr�l�1

m�l�1, respectively, are left behind in the process ofcollecting terms. Also, by collecting the rows containing the termsBr�lm�l�1 in the expansion ofMl�1;l andMl;l, it is easy to see that

we obtainMl;l+1:

Consider the binary matrices2l�i�1Mc(2i+1

) that were used todefineMi;l for 1 � i � l� 2: In the above expansions ofMi;l and

Mi+1;l using (26), the new matrix obtained by collecting the rows-containing termsBr�i�1

m�l�1 has an equivalent form as a binary matrix.Take the binary matrix2l�i�1Mc(2

i+1) and replace the1’s with [01]

and the0’s by [00], then take the matrix2l�i�2Mc(2i) and replace

the1’s by [11] and the0’s by [00]. The direct sum of these two binarymatrices is a matrix with2l+1 columns and3�2

i+1�2 rows. Since

2l�i�1Mc(2

i+1)

2l�i�2Mc(2

i)

= 2l�i�1 Mc(2

i+1)

2Mc(2i)

it is not difficult to see that the above substitutions and direct sumyield the matrix2l�i�1M(2

i+1�1; 2i�1): It follows from Lemma

3 that2l�i�1M(2i+1 � 1; 2i � 1) includes a unique largest cyclic

subcode with generator matrix2l�i�1Mc(2i): If the 1’s and0’s in

this latter matrix are replaced withBr�im�l�1 and , respectively, we

obtainMi;l+1, the generator matrix forCi;l+1: |

Remark 2: The dimension ofQCR(r;m; l) is

kr;m;l =

l�1

i=0

(2i+1

� 1)m� l

r � i+ 2

l

r�l

i=0

m� l

i: (27)

Page 7: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1046 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

TABLE ICOMPLEXITY PARAMETERS FOR THEEIGHT-SECTION

MINIMAL TRELLIS DIAGRAM OF RQCR(r;m; 3)

In addition, the generator matrix

Gr;m;l =

M0;l

M1;l

...Ml�1;l

Ml;l

(28)

for the quasi-cyclic codeQCR(r;m; l) is a trellis-oriented generatormatrix.

Example 3: For l = 3; Gr;m;3, the generator matrix ofQCR(r;m; 3) is given by

Gr;m;3 �

1 1 � � 1 1 � �

� 1 1 � � 1 1 �

� � 1 1 � � 1 1

2 2 � � � � � �

� 2 2 � � � � �

� � 2 2 � � � �

� � � 2 2 � � �

� � � � 2 2 � �

� � � � � 2 2 �

� � � � � � 2 2

0 0 0 0 0 0 0 0

3 � � � � � � �

� 3 � � � � � �

� � 3 � � � � �

� � � 3 � � � �

� � � � 3 � � �

� � � � � 3 � �

� � � � � � 3 �

� � � � � � � 3

(29)

where 0; 1; 2; and 3 stand for Brm�3; B

r�1m�3; B

r�2m�3 and G

r�3m�3,

respectively, and the dashes represent all-zero matrices.For l = 4, the generator matrix ofQCR(r;m; 4) is given by

Gr;m;4 �

00 00 00 00 00 00 00 00

11 �� 11 �� 11 �� 11 ��

�1 1� �1 1� �1 1� �1 1�

�� 11 �� 11 �� 11 �� 11

22 �� �� �� 22 �� �� ��

�2 2� �� �� �2 2� �� ��

�� 22 �� �� �� 22 �� ��

�� �2 2� �� �� �2 2� ��

�� �� 22 �� �� �� 22 ��

�� �� �2 2� �� �� �2 2�

�� �� �� 22 �� �� �� 22

TABLE IICOMPLEXITY PARAMETERS FOR THESIXTEEN-SECTION

MINIMAL TRELLIS DIAGRAM OF RQCR(r;m; 4)

33 �� �� �� �� �� �� ��

�3 3� �� �� �� �� �� ��

�� 33 �� �� �� �� �� ��

�� �3 3� �� �� �� �� ��

�� �� 33 �� �� �� �� ��

�� �� �3 3� �� �� �� ��

�� �� �� 33 �� �� �� ��

�� �� �� �3 3� �� �� ��

�� �� �� �� 33 �� �� ��

�� �� �� �� �3 3� �� ��

�� �� �� �� �� 33 �� ��

�� �� �� �� �� �3 3� ��

�� �� �� �� �� �� 33 ��

�� �� �� �� �� �� �3 3�

�� �� �� �� �� �� �� 33

4� �� �� �� �� �� �� ��

�4 �� �� �� �� �� �� ��

�� 4� �� �� �� �� �� ��

�� �4 �� �� �� �� �� ��

�� �� 4� �� �� �� �� ��

�� �� �4 �� �� �� �� ��

�� �� �� 4� �� �� �� ��

�� �� �� �4 �� �� �� ��

�� �� �� �� 4� �� �� ��

�� �� �� �� �4 �� �� ��

�� �� �� �� �� 4� �� ��

�� �� �� �� �� �4 �� ��

�� �� �� �� �� �� 4� ��

�� �� �� �� �� �� �4 ��

�� �� �� �� �� �� �� 4�

�� �� �� �� �� �� �� �4

(30)

where for0 � i � 3 the numberi represents the matrixBr�im�4, 4

representsGr�4m�4, and the dashes represent a matrix of all zeros.

IV. QUASICYCLIC CODES WITH REGULAR MINIMAL TRELLIS

DIAGRAMS DERIVED FROM REED–MULLER CODES

In this section, QC subcodes ofR(r;m) invariant underT 2

are introduced which have a2l-section minimal trellis diagram withthe same number of states at all time indices,1 � i � 2l � 1:

The advantage of this trellis structure is that all circuits in a VLSIimplementation are equally active at all time indices, which resultsin more efficient decoding.

Definition 5 (Regular Trellis Diagram):A trellis diagram of a lin-ear (n; k) block codeC is called regular if for all i and j; 1 � i;

j � n � 1; jVij = jVj j; where jVij denotes the number of verticesof the trellis at time indexi:

Page 8: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 1047

The largest quasi-cyclic subcode ofR(r;m) invariant underT 2 with a regular 2l-section minimal trellis diagram is de-noted by RQCR(r;m; l): From the trellis oriented generatormatrix of QCR(r;m; l); the trellis-oriented generator matrix ofRQCR(r;m; l) is given by

GRr;m;l =

M0;l

R1;l

...Rl�2;l

Ml�1;l

Ml;l

(31)

whereRi;l; 1 � i � l� 2; denotes the m�l

r�i� 2m matrix obtained

by concatenating2l copies ofBr�im�l in one row, andM0;l; Ml�1;l;

andMl;l are again given by (13)–(15), respectively.Example 4: The trellis-oriented generator matrix of

RQCR(r;m; 4); denoted by GRr;m;4; can be obtained from

(30) and is given below

00 00 00 00 00 00 00 00

11 11 11 11 11 11 11 11

22 22 22 22 22 22 22 22

33 �� �� �� �� �� �� ��

�3 3� �� �� �� �� �� ��

�� 33 �� �� �� �� �� ��

�� �3 3� �� �� �� �� ��

�� �� 33 �� �� �� �� ��

�� �� �3 3� �� �� �� ��

�� �� �� 33 �� �� �� ��

�� �� �� �3 3� �� �� ��

�� �� �� �� 33 �� �� ��

�� �� �� �� �3 3� �� ��

�� �� �� �� �� 33 �� ��

�� �� �� �� �� �3 3� ��

�� �� �� �� �� �� 33 ��

�� �� �� �� �� �� �3 3�

�� �� �� �� �� �� �� 33

4� �� �� �� �� �� �� ��

�4 �� �� �� �� �� �� ��

�� 4� �� �� �� �� �� ��

�� �4 �� �� �� �� �� ��

�� �� 4� �� �� �� �� ��

�� �� �4 �� �� �� �� ��

�� �� �� 4� �� �� �� ��

�� �� �� �4 �� �� �� ��

�� �� �� �� 4� �� �� ��

�� �� �� �� �4 �� �� ��

�� �� �� �� �� 4� �� ��

�� �� �� �� �� �4 �� ��

�� �� �� �� �� �� 4� ��

�� �� �� �� �� �� �4 ��

�� �� �� �� �� �� �� 4�

�� �� �� �� �� �� �� �4

:

(32)

The complexity parameters for RQCR(r;m; 3) andRQCR(r;m; 4) are given in Tables I and II, respectively.

Let kr;m and kRr;m;l denote the dimensions ofR(r;m) andRQCR(r;m; l), respectively. Then forl = 3 and4 the dimensionsare

kr;m = kRr;m;3 + 3

m� 3

r � 1

and

kr;m = kRr;m;4 + 4

m� 4

r � 1+ 10

m� 4

r � 2(33)

respectively. Now, define

2S

= max fjVij: 0 � i � 2lg

and

2S

= max fjUij: 0 � i � 2lg

whereVi andUi are the set of vertices of the2l-section minimal trellisdiagram ofR(r;m) andRQCR(r;m; l) at time indexi, respectively.Sr;m andSRr;m;l are defined to be the state complexities of these twocodes. ComparingSRr;m;3 and SRr;m;4 (obtained from the matricesGRr;m;3 and GR

r;m;4, respectively) withSr;m (obtained fromGrm,

given by (8)), it is found that

Sr;m =SRr;m;3 + 3

m� 3

r � 1

and

Sr;m =SRr;m;4 + 3

m� 4

r � 1+ 3

m� 4

r � 2: (34)

This together with (33) shows thatR(r;m) andRQCR(r;m; 3) arecomparable in terms of dimension. However, considering also theregularity of the codes,RQCR(r;m; 3) may be preferred for trellisdecoding. The minimum distance of these two codes is identical.

V. CYCLIC-FORM CODES AND THEIR

SMALLEST REGULAR TRELLIS DIAGRAM

The minimal four-section trellis diagram of the Reed–Muller codeR(r;m) is regular, in the sense of Definition 5, and is composed

of 2 identical parallel subtrellises. In general, the minimaltrellis diagram of a linear block code is not necessarily a regulargraph, implying that this minimal diagram is not necessarily the bestwhen considering a VLSI implementation of the decoder. In the nextsection, a unique2l-section trellis diagram for the linear block codeQCR(r;m; l) is determined which is regular and has the same statecomplexity as the minimal2l-section trellis diagram. Furthermore,the number of identical parallel subtrellises in this diagram is themaximum possible. In this case, the trellis is called thesmallestregular trellis diagram(SRTD). As an example, the minimal eight-section trellis diagram ofR(3; 6) has only two identical parallelsubtrellises, whereas the corresponding regular trellis diagram has128 parallel subtrellises.

The structure ofQCR(r;m; l) suggests that the smallest regulartrellis diagram has to be determined first for a class of codes, calledcyclic-form codes. Hence, this section considers cyclic-form codesand their smallest regular trellis diagrams.

It is known that in terms of state complexity, a cyclic code is theworst among linear block codes of the same length and dimension[11]. However, we show that cyclic codes, and in general cyclic-formcodes, are not so poor when the number of parallel subtrellises andtrellis sectionalization are considered. These two factors play a majorrole in the implementation of soft-decision decoding of these codesusing a trellis.

Definition 6 (Cyclic-Form Code):An (n; k) linear block codeCis called acyclic-form code if in M , the trellis-oriented generatormatrix of C, for any i; 1 � i � k; precisely one row ofM hasspan [i; n � k + i]:

Example 5: The linear block codeC with generator matrix

M =

1 0 1 0 0

0 1 1 1 0

0 0 1 0 1

Page 9: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1048 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

(a)

(b) (c)

Fig. 1. (a) The minimal trellis diagramGmin of the linear block codeC given in Example 6. (b) The bipartite graphG. (c) 2G, the central section ofGmin:

is a cyclic-form code. Note that this code is not a cyclic code, butall cyclic codes are cyclic-form codes.

Theorem 3: The smallest regular trellis diagramGSR of an(n; k)linear cyclic-form codeC consists ofmax f1; 22s�kg structurallyidentical parallel subtrellises, wheres is the state complexity of thecode.

Proof: Let Gmin be the minimal trellis diagram ofC: If s = k,then it is obvious that the graph formed by2k internally disjoint pathsof lengthn (that share the initial and final vertices) is the smallestregular trellis diagram ofC: Now suppose thatk � s> 0: Considerthe bipartite graphG with 2

s vertices on each side such that eachvertex has degree2, and theith pair of vertices,1 � i � 2

s�1, onthe left side are adjacent to both theith and(2s�1+ i)th vertices onthe right side. Pairs of vertices are determined beginning with the toptwo, then proceeding down the graph to the bottom two. The graph2G is defined to be the graph obtained by concatenating two copiesof G such that the right vertices of the left copy are also the leftvertices of the right copy. This construction is illustrated in Fig. 1.

G consists of2s�1 components, while the number of componentsin 2G is 2

s�2: Define (m + 1)G to be the graph obtained by

concatenatingmG with G, in the same manner that2G was defined.It is easily checked thatmG consists of2s�m components (inductionon m). The central part ofGmin is (k� s)G, the section containingthe time indices in which the number of vertices is2

s: Hence, this part

of Gmin has22s�k components. In fact, this part ofGmin determinesthe structure ofGSR for the following reasons.

1) The two sections ofGmin that lie on the right and left sidesof (k � s)G can be removed, except for the initial and finalverticesv0 and vn:

2) Vertexv0 is connected to all vertices on the left side of(k�s)G

by 2s internally disjoint paths, andvn is connected to all

vertices on the right side of(k � s)G in the same manner.

The resultant graph has22s�k identical components, and has statecomplexity s: This graph isGSR, since an increase in the numberof components of(k � s)G causes either an increase in the statecomplexity or a loss of code linearity. |

Page 10: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 1049

Example 6: For the cyclic-form codeC with trellis-oriented gen-erator matrix

M =

1 1 0 1 1 0 0 0 0 0

0 1 1 1 1 1 0 0 0 0

0 0 1 0 1 0 1 0 0 0

0 0 0 1 1 1 1 1 0 0

0 0 0 0 1 0 1 1 1 0

0 0 0 0 0 1 1 1 0 1

the minimal trellis diagramGmin, the bipartite graphG, and thecentral portion,2G of Gmin are shown in Fig. 1.

Corollary 1: The smallest regular trellis diagram of an(n; k)linear cyclic block codeC consists oft(C)

t(C) =2k; if 2k<n+ 1

max f1; 22n�3kg; if 2k � n+ 1(35)

identical parallel subtrellises.We now describe a method for constructing the smallest regular

trellis diagram of an(n; k) linear cyclic-form block codeC withtrellis-oriented generator matrixM:

If s = k, then the smallest regular trellis diagramGSR consists of2k parallel paths of lengthn connecting the initial and final vertices.

Suppose thatk�s = m> 0: Consider the(n; 2m) linear block codeC0 with generator matrixM 0 whose firstm and lastm rows are

precisely the first and lastm rows ofM: The state complexity ofC 0

is m = k � s: Let G0

min denote the minimal trellis diagram ofC 0

:

The following steps can be used to obtainG0

SR, the smallest regulartrellis diagram ofC 0.

1) Discard the portion ofG0

min between the initial vertex and thevertices at time indexm:

2) In the remaining graph, connect the initial vertexv0 to allvertices at time indexm with internally disjoint paths.

3) At time index j; 1 � j <m; place one vertex on each pathdrawn in the previous step.

4) Repeat the above steps with time indices0 and m replacedby time indicesn andn �m+ 1, respectively. The resultinggraph isG0

SR:

With the rows ofM 0 removed fromM , the remaining matrixM 00

represents an(n; 2s�k) linear block codeC 00 with state complexitythat is also2s� k: HenceG00

SR; the smallest regular trellis diagramof C 00, consists of22s�k parallel paths connecting the initial andfinal vertices. The smallest regular trellis diagramGSR of C isGSR = G

0

SR � G00

SR:

This construction produces a sectionalized trellis diagram, evenwhen t(C) = 1: The resulting trellis is a(k � s+ 2)-section trellisin which each edge in the first and last sections has a label of(k � s+ 2)=2 bits and the other edges have a label of 1 bit.

Example 7: Consider the cyclic-form codeC given in Example 4with trellis-oriented generator matrixM , and parametersk = 6 ands = 4: MatricesM 0 andM 00 are

M0

=

1 1 0 1 1 0 0 0 0 0

0 1 1 1 1 1 0 0 0 0

0 0 0 0 1 0 1 1 1 0

0 0 0 0 0 1 1 1 0 1

M00

=0 0 1 0 1 0 1 0 0 0

0 0 0 1 1 1 1 1 0 0

and the trellis diagramsG0

min; G0

SR; G00

SR; andGSR are shown inFig. 2.GSR is a four-section trellis diagram. Each edge in the firstand last section ofGSR has a label of 4 bits whereas the edges ofthe second and third sections have a label of 1 bit. Note that viewingG00

SR andGSR as four-section trellises shows that these two trellises

(a)

(b)

(c)

(d)

Fig. 2. Relating to Example 7. (a)G0

min, the minimal trellis diagram ofC0.

(b) G0

SR, the smallest regular trellis diagram ofC0; (c) G00

SR, the smallest

regular trellis diagram ofC00. (d) GSR, the smallest regular trellis diagramof C:

are indeed minimal trellis diagrams ofC 0 andC with trellis-orientedgenerator matricesM 0 andM , respectively, given by

M 0 =

1101 1 0 0000

0111 1 1 0000

0000 1 0 1110

0000 0 1 1101

M =

1101 1 0 0000

0111 1 1 0000

0010 1 0 1000

0001 1 1 1100

0000 1 0 1110

0000 0 1 1101

:

These two matrices are sectionalized versions ofM0 andM:

This observation leads to a simpler algorithm for the constructionof the SRTD of a cyclic-form code. ForC an(n; k) cyclic-form codewith state complexitys and TOGMM , this algorithm is given bythe following steps.

1) Consider the first and the last(n� k+ s)=2 columns ofM astwo columns, so thatM is now ak � (k � s+ 2) matrix M:

2) The minimal trellis diagram of the(k; k� s+2) codeC withTOGM M; in the sense of Theorem 1, is the SRTD ofC:

VI. REED–MULLER CODES AND

SMALLEST REGULAR TRELLIS DIAGRAMS

The2l-section SRTD ofQCR(r;m; l) and the eight-section SRTDof R(r;m) are given in the first and second parts of this section,

Page 11: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1050 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

Fig. 3. One of the eight parallel subtrellises ofT3;5;3:

respectively. The QC structure ofQCR(r;m; l) produces a simpletrellis structure. All internal sections (between time indices1 and2l � 1) of the parallel subtrellises in the SRTD ofQCR(r;m; l) areidentical. This property is illustrated in Fig. 5. However, this is notthe case for the eight-section SRTD ofR(r;m) as seen in Fig. 6.The results of this section suggests that in terms of the2l-sectiontrellis diagrams and VLSI implementation,QCR(r;m; l) may bepreferable toR(r;m):

A. The Smallest Regular Trellis Diagram ofQCR(r;m; l)

Let Gl�1 denote the2l-section minimal trellis diagram of thequasi-cyclic codeCl�1;l invariant underT 2 : Ti(Gl�1) is a

complete bipartite graph with2 vertices on each side for2 � i � 2l�1: Denote the2l-section smallest regular trellis diagramof QCR(r;m; l) by Tr;m;l:

Theorem 4: Tr;m;l consists of

(2 �1)

identical parallel subtrellises, each of which is a copy ofGl�1:

Proof: According to Theorem 2,QCR(r;m; l) is the directsum of Ci;l; 0 � i � l; and from (28), the2l-section minimaltrellis diagram of this code is the product of the2l-section minimaltrellis diagrams of its components. All rows ofMi;l; 0 � i �

l � 2; are active at time index2l�1, so for these components thestate complexity is equal to the dimension. Hence, in the smallestregular trellis diagram of the subcode�l�2

i=0 Ci;l, the distinct pathsrepresenting any two codewords have no connection except at theinitial and final vertices, meaning that this graph consists of

(2 �1)

parallel paths connecting the initial and final vertices. The minimaltrellis for Cl;l consists of one state, and its product with the trellis ofthe subcode�l�2

i=0 Ci;l does not alter the state complexity althoughit does increase the number of edges connecting two vertices. FromCorollary 1, the2l-section minimal trellis diagram and2l-sectionsmallest regular trellis diagram ofCl�1;l are identical and have onecomponent. |

Note that inTr;m;l, the number of edges connecting two adjacentvertices is2k , the number of codewords inR(r � l;m� l):

Example 8: For the (32; 25; 4) quasi-cyclic codeQCR(3; 5; 3);the smallest regular trellis diagram,T3;5;3 consists of eight struc-turally identical parallel subtrellises, one of which is shown in Fig.3.

B. The Eight-Section Smallest Regular Trellis Diagram ofR(r;m)

The eight-section minimal trellis diagram ofR(r;m) is determinedby its trellis-oriented generator matrixGr

m, given by (8).Grm consists

Fig. 4. The minimal trellis diagram for the trellis-oriented generator matrixgiven by (36).

Fig. 5. The smallest regular trellis diagram for the trellis-oriented generatormatrix given by (36).

of four parts, three of which are cyclic codes (in terms of theeight-section minimal trellis diagram). Therefore, determining theeight-section SRTD ofR(r;m) is largely based on the eight-sectionSRTD of the code with trellis-oriented generator matrix

M =

1 1 1 1 0 0 0 00 0 1 1 1 1 0 00 0 0 0 1 1 1 10 1 0 1 1 0 1 0

: (36)

Note that (36) is a generator matrix for the(8; 4; 4) binary code,which is also a Reed–Muller code. The state complexity of thecorresponding code is3, and the minimal trellis diagram and smallestregular trellis diagram are given in Figs. 4 and 5, respectively. Notethat Fig. 5 consists of four parallel subtrellises, while there are noparallel subtrellises in the minimal trellis diagram.

It follows that the eight-section SRTD of the subcode ofR(r;m)with trellis oriented generator matrix (see (37) at the bottom ofthe page) is the m�3

r�1-fold product of the trellis in Fig. 5 with

itself. Given that the original graph has identical parallel subgraphs,induction onn shows that thisn-fold product yields a graph with22n identical parallel subgraphs. From Corollary 1, the SRTD of thesubcode ofR(r;m) with trellis-oriented generator matrixGr

m �M 0

consists of2 identical parallel subtrellises. Hence, we haveproved the following theorem.

Theorem 5: The eight-section smallest regular trellis diagram ofR(r;m) consists of

+2

identical parallel subtrellises. |

Let G denote the three-section minimal trellis diagram of the codegiven by the trellis-oriented generator matrix

Br�2m�3

Br�2m�3

Br�2m�3

Br�2m�3

:

M0 =

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

Br�1m�3

(37)

Page 12: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997 1051

Fig. 6. One of the four parallel subtrellises of the eight-section smallest regular trellis diagram ofR(3; 5):

The section ofG between time indices1 and2, denoted byT2(G), is

a complete bipartite graph with2 vertices on each side. LetT1denote the bipartite graph with two vertices on each side. Inductionon n shows thatT 0 = T

n

1 � T2(G) is a complete bipartite graph

with 2n+ vertices on each side, whereTn

1 denotes then-foldproduct ofT1 with itself. Therefore,

1 2

is a complete bipartite graph with

+

vertices on each side. It follows that the number of components inthe eight-section SRTD ofR(r;m) is

ti(GSR) =2

+2; i = 5

2+3

; i = 2; 3; 4; 6; 7

1; i = 1; 8

where for i = 5 each component is a copy ofT 0, and fori = 2; 3; 4; 6; and7; each component is a copy ofT2(G):

Example 9: One of the four identical parallel subtrellises of theeight-section smallest regular trellis diagram ofR(3; 5) is given inFig. 6.

Comparing Figs. 3 and 6, it would appear that a decoder forthe eight-section SRTD ofQCR(3; 5; 3) would be simpler than adecoder for the SRTD of the Reed–Muller codeR(3; 5): The formerrequires eight parallel processors, while the latter requires only four.However, each processor in the decoder forQCR(3; 5; 3) has fourstates, whereas there are eight states in the processors forR(3; 5):

The tradeoff for this simplified decoder structure is a small decrease inthe code dimension:QCR(3; 5; 3) is a(32; 25; 4) code whileR(3; 5)

is a (32; 26; 4) code. As another example, consider the eight-sectionSRTD of R(3; 6), which is a (64; 42) code. This trellis has 128parallel subtrellises, each of which has 64 states. The eight-sectionSRTD ofQCR(3; 6; 3) has 1024 parallel subtrellises, each of whichhas only eight states. The penalty for this highly parallel structure isa loss in dimension of only3. In general, whenl > 3, a decoder forthe 2l-section SRTD ofQCR(r;m; l) is likely to be less complexthan a decoder for the Reed–Muller codeR(r;m):

VII. CONCLUSIONS

In this correspondence, the quasi-cyclic structure ofthe Reed–Muller codes has been analyzed. Specifically,QCR(r;m; l), the largest quasi-cyclic subcode ofR(r;m)

invariant underT 2 has been determined. As a subcode of

QCR(r;m; l); RQCR(r;m; l); the largest regular quasi-cyclicsubcode ofR(r;m) invariant underT 2 has also been introduced.

Based on the regular structure of the four-section minimal trellisdiagram of the Reed–Muller codeR(r;m), we have defined thesmallest regular trellis diagram (SRTD) for a linear block code. Wehave shown that the state complexity of this trellis is the same asthat of the minimal trellis diagram, and that the number of identicalparallel subtrellises is the maximum possible. The regularity andparallel structure of the SRTD yield the desirable property that allcircuits of a VLSI implementation can be equally active in successiveintervals of the decoding process, providing substantial improvementsin simplicity of implementation and in decoding speed.

To determine the smallest regular trellis diagram ofQCR(r;m; l),the class of cyclic-form codes was introduced. In addition, analgorithm was developed for constructing the trellis of these codes.It was shown that in terms of the four-section trellis diagram, thesmallest regular trellis diagram ofRQCR(r;m; l) is identical to theminimal trellis diagram ofR(r;m):

In terms of VLSI implementation, a comparison of the2l-sectionsmallest regular trellis diagram ofQCR(r;m; l) and the trellisdiagram ofR(r;m) shows thatQCR(r;m; l) may be preferable toR(r;m):

REFERENCES

[1] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding oflinear codes for minimizing symbol error rate,”IEEE Trans. Inform.Theory, vol. IT-20, pp. 284–287, Mar. 1974.

[2] J. K. Wolf, “Maximum likelihood decoding of linear block codes usinga trellis,” IEEE Trans. Inform. Theory, vol. IT-24, pp. 76–80, Jan. 1978.

[3] G. D. Forney, Jr., “Coset codes part II: binary lattices and related codes,”IEEE Trans. Inform. Theory, vol. 34, pp. 1152–1187, Sept. 1988.

[4] J. L. Massey, “Foundation and methods of channel encoding,” inProc.Int. Conf. on Information Theory and Systems, vol. 65, (Berlin, Germany,Sept. 1978).

[5] D. Muder, “Minimal trellises for block codes,”IEEE Trans. Inform.Theory, vol. 34, pp. 1049–1053, Sept. 1988.

[6] T. Kasami, T. Fujiwara, Y. Desaki, and S. Lin, “On structural complexityof theL-section minimal trellis diagram for binary linear block codes,”IEICE Trans., vol. E76-A, pp. 1411–1421, Sept. 1993.

[7] F. R. Kschischang and V. Sorokine, “On the trellis structure of blockcodes,”IEEE Trans. Inform. Theory, vol. 41, pp. 1924–1937, Nov. 1995.

[8] G. D. Forney, Jr. and M. D. Trott, “The dynamics of group codes: Statespaces, trellis diagrams, and canonical encoders,”IEEE Trans. Inform.Theory, vol. 39, pp. 1491–1513, Sept. 1993.

[9] M. Esmaeili, T. A. Gulliver, and N. P. Secord, “Trellis complexityof linear block codes via atomic codewords,” inInformation Theoryand Applications II, Proc. 4th Canadian Workshop on Information The-ory (Springer-Verlag Lecture Notes in Computer Science). New York:Springer-Verlag, Sept. 1996, pp. 130–148.

[10] S. Roman,Coding and Information Theory(Graduate Texts in Mathe-matics, vol. 134). New York: Springer-Verlag, 1992.

Page 13: Quasi-cyclic structure of Reed-Muller codes and their smallest regular trellis diagram

1052 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 3, MAY 1997

[11] T. Kasami, T. Takata, T. Fujiwara, and S. Lin, “On complexity of trellisstructure of linear block codes,”IEICE Trans., vol. 39, pp. 1057–1064,May 1993.

Low-Complexity Decoding of Partial Unit MemoryCodes on Precoded Partial-Response Channels

Marianne Fjelltveit Hole and Kjell Jørgen Hole,Member, IEEE

Abstract—Cosets of convolutional codes can be used to obtain largefree Euclidean distances and short maximum zero-run lengths at theoutput of the 1�D partial-response channel (PRC). We present a newsoft-decision decoding technique for cosets of convolutional codes on theprecoded1�D PRC. The decoding technique is especially well suited forcosets of partial unit memory (PUM) convolutional codes. A connectionbetween the decoder trellises for cosets of block codes and PUM codes onthe 1�D PRC is exploited to obtain a small number of operations perdecoded information bit. We prove that the new decoding technique needsfewer operations than the Viterbi algorithm for any (n; n � r), r � 1,PUM code coset withn � 2��r where � is the constraint length. It isalso indicated how to prove the same result for other classes of codes. Formany of the best known PUM code cosets, the new decoding techniquerequires both fewer operations per decoded information bit and smallerpath memories than the Viterbi algorithm needs for comparable cosetsof punctured convolutional codes.

Index Terms—Convolutional codes, decoding complexity, partial-res-ponse channels, trellis structure.

I. INTRODUCTION

A two-step decoding technique for binary(n; k) convolutionalcodes on discrete memoryless channels (DMC’s) was recently intro-duced in [1]. The new decoding technique was obtained by exploitinga connection between the trellis representations for convolutionalcodes and block codes. A standard trellis representation for convo-lutional codes has long been known. Lately, many papers have beenwritten on trellis representations for block codes (see [2] and thereferences therein). The labels in the standard trellis representationfor any convolutional code constitute cosets of a block code. In [1]a “simple” trellis representation for this block code and its cosetswas used to reduce the number of operations needed to decode aconvolutional code compared to the number of operations needed bythe Viterbi algorithm applied to the standard trellis.

In this correspondence, we extend the modified Viterbi decodingtechnique described in [1] to cosets of convolutional codes on theprecoded partial-response channel (PRC) with discrete-time transferfunction1�D. We note that our decoding technique also applies tothe PRC with transfer function1�D2, often called the PR4 channel,if this channel is regarded as two time-interleaved1 � D channelswith independent coding and decoding.

The new decoding technique is especially well-suited for partialunit memory (PUM) convolutional codes. Many authors have inves-tigated PUM codes [3]–[6]. We are especially interested in a classof PUM codesC� first investigated in [7]. Cosets of PUM codes in

Manuscript received November 13, 1995; revised September 26, 1996. Thiswork was supported by the Norwegian Research Council, NFR.

The authors are with the Department of Informatics, University of Bergen,HiB, N-5020 Bergen, Norway.

Publisher Item Identifier S 0018-9448(97)02312-2.

classC� result in large free Euclidean distances and short maximumzero-run lengths at the output of the precoded1�D PRC.

The (hardware) complexity of the new Viterbi decoding techniquefor a PUM code coset on the1�D channel is estimated by the numberof binary operations per decoded information bit and the size of thepath memory needed to store the candidates for the best path in thedecoder trellis. For simplicity, and to be consistent with the literature[8], [9], we do not calculate the number of operations needed duringthe backtracing of the path memory. The symbol metric computationis also ignored.

We prove that the new decoding technique always uses feweroperations than the Viterbi algorithm when both algorithms areapplied to a coset of an(n; n � r) PUM code withn � 2��r

where� is the constraint length of the code. It is also indicated howto extend this result to other classes of convolutional codes.

Punctured convolutional codes constitute a subclass of ordinaryconvolutional codes. Cosets of punctured convolutional codes thatresult in large free Euclidean distances and short maximum zero-runlengths at the output of the1 � D PRC were described in [7]. Ifthe Viterbi algorithm is used, the number of operations per decodedinformation bit is significantly less for punctured convolutional codecosets than for ordinary convolutional code cosets. We compare thenew decoding technique, applied to some of the best PUM codecosets, with the Viterbi algorithm, applied to comparable puncturedcode cosets. It is seen that the new decoding technique has smallerdecoding complexity.

The remainder of the correspondence is organized as follows. InSection II we give a brief description of the decoding technique forPUM codes introduced by Hole and Ytrehus [1]. We concentrate onthe decoding of PUM codes in the classC�. A simple model of aconvolutionally coded1 � D PRC is presented in Section III. Thenew decoding technique for cosets of PUM codes on the1 � D

PRC, obtained by generalizing the decoding technique reviewed inSection II, is described in Section IV. Section V contains the proofshowing that the new decoding technique needs fewer operationsthan the Viterbi algorithm for any(n; n � r) PUM code coset withn � 2��r. The complexity of the new decoding technique for high-rate (R � 1=2) PUM code cosets is compared to the complexityof the Viterbi algorithm for punctured convolutional code cosets inSection VI.

It is assumed that the reader is familiar with the theory forconvolutional codes and encoding matrices as presented in [10], [11],or [12].

II. REVIEW OF DECODING TECHNIQUE IN [1]

Let C� be the class of(n; n � r), r � 2, PUM codes withminimal-basic [11] parity-check matricesHHH (= HHH(D)) of the form

HHH =

h11 � � � hn1... � � �

...h1r�1 � � � hn

r�1

p1(D) � � � pn(D)

:

Here, ther � 1 first rows,hhhi = (h1i� � � hn

i), of the parity check

matrix are binary vectors. The last row consists of polynomials withbinary coefficients and degrees bounded by the constraint length�

such that at least one polynomial has degree equal to�. The r � 1first rowshhhi of the parity-check matrix define parity-check equationsensuring that only2n�r+1 of the 2n different binaryn-tuples are

0018–9448/97$10.00 1997 IEEE


Recommended