Abstract-Efficient code-search maximum-likelihood decoding algorithms, based on reliability information, are presented for binary linear block codes.
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 1, JANUARY 1997
239
Reliability-Based Code-Search Algorithms for Maximum-Likelihood Decoding of Block Codes David Gazelle and Jakov Snyders, Member, IEEE
Abstract-Efficient code-search maximum-likelihooddecoding algorithms, based on reliability information, are presented for binary linear block codes. The codewords examined are obtained via encoding. The information set utilized for encoding comprises the positions of those columns of a generator matrix G of the code which, for a given received sequence, constitute the most reliable basis for the column space of G. Substantially reduced computational complexity of decoding is achieved by exploiting the ordering of the positions within this information set. The search procedures do not require memory; the codeword to be examined is constructed from the previously examined codeword according to a fixed rule. Consequently, the search algorithms are applicable to codes of relatively large size. They are also conveniently modifiable to achieve efficient nearly optimum decoding of particularly large codes. Index Terms- Block codes, maximum-likelihood decoding, code-search, ordered basis, ordered information set, partial ordering.
I. INTRODUCTION
M
AXIMUM-likelihood (ML) and suboptimal soft decoding of linear block codes has been extensively studied. The abundance of decoding schemes (e.g., [2]-[22]) reflects the difficulty in reducing the complexity. For several codes of small and medium size, reduction of the worst case computational complexity of ML soft decoding is attained by intensively exploiting the structure of the code. Some other soft-decoding procedures, focused on reducing the average computational complexity, are more universally applicable since they rely rather moderately on the algebraic structure of the code. Nonetheless, implementation of ML soft decoders for block codes of substantial size has remained impractical due to the formidable time andtor memory complexity. Let C be an (n, IC, d ) binary linear block code of length n, dimension k , and minimum distance d. The straightforward approach to ML soft decoding of C is correlation decoding, which requires the computation of 2k correlations between (a vector related to) the received word and the codewords. A more efficient ML code-search procedure has been established by the representation of C by a trellis [22] with min { 2k 2n-k} states. However, even in the vmous reducedstate trellises introduced more recently (see, e.g., [ 5 ] ) , the Manuscnpt received March 28, 1995; revised July 10, 1996. This research was supported in part by the Israel Science Foundation administered by the Israel Acaaemy of Sciences and Humanities The material in this paper was presented in part at the Mediterranean Workshop on Coding and Information Integrity, Tel Aviv, Israel, December 1994. The authors are with the Department of Electrical Engineenng-Systems, Tel Aviv University, Tel Aviv 69978, Israel. Publisher Item Identifier S 0018-9448(97)00110-7
number of states is too large for enabling implementation of ML decoding unless max{IC, n - k } is moderate. The MI, soft-decoding method of [lo], [ll] confines the search to a subset of C. However, the cardinality of the subset of codewords to be examined is excessive except for small codes. Generalized minimum-distance (GMD) decoding [4] may be viewed as a suboptimal code-search scheme based on reliability information. An improved version of GMD decoding, capable to amve at a decision in some cases that previous decoders of such type fail to decode, is presented in [20]. A version of the GMD decoding scheme, adapted to ML decoding, is derived in [ 121. An alternative approach to perform ML soft decoding is syndrome decoding, namely, identification of the most likely error pattern e (i.e., the one with least reliability) in the coset of C that contains the bit-by-bit hard detected version b of the received word, which is then followed by inversion of the bits of b over supp ( e ) , the support of e. Several methods to accomplish the identification of e were devised [13], [15], [17]-[I91 (see [l] for syndrome decoding of convolutional codes). An ML syndrome decoder is rather conveniently convertible to a suboptimal decoder, with a prescribed performance, by confining the search to error patterns that comply with some limiting values, expressed in terms of Hamming weight, reliability, and any mixture of these two quantities. An information set for C ( n , IC, d) is a subset of size IC of the n positions such that any assignment of bits to this set is assumed by some (unique) codeword. Stated otherwise, an information set comprises the positions of a linearly independent collection of k columns of a generator matrix G of C. An information set for the dual code CL will be called a check set for C. The coset-search approach of [18], [19] to ML decoding employs an ordered check set. Given a received sequence, the positions for this set are selected and ordered according to the confidence values of the corresponding bits of b, starting with the least reliable position. Based on the ordered check set, many error pattems can be declared as inadequate to be the most likely one, e, without executing any real addition. Furthermore, for some codes an explicit predetermined list that specifies the reduced family of error pattems to be scored is available. Although the reduced family contains a rather small portion of the error pattems, its size nonetheless becomes extremely large as n - k , the number of check bits, increases. The code-search algorithms of [6] and [9] utilize an ordered information set. The positions for this set also are selected
0018-9448/97$10.00 0 1997 IEEE
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 1, JANUARY 1997
240
and ordered according to the confidence values of the bits of b, but the selection in this case starts with the most reliable position. The codewords are generated with the aid of this information set. In [9], the tree or trellis search for the most likely codeword is governed by a cost function, which is expressed in terms of confidence values pertaining to the positions that are complementary to the ordered infomation set. For large codes, this algorithm requires management of a large memory. The decoding algorithm of [ 6 ] is suboptimal. To obtain a simple decoder and avoid memory management, the search of [6] is restricted to a subset of the codewords, namely, those containing at most some specified i errors within the ordered information set. Nevertheless, in case of a large code the number of codewords to be checked is excessive if performance close to that of ML decoding is desired. In this paper, we describe an approach to ML soft decoding which also utilizes the previously mentioned information set. However, our decoder exploits intensively the ordering of positions within this information set in a way that only a substantially reduced population of codewords is actually examined, yet no memory management is required. Due to these propeaies, our algorithm seems to be attractive for implementation even for quite large block codes. The search procedures presented can be easily modified to produce a variety of suboptimal decoders. In Section II, the reliability-based code-search approach to ML soft decoding is formulated and permutation of the received symbols according to the reliability information is described. The search procedures for ML decoding, and a modification that yields efficient suboptimal decoders with nearly optimal performance, are presented in Section 111. In Section IV, the complexity of the algorithms is discussed. Simulation results for the (24,12,8) extended Golay code and the (128,64) extended BCH code for the AWGN channel are presented in Section V. Concluding remarks are provided in Section VI. 11. mE APPROACH
n
n
i=l
i=l
n
i=l
where
$i
is the log-likelihood ratio given by
Denote 4 = ($1, # z l . . . , &). By (2), the search is aimed at finding the codeword c = CML which maximizes the inner product (e*,
4)
(3)
i.e., the correlation between c* and the vector 9 of loglikelihood ratios. Each of the decoding procedures derived in the sequel has a fixed reference codeword CO = (col, c02, con), called = 0 , 1, 2, - ., 2k - 1) the initial codeword. Let C = {eJ: Denote
--
corrll = (c;, (5). Let
4b0
be given by 40
= 4 * CT,= ($1 . c;1,
42
c;z,
'.
, 6%. c&).
(4)
cy
For some cl E C, let be the codeword that satisfies cll = CO CY.If (cyr,+,} < 0 then corr3 > corrg, i.e., cJ has larger probability than CO to be the transmitted codeword. This is implied by corrJ = corro - 2(cYr,&).
Consider transmission of codewords of C(n, k , d ) through a time-discrete memoryless channel with output alphabet B,a subset of the real line 92. With any c = (cl, c2, . . . , cn) E C, cz E GF (2), associate C* = (c: cf , . . , e;), where e: = (- 1)"* for i = I, 2, . . , n. Although c* may be regarded as the version of c that is transmitted through an AWGN channel, it is not essential in what follows to assume antipodal modulation or to confine the attention to the AWGN channel, Let T = (7-1, r 2 , . . . . rn),r , E B be the received word. I
A. ReliabiliQ-Based Code-Search The probability of decoding error is minimized by maximizing over C the a posteriori probability Pr (c" 1 r ) . Assuming that all codewords have the same a priori probability, 2-', of being transmitted, maximization of Pr (e* I r ) is equivalent to maximization of n
(1) z=1
where the equality is due to the lack of memory of the channel. In tum, a c E C maximizes (1) whenever it maximizes the following expression:
In order to produce an efficient decoder, we attach to each received symbol rza (soft) weight that expresses the reliability of representing T , by a binary bit 6,. This weight, called confidence value, is given by
The confidence value of r, can be attributed to the position i of the received word. Let gl,g2 , . , gn be the columns of G, a generator matrix of C. It will be convenient to use the notation l$(gz)l for I$, 1. Occasionally, will be replaced by l@(hz)l where H = ( h l ,ha, . . . , hn)is a check matrix of C. The great importance of the confidence value is demonstrated by the results of transmitting 100000 codewords of a (128,64) code through an AWGN channel with antipodal signaling. The symbols of the received sequences were permuted according to descending order of reliability, and then the positions of the errors were checked. The distribution of errors is depicted in Fig. 1 for a few values of E,/No, where E, is
GAZELLE AND SNYDERS: ALGORITHMS FOR MAXIMUM-LIKELIHOODDECODING OF BLOCK CODES
4.5
24 1
clear that the sum of the confidence values of any i~ linearly independent columns of G does not exceed
WO:a-OdB
k
4 VI
8
3.5
5 cu
3
2=1
2.5
c
1.5
1 0.5
' 0
20
40
60
80
100
120
140
position of bit Fig. 1. The distribution of errors.
the energy per channel bit and No is the single-sided noise spectral density. The figure demonstrates that the occurrence of errors is very rare at the highly reliable positions of the received vectors. Therefore, our search for the location of errors will be directed mostly to the less reliable positions. This will be accomplished by setting the initial codeword to be the one that coincides with bit-by-bit hard detection over the most reliable information set (defined in the sequel), and thereafter considering deviations (c""} from Q, generated by information vectors (merr}of gradually increasing Hamming weights. Several ways to screen a collection of merrwith identical Hamming weights are considered, taking into account the ordering of the information set. The search is stopped in case a certain, continuously updated, condition is met; fulfillment of the condition indicates that none of the unexamined error codewords can be preferable to those already examined. For example, no search is needed, i.e., is the most likely codeword, in case that all of CO coincide with bit-by-bit hard detection [15] and [18]. This stopping rule is applied, implicitly, by each of the search schemes described in Section
111.
B. The Ordered Information Set Let r(G) = 19,: i = 1, 2,
n}, the set of columns
. - . )
of the generator matrix G. For a given received sequence r = ( p i r 7-2, . . - ?T ~ ) ,denote by 9:; j = 1, 2, - . - ? k certain members of r ( G ) that satisfy
Accordingly, the location set L(Bb),L(Bk)= {l:ge E BA}, of the MRB is the most reliable information set. Observe that during the procedure (5) of forming the MRB recursively there is no need to check whether 91 belongs to Ls ({gi,ga, . ', g;-,}) for j = 1, 2, . .., d L - I, where dL is the minimum distance of the dual code CL. Thus L(Bk) comprises the d' - 1 positions of largest confidence value and some other positions of high reliability. The MRB B k is utilized for encoding by the search procedures presented in the sequel. It is employed also in [9] and [6],in the latter in a similar fashion. However, the ordering of the positions within the information set C(Bg)is exploited more intensively by our search procedures. An ordered basis Qn-k for the column space Ls (I'(N))= GF (2)n-k of a check matrix H = ( h l , hz, ... , h,) of C is utilized for ML decoding in [ 181 and [ 191. It is defined by an equation similar to (5), namely Qn-k
= {hil hil. . . , h6-k)
where
l4(h:)I
= min {IWl: hE
Ls({hi: 2 = 1, 2,
*.
. , j - l})}. (7)
Since the sum of the confidence values of any linearly independent set of n - k columns of H is at least
z=l
Q,-k may be called the least reliable basis (LRB). Thus the location set L(Qn-b) of the LRB is the least reliable check set. It contains the d - 1positions of smallest confidence value and some other positions of low reliability. Letd,; i = l , 2 , . . . , kandd:; i = 1 , 2 , . . . , n - k b e t h e generalized Hamming weights [21] of C and CL, respectively ( d l = d and & = dk-k = n). Obviously, the ith linear dependency during the procedure of forming Bg,according to (9,cannot occur before considering d f elements of I?(G). Denote by zcI the smallest integer such that
l{l, 2,
.
. , XL}
\ { d l : (t: 5 xL}I IC. 3
(8)
where Ls stands for linear span (in particular, 14(9:)1 =
Evidently, for determining Bk at most z1 columns of G have to be examined, i.e., at most'x - k columns that are linearly dependent on the set of preceding columns are encountered. Similarly, if z denotes the smallest integer satisfying
is a basis for the column space Ls(r(G)) = GF(2)k of G, which we call the most reliable basis (MRB). Indeed, it is
H have to be examined and at most z - ( n - k ) linearly dependent columns are encountered.
I4(9;>l= "{ldJ(g)l:9 E r ( G ) \ Ls ({g;: i = 1, 2, . - ., j - 1))) ( 5 )
242
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 1, JANUARY 1997
Proposition 1: n - xL = d - 1 and n - x = dL - 1. Proof: If every a positions correspond to a linearly independent set of columns of H then a 5 d - 1. Now, x1 is the smallest integer such that every subset of zL columns of r(G) includes a basis for Ls(r(G)) = GF(2)I,. Hence n -5 ' is the largest integer such that every n - I I : ~positions correspond to a linearly independent set of columns of H . Therefore, n - XI = d - 1. The second statement follows by duality. U Clearly, the complement of any information set is a check set. In particular, the complement of L(Bk) is a check set; in fact, it is C ( ~ , - I , ) [8]. This observation yields an alternative way to identify Bk.The preferable way is to be determined largely on the basis of the values of'x and II: which, according to Proposition 1, are given by 2'- = n - d 1 and x = n - d'1. The speed of convergence of a code-search that exploits Bk and the ordering within it, is expected to be enhanced in case of a received sequence for which the numbers of the undesirably designated columns of both G and H are small. Let the largest numbers of linear dependencies that can occur during the formation of B k and On-k be denoted y' and y, respectively. It follows by Proposition 1 that y' ='x - k = n - k - d 1 and y = II: - (n - k ) = k - d' 1. (See 161 for another derivation of yL = n - k - d 1.) However, out of the k columns of G of highest reliability, the number of those excluded from the MRB BI, (due to linear dependence) is at most I ( d k : d$ C: k}I.
+
+
+
+ +
Proposition 2: l{d$: d: 5 k}l = I{&: d, _< n - IC}]. Proof: Based on the Duality Theorem of We1 [21] we have
d; 5 n - IC} = (1, 2, . . * , 71 - IC}
{d,:
G' = [[Bk]l[r\ Bk]l is the generator matrix of a code C' equivalent to C. Let G be a systematic generator matrix of C' of the form [IklA].obtained from G' by row operations, where I , is the k x IC identity matrix. Then the MRB consists of k columns of I k . Now permute the entries of the log-likelihood ratio vector 4 in accordance with the permutation that was applied to the code positions, i.e., d, +- d,[G'], where
Hereafter C and d, = ($1, 4 2 , ... , &) will stand for the permuted versions of the code and the vector of log-likelihood ratios, respectively. Thus L(Bk) = (1, 2, . . . , k } and l$il is monotonically nonincreasing with i for 1 5 i 5 k. Partition 4 into
Partition also any codeword cj E C into c: and c:, accordingly. Then corr3 = corf +corrr. Now apply bit-by-bit hard detection to the portion of the received vector corresponding to the MRB, i.e., form
where
( 1, if 4; < 0
\ (n + 1 - d$: d f 2 k + 1).
Hence I{d:: d: 2
IC + 1}1+ \{cl,: d, 5 n - k}l
Let
=n- k.
CO
= (col,
. , con) be given by
c02, . .
But I{d;: d j 2 IC
+ 1}1+ /{cl:
d,l
5 IC)\
= R - IC
whereby the result follows.
U
Proposition 3:
I { d l : d: 5 k } ( 5 Inin{n - k - d + 1, IC - dL + 1).
Proo? By (8) Hence l{d$: d', 5 IC)[ 5 xL -IC. The conclusion now follows by Propositions 1 and 2. U The foregoing results support the conclusion that, for given values of n and k , comparatively small values of I{&: d, 5 12 - IC}[, n - IC - d 1 and IC - dL f 1 are desirable for fast convergence of the search procedure. Let [Bk] = ( g : , 9'2,. . . , g i ) (i.e., [Bk] is a k x k matrix) and let [I' \ BI,]be a IC x (n- k ) matrix obtained by listing all the members of r \ BI, in some arbitrary order, Then
+
The codeword CO attains the maximum correlation with # J H , i.e., corrf = m%,EC {cor,:}. Hence it is an adequate candidate to be the initial codeword for ML code-search. We remark that eo is also the initial codeword considered by the algorithm of [6] and the initial seed for constructing a trellis in [9] (whereby in [9] CO carries less importance as a reference word). If CO happens to coincide completely with the bit-bybit hard detected version of the received vector then CO is the most likely codeword CML [15] and [17]. In any case, the initial codeword CO is close to CML in the sense that, with high probability, the projection of the error codeword CML - CO to L(Bk) has a small Hamming weight. This fact underlies the search algorithms for the error codewords presented in the next section. 111. SEARCHALGORITHMS Starting with CO given by (9), we seek an error codeword cerrsuch that c = CO @ cerris more likely than CO.
GAZELLE AND SNYDERS: ALGORITHMS FOR MAXIMUM-LIKELIHOOD DECODING OF BLOCK CODES
A. Expurgation of Error Patterns Our search schemes employ a function f , similar to the one Han et al. [9] called the heuristic function. As the heuristic function of [9], f relies on a property of the code which is invariant under all permutations of the positions of the bits, namely, the Hamming weight distribution. Denote by S = {w,} the set of all the distinct Hamming weights of the codewords of C. Let merrbe a k-tuple errorpattern, namely, any element of GF ( 2 ) k ,regarded as the projection of an cerrE C onto L(Bk). Note that this terminology differs from the customary one. Let T(merr)be the following set of binary n-tuples;
T(me**) = {w: w = (merr,?Ierr), WH(?J) E S } where
WH(W)
(IO)
is the Hamming weight of v. Define f by
243
Notice that, unlike Ugain = f(me",(bo), the upper bound Ugain = f"(c#q,) is independent of merr,i.e., f^(+o) 2 AT for all c3 E C. The bound U,,,, = f"(q5po)is less tight than the other one, but it is easier to evaluate. The decoding of some block codes of large size, whose Hamming weight distribution is not known, is implemented in [9] by considering a modified class T (IO) of n-tuples with S replaced by a superset S' of S . In such superset the gaps between adjacent numbers are usually small, considerably smaller then the gaps between the distinct Hamming weights of C, whereby the difference between the corresponding version of (11) and (14) is diminished. f yields a bound which is easier both to evaluate and to update (as described in the sequel) than the bound expressed by f. Consequently, application of f seems to be the preferable option to the decoding of large codes, despite the somewhat reduced rate of convergence.
B. Expediting the Convergence The method of acceleration is based on the observation that if an error codeword cerrsatisfies (cerr,q5u) < 0 then the codeword CO @ cerris more likely than CO. For simplicity of presentation, consider first the application of f^, i.e., set U,,,, = f((b,,) to be the initial value of the bound. Assume that during the decoding procedure an error pattern mer*satisfying
+,,
where is given by (4) for q,of (9). Evidently, f(merr,(bo) upper-bounds the increment n
AjT = corrjT i=k+l 71.
D(merr) - U&,
corro 3 3 = m,""G,provided ~ ~ ( m , e=" )where cJ = Q c?. Any other error pattern to be encoded any c3 = q c?, cerr w ~ ( m ~ 'Besides ~ ) . f ( m e r rq50), , our search procedures em- should induce an increment in the cosrelation that exceeds ploy a differently calculated upper bound, as well as updated corrJ - corrg, the one obtained by the error codeword CF. versions of both bounds, on the increment AT. Let U,,,, stand Accordingly, U,,,, is updated as follows: for any such upper bound. corr, - coiro The method of expurgating the collection of error patterns = .&o) + (C?> (bo). Ugain C- !((bo) is based on the comparison of Ug,,,, Ugain 2 AT, with the (16) decrease D in corrH caused by complementing some of the bits of co pertaining to C(Bk).More explicitly, proceed as This updating lowers the upper bound and speeds up the follows. convergence of the decoding procedure. Our aim is to confine i) For the mer*considered, compute the search to the class of error patterns for which (15) is satisfied, with continuously updated U,,,,, and select from this class the error pattern that attains maximum correlation. (13) Denote by C, the set of error codewords already examined, at some stage, and by corr,,, the smallest correlation ii) Evaluate some upper bound Ugainon AT (say, Ugain= obtained, i.e., I
-
f(merr,40)).
iii) If D(merr)- U,,,, 3 0 then delete merr(without encoding) from consideration, The other function ,f that will serve to express an upper bound is defined by a
f(4J = -
$02. r=k+l
where
sgn(dod
(14)
corrmln= min{(cerr, do): cerrE
Cs}.
We present search algorithms that exploit the ordering of the elements of the basis Bk. A procedure common to all of these algorithms is the check and update (CU) step, which consists of the following substeps. 1) Encode the error pattern considered, to obtain cerr. 2 ) Compute the correlation (.e", +o). 3) If (c"", do) < corr,,, then update corr,,, (i.e., corrm,, +-- (c"", c $ ~ ) ) update , U,,,, accordingly (16), and set the most likely codeword CML (of CO C,) to be co @ cerr.
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL 43, NO. 1, JANUARY 1997
244
Fig. 2.
..
Family Q1 0.. .OOOl
0 . . 0011
1000. . . o
1100 . . . o
The families of error patterns.
In case that f (rather than
f ) is employed to
express the upper bound then the CU step has to be executed separately for each family of error pattems of identical Hamming weight, with the initial value of the upper bound set to be Ugain =
f(merr,4 0 ) .
(17) is slightly improved in comparison with the corresponding familiar E171 bound miiijk, n - k } associated with trellis decoding [22]. The population M of error patterns is partitioned into families { @ j } , where O j for j = 1, 2, 6 contains all the error patterns having Hamming weight j . The elements of each Oj are ordered according to increasing binary value, as depicted in Fig. 2, with the kth position regarded to be the least significant. Thus the topmost member of .the list is (O"j, lj), which will be called the leader of O j . Search Algorithm B: Apply a separate search procedure to each of the families O j ; j = 1, 2, . . . , K . Proceed in increasing order of j . For any Oj, first check the leader (O"j, lj). If (15) is satisfied, screen all O j proceeding downward in the list. Otherwise, skip the other members of O j . Whenever an error pattern satisfying (15) is encountered, process it through the CU step. Examine all O j in this fashion, provided the function f is utilized to express the initial values of the upper bound. In case that !(do) is set to be the initial value of Ugain, stop the search if (15) is violated by some leader, or else, when all O j are exhausted. This algorithm is based on the observation that the leader of O j has the smallest D (13) within its family, and also in all of Of, !> j in case that f ^ is employed to determine the initial value of the bound. It is straightforward to convert Algorithm B to a procedure of parallel implementation, by executing the search in several families simultaneously. To enhance the efficiency of the decoding that utilizes the bound expressed in Germs of f , the following modified version of the decoding procedure is proposed. Search Algorithm C: A list of representatives of the families is kept in memory, The initial list of representatives consists of those leaders of (Oj} that satisfy (15) with Ugain = !(do). Given a list of representatives, identify its member that has minimum D(merr).Process this member through the CU step, and thereafter replace it by its successor (within its own family). Upon exhausting a family, erase its representative in the list. Any time that Ugain is updated during the decoding procedure, check all the representatives against the new value of the upper bound. Also, delete any representative that is a leader of its family and violates the updated (15). The search is complete when the list of representatives is empty. This algorithm is less time-consuming than the previous one, but it requires memory managing and multiple checks for - % . ,
We proceed to describe the search algorithms. Algorithm A is, in a sense, a sequential decoding algorithm. Its CU steps cannot be implemented with f . Search Algorithm A: The first error pattern to be checked is m y = (O"', 1') (i.e., supp (myr) consists of the ! rightmost, less reliable, positions), where C = my^) is maximum subject to condition (15) with Ugain = f(40). Derive the other error patterns recursively as follows. Given an error pattern myr; i = 1, 2, 3, " . , with its leftmost 1 entry located at the jth position, a) set rn;;fi = m y , b) replace the j t h entry of m:f,f, with 0, c) invert the largest number of consecutive 0 bits located to the left of the j t h position, subject to condition (15). If (15) is violated upon complementing the ( j - 1)th bit then retain the vector obtained at step b). Process through the CU step any error pattem created during the search procedure. Stop when the 0 error pattem is attained. Although Algorithm A is attractive for implementation, it will not be considered further because it does not take full advantage of the foregoing convergence acceleration technique. Indeed, the first error pattem m y = (0'-', le)passed through the CU step by Algorithm A is not expected to be a particularly likely one, because D(myr)is usually large. Since Ugipain is updated according to (16), examination of the eftor patterns according to nondecreasing value of D(merr)would enable, in general, quick convergence of the search procedure. However, a search algorithm with monotonically nondecreasing D(merr) involves multiple checks, hence requires large memory. The following search algorithm, that utilizes a partial ordering of {D(merr)}to a rather minor extent, requires no memory and is very simple to implement. It is sufficient to consider the error pattems
M
zz (pnerr: W
H
(
~ 5~K.}~
~
)
where ic.
= min { k , n
- k - I}.
(17)
Indeed, the reliability of any A c C ( B k ) with IAl 2 n - k is not less than the reliability of L(Ci,-k). Notice that the bound
GAZELLE AND SNYDERS: ALGORITHMS FOR MAXIMUM-LIKELIHOOD DECODING OF BLOCK CODES
245
deciding upon the next error pattern. Consequently, one may prefer using Algorithm B for its simplicity.
0 ..~0000011 0 . * 0000101 0 * * * 0000110 0 ' * 0001001 0 . . ~0001010 0 . .~0001100 0 . . ~0010001 0 ' * 0010010 0 ' * ~0010100 0 . ~0011000
C. Elimination of Error Patterns
In Algorithms B and C the error patterns are partitioned into families. If the leader of some family 0, does not violate (15), then both algorithms check all the error patterns of that family. The size of 0, is , which is very large for codes with large dimension k in case that 1 . Updating notations for the next step, we have mFr = ( 0 . . 001101011) and merr= (0. . ~010001111).Unless this merr satisfies (15) (in which case m y = (0..~0100101ll)), we have I = k - 7 and %err = 0, implying that all the remaining elements of 0 5 are eliminated. To justify the preceding procedure of expedited scanning of e,, observe that for any error pattern m y that is skipped by the preceding rule we have a . .
I
I according
2. co=mG
3. ,*=$6*c;
D(m$) 2 D(merr)
of error patterns
i.e., myr certainly violates (15). Indeed, mFr satisfies mrr for all 1 5 i 5 I , whereby 1
k
i=l I
i=I+3 k
i=l
i=I+l
mz = output generate error oattems (Algorithm B or C) govemd by binary counting and elimination
=D ( m y ) .
Fig. 5. Block diagram of the decoding procedure..
The processing of each 0,; j = 1, 2, niently be implemented by j recursive loops .
ze = k - j
+ c.,
Z!
z ie-1:
%-
$e
%
t-
-
ri,
ie
,
can conve-
-1
where !assumes the values 1, 2, . , . , j in increasing order and io = 0. Whenever (15) is violated, the current Ith loop is stopped and the ( I - 1)th loop starts. The combination of Algorithms B and C with the foregoing elimination procedure IS very attractive for implementation, since the error patterns are conveniently formed from the preceding ones according to a simple rule, and the list of error patterns is considerably reduced. We summarize now the decoding procedure (see Fig. 5 for the flowchart). I) Evaluate 4, the vector of log-likelihood ratios, for the received vector. 2) Obtain the MRB B k as prescribed by (3,then permute the positions accordingly. 3) Apply bit-by-bit hard detection to the restriction of the received vector to L(Bk) and calculate CO (9) and do (4). 4) Apply search Algorithm B or C! combined with eliminations. 5 ) When the search is complete, the most likely codeword of C is stored in CML.
We remark that the collection of codewords obtained by encoding the members of the family O j is identical to the set considered for phase-j reprocessing of [ 6 ] ,[7]. Furthermore, application of the resource test of [ 6 ] ,[7]entails a deletion of error patterns. Nonetheless, there are significant differences between that approach and the approach of this paper. Indeed, the method of [6], [7] focuses on determining the error performance associated with each family, aimed at a decoding that approaches optimality, whereas we concentrate on efficient processing of all the families, either separately or jointly. Consequently, our method seems to be better suited to perform ML decoding of relatively large codes. The method of [61, 171 includes a partitioning of each family into subfamilies, in a way that resembles our partitioning. However, the screening procedure of the families and subfamilies described in [6],171 emphasizes the more reliable positions of L(Bk), the most reliable information set, rather than the less reliable positions of that set. In particular, at the early stage of screening that procedure tests less leaders than our procedure. Consequently, reduction of the computational complexity is obtained in [6], [7] only at the expense of degraded essor performance, beyond the degradation due to limiting the cardinality of the families processed, whereas our elimination procedure is within the realm of ML decoding.
241
GAZELLE AND SNYDERS: ALGORITHMS FOR MAXIMUM-LIKELIHOOD DECODING OF BLOCK CODES
D. Suboptimal Decoders
TABLE I
In order to guarantee ML decoding, all the error patterns generated by the decoding algorithm, Algorithm B or C, that satisfy (15) have to be processed through the CU step. In most cases, the most likely codeword is met long before the processing of all these error patterns is completed, because the bound employed (the continuously updated version of either (11) or (14)) is not particularly tight. A suboptimal decoder may be formed by limiting the maximum number of error patterns to be checked to a reasonable number. This number depends on the signal-to-noise ratio (SNR) Eb/No and is obtainable, for a given code, by running a simulation of the decoding algorithm (Algorithm B or C) with a limit set on the number of error patterns. This limit is varied until the tolerated degradation in performance, with respect to ML decoding, is attained. The results of simulation are presented in Section VI. We remark that the statistical analysis of [6] can also be used to determine a reduced list of error patterns.
Iv.
THE COMPLEXITY OF
SMULATION RESULTS FOR THE ( 2 4 , 1 2 , 8 ) EXTENDEO GOLAYCODEUSINGALGORITHM B, UPPERBOW f, EMPLOYING THE ELMNATION OF ERROR PATTERNS ,
&/No 0 dB 1 dB 2 dB
ND maJt(Nc) E ( N c ) ~ ( N c max(Ne) ) E(Ne) a ( N e )_. 11.42 13.62 130 9.77 12.09 163 124 7.65 11.40 4607 120 6.52 10.09 129 3.60 7.32 4.25 8.31 1702 116 ,
9232
TABLE II 12,8) EXTENDED GOLAYCODE USING ALGORITHM B, UPPER BOUND f, WlTHOUT ELIMMA~ON OF ERROR PATTERNS SIMULATION &3SULTS FOR THE-(%,
DECODING
The first stage carried out by all algorithms is permutation of the received symbols according to (5). A way to implement this stage is to permute the symbols according to decreasing reliability, and thereafter to bring the permuted version of G " to row-reduced echelon (RRE) form. Thus this stage has a computational complexity of n log, (n) comparisons, required transmitted version of a codeword is c,* = (- l ) c a Hence to sorting the confidence values and, in addition, a time the ith symbol of the received word is ri = (-l)'% .a + e , , complexity of O ( n x k 2 ) , needed to obtain G from G. By where E, is the energy per channel bit and ..'(e;) = No/2 parallel implementation, the time complexity may be reduced is the double-sided noise spectral density. The channel SNR to O ( n x S). However, in case that n - k