Jun 28, 1991 - for accomplishing maximum likelihood (ML) soft syndrome decoding of binary ... error-trellis sections enable accelerated ML decoding. In.
IEEE TRANSACTIONS O N COMMUNICATIONS, VOL. 43, NO. 2/3/4, FEBRUARY/MARCH/APRIL
288
1995
Soft Syndrome Decoding of Binary Convolutional Codes Meir Ariel and Jakov Snyders AbstractWe present a n efficient recursive algorithm for accomplishing maximum likelihood (ML) soft syndrome decoding of binary convolutional codes. T h e algorithm consists of signal-by-signal hard decoding followed by a search for t h e most likely error sequence. T h e number of error sequences t o b e considered is substantially larger than in hard decoding, since t h e metric applied to t h e errorbits is t h e magnitude of t h e log likelihood ratio rather than t h e Hamming weight. An error-trellis (alternatively, a decoding table) is employed for describing t h e recursion equations of t h e decoding procedure. T h e number of its states is determined by t h e states indicator, which is a modified version of t h e constraint length of t h e check matrix. Methods devised for eliminating error patterns and degenerating error-trellis sections enable accelerated M L decoding. In comparison with t h e Viterbi algorithm, t h e syndrome decoding algorithm achieves substantial reduction in t h e average computational complexity, particularly for moderately noisy channels.
I. INTRODUCTION Consider a binary ( n , k ) convolutional code C , specified by a polynomial check matrix H ( D ) . Denote by m' the memory length of H ( D ) (i.e., H ( D ) = H(')D' where # 0). Let H be the scalar check matrix corresponding to H ( D ) , assumed to have the conventional (double-echelon) structure of zero entries except for a diagonal band of nonzero submatrices. Let a sequence of codebits c = ( c l , c ~. ., .) be transmitted through a memoryless channel with transition probability functions p o ( r ) = p ( r l c = 0) and pl(r) = p ( r l c = 1); T E %, where % stands for the real line. As customary in ML decoding with finite delay, we shall consider a truncated version of the code, unless otherwise stated. The various procedures for accelerating the decoding, presented in the sequel, apply equally well to non-truncated codes. Let L be the truncation length. Denote by m the memory length of the encoder G ( D ) (assumed to be polynomial) of C. Then H will have dimensions A4 x N , where N = ( L m ) n and M = ( L m m')(n - k ) . Given the received sequence of real numbers r = ( T I , r-2 , . . . , r ~ at the channel's output, ML decoding is achieved by identifying the codeword c E C which maximizes the following
+
+ +
expression N
Q ( c )= ~ l o g p ( r - i I c i ) .
(1)
i=l
Obviously, maximization of Q ( c )is equivalent to maximization of N
T(c) =
Q(C)
-
logPo(ri) i=l
iEAI(C)
where O ( T ) = log[Pl(r)/po(r)] and Al(c) = {i : c j = 1) is the support of c . Denote @ = (@(?-I), e(?$, . . . ,e(?")). Then T ( c )= ( c ,0 ) , (2) where (., .) stands for the inner product over 92. It is known [4], [5] that ML soft decoding may be accomplished by searching through a coset of C, rather than through C. A brief proof follows. Observe that
where I?+ = {i : O(q) 2 0) and v = ( V I , W Z , . . . , V N ) is the symbol-by-symbol hard detected vector defined by
(.,e)
Evidently, a codeword c E C maximizes iff it minimizes ( v , 0 ) - (.,@). For any c E C let e = ( e l , . . . , e N ) satisfy c = v@e (where @ stands for modulo 2 summation). We have N
(v,0) - (v
e ,0 ) =
eile(ri)l.
(4)
i=l
)Hence, the most likely codeword 2 = (21, 22, . . , E N ) is given by e = v @ 6 ,where e minimizes the expression given by (4) over all e belonging to the coset of C that contains v . Thus the search for c that maximizes ( c ,0 ) (2) may indeed
Paper approved by Dariush Divsalar, the Editor for Coding Theory be replaced by a search, through the coset of C containing and Applications of the IEEE Communications Society. Manuscript v, for an e that minimizes the right side of (4). received January 9, 1992; revised November 1, 1992 and December 30, Denote pi = l O ( r - i ) l . p i represents the reliability of 1993. This work was supported in part by the Israel Science Foundathe hard decision on the ith bit, and is called confidence tion administered by the Israel Academy of Sciences and Humanities. This paper was presented in part at the 1991 IEEE International value [3]. In view of (4), it will be used as the errorbit Symposium on Information Theory, Budapest, Hungary, June 24 - metric. 28, 1991. The syndrome z = ( z ~ , z z ., . , z ~ corresponding ) ~ to The authors are with the Department of Electrical Engineering Systems, Tel Aviv University, Ramat Aviv 69978, Tel Aviv, Israel. v is given by z = Hv', where the superscript t indicates IEEE Log Number 9410061. 0090-6778/95$4.00 0 1995 IEEE
ARIEL AND SNYDERS:SOFT SYNDROME DECODING OF BINARY CONVOLUTIONAL CODES
transposition. Hence e satisfies z = H e t = eihi, where (hi : i = 1 , 2 , . . ,N } are the columns of H . Accordingly, we shall associate pi with h, and define the weight of a set of columns {h, : i E K } of H t o be C i E pi. K The decoding procedure starts with the computation of z. If z = 0 then by (4) e = 0, hence c = v. In other words, for a memoryless channel, a hard decision on each received symbol (i.e., choosing the digit with the greater likelihood) yields also the most likely codeword in the special case where the vector of hard decisions is itself a codeword. If z # 0 , then e is obtained by complementing the bits of v at the positions corresponding to the least wezghzng set of columns of H that sum up to z . It turns out, however, that the collection of sets of columns of H (equivalently, the error vectors) that has to be examined is usually rather vast even for moderate dimensions of H . This is the incentive to develop an efficient way for searching through the error vectors. ML syndrome decoding of convolutional codes has rarely been considered by researchers. Schalkwijk et al. [2] described a recursive hard decision syndrome decoding algorithm that uses a trellis but, as the authors comment, their method is not obviously advantageous for soft decoding since most of the hardware savings are lost. We introduce a recursive algorithm based on a horizontal partitioning of H and the linear combinations of the columns of the submatrices thus obtained. The principles of constructing and decoding the error-trellis are presented in Section 11. An improvement to the decoding procedure is described in Section 111. It consists of elimination of error vectors with the aid of a procedure that has previously been employed for efficient soft syndrome decoding of binary block codes. Section IV presents a trellis degeneration algorithm that yields, under moderately noisy conditions, a substantial reduction in the average computational complexity without affecting the optimality of the decoding procedure. Average and worst case computational complexities are exhibited in Section V for three codes. Concluding remarks are provided in Section VI.
11. ERROR-TRELLIS A N D DECODING TABLES Assume hereafter that z # 0, i.e., exclude the trivial case where the optimal codeword is v. We shall partition H horizontally into submatrices
(5)
Each submatrix H , ; 1 5 q < M / l is of 1-rows. The value of 1 is chosen to satisfy the following conditions: 1) I _> ( n - k)m', 2) 1 divides M I 3) n - k divides I . Condition 1) ensures that the positions of the nonzero columns of non-adjacent submatrices of H will not overlap.
It mainly serves for the simplicity of presentation. Condition 2) is easily satisfied by altering L; it ensures that the last submatrix, H M I , , will also have 1 rows. By Condition 3) all submatrices H,,except for H1 and H M I ~will , be identical up to a cyclic shift. We segment z according t o the partitioning of H,whereby each segment sg of 2; = (si,si , . , S M / I ) * has length I . Due to the structure of HI any s, is the sum of a relatively few noneero columns of the corresponding submatrix H,. Such set of columns of H, will be called a pattern. (Thh terminology is not identical to the one adopted in (61.) The empty set is also considered t o be a pattern for the all-aero syndrome segment. Since a column of H participates, generally, in the formation of more than one segment of z, a recursive decoding algorithm is called for, just aa the structure of the generator matrix G calls for the Viterbi algorithm [l]. Denote by h,,i the ith column of H q . Let A, for 2 5 q 5 M/I be the location set of the nonzero columns of Hg that have nonzero continuations in H q - l , i.e.,
Definition 1: The matrix 7ig = (h,,i : i E A q )
(7)
(with the columns arranged in some fixed arbitrary ordering), is named the states-matrix. We call U =
rankX,
(8)
the states indicator. As demonstrated in the sequel, it is possible t o construct an error-trellis with 2' states. Note that increasing the value of 1 (beyond ( n- k ) m l ) will not affect ?f, except for appending zero rows. To specify 31, explicitly, assume hereafter that its columns are arranged according to increasing order of the elements of A , . Then X, does not depend on q. Hence the submatrix index will be omitted whenever reference t o the value of q is not required. Let us represent by (J,}; J = 0 , 1 , 2 , ~ ~ ~ , ( 2 " - 1 ) the 2O vectors that belong to the linear span of the columns of H,+1 ; q = 1 , 2 , . . . ,( M / l ) - 1. J, will be regarded as both the J t h sink state of H , and the J t h source state of H,+1. The weight w(A) of a pattern A = {hq,i : i E T}is pi. If H , had been the check defined to be w(A) = CiET matrix of a block code, then the most likely pattern would have been the one with the least weight. In our case, however, we should not compare patterns which differ in their influence on syndrome segments outside the boundaries of H , . Therefore, we shall separate the patterns into disjoint families in a way that the columns of H , corresponding to the members of each family, sum up to the same binary M-tuple syndrome z. The families of patterns associated with H , are conveniently described by using the source and sink states of H , .
IEEE TRANSACTIONS O N COMMUNICATIONS, VOL. 43, NO. 2/3/4, FEBRUARY/MARCH/APRIL 1995
290
Definition 2: For a segment s, and a pair of states Ji-l and J,, the family FIJi-l, J,, sp] is a collection {A} of patterns related to H,, such that for each A: a) s , is the sum of the columns of A, b ) Ji-l is a linear combination of the columns of A that belong to H ',, C) J , is a linear combination of the l-bit continuation, in 7f,+l, of the columns of A. There are at most 2". 2" = 2'" different families of patterns for each submatrix and for each value of s,. The number of patterns in a family is influenced by the value of 1. Usually, for 1 = (n-k)m' each family consists of a single pattern whereas for 1 > ( n - k)m* each family comprises several patterns. An 1 in the range n - IC 5 1 < ( n - k)m' is also admissible (contrary to Condition l)), provided 7-1 is defined with ( n - k)m' rows. Such case may be treated essentially in the same way as the case 1 2 ( n - k)m', but will not be considered here. We mention, however, that for an 1 E [n- IC, ( n - IC)m'-) some of the families will usually be empty. Given the syndrome segments {s,}, the decoding is performed recursively, as follows. For each H , , minimize the weights of the patterns in each family, then compute the weights { w ( J q ) }of the sink states according to
state (the source state for the first section), and its last section ( q = M / l ) terminates with a single sink state. Each family of patterns is represented by a set of (necessarily) parallel branches. The weight w ( J q ) associated with state J , is the sum of the confidence values accumulated along the best path (i.e., the path yielding the minimum sum) that starts at the initial state (of weight 0) of the trellis and terminates at the state J,. To illustrate the decoding procedure, consider the following example. Example 1: Let C1 be the rate 1/2 convolutional code with polynomial check matrix H ( D ) = [1+ D
+ 0'
11.
The corresponding scalar check matrix H is given by 1100000000~. .oooo 1011000000 ' . .oooo 1 0 1 0 1 1 0 0 0 0 0000 ~~~ 0 0 1 0 1 0 1 1 0 0 0000 ~~~ H=
0 0 0 0 0 0 0 0 0 0 ~1011 ~~ 0000000000 ' . . l o l o 0000000000 . . . O O l O
+
As m = m' = 2, the number of rows of H is M = L 4. Let 1 = 2 (accordingly, L is taken to be even for satisfying Condition 2)). Then
where FIJi-l] stands for F[Ji-,,J,,s,] ; J' = 0 , 1 , . . . , 2" - 1 with the fixed values of J , and s,. Assuming for a while that ',? has only U columns, let {h,+l,i : i E B(J,)} be the subset of columns of ',?,+I such that J , = CiEB(J,) h,+l,i. Then {h,,i : i E B ( J , ) } is common to all A in the right side of (9). Denote Q(J,)
=
Pi. iEB(Jq)
(10)
i = 12 34 56 7 8 . . . 11 10 11 10 10 11 10 10 11 10 10 11 10 10 11
The evaluation of w(J,)is simplified by deleting {h,,i : i E B(J,)} from all A and adding Q ( J , ) to the final (i.e., outer) minimum. More generally, for the case that the number are the partitioned check matrix with the corresponding of columns of 7f exceeds U , facilitate the computation of syndrome segments. We found this partitioning to be parw ( J q )as follows. Extract from each A the set of columns @ ticularly advantageous; the algorithm can proceed with with continuations in ',?,+I, then separate the sets {a} into other values of 1 fulfilling Conditions 1) - 3). The statesclasses {T}such that for all in each T the columns sum matrix is given by up to the same binary vector. Now modify (9) accordingly. For representing the computation procedure, we shall construct an error-trellis whose sections correspond to the submatrices of H . Since H , has 1 rows, a section of the trellis is of length n l / ( n - IC) bits. All the sections of the hence U = 2. We prepare a list of all patterns for each error-trellis belong to a fixed collection of 2' versions; the value of s,. Consider for example Hz with s:! = (10)'. The particular version assumed by section q is determined by patterns, represented by the location indices of the particithe value of the corresponding syndrome segment s, of 1 pating columns, are given by Table 1. For Hz there are, of bits. The sink states of section q are { J , } for each q = course, three additional lists of patterns which correspond 1,2,. . . , ( M / 1 ) - 1. The error-trellis has a single initial to the other three possible values of sa. Each of the four
~
291
ARIEL AND SNYDERS: SOFT SYNDROME DECODING OF BINARY CONVOLUTIONAL CODES
TABLE 111
DEXXDING TABLEFOR H*,(3"sP = (io)', m c I OF sink
I sextets 11 none.
1.
source weighis
I TABLE I1
lkX3DING?IABLEFORH2, GvENs2 = (lO)',FOR'INEcbDEC1 OF
-LE
1. source weights
sink
and "(Oq)
lists contains 16 patterns, inclusive of the empty set for the case s2 = (00)'. The entries of Table 1 are separated into 220 = 16 families where each family, in this case, contains a single pattern (thus the minimization phase over each family is saved), To enable explicit formulation of the decoding procedure, we adopt the following (arbitrary) one-to-one correspondence between { J , } and the linear span of X,+1: U , = (OO)t, 1 , = ( l o ) # , 2, = ( l l ) f and 3 , = ( O 1 ) l . Then the decoding table for H z , given sz = (lo)', is presented by Table 2. It is employed to evaluate the sink weights { ~ ( J z :) J = 0 , 1 , 2 , 3 } ,according to (9), as soon as { w ( J 1 ) : J = 0, 1 , 2 , 3 } are available. For instance, ~ ( 3 2 is given by
= min{w(9q-1)
+
+
zZq-lpi+l %qpi+31 ut(&-1) & q - l P i + l + fZqPi+3, "(Iq-1) -k 22q-lPi+l zZqpi+B, "(0,-1) .taq-lPi+l -k z Z q p i + 3 } , (14)
+
+
where (zzq-l, z ~ ) stands ' for s q , = 1@ z and i = 4q 3. The rows of Table 4 to be used, during the decoding procedure, are specified by the value of s,. Note that the entries of Table 4 are symmetrical with respect to both the central vertical and central horizontal axes of the table. Thus, it is sufficient t o store in memory only a quarter of Table 4. An error-trellis provides an alternative representation of the computation procedure of (11)-(14). Its qth section, ) depicted in Figure 1, is equivalent t o Table 4. The trellis diagram has 2 O = 4 states. A family, consisting in this example of a single pattern, is portrayed as a single branch "(32) = P 5 P7 min{w(31) + P S , "(21) p6 $- P 8 , followed by an extension representing G?(J,). Any source and any sink states of section q are connected by 2' = "(11) P61 "(01)). 4 parallel branches, corresponding t o the 4 values of s q , Table 3 is the decoding table for the qth submatrix, and a successive branch that stands for G?(J,). During the given that sq = (lo)'. Table 4 is the general decoding decoding procedure, 3 out of the 2' = 4 parallel branches table of the code (for any q and all the four values of s q ) . are discarded upon the evaluation of s,. Increasing the It prescribes the recursive computation of the sink weights value of 1 affects the number of families connecting any { w(J , ) } , according to the following expressions derived by two consecutive states and also the number of branches in each family, but not the number of states. For instance, (9): if 1 = 6 then any two consecutive states are connected by ~ ( 3 4 )= Pi ps+Z min{~(3,-1) zzg-ipi+i 2' = 16 families, each containing four branches. Hence, the trellis corresponding to 1 = 6 is less favorable for decoding +fZqP%+3, "(2,-1) zZq-lPi+l r2qPi+3~ than the trellis for I = 2. "(1,-1) zZq-lPi+l *ZqPz+39 Unlike the uniformly structured code-trellis whose "(0,-1) ZZq-lPs+l zZqPi+3}, (11) paths (i.e., codewords) are equiprobable (by assumption), in the error-trellis the paths usually have different a priori probabilities. In addition, some branches are labeled with more confidence values than others, and some merely transfer the weight from one state to another without any computations involved (see, for instance, the branch connecting states 1,-1 and U,, provided sq = (lo)*). The latter observation is the basis for reducing the number of
+ + +
+
+
+
+ +
+ + +
+
+
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 43, NO. 2/3/4, FEBRUARY/MARCH/APRIL
202
1995
TABLE IV -DING
X” FOR cr w-mI = 2. 40,-1) Pi+l Pi+l +Pi+3 Pi+3
0
2,-1
Pi+3 0 1,-1
Pit1
Pi+l +pi+3 Pi+l +pi+3 Pi+l
0,-1 Fig. 1. The qth section of the error-trellis of C1.
0 Pi+3
0
Pi +3
Due to the symmetrical structures of Tables 3 and 4, an expurgation of an identical extent is achievable for all 4!outcomes of the sorting and for all s , . In some cases it is possible to accelerate the sorting procedure. Indeed, the least weighing sink state of the qth section is immediately identified as U , if any of the following occurs:
Pi+l +pi+3 Pi+l
3y-1
and
s, = (Ol)t,
2y-1
and
sq
ly-l
and
sq
and
s, = (OO)t,
= (ll)t,
and branches of the error-trellis by the following procedure, called expurgation. At the expense of the computational effort required for (partial or full) sorting of {w(J,)},it is possible to delete some branches at the (q + 1)th section. To illustrate this, consider Table 3 and assume W(3,-1) 5 w(2,-1) 5 w ( l q - l ) 5 w(U,-l). Then seven entries are deleted from Table 3, and the recursion equations (11)-(14) are reduced to the following:
and
(19)
where Jr-l denotes the least weighing source state of the qth section. Fig. 2 depicts the expurgated qth section of the error-trellis in accordance with (15)-( IS), and the corresponding sections of the code-trellis. The total number of real additions and comparisons required by the syndrome decoder is a t most 17, versus 28 fixed number of real operations required by the Viterbi decoder employing a minimal code-t rellis. Observe that (19) is the only case in which a branch, with a zero weight, connects a source state to a sink state with the same value of J . In Section IV we shall see that repeated occurrence of (19) for a sequence of sections enables the decoder to delete entire sections of the errortrellis. This phase of reducing the complexity of the trellis is called degeneration. An additional phase of simplifying the trellis, called elimination, will be described in Section 111. Both the degeneration and the elimination phases maintain the optimality of the decoding procedure.
293
ARIEL AND SNYDERS: SOFT SYNDROME DECODING OF BINARY CONVOLUTIONALCODES
Now define the freematrix
Hf by
Hf = (hq,i: i E Yq),
a) b) Fig. 2. Trellis representation of the code Cr. a ) A 4-bit section of the code-trellis. b ) The corresponding expurgated 4-bit section of the error-trellis.
The ML soft syndrome decoding procedure, inclusive of the degeneration and elimination phases to be elaborated in the sequel, is summarized as follows.
with the columns arranged according t o increasing value of i (i.e., the columns of Hf are the nonzero columns of Hq whose continuations outside the boundaries of H, are all zeros). Thus H I is independent of the submatrix index q. Soft syndrome decoding of H f ,at the qth section of the error-trellis, is employed t o delete some members of each family of patterns. Denote v = IY,l,where I I stands for cardinality. Strictly speaking] Hf is a check matrix of an (v,v - I ) error correcting block code only if 1 < v, but syndrome decoding is applicable t o Hf also when I 2 v. Any /-bit vector belonging to the linear span of the columns of H f will be called afiee-syndrome and will be denoted by zf.A set of columns of Hfthat sum up to zf will be called a free-pattern. The elimination procedure is demonstrated by the following example. Example 2: Consider the Wyner-Ash code check matrix
Decoding algorithm:
H(D)=[l+D+DZ
a) Compute the syndrome z corresponding t o the symbol-by-symbol hard detected vector v. If z = 0 conclude that the most likely codeword 13 is v, else go to b ) . b) Apply the degeneration algorithm to strings of zero segments of z (see Section IV); set the bits of E to be the bits of v at the positions corresponding to the degenerated sections. c) At the remaining trellis sections, employ the elimination method (see Section 111) to reduce the number of parallel branches. d ) To obtain the most likely error path 8, decode the degenerated-eliminated trellis, aided by the expurgation method described in Section 11. e ) Complement v at the positions identified with 8.
The expurgation and the elimination methods are aimed at reducing the worst case computational complexity, whereas the degeneration algorithm decreases the average complexity.
111. ELIMINATION OF ERROR PATTERNS
hq,i
#0
1
h,,i=O: 1 5 u < y ; u # q
} *i
E Y,*
1+D
C2
with polynomial
1+D2
13.
To present a nontrivial elimination procedure, we choose 1 = 3 for partitioning H (i.e.] there are 12 errorbits per section). Thus
-
-1111 1100 1111 1010 1100 1111
q=l
1010 1100 1111 1010 1100 1111 q=2 1010 1100 1111 1010 1100 1111 1010 1100 1111 q=3 1010 1100 1111
H=
1 whereby the states-matrix is given by
3c= and
A reduction of computational complexity is achievable] particularly for high rate codes and for large values of I , by applying methods for eliminating error patterns. The elimination procedure is a precomputation stage consisting of soft syndrome decoding of a particular block code, which is extracted from each section of the error-trellis of the convolutional code. Let Yq, Yq c { 1 , 2 , 3 , . . . , N } , be the subset of the column indices of H , specified by
(21)
Q
[ [
11110 00101 00000
1
= 2. The free-matrix Hf = 1 1 10 10 01 01 00 ] 1010101
is actually a check matrix of the (7,4) Hamming code. According to Definition 2, there are 128 patterns in a family. Therefore, in the resulting four-state error-trellis 128 parallel branches connect any source and sink states of a section (i.e., there are 2048 12-bit branches for each value of the syndrome segment). To decrease the complexity of decoding, we shall decompose each section into two part(20) s (see Figure 3); the first part corresponds to the seven
294
IEEE TRANSACTIONSON COMMUNICATIONS, VOL. 43, NO. 2/3/4, FEBRUARY/MARCH/APRIL
columns of the free matrix and the second part corresponds t o the five columns of the states-matrix. Each set of 16
parallel branches, in the first part of the trellis section, is reduced into a single branch by the decoding of the freematrix. The weights of the four intermediate states, that join the two parts of the section, may be sorted and the result employed for expurgating the second part of the section. Thereafter, an ordinary trellis decoding procedure may be carried out. Let us address the decoding of H f. For each value assumed by the three-bit free-syndrome zf , it is sufficient to consider only the eight linearly independent free-patterns [4],[5]. By the elimination method of [6], each such set of eight free-patterns is reduced to a single free-pattern in the following way. Perform a short sorting procedure that identifies the columns h(l) and h(2)of H f that have the first and second minimum confidence values, respectively, and the column h(3)of Hf with the minimum confidence value among the remaining columns exclusive of h(1)$h(2). For four of the values of z f ,namely 1) zf = 0, 2) zf = h('), 3) zf = h(2) and 4) zf = h(3), the best free-pattern is recognized immediately without any computations. In Case 1) it is the empty set. In Cases 2)-4) the best free-pattern is {zf }, i.e., the free-pattern consisting of the single column of Hf that is equal to z f . For the remaining four values of zf , determine the surviving free-pattern in the following way 5 ) zf =h(1)$h(2):choose between {z(f)} and {h(l),h(2)}, 6) zf=h(1)@h(3):choose between {z(f)} and {h('),h(3)}, 7) zf = h ( 2 ) @ h ( 3 ) : c h o ~ among ~ e { ~ ( f ) } ,{h(2),h(3)},and {h(l),h(l)}, 8) zf = h(l) @ h(3): choose among {z(f)}, {h('), h(2), h(3)},{h(l),h(')},{h(2),h(2)}, and {h(3),h(3)}, where h = h e z f . The sorting procedure consumes at most 10 comparisons. The best free-patterns for Cases 5)-8) are found by a total of 16 real additions and comparisons. By these procedures, a section of 12 errorbits is decoded by at most 91 real additions/subtractions. In comparison, the Viterbi algorithm requires at least 144 real operations for decoding three sections, each of 4 codebits, in the four-state code-trellis based on a manimal encoder (and more than 2000 operations for a section of 12 codebits). We remark that the complexity of the error-trellis, unlike the complexity of the code-trellis, is independent of the choice of the encoder. IV. TRELLIS DEGENERATION
A disadvantage of the Viterbi algorithm is that its computational complexity is fixed, regardless of the number of channel errors that have occurred. Hence employing the Viterbi decoder under moderately noisy conditions results in a considerable waste in computational effort. We present an algorithm that copes with this problem by identifying fractions of the optimal error path for which the
surviving free-pat terns
1995
stat es-matrix patterns
Fig. 3. A 12-bit section of the error-trellis of the code C2.
SNR (&/No) 3 4
5 6 7 8
Percent of nonzero segments 33.5 25.6 18.7 12.1 6.2 3.1
symbol-by-symbol hard decisions concur with ML soft decoding. Consequently, ML decoding may be accomplished by searching through only a portion of the error-trellis sections. The performance of the algorithm improves as the signal to noise ratio (SNR) increases. Observe that under high SNR conditions the syndrome contains considerably more zero segments than nonzero segments. For instance, when the code C1 of Example 1 is employed for transmission through a memoryless channel with SNR of 8 dB, 98% of the syndrome bits and 97% of the syndrome segments (of 1 = 2 bits) turn out to be zero (see Table 5). In addition, a syndrome bit with value 1 indicates the presence of one or more errorbits with value 1 in a certain, usually narrow, band of the error vector. For C1, if zi = 1; i 2 3 then at least one of the six errorbits ( e 2 i - 5 , e 2 i - 4 , . . . , e 2 i ) is equal to 1. These observations imply that it may be beneficial to start the search for nonzero errorbits at the vicinity of sections corresponding to nonzero segments of e , before examining other sections. Hereafter we shall assign the state U, to the linear combination with value 0 of the columns of X q + l . U, will be called the basic sink state of section q . According to (19), if s, = 0 then the branch connecting the basic source
~
ARIEL AND SNYDERS: SOFT SYNDROME DECODING OF BINARY CONVOLUTIONAL CODES
state to the basic sink state of section q has zero weight. Recall that the notation U: indicates that U , is the least weighing sink state of the qth section, i.e.,
:0
e w ( U q )5
295
\
( start \s=o,r=o)
min{~1(l,),zu(2~),...,2~((2" -
- J6)
U T will be called a winner. Denote by w(Ju
the mznimvm weight of all the subpaths from state J , to state J i , q > U. We shall indicate the cases sq = 0 and s, # 0 by writing s q ( 0 ) and s i q ( ] ) , respectively, whereas sg will stand for the qth syndrome segment with a 'don't care' value. A zero-string will mean either a string of syndrome segments with value 0,or the corresponding sequence of trellis sections. To describe the degeneration algorithm, we shall consider the following cases. Case 1): zt
no w(oP+6) 5 w(Jp+6);
J = l,%,...,e'-f no
Yes and
=(s~,~~.,s~_~~s~~(~),s~+~(O),~~~,~~/~(O)).
Since the syndrome vector ends with a zero-string, if the basic state is a winner a t some stage of the zercstring then it continues the be a winner until the end of the trellis. In terms of our previously introduced notations, Up"+6 for some S 2 0 implies 0r+6+1,0;+,+,, , U'&,l. Consequently, the subpath starting at and passing only through basic states until reaching 0&/[,is part of the optimal error path. Hence the search through the trellis is terminated at the ( p + 6)th section, and 4 = vi for all i in the degenerated sections. Notice that the basic state tends to become a winner in a sufficiently long zero-string, since it maintains a constant weight throughout the zero-string, whereas other states increase their weights.
Successful degeneration: 1) 4 = vi; < i 5 ,*, 2) 4 0 , - y ) = 0, 3) continue to decode forward from the ( a - 7 1)th section.
s..
+
1
Q
-
-
+ +
+
Case 3): z* = (si,..., ~ f i - ~ , s ~ ( l ) , ~ + , ( O ) , . . . , s ' , ( O ) , S k + l (I), S k + m . . . S F / , ) . This is the general case, in which a zero-string is located between two nonzero segments. The trellis is traced backwards from the ( a + 1)th section until U:-?,y 2 0 is identified. Simultaneously, a forward decoding procedure is carried out, starting at the Pth section, until finding OF+,,, 6 0. All the sections with index q , p + 6 < 1
>
.
Observe that if 3t has only c columns, the weight of any path ending at state Jaw-, includes the term Sl(J,-,) given by (10). As i2(Ja-,) > 0 for J # 0 and 52(0,-,) = 0, a faster determination of the optimal source state OL-, is possible by employing the following modified version of (22) "(U,-,
I-+
d+,)5
4Ja-7
-
&+I)
For the case that 'H has more than
B
+WJa-7).
(23)
columns, a similar ac-
IEEE TRANSACTIONS O N COMMUNICATIONS, VOL. 43, NO. 2/3/4, FEBRUARY/MARCH/APRlL 1995
296
TABLE V I
i-vi 1 1 2
1
4 0 5 0
pi i vi pi i wj 7 2 6 0 7 5 1 0 7 7 6 0 5 2 7 1 5 5 2 0 5 7 7 0
pi
3 3
5=2
7 5 4 1 7 5 5 1
7 7
J=1
pi
i
wi
7 2 9 0
7 3 0 1
1 7 9 1
7 8 0 1
p17 -k P19
J=3
!h”mFk”VM;TOR AND SYNDROME FOR c1.
IP15
PI9
J=O The first 5 sections of the degenerated error-trellis for Example 3
Fig. 5.
+
BY Table 4, Q(34) = p13 p15, Q(24) = p15, Q(14) = P13 and of course R( 0,) = 0. Substituting the values provided by Tables 6, we conclude that U4 is the best source state for both U 5 and 35, but not necessarily for 1 5 or 25. Thus we trace one section backwards, i.e., check whether w(O3 ++ &) I w(J3 & ) + a ( & ) where Q(33) = P ~ + P I I ,P(23) = p 1 1 , R(13) = pg and O(03) = 0. With the aid of Tables 4 and 6 we find O3 to be the optimal source state for all of 05, 1 5 , 25 and 3 5 (see Figure 5). Accordingly, the ezacd values of (w(J5)) are w(35) = 8, w(25) = 11, 7415) = 12, w(05) = 3, and the first three sections of the trellis are degenerated into a single path. We proceed to the 6th section, which is the first in a zerostring of eight sections. By minimizing (w(J5)) we find the basic state U; to be the winner, and with the aid of the decoding table for the 14th section we conclude that 013 is the optimal source state for all of 014, 1 1 4 , 214 and 314. Thus the exact values of ( ~ ( J 1 4 ) )are known, the sections of the trellis with indices 13 2 q 2 6 are degenerated into a single path, and the three paths ending at 15,Z5 and 3 5 are omitted. Sections 15 and 16, corresponding to nonzero syndrome segments, are now decoded by an ordinary trellis decoding procedure using the known ( U ) ( J14)). Finally, since Section 17 starts a zero-string that extends to the end of the trellis and Oy6 is a winner, the sections of the trellis with indices 25 2 q 2 17 are also degenerated. In conclusion, ML decoding is accomplished in Example 3 by examining only 1/5 of the trellis sections. The optimal error path has bits with the value 1 at the 18th, 54th and 57th positions; therefore the decoding procedure is completed by complementing 018, v54 and v57.
-
2 3 1 2 4 1
250
7 4 8 0 7 4 9 0 5 50 1
5 7 3 1 7 7 4 0 7 750
7 9 8 1 7 9 9 0 3lOC0
7 5 5
celeration applies with the term Q(J,-,) in (23) replaced by w(&in), where w(amin) is the weight of the least weighing set of columns of ‘,Jfa-y+l that sum up to J,-7 . Notice that upon a successful degeneration (i.e., /3 6 < cr - 7 ) the trellis is in effect truncated. Thus for all practical purposes there is no need to intentionally truncate the code. For a non-truncated code, the difference between the locations of adjacent optimal source states determines the decoding delay.
+
Example 3: We simulated transmission of 100-bit truncated codewords of the code C1 of Example 1 through an additive white Gaussian noise channel with SNR of 6 db. The confidence values were quantized into the following four values: 1 (least reliable), 3, 5, 7 (most reliable). As displayed by Table 5, about 12% of the syndrome segments are, on average, nonzero. We apply the trellis degeneration algorithm to an arbitrarily picked received sequence whose syndrome contains 16% nonzero segments. The following Table 6 exhibits the symbol-by-symbol hard detected vector v and the corresponding confidence values {pi}. The syndrome z associated with v is partitioned into 2-tuple segments { s q } and is also exhibited in Table 6. Considering the first nonzero segment of z (i.e., the 5th section of the trellis), we check (23) with a = 4 and y = 0, i.e., whether w(U4 J ; ) 5 w(J4 ++ J ; ) + O(J4). c-)
V . COMPUTATIONAL COMPLEXITY RESULTS Table 7 exhibits the computational complexities of the syndrome decoding algorithm and the Viterbi algorithm, applied to three convolutional codes (the two algorithms produce, of course, the same output bit error probability). The first two codes are C1 and C2 considered earlier, the third code is C3 with generator matrix [1+ D
+ D3 + D4+ D6
1
+ D3 -t D4 + D 5+ D6]
ARIEL AND SNYDERS SOFT SYNDROME DECODING OF BINARY CONVOLUTIONAL CODES
TABLE VI1 FOR %EtEE CODES
aMPARISON OF m A ' I I O N A L .
(PARIn-awx F " o M L 4 u Code
(7, 1)
IN ckiw FORM).
Syndrome decoding
Viterbi SNR algorithm ( NO) = 3 4 5 6 7
worst case
average
2100 2100 2100 2100 2100
1275 1275 1275 1275 1275
29100 29100 29100 29100 29100 29100
2275 2275 2275 2275 2275 19500 19500 19500 19500 19500 19500
574 479 378 280 187 109 1273 1043 853 596 296 154
8
(7,3, 5, 1)
(133, 171)
3 4 5
6 7 8 3 4 5 6 7 8
I
I
10880 8867 7230 6005 3746 2261
and partitioning parameter 1 = 1. The error-trellis for Cs is expurgated by employing a partial sorting of { w ( J p - l ) } together with a full sorting of the confidence values related to section q. The computational complexity is measured in terms of the average and also the worst case total numbers of real additions and comparisons, required for the decoding of 300 received bits. The average complexities were obtained by simulations. The worst case complexities are fixed and independent of the SNR. The comparison of complexities demonstrates that the syndrome decoder has a smaller worst case complexity, and a substantially smaller average complexity, then the Viterbi decoder.
VI. CONCLUSION This paper introduces an algorithm that employs an error-trellis for ML soft syndrome decoding of binary convolutional codes. Three phases of simplifying the trellis, named expurgation, elimination and degeneration, are employed for identifying the surviving error path by a relatively small number of real additions and comparisons. The first two phases reduce the worst case computational complexity, whereas the degeneration phase decreases the average complexity under moderately noisy conditions. Unlike the Viterbi decoder, whose complexity is independent of the channel's noise, the syndrome decoder adapts the procedure of searching through the error-trellis to the incoming data. Consequently, the average complexity of the syndrome decoder is sharply decreasing with increasing SNR. Since both the elimination of error patterns and the trellis degenetation can be processed using parallel implementations, the advantage over the Viterbi decoder holds also when the decoding complexity is measured in
297
terms of processing time units. The syndrome decoding algorithm is easily modified to perform hard decoding by employing the Bamming weight as the metric. For hard decoding the elimination method is redundant, whereas the trellis expurgation and degeneration improve their performances, in comparison with the soft decoding case. Similarly t o the Viterbi decoder, the syndrome decoder may be implemented using a moving window which limits the memory length of the decoder. Note that the width of the window, which determines the tolerated decoding delay, affects the effectiveness of the trellis degeneration algorithm. However, since successful trellis degeneration results in a truncation of the error-trellis, the average decoding delay ie3 usually smaller than the width of the window under moderately noisy conditions.
ACKNOWLEDGMENT The authors wish to thank the referees for helpful comments that contributed significantly to the presentation of the paper.
REFERENCES G.D. Forney, Jr., "Convolutional codes 11. Maximum likelihood decoding," Inform. Contr., vol. 25, pp. 222-2663, July 1974. J.P.M. Shalkwijk, A.J. Vinck, and K.A. Post, "Syndrome decoding of binary rate kfn convolutional codes," IEEE Trans. Iloform. TAeorp, vol. IT-24: pp. 553-562, Sept. 1978. D. C b e , "A dass of a l g a n t h for decoding block codes with channel measurement infomation," IEEE Trans. Inform. Theory, vol. n-18, pp. 170-182, Jan. 1972. H. Miyakawa and T. Kaneko, "Decoding algorithms of errorcorrecting codesby use of analog weights," Elccironics and Communications in Japan, vol. 58-A, pp. 18-27, Jan. 1975. J. Snyders and Y.Be'ery, "Maximum likelihood soft decoding of binary block codes and decoders for the Goby codes," IEEE Tram. Inform. Theory, vol. IT-35, pp. 963-975, Sept. 1989. J. Snyders, "Reduced lists of error patterns for maximum likelihood soft decoding," IEEE Trans. Inform. Theory, vol. IT-37, pp. 1194-1200, July 1991, J.K. Omura, "On the Viterbi decoding algorithm," IEEE Trans. Inform. Theory, vol. IT-15,pp. 177-179, Jan. 1969. A.J. Viterbi, "Convolutional codes and their performance in communication systems," IEEE Trans. Commun. Technol., vol. COM-19,pp. 751-772,Oct. 1971.
Meir Ariel received the B.Sc. (magna cum laude) and M.Sc. (magna cum laude) degrees in electricail engineering from Tel Aviv University, Tel Aviv, Israel, in 1988 and 1993, reepectively. He is currently working towards the P k D . degree at Tel Aviv University. Since 1989 he has been with Z.M.M.Ltd., Givatayim, Israel, developing voice-response products and also with the Department of Electrical Engineering-Systuns at Tel Aviv University, where he was involved in research on convolutional and trellis codes.
Jakov Snyders received the BSc., M.Sc. and D.Sc. degrees in electrical engineering from the Technion, Israel Institute of Techndogy in 1966, 1969 and 1972, respectively. Since 1974, he has been with Tel Aviv University, Tel Aviv, Israel. He has held visiting positions at the University of Toronto, University of California - Los Angela, McGill University, and the Rensselaer Polytechnic Institute. His research interests include error control coding, spread spectrum communication, multiple user information theory, and stochastic processes.