TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding...

50
_ _ LI__ TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES Part 3 Shu Lin and Marc Fossorier April 20, 1998 https://ntrs.nasa.gov/search.jsp?R=19990014066 2020-05-08T01:51:51+00:00Z

Transcript of TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding...

Page 1: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

_ • _ LI__

TRELLISES AND TRELLIS-BASED

DECODING ALGORITHMS FOR

LINEAR BLOCK CODES

Part 3

Shu Lin and Marc Fossorier

April 20, 1998

https://ntrs.nasa.gov/search.jsp?R=19990014066 2020-05-08T01:51:51+00:00Z

Page 2: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which
Page 3: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

t

I

13 THE MAP AND RELATED DECODING

ALGORITHMS

In a coded communication system with equiprobable signaling, MLD minimizes

the word error probability and delivers the most likely codeword associated with

the corresponding received sequence. This decoding has two drawbacks. First,

minimization of the word error probability is not equivalent to minimization of

the bit error probability. Therefore, MLD becomes suboptimum with respect

to the bit error probability. Second, MLD delivers a hard-decision estimate of

the received sequence, so that information is lost between the input and output

of the ML decoder. This information is important in coded schemes where the

decoded sequence is further processed, such as concatenated coding schemes,

multi-stage and iterative decoding schemes.

In this chapter, we first present a decoding algorithm which both minimizes

bit error probability, and provides the corresponding soft information at the

output of the decoder. This algorithm is referred to as the MAP (maximum a-

posteriori probability) decoding algorithm [1]. Unfortunately, the trellis-based

implementation of the MAP algorithm is much more complex than that of the

243

Page 4: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which
Page 5: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

244 TRELLISESAND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

trellis-based MLD algorithms presented in the previous chapters. Consequently,

suboptimum versions of the MAP algorithm with reduced decoding complex-

ity must be considered for many practical applications. In Section 13.2, we

present a near-optimum modification of the MAP algorithm, referred to as the

Max-Log-MAP (or SOVA) decoding algorithm [34, 39, 40]. This near-optimum

algorithm performs within only few tenths of a dB of the optimum MAP de-

coding algorithm while reduces decoding complexity drastically. Finally, the

minimization of the bit error probability in trellis-based MLD is discussed in

the last section.

13.1 THE MAP DECODING ALGORITHM

Consider a binary (N, K) linear block code C. Let u = (uh u2,...,uN) be a

codeword in C. Define P(A[B) as the conditional probability of the event A

given the occurrence of the event B. The MAP decoding algorithm evaluates

the most likely bit value ui at a given bit position i based on the received

sequence r = (el,r2,... ,rt¢). It first computes the log-likelihood ratio

P(ui = llr)

Li !log P(u_ 01r ) (13.1)

for 1 < i < N, and then compares this value to a zero-threshold to decode ui

as

1 for Li > 0, (13.2)ui= 0 for L_ ___0.

The value Li represents the soft information associated with the decision on ui.

It can be used for further processing of the sequence u delivered by the MAP

decoder.

In the N-section trellis diagram for the code, let Bi(C) denote the set of

all branches (o'__l,ai) that connect the states in the state space _i-l(C) at

time-(/- 1) and the states in the state space _-,i(C) at time-/for 1 < i < N. Let

By(C) and B:(C) denote the two disjoint subsets of B,(C) that correspond to

the output code bits ui = 0 and u_ = 1, respectively, given by (3.3). Clearly

Bi(C) = B°(C) kJ B_(C) (13.3)

for 1 < i < N. For (a',a) E BI(C), we define the joint probability

Ai(a',a) _a P(ai-1 = a';al = a; r) (13.4)

Page 6: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

THE MAP AND RELATED DECODING ALGORITHMS 245

for l<i<N. Then

.o(,,,= 0;,.) = _ _,(_',a), (iS.5)(o',_,)¢_(c)

P(u, = I;,-)= _ _,(_',=). (13.6)(q',a)Ea_(C)

The MAP decoding algorithm computes the probabilities Ai(a',a) which are

then used to evaluate P(ui = 0it) and P(ul = llr) in (13.1) from (13.5) and

(13.6).

For 1 < i < N, 1 < l < m < N, and r_ _ (r_,rt+l .... ,rm) , we define the

probabilities

,;,,Ca)_ PC,:r,=a;,._), (13.7),a,(a) _ P(r_.la,=,,'), (13.8)

-),,(a',a) _ P(a_=a;,-dai_l=a' )

= P(r,l(o',__,a,) = (a',a)) 2(0", = o"1o",-1= o"). (13.9)

Then, for a memoryless channel,

_,(a', a) = _,_lCa') ;,(a', _)_,(_) (13.10)

for 1 <_ i _< N, which shows that the values ,xi(a',a ) can be evaluated by

computing all values ai(a), _i(a) and 71(a', a). [;ased on the total probability

theorem, we can express a/(a), for 1 < i < N, as follows:

_,(_) = E P(a,_, = _';_, = a;,'_-'.,,),a'E_.,_,(C)

= E cli-l(al)_[i(a;'a)"

a'E_:,-z(C)

(13.11)

Similarly, for 1 < i < N,

Z,(_) E P(ri+l; N a' la'_. a')= 1Pi+2; Oi+l : =

tr'EE,+z(C)

= _ _,+_(a')_,+,(,,a').a'E_,+I(C}

(13.12)

Page 7: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

246 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

From (13.11),we see that the probabilitiesai(a) with I _< i _< N can be

computed recursivelyfrom the initialstateco to the finalstatea I of the N-

section trellis for code C, once 7i(at, a)'s are computed. This is called the

forward recursion. From (15.12), we see that the probabilities _i(c) with

1 < i < N can be computed recursively in backward direction from the final

state crf to the initial state ao of the N-section trellis of (7. This is called the

backward recursion.

For the AWGN channel with BPSK transmission, we have

PCr,lci_x = c'; ci = a) = (_rNo) -1/2 expC-(ri- c,) lNo) _,(-',a), (13.13)

where

1 if (c',a) e B,(C), (13.14)&i(a',a) = 0 if (a',a) ¢_Bi(C).

For &i(cr',c) = 1, ci = 2ul - 1 is the transmitted signal corresponding to the

label ui of the branch (c',c). Based on (13.13), 7/(c',c) is proportional to the

value

w,(a', ¢) = exp(-(r, - c,)2/No) 3,(a', c) P(c, = cla,-1 = a'). (13.15)

Note that in many applications such as MAP trellis-based decoding of linear

codes, the a-priori probability of each information bit is the same, so that all

states _r E ]Ei(C) are equiprobable. Consequently, P(ci -- alcri-t = c') be-

comes a constant that can be discarded in the definition of wi(a _,a). However,

this is not true in general. For example, in iterative or multi-stage decoding

schemes P(ci = clai-1 = a') has to be evaluated after the first iteration, or

after the first decoding stage. Since in (13.1), we are interested only in the

ratio between P(u, = llr ) and P(ui = 01r ), Ai(c',a) can be scaled by any

value without modifying the decision on uj. Based on these definitions, ai(c)

can be computed recursively based on (13.11) using the trellis diagram from

the initial state co to the final state err as follows:

(1) Assume that ai-t(c') has been computed for all states a' E Ei-I(C).

(2) In the i-th section of the trellis diagram, associate the weight w_(cd, c)

with each branch (c',a) • Bi(C).

Page 8: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

THE MAP AND RELATED DECODING ALGORITHMS 247

(3) For each state crE _i(C), evaluate and store the weighted sum

a,(o') = _ w,(o", o') ai-t(o"). (13.16)

e'El:i-l{C):Si{_e,e):l

The initial conditions for this recursion are ao(a0) = 1 and a0(a) = 0 for

Or _ O'0 .

Similarly, _i(a) can be computed recursively based on (13.12) using the

trellis diagram from the final state crI to the initial state ao as follows:

(1) Assume that 3i+l(a') has been computed for all states a' E _]i+I(C).

(2) In the (i + 1)-th section of the trellis diagram, associate the weight

w,+l(a,a') with each branch (a,a') e B,+_(C).

(3) For each state o"E Ei(C), evaluate and store the weighted sum

Z a,+l/.')a'EE,+t(C):_i,,._(a,a')=I

(13.17)

The corresponding initial conditions are fiN (o'f) :: 1 and _N(a) = 0 for a # a I.

The MAP decoding algorithm requires one for _ard recursion from ao to al,

and one backward recursion from a I to a0 to evalt_ate all values al (a) and fli (a)

associated with all states ai E _i(C), for 1 < i < N. These two recursions

are independent of each other. Therefore, the forward and backward recursions

can be executed simultaneously in both directions along the trellis of the code

C. This bidirectional decoding reduces the decoding delay. Once all values of

ai(a) and fli(a) for 1 < i < N have been deterrlined, the values L, in (13.1)

can be computed from (13.5), (13.6), (13.9) and :13.10).

13.2 THE SOVA DECODING ALGORITHM

The MAP decoding algorithm presented in the previous section requires a large

number of computations and a large storage to _ ompute and store the proba-

bilities a,(a), fli(a) and 7i(a',a) for all the stat :s a and state pairs (a',a) in

the trellis for the code to be decoded. For a lolg code with large trellis, the

implementation of the MAP decoder is practical y impossible. Also, the MAP

Page 9: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

248 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

decoding algorithm computes probability values, which require much more com-

plicated real value operations than the real additions performed by trellis-based

MLD algorithms, such as the Viterbi decoding and RMLD algorithms.

In this section, we present an algorithm for which the optimum bit error

performance associated with the MAP algorithm is traded with a significant

reduction in decoding complexity. This algorithm is known as the Max-Log-

MAP algorithm or soft-output Viterbi algorithm (SOVA), as it performs

the same operations as the Viterbi algorithm, with additional real additions

and storages.

For BPSK transmission, (13.1) can be rewritten as

for 1 < i < N and ci = 2ul - 1. Based on the approximation

N

log(E 6j) _ log( max {6j}), (13.19)2---1

we obtain from (13.18)

L, _ log( max P(clr)) -log( max P(cJr)). (13.20)

For each code bit ui, the Max-Log-MAP algorithm [40] approximates the cor-

responding log-likelihood ratio Li based on (13.20).

For the AWGN channel with BPSK transmission, we have

PCclr) = P(rlc)P(c)lP(r)

= (_rNo)-N/:e - E;':,{"-c,)'/N°P(c)/P(r). (13.21)

IfcI t I 1 I cO 0 0 0 0= (ct, c2,.. .) represent= (el, C2, ... ,c2y_l,C2y,...) and ,c21-t,c_1,..

the codewords corresponding to the first term and the second term of (13.20),

respectively, it follows from (13.21) that for equiprobable signaling, the approx-

imation of Li given in (13.20) is proportional to the value

ri+ E cjt rj. (13.22)• • • 0 |

Page 10: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

THE bIAP AND RELATED DECODING ALGORITHMS 249

We observe that one ofthe terms in (13.20)correspondsto the MLD solution,

while the other term correspondstothe most likelycodeword which differsfrom

the MLD solutionin ui. Consequently, in Max-Log-MAP or SOVA decoding,

the hard-decisioncodeword corresponding to (13.20)isthe MLD codeword

and (13.22)isproportionalto the differenceof squared Euclidean distances

(SED) lip - cIH 2 - Hr - c°H 2. For any two codewords c and d, we define

lllr - cll+- ll,+- e ll=l the reliability difference between c and cp.

For simplicity, we consider the trellis diagram of a rate-l/2 antipodal con-

volutional code C. Hence, the two branches that merge into each state have

different branch labels, as described in Figure t0.1. Also, we assume that

the trellis diagram for the code C is terminated so that N encoded bits are

transmitted. Generalization of the derived results to other trellis diagrams is

straightforward, after proper modification of the notations. At each state cq-t

of the state space Ei-I(C) at time-(/- 1), the SOVA stores the cumulative

correlation metric value M(_ri_l) and the corresl;ondlng decoded sequence

_(ai-1) = (+t(o'+-t),c2(o'+-+,) .... ,+2(+_t)_t(o'i-1),£'2(+_1)(o'+-t)) , (13.23)

as for the Viterbialgorithm.In addition,italso+,toresthe reliabilitymeasures

L(_,_I) = (Ll(oti-1), L2(o',-1),..., L2{i_1)_ 1 (o.i_1), L2(i_l)(o-i_l)) , (13.24)

associated with the corresponding decision _(ai-1).

At the decoding time-i, for each state oq in the state space Ei(C), the SOVA

first evaluates the two cumulative correlation rtetric candidates M(a__x,aq)

and M(a/2_x, cq) corresponding to the two paths terminating in state _q with

transitions from states a__ 1 and o'i_ 1,x respectively As for the Viterbi algorithm,

the SOVA selects the cumulative correlation metric

U(,,) = ,n_l,a._}{M(a__l, ai)}, (13.25)

and updates the corresponding pair (_2i-x(al),t2i(ai)) in the surviving path

e(al) at state ai. Next, L(a,) has to be updated To this end, we define

= min {M(a__,,ai)}. (13.26)hi '_ ,e{1,almax{M(a__x,ai)} -,e{ta}

Based on (13.22) and the fact that the code considered is antipodal, we set

L2,-l(ai) = L21(ai) = a+, (13.2r)

Page 11: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

25O

since Ai represents the reliability difference between the two most likely code-

sequences terminating at state cri with different values for both _2i-z and _2i.

The remaining values Lj(cq) for j -- 1,... ,2(i - 1) of the surviving £(ai) at

state ai have to be updated.

In the following, we simplify the above notations and define

L(o.__I) "1 "l LI L t _ (13.28)= (L,,L_,..., 2(i-z)-z, 2(i-,)I

for I = 1,2, as the two setsof reliabilitymeasures corresponding to the two

candidate paths merging into state o'iwith transitionsfrom stateso'__I and

cr__l, respectively. We refer to these two paths as path-1 and path-2, and

without loss of generality assume that path-1 is the surviving path. Similarly,

for l = 1, 2,

_(a__,) -, -t -' -,= (cz,c2,...,c2(i_z}_z,c2(__1)) (13.29)

representthe two setsof decisionscorresponding to path-1 and path-2,respec-

tively.-I *2

First, we consider the case cj 7£ ci, for some j E {1,...,2(i-- 1)}, and

recall that path-1 and path-2 have a reliability difference equal to Ai. Also,

Page 12: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

THENIAP AND RELATED DECODING ALGORITHMS 251

L} representsthe reliabilitydifferencebetween path-1 and a code-sequence

representedby a path-m merging with path-1 between the decoding stepsj and

(i- I),with _ # _},asshown inFigure13.1.On the other hand, LI represents

the reliabilitydifferencebetween path-2 and a code-sequence representedby a

path-n merging with path-2 between the decoding steps j and (i- I),with

cj'n= cj.'IHence, Lj'2does not need tobe consideredto update Lj(ai) in L(ai).

Sinceno additionalreliabilityinformationisavailableat statecrl,we update

gj (a.i) = min{Ai, Lj"1-.?. (13.30)

Next, we consider the case _} = _, for some j E {1,... ,2(i - 1)}, so that

path-2 is no longer considered to update Lj(crl) in L(_i). However, path-n

previously defined now satisfies _ # _}. Since the reliability difference between

path-1 and path-n is Ai + LI (i.e. the reliability difference between path-1 and

path-2 plus the reliability difference between path-2 and path-n), we obtain

Lj(cr,) = min{2Xi + L_, L)} (13.31)

The first version of SOVA that is equivalent t o the above development was

introduced by Battail in 1987 [3]. This algorithm was later reformulated in con-

junction with the MAP algorithm in [9, 61] and fcrmally shown to be equivalent

to the Max-Log-MAP decoding algorithm in [34] Consequently, the Max-Log-

MAP or SOVA decoding algorithm can be summarized as follows.

For each state ai of the state space Ei(C):

Step 1" Perform the Viterbi decoding algoritltm to determine the survivor

metric M(ai) and the corresponding code-sequence d(ai).

Step 2: For j E {1,...,2(i- 1)}, set Lj(_,) in L(ai) either to the value

min{Ai, L_}if_ #'2 "2 "1 if_ -2cj, or to the value min{Ai + Lj, Lj } = c).

Step 3: Set and to the vaiue tx .

In [39], a simplified version of SOVA is presented. It is proposed to update

Lj(_ri), for j = 1,2 .... ,2(i- 1), only when c} # c_. Hence (13.30) remains

Page 13: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

252 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

unchange while (13.31) simply becomes:

= LJ. (ls.32)

Consequently, the values L_ are no longer needed in the updating rule, so that

this simplified version of SOVA is easier to implement. At the BER 10 -4, its

performance degradation with respect to the MAP decoding algorithm is about

0.6 - 0.7 dB coding gain loss, against 0.3 - 0.4 dB loss for the Ma.x-Log-MAP

decoding algorithm.

13.3 BIT ERROR PROBABILITY OF MLD

In many practical applications, soft output information is not needed and only

the binary decoded codeword is delivered by the decoder. However, it is still

desirable to minimize the bit error probability rather than the word error prob-

ability. In such cases, the SOVA has no advantage over MLD since both algo-

rithms deliver the same binary decoded sequence. Although the MAP decoding

algorithm minimizes the decoding bit error probability, no significant improve-

ment is observed over the bit error probability associated with MLD if properly

implemented. Consequently, NILD remains to be the practical solution due to

its much lower computational cost and implementation flexibility. However,

when a word is in error, different mappings between the information sequences

and the code sequences may result in a different number of bits in error, and

hence a different average bit error probability.

As described in Chapter 3, the trellis diagram for an (N, K) linear block

code is constructed from its TOGM. A trellis-based ML decoder simply finds

the most likely path and its corresponding codeword among the 2_: possible

paths that represent all the codewords generated by the TOGM. Therefore, a

trellis-based decoder can be viewed as a device which searches for the most

likely codeword out of the set of the 2K codewords generated by the TOGM,

independent of the mapping between information sequences and codewords. It

follows that the mapping between information sequences and the 2g codewords

generated by the TOGM, or equivalently the encoder, can be modified without

modifying the trellis-based determination of the most likely codeword. The

corresponding information sequence is then retrieved from the knowledge of

the mapping used by the encoder. Consequently, a trellis-based ML decoder

Page 14: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

THEbIAP AND RELATED D_CODING ALGORITHMS 253

can be viewed as the cascade oftwo elements: (I)a trellissearch devicewhich

deliversthe most likelycodeword ofthe code generated by the TOGM; and (2)

an inversemapper which retrievesthe informationsequence from the delivered

codeword. Although allmappings produce the same word errorprobability,

differentmappings may produce differentbit errorprobabilities.

Differentmappings can be obtainedfrom the TOGM by applying elementary

row additionsand row permutations tothismatrix. Let Gt denote the TOGM

ofthe code considered,and letGm denote the new matrix. IfG,_ isused for

encoding, then the inversemapper isrepresentedby the rightinverseofG,n.

Sincethismapping isbijective(orequivalently,G,_ has full-rankK) and thus

invertible,the rightinverseof G,_ isguaranteed to exist.In [33],itisshown

that formany good codes,the best strategyisto have the K columns of the

K x K identitymatrix IK in Gm (in reduced _.helon form). Based on the

particularstructureof the TOGM Gt, thisisreadilyrealizedin K steps of

Gaussian eliminationas follows:For i < i < K, assume that G,,_(i- i) isthe

matrix obtained at step-(/- 1), with G,,_(0) = Gt and G,,,(K) = G .... Let

C i i z= (Q, c:....,c_) T denote the column ofG,_(i- I)that containsthe leading

i 1 and i _ =.'1' of the i-th row of Gm(i - 1). Then ci = ci+ 1 = ci+ 2 .. = c_ = O.

i = 1. This results inFor 1 < j _< i - 1, add row-/ to row-j in G,,_(i .- 1) if cj

matrix G,_(i). For i = K, GIn(K) =Gm contains the K columns of Ia- with

the same order of appearance. This matrix is :;aid to be in reduced echelon

form (REF), and isreferredto as the REF matrix.

Now we perform the encoding based on G,, in REF instead of the TOGM Gt.

Since both matrices generate the same 2 t< codewords, any trellis-based decoder

using the trellis diagram constructed from the ']'OGM Gt can still be used to

deliver the most likely codeword. From the kn,_wledge of this codeword and

the fact that Gm in REF was used for encoding, .he corresponding information

sequence is easily recovered by taking only the po:_itions which correspond to the

columns of IK. Note that this strategy is intuitLvely correct since whenever a

code sequence delivered by the decoder is in error, the best strategy to recover

the information bits is simply to determine them independently. Otherwise,

errors propagate.

Page 15: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

254 TRELLISESANDTRELLIS-BASEDDECODINGALGORITHMSFOR LINEAR BLOCK CODES

Example 13.1 In Example 3.1, the

After adding rows 2 and 3 to

Gm 0

TOGM ofthe (8,4)RM code isgiven by

1 i 1 0 0 0 l

I 0 1 1 0 1

0 1 1 i I 0

0 0 0 i i I

row-I, we obtain

0 0 i 0 1 1 Il

i 0 i I 0 1

0 1 i I I 0

0 0 0 1 1 1

We can readilyverifythat Gt and G,_ generate the same 16 codewords, so that

thereisa one-to-onecorrespondence between the codewords generated by G,n

and the paths inthe trellisdiagram constructedfrom Gt. Once the trellis-based

decoder deliversthe most likelycodeword _ = (t_1,u2,..-,us),the correspond-

ing information sequence g = (al, d_, a3, a4) is retrieved by identifying

o,3 ----t_3,

Figure 13.2 depicts the bit error probabilities for the (32, 26) RM code with

encoding based on the TOGM and the REF matrix, respectively. The corre-

sponding union bounds obtained in [33] are also shown in this figure. We see

that there is a gap in error performance of about 1.0 dB and 0.2 dB at the BERs

10 -1"s and 10 -s, respectively. Similar results have been observed for other good

block codes [33, 71]. The situation is different for good convolutional codes of

short to medium constraint lengths, for which the feedforward non-systematic

realizations outperform their equiva]ent feedback systematic realizations [80].

This can be explained by the fact that for short to medium constraint length

convolutional codes in feedforward form, the bit error probability is dominated

by error events of the same structures. Due to the small number of such struc-

tures, an efficient mapping that minimizes the bit error probability can be

Page 16: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

THE MAP AND RELATED EECODING ALGORITHMS 255

@

-i

-2

-3

-4

-5

-6

-7

-80

i z , i i i i

I I I I I I I

I I I I I I I

I I I I I I I

I I "- P. I I I I

I "_ I I I I

............... • .... J - ' .LI I • . 1 .... I..... f --

I I • ", I I I

I I ", '. 1 I I

// I_,,_lI I I I I I....... ,_____,___--.,.__.... ,..... ,._I I I I I

I I I I ! I

I I I I I I

I I I I I I

....... I ..... r............... I.... ..L _

...... Si'rr]ul_tldffs ...................... r.':"....

x:TnC'._ , '.,

o:R__ '.... -t ..... r- ........ '-I ..... I'- .... 'I- - - r.- -

I I I I I I " '

I I I I I I ,

I I I I I I

I I I I I I

1 3 4 5 6

SNR (in dB)

Figure 13.2. The bit error probabilities f,,r the (32, 26) RM code.

Page 17: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

256 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

devised. This is no longer possible when the error performance is dominated

by numerous unstructured error events, such as for long constraint length good

convolutionai codes or good block codes.

Based on these results, we may conclude: (1) although modest, the differ-

ence in bit error performance between encoding with the TOGM and the REF

is of the same order as the difference in bit error performances between MLD

and some sub-optimum low-complexity decoding methods; (2) the overall er-

ror performance of a conventional concatenated scheme with a RS outer code

performing algebraic decoding is subject to these differences; and most impor-

tantly (3) the gain is free, since only the encoding circuit and the retrieving

of the information sequence have to be modified. Furthermore this approach

can be used for trellis-based MAP or SOVA decodings if a likelihood measure

associated with each bit of the decoded information sequence, rather than each

bit of the decoded codeword is needed, as in [34, 39, 40].

This approach can 'be generalized to any soft decision decoding method.

In general, a particular decoding algorithm is based on a particular structure

of the code considered. For example, majority-logic-decoding of RM codes is

based on the generator matrices of these codes in their original form (presented

in Section 2.5), or trellis-based decoding of linear codes is based on the TOGM

of the code considered. Two cases are possible depending on whether the de-

coder delivers a codeword as in trellis-based decoding or directly an information

sequence as in majority-logic-decoding of RM codes. In the first case, the pro-

cedure previously described is generalized in a straightforward way, while in

the second case, the row additions performed to obtain G,_ from the generator

matrix corresponding to the decoding method considered are applied to the

delivered information sequence by the inverse mapper [33].

Page 18: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX AA Trellis Construction Procedure

To decode a linearblock code with a trellis-baseddecoding algorithm, the

code trellismust be constructedto be used effectivelyin the decoding process.

Therefore,the constructionmust meet a number of basic requirements. In

the implementation ofa trellis-baseddecoder,every stateinthe code trellisis

labeled.The labelofa stateisused asthe index tothe memory where the state

metric and the survivor into the stateare stored. For efficientindexing,the

sequence required to labela statemust be as snortas possible.Furthermore,

the labelsof two statesat two boundary locationsof a trellissectionmust

providecomplete informationregardingthe adjacency ofthe two statesand the

labelof the composite branch connectingthe two states,ifthey are adjacent,

in a simple way. In general,a composite branch label appears many times

in a section (see (6.13)). In order to compute the branch metrics efficiently,

all the distinct composite branch labels in a trellis section must be generated

systematically without duplication and stored ii,. a block of memory. Then, for

each pair of adjacent states, the index to the memory storing the composite

branch label (or composite branch metric) between the two adjacent states

must be derived readily from the labels of th_ two states. To achieve this,

we must derive a condition that two composite branches have the same label,

and partition the parallel components in a trellis section into blocks such that

the parallel components in a block have the :ame set of composite branch

labels (see Section 6.4). The composite bran,:h label sets for two different

257

Page 19: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

258 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

blocks are disjoint.This localizesthe composite branch metric computation.

We can compute the composite branch metricsforeach representativeparallel

component ina block independently. In thisappendix, we presentan efficient

procedure for constructinga sectionalizedtrellisfor a linearblock code that

meets allthe above requirements. The constructionmakes use ofthe parallel

structureofa trellissectionpresented inSection6.4.

A.1 A BRIEF REVIEW OF THE TRELLIS ORIENTED GENERATOR

MATRIX FOR A BINARY LINEAR BLOCK CODE

We first give a brief review of the trellis oriented generator matrix (TOGM)

for a binary linear block code introduced in Section 3.4. Let G be a binary

K x N generator matrix of a binary (N, K) linear code C. For 1 < i < K, let

ld(i) and tr(i) denote the column numbers of the leading '1' and the trailing

'1' of the i-th row of G, respectively. G is called a TOGM if and only if for

l<_i<i'<_K,

Id(i)< Id(i'), (A.I)

tr(i) _ tr(i'). (A.2)

Let AI be a matrix with r rows. Hereafter,for a submatrix Air'ofM con-

sistingofa subset ofthe rows in hl, the order ofrows in M' isassumed to be

the same as in M. For a submatrix M' of M consisting of the i_-th row, the

i2-th row, ..., the ip-th row of M, let us call the set {it,i2,... ,ip} as the row

number set of M' (as a submatrix of M). M is said to be partitioned into

the submatrices Mr, M2 ..... M, if each row of M is contained in exactly one

submatrix AIi with 1 < i < p.

In Section 3.4, a TOGM G of C is partitioned into three submatrices, G_',

G/h, and G_ (also shown in Figure 6.3), for 0 < h < N. The row number sets

ofGr',h G/h, and G h"are {i : tr(i) _< h}, {i:h<ld(i)}, {i:ld(i)_< h<tr(i)},

respectively. G_, and G_ generate the past and future codes at time-h, Co,n

and Ch,N, respectively (see Section 3.7). That is,

Co,h = r(v_), (A.3)

Ch,N = r(G/), (A.4)

where fora matrix M, F(M) denotes the linearspace generated by M.

Page 20: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX .4.:.4.TRELLIS CONS"'RUCTION PROCEDURE 259

Since from (A.1) ld(i) < ld(i') for 1 _< i < i' _ K, the order of information

bits corresponds to the order of rows in G, and therefore, the row number sets

of G_,, G_ and G/h as submatrices of G correspond to A_, A_ and Ah/ (refer

to Section 3.4), respectively. In this appendix, we put the TOGM in reverse

direction such that for 1 _<i < ¢ _< K,

Id(i) # Id(i'),

tr(i) > tr(i').

Using a TOGM in reverseorder,we can storethe states(or statemetrics)at

the leftend ofa parallelcomponent inconsecutivememory cellsusinga simple

addressing method. This method isvery usefulfor designing IC decoder. It

also reduces the actual computation time for a software decoder, since (the

metricsof)the statesatthe leftends are accessedconsecutivelyand computers

have cache memories.

For a binary m-tuple u = (ul,u_ .... ,urn) and a set I = {il,i2 .... ,ip} ofp

positive integers with 1 < il < i2 < ... < ip < _, define

For convenience, for I =

rn-tuples, define

,%).

O, pl(u) g e (the null sequence).

(A.7)

For a set U of

pI(U) _ {pt(u) : u 6 U}. (A.8)

For I = {h + 1, h + 2,..., h'}, P; is denoted by Ph,h'.

Then, for a partition {M,, Ms,..., Mj,} of M with r rows and v 6 {0, 1}',

it follows from the definition of a row number set and (A.7) that

vM = pt,(v)M, + pt_(v)M2 +. • + p,,(v)M,, (A.9)

where Ii denotes the row number set of M, fol 1 < i < p. If Mi is further

partitioned into submatrices Mi,, Mi2,..., then

pt,(v)Mi =pt,t(pt,(v))Mi, +pt,,(pt,(v))Mi 2 + ..., (A.10)

where/it, Ii2,..., denote the row number sets _,f Mit, Mi3,... as submatrices

of Mi.

Page 21: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

260 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMSFOR LINEAR BLOCK CODES

In the constructionofthe trellissectionfrom time-h totime-h',the subma-

trixG_ of G takesa key role.Let/h denote the row number set of G_ as a

submatrix G. Then, ph "-[lhl,and the followingproperty ofstatelabelingby

the statedefininginformationset (Section4.1)holds.

The Key Property of State Labeling: Let L(ao,ah,al) A L(ao,ah) o

L(ah,al) be the set of paths in a code trellisfor C that connects the initial

statea0 to the finalstatea I through the stateah at time-h.There isa one=

to-one mapping I from _h(C) to {0,1)p_ with 0 < h < N such that for

ah E IEa(C) and a E {0, 1} K,

if and only if

aGe L(ao, ah, al), (A.11)

Pzh (a) = l(aa). (A.12)

AA

Here, l(aa) E {0, 1) ph is called the label of state ah. This state labeling is simply

the state labeling by the state defining information set given in Section 4.1. We

can readily see that

L(eo,ah, c_S) = l(czh)G_ _ C0.,, _ Ch, N. (A.13)

Note that ifph = 0, G_ isthe empty matrix and l(ah)= _. For convenience,

we definethe product of _ and the empty matrix as the zerovector.

A.2 STATE LABELING BY THE STATE DEFINING INFORMATION

SET AND COMPOSITE BRANCH LABEL

For ah E _,(C) and oh, E _h,(C) with L(ah, Crh,) # 0, the composite branch

label L(ah, O'h,) can be expressed in terms of the labels of crh and ah,. Since

L(ao,_h,ah,,al) _- L(c_0,crh) o L(ah,aW)o L(a,,,,al)

= L(ao,O'h,o'l) n L(ao,O'h,,o'f),

it follows from the key property of state labeling that for a E {0, 1} K,

aGe L(ao,ah,aw,al), (A.14)

Page 22: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX A: A TRELLIS CONSTRUCTION PROCEDURE 261

if and only if

p,,(a) = l(,h), (A.15)

p,,,(,,) = t(--h,). (^.16)

Define Ih,h, and Ph,h, as follows:

Ih,h, = IhNIh, (A.17)

Ph,h' = [Ih,h' I. (A.18)

Then Ih,a, = (i : ld(i) < h < h' < tr(i)} is the row number set of the submatrix

of G which consists of those rows in both G_ and G_,. Let G_'_, denote thiss,p f,P

submatrLx. Let Gh,h,, Gfh',sh, and Gh. h, denote the submatrices of G whose row

number sets as submatrices of e are /h\/h,h' = {i : ld(i) < h < tr(i) < h'},

Ih,\Ih,w = (i : h < ld(i) < h' < tr(i)} and _i: h < ld(i) < tr(i) < h'),

respectively. Then,I,p

Ch,h, = F(Gh,h,), (A.19)

..... p f,s f'P and Gh/, (see Figure 6.3).and G is partitioned into G_, Gh.h,, Gh,h,, Gh.h,, Gh, h,

From (a.3), (A.4), (A.9) and (A.Ig), we have that for a • {0, i} K, aG • C

can be expressed as

aG s .... p (A.20)= + +

where u • Co,t, _ Cn,h, (9 Cn,,N.• zy

Since h and h' are fixed hereafter, we abbrewate pt,,t,,(Gh',t,, ) as G _,u where

z e (s,f} and y • {s,p}. If aGE L(ao,ah, aw,al), then pn,h,(aG) ----

aph.h,(e) • L(an,an,). Since n(trn,ah,) is a coset in Pn,n,(C)/C[n, (see

(3.18)), it follows from (A.20) that

L(an,an,) = pti,.h,(a)GS" +pih\th.h,(a)G"P+pr_,\th.,,(a)G't" +Cth_h,. (A.21)

In the following, we will derive a relation betw._en L(o'n, an,) and the labels of

states an and O'h,, l(o'n) and l(tYh,). Lemma A.1 _ives a simple relation between

Ih,n, and lb.

Lemma A.1 Ih,n, consists of the smallest Ph,h integers in Ih.

Page 23: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

262 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

Proof: For i E [h,w, we have that h_<:tr(i).For i'E Irh\lh,h,,we have that

tr(i')_<fi'.Hence, tr(i')< tr(i).From (A.6),we have i< i'.

AA

In general, there is no such a simple relation between Ih,h, and Iw.

Let Irh, = {it,J2 .... ,iph,} with I < il < i2 < ... < ip_, be the row number

set of G_,, and let Ih,h, = {ij,,ij3 .... ,ij,h.h, } with I <_ jt < j2"'" < jp,._, _<

Pw be the row number set of G_',_w. By definition, the p-th row of G_, is the

ip-th row of G for 1 < p _< pw and the #-th row of Gh, w is the ij,-th row of

G for 1 < # < Ph,W- Hence, the#-th row of Gh, h, is theju-th row of G_,.

That is, the row number set of G_'_h, as a submatrix of G_,, denoted Jw, is

Jh, = {j_,j2,... ,jp_._,), and Jh, _- {1,2,... ,ph,} \ Jh, is the row number setf,s

of Gh, w.

Suppose (A.14) holds. Then, from (A.15), (A.16) and Lemma A.1,

(A.22)

(A.23)

For simplicity, define

I{')(c%) (A.25)

l{P)(ah) p.^.^,,.h(l(ah)), (A.26)

(A.2?)

(A.2S)

From (A.25) and (A.26), the label l(_rh) of the state ah with l(')(a,,) = ct and

l(p)(aj,) = fl is given by

/(a,,)= ot o ft. (A.29)

The labell(ah,)of the stateah, with l(_)(ah)= a and l(1)(ah,)= 7 can be

easilyobtained from cxand _,using (A.27) and (A.28).

By summarizing (A.14) to (A.16),(A.22) to (A.26)and (A.28),a condition

forthe adjacency between two statesat time-h and time-hP,and the composite

branch labelbetween them (shown in Section 6.3)are given inTheorem A.I.

Page 24: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX A: A TRELLIS CONS ['RUCTION PROCEDURE 263

Theorem A.I For crh E Ea(C) and aw E T,_,(C)with 0 <_ h < h' <_ N,

L(ah,aw) _ _ if and only if

t_')(c,h) = I{')(qh,)_

Also if L(_ra, ah,) _ 0, then L(ah, aw) is given by

" (A.30)L(ah, o'w) = l{')(ah)G"" + l(P)(a_,)G "'p+ l(_) (aw)G L° + Ch, w.

AA

We can tc')(ah) (or lC')(_h,)) the first labd part of _h (or _,) and lCP_(_h)

(or /l/l(ah,)) the second label part of a_, (or ah,). Now we partition I]l,(C)

and Za,(C) into 2ph._' blocks of the same size, r,_pectively, in such a way that

two states are in the same block if and only if they have the same first label

part. For ctE {0,I}"_,h',a block,denoted E_, (orE_,) in the above partition

of Eh(C) (or r.w(C)) isdefinedas

E_ A {crh • IEa(C): l(')(,'h) = n,}, (A.31)

E_, __a {_r_,, E E_,,(C): l(_)(_h') = c_}. (A.32)

The blocks E_ and E_, correspond to SL(ah) and Sa(as) in Section 6.4, re-

spectively. That is, for any o_ E {0, 1} ph,h', a subgraph which consists of the set

of state at time-h, E_, the set of states at time-h _, E_,, and all the composite

branches between them form a parallel compon,_nt. This parallel component is

denoted A,.. The total number of parallel coml: onents in a trellis section from

time-h to time-h _ is given by 2p_.h'.

Since all states in _ U Yl_, have the same fizst label part c_, there is a one-

to-one mapping, denoted sh,a, from the set o! the second label parts of the

states in _, denoted Lh, to _, and there is a one-to-one mapping, denoted

sh,.a, from the set of the second label parts of _he states in E_,, denoted Lw,

to _,. Then, Lh = {0, 1}Ph-P_. _', L,,, = {0, 1}' h'--Ph._' and s,,,o and s,,,,o are

the inverse mappings of l(pl and l{I}, respectively.

A.3 TRELLIS CONSTRUCTION

Now consider how to construct a trellis section. When we use a trellis diagram

for decoding, we have to store the state metri,: for each state. Therefore, we

Page 25: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

264 TRELLISES AND TRELLIS-BASED DECODINGALGORITHMSFOR LINEAR BLOCK CODES

must assignmemory foreach state.For a state_r,we use the labell(cr)as the

index ofthe allocatedmemory, because: (I)l(a)isthe shortestpossiblelabel

for # and iseasy to obtain,and (2) as shown in Theorem A.1, the complete

informationon L(ah, ah,) isprovided ina very simpleway by I(j)(ah),l(p)(ah),

l(°)(aw)and l(1)(o'w)which can be readilyderivedfrom l(ah) and l(aa,)by

(A.25) to (A.28).

Ifinsteadwe use the statelabelingby parity-checkmatrix forthe statesat

time-h, the label length becomes N- K. Since Ph < rain{N, N- K} (see (5.4)),

if Ph < N - K, a linear mapping from {0, 1} _-K to {0, 1} a_ which depends on

h in general ks necessary to obtain the index of the memory.

The next problem is how to generate branch metrics of adjacent state pairs

and give access to them. The set of composite branch labels of the section from

time-h to time-h', denoted Lh,h,, is the set of the following oasets (see (3.18)):

Lh,h' = ph,h'(C)/C_rh ,. (A.33)

It follows from (A.30) that

= c , {o,t}",L_,.h, {aG"" + _OG"'p + "tG/'" + h,_ : a •

• {o, t}""-",,.,',,-r • {o, (A.34)

Each composite branch label appears

2K-/¢(Co._)-k(Ch,.._-)-k(p_.h,(C))

times in the trellis section (see (6.13)).

Next we consider how to generate all the composite branch labels in Lh,h,

given by (A.34) without duplication. Suppose we choose submatrices G_ 's of

G s's, GSl'P of G _'p and G{ "s of G I'" such that the rows in G_ '_, G_ 'p, G{ 's and

G l'p are linearly independent and

t_tr , {0,Lh,h, = {txlG_," +f_lG_4'+71Gl'S +_.h, h :cq• 1} .... ,

/9, • {0, 1}'"','7, • {0, 1}'"'}, (A.35)

where re,s,rj,pand ri,,denote the numbers of rows of G_", G_ 'p and G{ 's,

respectively.Ifwe generate composite branch labelsby using the right-hand

side of (A.35) and store cqG _'_ +,01G_'P+TtGI's+C_,_h, into a memory indexed

Page 26: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX A: A TRELLIS CONSTRUCTION PROCEDURE 265

with (ai, _l, 71), then the duplication can be avoided. The next requirement is

that the index (ax, _3x, 7x) can be readily obtained from a, _3 and 7. To provide

a good solution of the above problem, we first a_nalyze the linear dependency

of rows in ph,h,(G).

For a TOGM G, ph,h,(G) consists of the disjoint submatrices G °,', G',P,

G I'', G f'_ and the all zero submatrices ph,h,(G_) and Ph,h, (G_,).

Lemma A.2 In ph,w(G): (1) the rows in submatrices G l,J and G I,p are lin-

early independent; and (2) the rows in submatrices G ',P and G !,p are linearly

independent.

Proof: If the i-th row of G is in G L° or G l,p, then

h < Id(i) < h'. (A.30)

Similarly, if the i-th row of G is in G ",p or G Lp, then

h < tr(i) _< h'. (A.37)

Hence, (1) and (2) of the lemma followfrom(A.1) and (A.2), respectively.AA

For two binary r x m matrices _[ and M' and a binary linear block code Co

of length m, we write

M - M' (modCo)

if and only if every row in the matrix M - M' i_ in Co, where "-" denotes the

component-wise subtraction.

Partition G I," into two submatrices Go/'' an( G/'' (see Figure A.1) by par-

titioning the rows of G I'' in such a way that

(1) the rows in G1/'', G "'p and G f'p are linearly independent, and

(2) each row of G0/'' is a linear combination of rows in G/'', G ''p and V I'p.

Let vl denote the number of rows of G(", and define v0 -_ ph, - Ph.h' -- vl,

which is the number of rows of Go/'_.

Let el,el,... ,e_ o be the first to the last ro*s of G/'_. From conditions (1)

and (2) of the partitioning of G l,s, there are anique vl 1) e {0,1} _', v_ 2} •

{0, 1} p_-ph h, and ui • C tr such that' h,h'

. (1),,_f,s 12)G s'p + ui,ei=v i u I --t-v forl<i<v0

Page 27: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

266 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

Time _,.

h

V---Ao

_z

L,e

t,1

i___

h I

G_ ,°

G_ ,°

G j,s ,Oh,h,

G f'" p - Ph,h'

, G °,P f --Ph,h'

1 L?, Gh, h,

I

#

Figure A.1. Further partitioning of the TOGM G.

Let E (I)denote the u0 x vz matrix whose i-throw isvlz)and E (2)denote the

Uo × (Ph --Ph,h,)matrix whose i-throw isv_2).Then, we have

Go/'' ----E(z)G( '" "1"S(2)G "'P (modC_t,h,). (A.38)

f,, l,, E (z)and E (2)G o , G I , can be efficientlyderived by using standard row

operations.

Next, partitionG"" intotwo submatrices Go" and G_" (seeFigure A.I) by

partitioningthe rows of G"" in such a way that:

(I) the rows in G I''',G{", G °'Pand G I,_are linearlyindependent;and

(2) each row of Go" isa linearcombination ofrows inG I''',G{", G',p and

GI,P.

Page 28: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX A: A TRELLIS CONS'IRUCTION PROCEDURE 267

Let A, denote the number of rows of G_ '°,and define A0 _a Ph,h, -- )tl,which

is the number of rows of G_ '°. In a similar way as the derivation of (A.38),

we can find a unique Ao x A, matrix F O}, a unique Ao x vl matrix F (2) and a

unique Ao x (Ph -- Ph,W) matrix F (s) such that

G_'" - F(X)GI '" + Fi2)G f'" + F(_)G _'p (modC_',w). (A.39)

Let R and Q denote the row number sets of G1/'° and GI 'm, respectively, Define

__ A {1,2,... ,Pw - ph,h,}\R and _ __a{1,2,... ,Ph,h'}\Q. Then, from (A.9)

cxG m'" = p<_(a)G_"+pQ(cx)G_", fora6{0,1}P_, h', (A.40)

"¥G I'" = p_('7)Glo'"+pa(_)Gll '°, for _ fi {0,1} "w-p',w. (A.41)

It follows from (A.38) to (A.41) that for c* e {0, 1}0_._', fl 6 {0, 1} °_-"h,h'

and 3' 6 {0, 1} ph'-ph.h',

aG"" + _G "'p+ 7G l'"+ C_[ w

= 'm

+ VR(-r)EC-" +

+(PQ(c_)F (_) +PR(7) +Pk(_')E(1))G( '_ + C,t,[n,. (A.42)

Define

f(1)(a) & pQ(c 0 +pc)(a)_ (1), (A.43)

f(_)Cc_,]_.f) _A pQ(a)F(3)_t_pR(.r)E(2) -b_, (A.44)

/(-_)('_,'/) _ P_(a)F (2)+Pa(7) +P_(7)E (I). (A.45)

When c,, ;3 and 7 run over {0, l}Pn.h', {0, i}p_-pn._' and {0, I) pn'-ph,h',re-

spectively, f(1)(c*)f(2)(c*,_,7 ) and f(3)(cL7 ) rt n over {0, I}x*, {0, 1}°h-oh,_'

and {0, 1} _', respectively. Hence, the set Lh,h, _*f all composite branch labels

is given by

Lh,h,h,h' :

c,, 6{0,1}A',fl, •{0,1}"_P_._',qq •{0,1}u'}. (A.46)

Since the rows in "_ G/'_ and _reG_ , G ,'p, G l,p linearly independent, for

, ' , s,s I'm C tr and(c,_,;9_,'y_) # (cq,_,'7,), the cosets cqG_ +/9_G "'_ +'7_G_ + h.h'

m

Page 29: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

268 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

~' _f" C t' disjoint. Consequently, the set of com-,..'_G'_'"+ _'_G'._+ ._.._ + ,,.h'areposite branch labels of a parallel component Aa with ct E {0, l}Ph._', denoted

Lo, is given by

Lo f-lit t{-_c'_'"+ _,c'..+-v,G['"+..,.h:

_I fi {0, 1}"'-"h'_',3'i • {0,1}_'}, (A.47)

where al = f(t)(a) = pQ(a) -{- p0(_)F (I).

Theorem A.2 Let Q denote the row number sets of G l , and define ¢_ --

{1,2,... ,Ph,h,} \ Q. Two parallel components Aa and A°, with a and a' in

{0, 1} p_._' are isomorphic up to composite branch labels, if and only if

pQ(a + a') ----(p0( ¢_ + a'))F (I}, (A.48)

where F (x) is defined in (A.39). If (A.48) does not hold, Lo and Lo, are

disjoint.

Proof: (i) The only-if part: If c_i _ pQ(c_) + p_(a)F (I) 7t a_ _ pQ(c_') +

pc_(a')F (_),then Lo and Lo, are mutually disjoint from (A.47).

(2) The ifpart: Suppose that (A.48) holds, that is,c_ = a_. Let Io+o, denote

the binary (Ph'--ph._,)-tuple such that

pn(l°+(,,) = pc_(a + c(')F(_), (A.49)

pR(Ia+°,) ----0. (A.50)

(_h._')•r._'xr._"_,For any given state pair (o'a,a'h,)• E_ x E_,, define i ,

l(_J(_)= zc_(_)+p_(_+_')F(_.

i.e.,a_ = Sh.=,(l(P)(_h) -I- p¢(c_ -I- c_')F(3)), (A.51)

icI_(_,) = l(_(._,)+(o+o,,i.e,o'_, = Sh, o,(/(1)(aw) + Io+o,). (A.52)

= /CX)(cx'), f(2)(c_,l(P)(Crh),l(f)(_h,))= /C:_)((_',ICP)(O'_),

Hence, it follows from

Then, f(1)(a)

/(f)(a_,)) and f(-_)(o_,l(f)(aw)) = )'(-_)((_',/(1)(a_,,)).

(A.30), and (A.42) to (A.45) that

= L(ah, ah,).L(ah,ah,) ' '

Page 30: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX A: A TRELLIS CONSTRUCTION PROCEDURE 269

Note that when aa runs over r._, l(P)(ah) runs cver La = {0, 1}"'-an,h' and

therefore, sh,a,(lO')(_h) +pO(cz + a')F (3)) defines a permutation of _._'. Sim-

ilarly, sw,a,(l(D(aw) + 1..+..,) defines a permutation of _;.

Corollary A.1 The block of the isomorphic parallel components containing

Ao is given by

(Ao+o, :pq(_') = p<_(a')F(*),p¢(_')E {0,1}_°}. (A.53)

Each block of the partition consists of 2_° identical parallel components, where

A0 is the number of rows of G_ '°.

AA

It is shown in [44] that A0 is equal to Ah,h,(C) defined by (6.36).

Example A.1 Consider the RM3,a Code which is a (64, 42) code. The second

section of the 8-section minimal trellis diagram T({0,8, 16,... ,64}) for this

code consists of 16 parallel components, and they are partitioned into two

blocks. Each block of the partition consists of 2_ identical parallel components,

Each parallel components has 8 states at time $ and 64 states at time 16.

Hence, there are 213 = 16 x 8 x 64 composite branches in this trellis section.

However, there are only 2 TM = 2 x 8 x 64 different composite branch labels.

/xA

A.4 AN EFFICIENT TRELLIS CONSTRUCTION PROCEDURE

In this section, an efficient procedure for constru=:ting the trellis section from

time-h to time-h' is presented. First, we present a subprocedure, denoted

GenerateCBL((_), that generates the set of ccmposite branch labels for a

representative parallel component Ao in a block. From Corollary A.1, we can

choose the parallel component Ao with po(c_) = 0 as the representative (in

(A.53), for any (_, ho+o, with p(_(c_') = p_((_) is such one). Let oq & pq(c_).

Then, the subprocedure, GenerateCBL(al), genel ates the set of the composite

branch labels of the parallel component Ao, denoted L°, :

Lo_ = {_IG_" +71G(" +_G"P+C_'h,:

e e .o, 1}..-..,.' },

Page 31: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

270 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMSFOR LINEAR BLOCK CODES

tr in theand stores each composite branch label alga'" +3'tG{'" +/gG',P + Ch,w,

memory at the index al o'yl 0/3. This makes it possible to store the composite

branch labels in the parallel component at consecutive memory locations.

It follows from (A.42) that for aa E E_ and aa, E E_, with/(')(ah) = a,

l(P)(_h) = /3 and l(/)(_h,) = % the composite branch label, L(ah, aw) =

(:,G s," +,7G f," + _G s'p + C_,_w (or the maximum metric of L(ah, ah, ) ) is stored

in the memory with the following index:

indxCcx,]_,7) a_ (pQCa)+ p_(a)F (I)) o (p_(a)F (2)+ PRC'Y)+ P_(7) E(D)

o(p¢(a)t ¢_'+ p_(-_)E(_ + _). (^.S4)

[Trellis Construction Procedure Using Isomorphic Parallel Compo-

nents]

For every ¢"i E {0,I}_ {

Construct L(,_, by executing GenerateCBL(al).

(* Construct isomorphic parallel components. *)

Forevery'_oe (0,ipo{Let a be an element in {0, 1} p_._' such that

}}

pQ(") = (:*1 + (_0F (1), and pc(a) = Oto.

Construct A(, by executing ConstructA(,',) subprocedure stated below.

L/x

The following subprocedure ConstructA(c_) to construct h(a) is one to list

(I(an),l(ah,),indxCl(")(a,,),I(P)(a_),l(f)Cab,)))

for every state pair (ah, ah,) E E_ x E_,.

Subprocedure ConstructA(c_):

(* Construct a parallel component Ao. *)

For every 3' E {0, 1} p_'-p_._' {

For every j3E {0,I}"h-ph.''{

Page 32: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

APPENDIX A: A TRELLIS CONSTRUCTION PROCEDURE 271

o.tput (t(sh,..(_)),I(s_,,,o('d), m_C_, _,'y)).}

)t_t_

Note that the labels, l(s_,a(]3)), l(s_,,a(_)) a_d indx(a,]9,-y) are given by

(A.29), (A.27) and (A.28), and (A.54), respectively.

Page 33: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

REFERENCES

[11

[2]

[3]

[41

[6]

[71

L.R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, "Optimal decoding of linear

codes for minimizing symbol error rate," IEEE Trans. Inform. Theory,

vol.IT-20, pp.284-287, 1974.

A.H. Banihashemi and I.F. Blake, "Trellis complexity and minimal trellis

diagrams of lattices," IEEE Trans. Inform. Theory, submitted for publi-

cation, 1996.

G. Battail, "Pond4ration des symboles d_cod_s par l'algorithm de

Viterbi," Ann. T414commun., vol. 42, pp.31-38, 1987.

E. Berlekamp, Algebraic Coding Theory, Agean Park Press, Laguna Hills,

Revised edition, 1984.

Y. Berger and Y. Be'ery, "Bounds on the trellis size of linear block codes,"

IEEE Trans. Inform. Theory, vol.39, pp.203-209, 1993.

Y. Berger and Y. Be'ery, "Soft trellis-based decoder for linear block

codes," IEEE Trans. Inform. Theory, vol.40, pp.764-773, 1994.

Y. Berger and Y. Be'ery, "Trellis-oriented decomposition and trellis-

complexity of composite length cyclic codes," IEEE, Trans. Inform. The-

ory, vol.41, pp.1185-1191, 1995.

273

Page 34: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which
Page 35: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

274

[81

TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

Y. Berger and Y. Be'ery,"The twistedsquaringconstruction,trelliscom-

plexityand generalizedweights ofBCH and QR codes,"IEEE Trans.In-

form. Theory, voi.42,pp.1817-1827, 1996.

[9] C.Berrou, P.Adde, E.Angui and S.Faudeil,"A low complexity soft-output

Viterbidecoder architecture,"in Proc. of/(:7(:?,pp.737-740, 1993.

[10] P.J. Black and T.H. Meng, "A 140-Mb/s, 32-state,radix-4,Viterbide-

coder,"IEEE J.Solid-StateCircuits,voi.27,December 1992.

[11] R.E. Blahut, Theory and Practice of Error Correcting Codes, Addition-

Wesley, Reading MA, 1984.

[12] I.F. Blake and V. Tarokh, "On the trellis complexity of the densest lattice

packings in R"," SIAM J. Discrete Math., vol.9, pp.597-q301, 1996.

[13] A.R. Calderbank, "Multilevel codes and multi-stage decoding," IEEE

Trans. Commun., vol.37, no.3, pp.222-229, March 1989.

[14] D. Chase, "A class of algorithms for decoding block codes with channel

measurement information," IEEE Trans. Inform. Theory, vol.18, no.l,

pp.170-181, January 1972.

[15] J.F. Cheng and R.J. McEliece, "Near capacity codes for the Gaussian

channel based on low-density generator matrices," in Proc. 34-th AIlerton

Conf. on Comm., Control, and Computing, Monticello, IL., pp.494-503,

October 1996.

[16]

[17]

[18]

G.C. Clark and J.B. Cain, Error Correcting Codes for Digital Commu-

nications, Plenum Press, New York, 1981.

Y. Desaki, T. Fujiwara and T. Kasami, "A Method for Computing the

Weight Distribution of a Block Code by Using Its Trellis Diagram," IE-

ICE Trans. Fundamentals, vol.E77-A, no.8, pp.1230-1237, August 1994.

S. Dolinar, L. Ekroot, A.B. Kiely, R.J. McEliece, and W. Lin, "The per-

mutation trellis complexity of linear block codes," in Proc. 32-nd Aller-

ton Conf. on Comm., Control, and Computing, Monticello, IL., pp.60-74,

September 1994.

Page 36: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

REFERENCES 275

[19] A. Engelhart,M. Bossert,and J.Maucher, "Heuristicalgorithmsforor-

deringa linearblock code to reduce the number ofnodes ofthe minimal

trellis,"IEEE Trans.Inform. Theory, submitted forpublicattion,1996.

[20] J. Feigenbaum, G.D. Forney Jr., B.H. Marcus, R.J. McEliece, and

A. Vardy, Special issueon "Codes and Complexity," IEEE Trans. In-

form. Theory, voi.42,November 1996.

[21] G. Fettweis and H. Meyr, "ParallelViterbialgorithm implementation:

breaking the ACS-bottleneck," IEEE Tr_s. Commun., voi.37,no.8,

pp.785-789, August 1989.

[22] G.D. Forney Jr., Concatenated Codes, MIT Press, Cambridge, MA, 1966.

[231 G.D. Forney Jr., "The Viterbi algorithm," Proc. IEEE, voi.61, pp.268-

278, 1973.

[24] G.D. Forney Jr., "Coset codes II: Binary lattices and related codes,"

IEEE Trans. Inform. Theory, vol.34, pp.1152-1187, 1988.

[25] G.D. Forney Jr., "Dimension/length profiles and trellis complexity of

linear block codes," IEEE Trans. Inform. rheory, vol.40, pp.1741-1752,

1994.

[261 G.D. Forney Jr., "Dimension/length profiles and trellis complexity of

lattices, _ IEEE Trans. Inform. Theory, voI.40, pp.1753-1772, 1994.

[27] G.D. Forney Jr., "The forward-backward a gorithm,"in Proc. 34-th Aller-

ton Conf. on Comm., Control, and Compu :ing, Control, and Computing,

Monticello, IL., pp.432-446, October 1996

[28] G.D. Forney, Jr. and M.D. Trott, "The dynamics of group codes:

state spaces, trellis diagrams and canonicfl encoders," IEEE Trans. In-

form. Theory, vol.39, pp.1491-1513, 1993.

[29] G.D. Forney, Jr. and M.D. "l¥ott, "The c ynamics of group codes: dual

group codes and systems," preprint.

Page 37: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

276

[sol

TRELLISES AND TRELLIS-BASED DECODING ALGORITHbIS FOR LINEAR BLOCK CODES

M.P.C. Fossorier and S. Lin, =Coset codes viewed as terminated convo-

lutional codes, _ IEEE Trans. Comm., vol.44, pp.1096--II06, September

1996.

[31] M.P.C. Fossorier and S. Lin, "Some decomposable codes: the la + z[b +

z[a + b + z I construction, _ IEEE Trans. Inform. Theory, vol.IT-43,

pp.1663-1667, September 1997.

[32] M.P.C. Fossorier and S. Lin, "Differential trellis decoding of conventional

codes," IEEE Trans. Inform. Theory, submitted for publication.

[33] M.P.C. Fossorier, S. Lin, and D. Rhee, "Bit error probability for max-

imum likelihood decoding of linear block codes," in Proc. International

Symposium on Inform. Theory and its Applications, Victoria, Canada,

pp.606--609, September 1996, and submitted to IEEE Trans. Inform. The-

ory, June 1996.

[34] M.P.C. Fossorier, F. Burkert, S. Lin, and J. Hagenauer, "On the equiva-

lence between SOVA and Max-Log-MAP decoding," IEEE Comm. Lee-

ters, submitted for publication, August 1997.

[35l B.J. Frey and F.R. Kschischang, "Probability propagation and iterative

decoding," in Proc. 34-th A11erton Conf. on Comm., Control, and Com-

puting, Monticello, IL., pp.482-493, October 1996.

[36] T. Fujiwara, T. Kasarni, R.H. Morelos-Zaragoza, and S. Lin, "The state

complexity of trellis diagrams for a class of generalized concatenated

codes," in Proc. 1994 IEEE International Symposium on Inform. The-

ory, Trondheim, Norway, p.471, June/July, 1994.

[37] T. Fujiwara, H. Yamamoto, T. Kasami, and S. Lin, "A trellis-based re-

cursive maximum likelihood decoding algorithm for linear codes," IEEE

Trans. Inform. Theory, vol.44, to appear, 1998.

[3s] P.G. Gulak and T. Kailath, "Locally connected VLSI architectures for the

Viterbi algorithms," IEEE 3. Select Areas Commun., vol.6, pp.526-637,

April 1988.

Page 38: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

[39]

[40]

[41]

[42]

[43]

[44]

[451

[46]

[47]

[4sl

REFERENCES 277

J.Hagenauer and P. Hoeher, "A Viterbialgorithm with soft-decisionout-

puts and itsapplications,"inProc. IEEE Globecom Conference,Dallas,

TX, pp.1680-1686, November 1989.

J.Hagenauer, E. O er,and L. Papke, "Iterativedecoding ofbinary block

and convolutionalcodes," IEEE Trans.Inform. Theory, voi.42,pp.429-

445, March 1996.

B. Honary and G. Marl<arian, Trellis decoding o.f block codes: a practical

approach, Kluwer Academic Publishers, Boston, MA, 1997.

G.B. Horn and F.R. Kschischang, "On the intractability of permuting a

block code to minimize trellis complexity," IEEE Trans. Inform. Theory,

vol.42, pp.2042-2048, 1996.

H. Imai and S. Hirakawa, "A new multilevel coding method using error

correcting codes," IEEE Trans. Inform. Theory, vol.23, no.3, May 1977.

T. Kasami, T. Fujiwara, Y. Desaki, and S. Lin, "On branch labels of

parallel components of the L-section mbtimal trellis diagrams for bi-

nary linear block codes," IEICE Trans. Fundamentals, vol.E77-A, no.6,

pp.1058-1068, June 1994.

T. Kasami, T. Takata, T. Fujiwara, and S. Lin, "On the optimum bit

orders with respect to the state complexity of trellis diagrams for binary

linear codes," IEEE Trans. Inform Theory, vol.39, no.l, pp.242-243, Jan-

uary 1993.

T. Kasami, T. Takata, T. Fujiwara, and S. Lin, "On complexity of trellis

structure of linear block codes," IEEE Trans. Inform. Theory, vol.39,

no.3, pp.1057-1064, May 1993.

T. Kasami, T. Takata, T. Fujiwara, and S. Lin, "On structural complexity

of the L-section minimal trellis diagrams :br binary linear block codes,"

IEICE Trans. Fundamentals, vol.E76-A, ro.9, pp.1411-1421, September

1993.

T. Kasami, T. Koumoto, T. Fujiwara, tl. Yamamoto, Y. Desaki and

S. Lin. "Low weight subtrellises for binar_ linear block codes and their

Page 39: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

278 TRELLISESANDTRELLIS-BASEDDECODINGALGORITHMSFORLINEARBLOCKCODES

applications" IEICE Trans. Fundamentals, vol.ES0-A, no.ll, pp.2095-

2103, November 1997.

[49] T. Kasami, T. Sugita and T. Fujiwara, "The splitweight (wt,,wR)

enumeration of Reed-Muller codes for WL + wR < 2dmis," in Lecture

Notes in Comput. Sci. (Proc. 12th International Symposium, AAECC-

12), vo1.1255, pp.197-211, Springer-Verlag, June 1997.

[so] T. Kasami, H. Tokushige, T. Fujiwara, H. Yamamoto and S. Lin, "A re-

cursive maximum likelihood decoding algorithm for Reed-Muller codes

and related codes," Technical Report of NAIST, no.NAIST-IS-97003,

January 1997.

[51] A.B. Kiely, S. Dolinar, R.J. McEliece, L. Ekroot, and W. Lin, "Trellis

decoding complexity of linear block codes," IEEE Trans. Inform. Theory,

vol.42, pp.1687-1697, 1996.

[52l T. Komura, M. Oka, T. Fujiwara, T. Onoye, T. Kasami, and S. Lin,

"VLSI architecture of a recursive maximum likelihood decoding algo-

rithm for a (64, 35) subcode of the (64, 42) Reed-Muller code," in Proc. In-

ternational Symposium on Inform. Theory and Its applications, Victoria,

Canada, pp.709-712, September 1996.

[53] A.D. Kot and C. Leung, "On the construction and dimensionality of

linear block code trellises," in Proc. IEEE Int. Symp. Inform. Theory,

San Antonio, TX., p.291, 1993.

[54] F.R. Kschischang, "The combinatorics of block code trellises," in Proc.

Biennial Syrup. on Commun., Queen's University, Kingston, ON.,

Canada, May 1994.

[55] F.R. Kschischang, "The trellis structure of maximal fixed-cost codes,"

IEEE Trans. Inform. Theory, vol.42, pp.1828-1838, 1996.

[56] F.R. Kschischang and G.B. Horn, "A heuristic for ordering a linear

block code to minimize trellis state complexity," in Proc. 32-nd Aller-

ton Conf. on Comm., Control, and Computing, pp.75-84, Monticello,

IL., September 1994.

Page 40: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

[571

[55]

[59]

[60]

[61]

[62]

[63]

[64]

[65]

[66]

[67l

[68]

[69]

REFERENCES 279

F.R. Kschischang and V. Sorokine, "On the trellisstructureof block

codes,"IEEE Trans. Inform. Theory, vol.41,pp.1924-1937, 1995.

A. Lafourcade and A. Vardy, "AsymptodcMly good codes have infi-

nite trellis complexity," IEEE Trans. Inform. Theory, vol.41, pp.555-559,

1995.

A. Lafourcade and A. Vardy, "Lower bounds on trelliscomplexityofblock

codes,"IEEE Trans. Inform. Theory, voi.41,pp.1938-1954, 1995.

A. Lafourcade and A. Vardy, "Optimal sectionalization of a trellis," IEEE

Tcans. Inform. Theory, vol.42, pp.689--703, 1996.

L. Lin and R.S. Cheng, "Improvements in SOVA-based decoding for turbo

codes," Proc. of ICC, pp.1473-1478, 1997.

S. Lin and D.J. Costello, Jr., Error Control Coding: Fundamentals and

Applications, Prentice Hall, Englewood Cl:ffs, NY, 1983.

S. Lin, G.T. Uehara, E. Nakamura, and W.P. Chu, "Circuit design ap-

proaches for implementation of a subtrellis IC for a Reed-Muller sub-

code," NASA Technical Report 96-001, February 1996.

C.C. Lu and S.H. Huang, "On bit-level trellis complexity of Reed-Muller

codes," IEEE Trans. Inform. Theory, vol._l, pp.2061-2064, 1995.

H.H. Ma and J.K. Wolf, "On tail biting convolutional codes," IEEE

Trans. Commun., vol.34, pp.104-111, 1985.

F.J. MacWilliams and N.,I.A. Sloane, The Theory of Error Correcting

Codes, North-Holland, Amsterdam, 1977.

J.L. Massey, "Foundation and methods cf channel encoding," in Proc.

Int. Conf. Inform. Theory and Systems, N'['G-Fachberichte, Berlin, 1978.

J.L. Massey and M.K. Sain, "Inverses of liaear sequential circuits," IEEE

Trans. Computers, vol.COMP-17, pp.330-337, April 1968.

R.J. McEliece, "On the BCJR trellis fi,r linear block codes," IEEE

Trans. Inform. Theory, vol.42, pp.1072-1( 92, 1996.

Page 41: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

280

[701

TRELLISESANDTRELLIS-BASEDDECODINGALGORITHMSFORLINEARBLOCKCODES

R.J. McEliece and W. Lin, "The trellis complexity of convolutional

codes," IEEE Trans. Inform. Theory, vol.42, pp.1855-1864, 1996.

[71] A.M. Michelson and D.F. Freeman, "Viterbi decoding of the (63,57)

Hamming codes -- Implementation and performance results," IEEE

Trans. Comm., voi.43, pp.2653-2656, 1995.

[72] H.T. Moorthy and S. Lin, "On the labeling of minimal trellises for linear

block codes," in Proc. International Symposium on Inform. Theory and

its Applications, Sydney, Australia, vol.1, pp.33-38, November 20-24,

1994.

[73] H.T. Moorthy, S. Lin, and G.T. Uehara, "Good trellises for IC implemen-

tation of Viterbi decoders for linear block codes," IEEE Trans. Comm.,

vol.45, pp.52--63, 1997.

[74] H.T. Moorthy and S. Lin, "On the trellis structure of (64, 40, 8) subcode

of the (64, 42, 8) third-order Reed-Muller code," NASA Technical Report,

1996.

[75] H.T. Moorthy, S. Lin, and T. Kasami, "Soft-decision decoding of bi-

nary linear block codes based on an iterative search algorithm," IEEE

Trans. Inform. Theory, vol.43, no.3, pp,1030-1040, May 1997.

[76] R.H. Morelos-Zaragoza, T. Fujiwara, T. Kasami, and S. Lin, "Construc-

tions of generalized concatenated codes and their trellis-based decod-

ing complexity," IEEE Trans. Inform. Theory, submitted for publication,

1996.

[77] D.J. Muder, "Minimal trellises for block codes," IEEE Trans. In-

form. Theory, vol.34, pp.1049-1053, 1988.

[78] D.E. Muller, "Application of Boolean algebra to switching circuit design

and to error detection," IEEE Trans. Computers, vol.3, pp.6-12, 1954.

[79] J.K. Omura, "On the Viterbi decoding algorithm," IEEE Trans. In-

form. Theory, vol.IT-15, pp.177-179, 1969.

[80] L.C. Perez, "Coding and modulation for space and satellite communica-

tions," Ph.D Thesis, University of Notre Dame, December 1994.

Page 42: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which
Page 43: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

REFERENCES281

[81] W.W. Peterson and E.J. Weldon, Jr., Error Correcting Codes, 2nd edi-

tion, MIT Press, Cambridge, MA, 1972.

[82] J.G. Proakis, Digita! Communications, 3rd edition, McGraw-Hill, New

York, 1995.

[83] I.S. Reed, "A class of multiple-error-correcting codes and the decoding

scheme," IEEE Trans. Inform. Theory, vol.IT-4, pp.38-49, 1954.

[84l I. Reuven and Y. Be'cry, "Entropy/length profiles and bounds on trellis

complexity of nonlinear codes," IEEE Trans. Inform. Theory, submitted

for publication, 1996.

[85] D. Rhee and S. Lin, "A low complexity and high performance concate-

nated scheme for high speed satellite communications, _ NASA Technical

Report, October 1993.

[86] R.Y. Rubinstein, Simulated and the Monte Carlo Method, New York,

Wiley, 1981.

[87] G. Schnabl and M. Bossert, "Soft decision decoding of Reed-Muller codes

and generalized multiple concatenated codes," IEEE Trans. Inform. The-

ory, vol.41, no.l, pp.304-308, January 1995.

[88] P. Schuurman, "A table of state complexity bounds for binary linear

codes," IEEF, Trans. Inform. Theory, vol.42, pp.2034-2042, 1996.

[89] V.R. Sidorenko, "The minimal trellis has maximum Euler characteristic

IV[ - [E[," Problemy Peredachi Informatsii, to appear.

[90] V.R. Sidorenko, G. Markarian, and B. Honary, "Minimal trellis design

for linear block codes based on the Shannon product," IEEE Trans. In-

form. Theory, vol.42, pp.2048-2053, 1996.

[91] V.R. Sidorenko, I. Martin, and B. Honary, "On separability of nonlinear

block codes," IEEE Trans. Inform. Theory, submitted for publication,

1996.

[92] 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.

Page 44: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

282

[931

{94]

[95]

[96]

[97]

[98]

[99]

[1001

[i0i]

[102]

[lO31

TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

V. Sorokine,F.R. Kschischang, and V. Durand, "Trellis-baseddecoding

of binary linear block codes," in Lecture No_es in Comput. Sd. (Proc. 3rd

Canadian Workshop on Inform. Theory), voi.793, pp.270-286, Springer-

Verlag, 1994,

D.J. Taipaie and M.B. Pursley, _An improvement to generalizedmin-

imum distance decoding," IEEE Trans. Inform. Theory, voi.37,no.l,

pp.167-172, 1991.

T. Takata, S. Ujita,T. Kasami, and S. Lin, _Multistagedecoding of

multilevelblock M-PSK modulation codes and itperformance analysis,"

IEEE Trans.Inform. Theory, voi.39,no.4,pp.1024-1218, 1993.

T. Takata,Y. Yamashita, T. Fujiwara,T. Kasami, and S.Lin, "Subopti-

mum decoding ofdecomposable blockcodes,"IEEE Trans.Inform. The-

ory,vol.40,no.5,pp.1392-1405, 1994.

V. Tarokh and I.F. Blake, "Trellis comple:-:ity versus the coding gain of

lattices I," IEEE Trans. Inform. Theory, v,_1.42, pp.1796-1807, 1996.

V. Tarokh and I.F. Blake, "Trellis comple::ity versus the coding gain of

lattices II," IEEE Trans. Inform. Theory, ,'ol.42, pp.1808-1816, 1996.

V. Tarokh and A. Vardy, "Upper bounds on trellis complexity of lattices,"

IEEE Trans. Inform. Theory, vol.43, pp.1294-1300, 1997.

H. Thapar and J.Ciofli,"A block processingmethod fordesigninghigh-

speed Viterbidetectors,"in Proc. ICC, vo:.2,pp.1096-1100, June 1989.

H. Thirumoorthy, "Efficient near-optimum decoding algorithms and trel-

lis structure for linear block codes," Ph.D dissertation, Dept. of Elec. En-

grg., University of Hawaii at Manoa, Nove nber 1996.

A. Vardy and Y. Be'ery, "Maximum-likelil,ood soft decision decoding of

BCH codes," IEEE Trans. Inform. Theory vol.40, pp.546--554, 1994.

A. Vardy and F.R. Kschischang, "Proof o"a conjectureof McEliece re-

garding the expansion index of the minilnal trellis,"IEEE Trans. In-

form. Theory, voi.42,pp.2027-2033, 1996.

Page 45: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

[104]

[1o51

[106]

[i07]

[108]

[109]

[ii0]

[111]

[112]

REFERENCES 283

V.V. Vazirani,H. Saran, and B. Sunder Rajan, "An eflidentalgorithm

for constructingminimal trellisesfor codes over finiteabelian groups,"

IEEE Trans. Inform. Theory, voi.42, pp.1839--1854, 1996.

A.J. Viterbi,"Error bounds forconvolutionalcodes and asymptotically

optimum decoding algorithm,"IEEE Trans.Inform. Theory, vol.IT-13,

pp.260-269, 1967.

Y.-Y. Wang and C.-C. Lu, "The trelliscomplexity ofequivalentbinary

(17,9) quadratic residue code is five,"in Proc. IEEE Int. Symp. In-

form. Theory, San Antonio, TX., p.200,1993.

Y.-Y. Wang and C.-C. Lu, "Theory and algorithm for optimal equivalent

codes with absolute trellis size," preprint.

X.A. Wang and S.B. Wicker, "The design and implementation of trellis

decoding of some BCH codes," IEEE Trans. Commun., submitted for

publication, 1997.

J.K. Wolf, "Efficient maximum-likelihood decoding of linear block codes

using a trellis," IEEE Trans. Inform. Theory, vol.24, pp.76-80, 1978.

J.Wu, S.Lin,T. Kasami, T. Fujiwara,and T. Takata, "An upper bound

on effectiveerror coefficientof two-stage decoding and good two level

decompositionsofsome Reed-Muller codes,"IEEE Trans.Comm., voi.42,

pp.813-818, 1994.

H. Yamamoto, "Evaluating the block error probability of trellis codes

and designing a recursive maximum likelihood decoding algorithm of lin-

ear block codes using their trellis structure," Ph.D dissertation, Osaka

University, March 1996.

H. Yamamoto, H. Nagano, T. Fujiwara, T. Kasami, and S. Lin, _Re-

cursive MLD algorithm using the detail trellis structure for linear block

codes and its average complexity analysis," in Proc. 1996 International

Symposium on Inform. Theory and Its Applications, Victoria, Canada,

pp.704-708, September 1996.

Page 46: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

284 TRELLISESANDTRELLIS-BASEDDECODINGA LGORITHMS FOR LINEAR BLOCK CODES

[113] O. Ytrehus, "On the trellis complexity of certain binary linear block

codes," IEEE Trans. Inform. Theory, vol.4C, pp.559--560, 1995.

[114] V.A. Zinovlev, "Generalised cascade codes," Problemy Pered_M:hi/at'or-

mats//, vo1.12.1, pp.2-9, 1976.

[115] V.V. Zyablov and V.R. Sidorenko, "Bound_ on complexity oftrellisde-

coding of linearblock codes," Problem.v _'eredachiInformats//,voi.29,

pp.3-9,1993 (inRussian).

Page 47: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

INDEX

active span, see span

add-compare-select (ACS), see decoding

antipodM convolutional code, 187

bipartite graph, 85

block code, 6

concatenated code, 139-144

coset, 9

cyclic code, 86-68

decoding, 13

decomposable code, 120

direct sum, i0, 127, 131

dual code, 8

encoding, 7

extended BCH, 111-113, 216-219

interleaved, 136

minimum distance, 11

non-binary code, 68-69

product code, 137-138

punctured code, 39

Reed- Muller,

Boolean representation, 17-22

concatenation, 144-147

minimum weight subtrellis, 110-

111

squaring construction, 118-127

terminated convolutional code,

165-174

[ulu + v I construction, 20-22

Reed-Solomon, 69

squaring construction, 115--120

weight distribution, 12

weight profile, 12

bound

Wolf, 60-61

branch

branch complexity,

N-section trellis, 64

sectionalized trellis, 74-78

branch complexity profile, 77

branch dimension profile, 77

parallel branches, 72, 74

butterfly subtrellis, 188

Cartesian product, see trellis

code decomposition, 120

coded modulation, 137

compare-select-add (CSA), 189-191

composite branches, see parallel branches

concatenated code, see block code

connectivity, see state connectivity

constraint length, 30, 151

convolutional code, 150-152

antipodal, 187

punctured, 156-159

puncturing matrix, 156

termination,

tailbiting, 162-164

285

Page 48: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

286 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

zero-tail, 159-181

correlation, 15-17

colet, 9

coset representative, I0

decoding

bidirectional decoding, 73

block code, 13

Chase decoding algorithm-II, 227

convolutional code, 175

differential trellis decoding, 186-193

compare-select-add (CSA), 189-

191

divide and conquer, 195

iterative low-weight search, 221-241

maximum a-poateriori (MAP), 243--

247

maximum likelihood (ML), 14--17

bit error probability, 252-256

Max-Log-MAP decoding, 247-252

recursive MLD, 195-219

CombCBT procedure, 202-208

CombCBT-U procedure, 211-215

CombCBT-V procedure, 208-209

composite branch metric table,

198

composite branch label set, 211

MakeCBT procedure, 201-202

RMLD-(G,U) algorithm, 215-216

RMLD-(G,V) algorithm, 209-210

RMLD-(I,V) algorithm, 209-210

SOVA decoding, 247-252

Viterbi decoding, 176-177

add-compare-select (ACS), 176-

177

IC implementation, 179-188

differential trellis decoding, see decoding

direct sum, see block code

discrepancy, 224

distance

Euclidean, 15

Hamming, 11

divide-and-conquer, 195

edge, see branch

encoding

block rode, 7

convolutional code, 152

extended BCH code, see block code

Gaussian elimination, 29

generating pattern, 152

generator matrix

block code, 6

convolutional code, 151-152

trellis oriented generator matrix, 29

reduced echelon form, 253

hard-decision decoding, 13

iterative low-weight search, see decoding

Kronecker product, 19, 117

labeling, see state labeling

linear block code, 6

[og-like_ibood function, 14

low-weight subtrellis, see subtrellis

maximt_m a-posteriori probability (MAP)

decoding, see decoding

maxim, Lm likelihood (MLD) decoding, see

decoding

Max-Leg-MAP decoding, see decoding

memor7 order, 151

minimal trellis,

construction, 78-84

N-section trellis, 62-65

se :tionalized trellis, 74

minimt m distance, 11

minimt m-weight trellis, 101-103

mirror symmetry, 55-57

multilevel concatenation, 139-147

nearest neighbor test threshold, 226-227

non-bil ary code, see block code

optima ity test threshold, 226-227

Page 49: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

optimum sectionalization, aee sectional-

isation

parallel branches, T2

parallel decomposition of trellises, 93-100

parity-check matrix, 8

permutation, see symbol permutation

profile, 28

branch complexity profile, 77

branch dimension profile, 77

state space complexity profile, 28

state space dimension profile, 28

punctured convolutional code, lee convo-

lutional code

purging procedure, _ee subtrellis

radix number, 76

rate, 9

recursive MLD, see decoding

reduced echelon form matrix, 253

Reed-Muller codes, see block code

row number set, 258

sectionalization, 71

optimum, 177-178,217-219

uniform, 72

Shannon product, see trellis

soft-decision decoding, 13

SOVA decoding, see decoding

span, 30

active span, 30

squaring construction, see block code

state

adjacent states, 28

final state, 24

initial state, 24

state complexity, 60-62

state connectivity, 76

state labeling, 43

information set, 44-47, 260-263

parity-check matrix, 48-55

state space, 24, 31,

state space complexity, 28

state space dimension, 28

INDEX 287

state trmlsition, 24, 32

subcode, 9

subtrellis, 72

butterfly subtreUis, 188

low-weight subtrellis, 100-113

purging procedure, 102-104

symbol permutation, 64,217

terminated convolutional code, see con-

volutional code

test

optimality test, 226-227

test error pattern, 227-228

threshold

nearest neighbor test threshold,

226-227

optimality test threshold, 226-227

trellis

Cartesian product, 135-137

concatenated code, 144-147

construction procedure, 43-47, 48-

55, 78-84,263-271

convolutional code, 152-155

minimal, see minimal trellis

minimum-weight trellis, 101-103

construction, 104-113

mirror symmetry, 55-57

N-section trellis, 27

parallel structure, 73, 85-91

sectionalized trellis, see sectionaliza-

lion

Shannon product, 127-136

squaring construction, 120-127

time invariant trellis, 25

time varying trellis, 27, 35-36

trellis complexity, 59

trellis diagram, 2, 24

trellis oriented form, 29

trellis oriented generator matrix, see

generator matrix

reverse trellis oriented form, 55

uniform structure, 211

Page 50: TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS …248 trellises and trellis-based decoding algorithms for linear block codes decoding algorithm computes probability values, which

288 TRELLISES AND TRELLIS-BASED DECODING ALGORITHMS FOR LINEAR BLOCK CODES

U-block, 88-91,211-213

uniform sectionalisation, see sectionaliza.

tion

uniform trellis structure, 211

vertext #ee state

Viterbi decoding, ace decoding

weight distribution, 12

weight profile, 12