Design of High-Rate Serially Concatenated Codes with Low Error Floor

Report 2 Downloads 50 Views
IEICE TRANS. FUNDAMENTALS, VOL.E90–A, NO.9 SEPTEMBER 2007

1754

PAPER

Special Section on Information Theory and Its Applications

Design of High-Rate Serially Concatenated Codes with Low Error Floor Motohiko ISAKA†a) , Member, Philippa A. MARTIN†† , and Marc P. C. FOSSORIER††† , Nonmembers

SUMMARY In this paper we look at the serial concatenation of short linear block codes with a rate-1 recursive convolutional encoder, with a goal of designing high-rate codes with low error floor. We observe that under turbo-style decoding the error floor of the concatenated codes with extended Hamming codes is due to detectable errors in many cases. An interleaver design addressing this is proposed in this paper and its effectiveness is verified numerically. We next examine the use of extended BCH codes of larger minimum distance, resulting in an improved weight spectrum of the overall code. Reduced complexity list decoding is used to decode the BCH codes in order to obtain low decoding complexity for a negligible loss in performance. key words: serially concatenated codes, interleaver, error floor, list decoding

1.

Introduction

Use of a rate-1 recursive convolutional encoder, also known as an accumulator [1], is now recognized as being effective in the context of serially concatenated and low-density parity-check codes. In [2], we reported that the concatenation of extended Hamming (eHamming) codes and an accumulator provides near Shannon limit performance for highrate coding under iterative decoding of reasonable decoding complexity. This structure is shown in Fig. 1, and has the advantage of a very flexible code design. A possible drawback of this concatenated code is that an error floor could be found at relatively high error probabilities. In this paper, we consider the design of interleavers for the codes in [2] to enhance the error floor performance. It is first observed that the error floors for these codes are often not a (direct) consequence of the existence of low-weight codewords, and thus events with detectable errors dominate the error probability. An interleaver design against such weakness is discussed, and it is shown that the performance in the error floor region can be significantly improved. Another approach to enhancing the error floor performance is to use an outer code with larger minimum distance than offered by the eHamming codes in [2]. As in [2], [3] we are primarily interested in constructing high-rate codes for Manuscript received December 22, 2006. Manuscript revised March 27, 2007. Final manuscript received May 21, 2007. † The author is with the Dept. of Informatics, Kwansei Gakuin University, Sanda-shi, 669-1337 Japan. †† The author is with the Dept. of Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand. ††† The author is with the Dept. of Electrical Engineering, University of Hawaii at Manoa, USA. a) E-mail: [email protected] DOI: 10.1093/ietfec/e90–a.9.1754

iterative decoding whose construction is typically more difficult than that of lower rates. Accordingly, in this work we consider extended Bose Chaudhuri Hocquenghem (eBCH) codes with a minimum distance six. Increasing the minimum distance results in an improved weight spectrum at the cost of only a small degradation in the waterfall region performance under iterative decoding. Since full maximum a posteriori probability (MAP) soft decision decoding of eBCH codes can be quite complex, we consider the use of sub-optimal reduced-complexity softinput soft-output (SISO) list-based decoding algorithms using order-I reprocessing techniques [4]–[6]. Consequently, error performance very close to iterative decoding with MAP decoding is offered at much lower complexity. The error performance is even competitive with product codes of similar code length and rate which employ eHamming or eBCH component codes. The rest of this paper is organized as follows. Section 2 reviews the serially concatenated code and decoding algorithm of [2]. The list-based decoding algorithm is also described. In Sect. 3, some observations on the error floor are presented, and an interleaver design to achieve lower error floors is investigated and numerically evaluated. Outer codes with larger minimum Hamming distance are considered in Sect. 4. Conclusions are drawn in Sect. 5. 2.

Serial Concatenation of Linear Block Codes and a Recursive Encoder

We illustrate a (N = ln, K = lk, Dmin ) serially concatenated code in Fig. 1 in which l codewords of a linear (n, k, dmin ) block code are interleaved and then encoded by an accumulator. The codes are transmitted over an additive white Gaussian noise (AWGN) channel using binary phase shift keying (BPSK). Denote the input to the interleaver as c = (c0 , c1 , . . . , cN−1 ), where ci = (cin , cin+1 , . . . , cin+(n−1) ) is the i-th codeword of the outer constituent code for 0 ≤ i < l. The interleaver is defined by the permutation π : ZN → ZN which yields a sequence cπ = (cπ(0) , cπ(1) , . . . , cπ(N−1) ) to be fed to the inner encoder. The overall codeword for trans-

Fig. 1

Serial concatenation of a linear block code and an accumulator.

c 2007 The Institute of Electronics, Information and Communication Engineers Copyright 

ISAKA et al.: DESIGN OF HIGH-RATE SERIALLY CONCATENATED CODES

1755

mission b = (b0 , b1 , . . . , bN−1 ) is given by b0 = cπ(0) and bi = bi−1 ⊕ cπ(i) for i > 0. We use turbo decoding with MAP decoding for the inner accumulator code, specifically a BCJR-like algorithm is applied as discussed in [3]. For the outer block code we consider two decoding algorithms, namely full-MAP decoding and SISO order-I reprocessing. To reduce the average decoding complexity, the stopping criterion suggested in [7] can be applied. It halts decoding when the symbol-wise decision of b in the inner decoder constitutes a valid codeword and coincides with the sequence obtained by encoding the estimate of c derived in the outer decoder. SISO MAP decoding can be quite complex for codes with large dmin . Therefore, the eBCH codes considered in Sect. 4 are decoded using the modified SISO order-I reprocessing algorithm of [5]. Alternatively, the SISO ‘box and match’ decoding algorithm of [6] could be used to further reduce complexity at the cost of increased memory requirements. The use of these algorithms with the proposed system will be described in Sect. 4. 3.

Interleaver Design

3.1 Observations on the Error Floor Assume for simplicity that an all-zero codeword is transmitted throughout this section. Consider an output of the interleaver cπ of weight w, with positions of non-zero symbols in S = {s0 , . . . , sw−1 } such that si < s j for 0 ≤ i < j < N. Due to the nature of the inner encoder, for even w, the weightof the overall codeword b is simply determined as DS = 0≤2i,2i+1<w s2i+1 − s2i (for odd w we add N − 1 − sw−1 ). A large minimum distance Dmin is desired in obtaining low error floor performance as it dominates the error rates under maximum likelihood (ML) decoding (at least for high SNR). Indeed, a low-weight codeword b is usually caused by an outer codeword c of small weight. However, we observe that unless Dmin is very small the error floor is in many cases not the (direct) consequence of low-weight codewords

under turbo decoding. Decoding failures occur more frequently when, for a given S, there exists a subset of positions S = {s0 , . . . , sw −1 } ⊂ S, where si < sj for i < j, with the follow  only slightly less than w, ing properties:  the size w  = |S | is  and DS = 0≤2i,2i+1<w s2i+1 − s2i is small. Figure 2 illustrates such an example. We consider an outer codeword c of weight nine for simplicity where three constituent codewords of length n contain three erroneous non-zero symbols. In the Tanner graph for the accumulator, squares and circles correspond to the symbols in the input cπ and the output b of the accumulator, respectively. Non-zero symbols are colored black whereas white ones are for symbols with value zero. Figure 2(a) represents the codeword obtained by encoding with the accumulator, and a large overall weight is generated because of the separation between s7 and s8 . On the other hand, if we consider the set of positions S = S\{s7 } as in Fig. 2(b), DS = 8 results. Roughly speaking, a small value of DS can be problematic because this appears as a low-weight codeword to the decoder of the accumulator. We point out that the harddecision estimate for the outer code c obtained in the associated MAP decoders often defines l valid (correct or incorrect) constituent codewords. Based on such extrinsic information from the outer decoder, the decision that the accumulator decoder makes can be more incorrectly biased. We also note it is not unusual that the hard-decision for each symbol in the outer decoder is of the type in Fig. 2 and remains unchanged for a few iterations. An abrupt increase in the number of erroneous symbols typically occurs in the subsequent iterations, resulting in an oscillation phenomenon [10]. 3.2 Constraint on the Interleaver Design As an attempt to overcome the problem in the previous subsection, we consider imposing a simple constraint on the interleaver: For any pair of codeword indices i and s, 0 ≤ i < s < l and for any values j, j , t and t , 0 ≤ j, j , t, t < n,

Fig. 2 (a) Codeword resulting from an input to the accumulator of weight nine, (b) Encoding of accumulator when one of the non-zero symbols is ignored. Black (white) nodes represent non-zero (zero) symbols.

IEICE TRANS. FUNDAMENTALS, VOL.E90–A, NO.9 SEPTEMBER 2007

1756

ing, we consider the case of m = 1 for a moderate-length code, whereas for long codes use of a larger value may be desired in terms of the code parameters including minimum distance. It is clear that the constraint in Eq. (1) is reduced to the selection of λ j ’s. Define Fig. 3 Pairs of symbols from two outer codewords that should violate the constraint in Eq. (1) for T = 3.

j  j , t  t the following inequality holds for some positive integer T |π−1 (in + j) − π−1 (sn + t)| + |π−1 (in + j ) − π−1 (sn + t )| > T.

(1)

For illustration, the four symbols in Fig. 3 from two outer codewords violate the constraint for T = 3 as the left hand side in Eq. (1) is 2 + 1 = 3. Thus, this constraint can also be interpreted as an elimination of short cycles from the corresponding bipartite graph of the code (we do not discuss details of the graph for the outer code here), and a large value of T is naturally desired. It is possible as well as necessary to extend this criterion to more than two constituent codewords in fully tackling the problem at hand, but we do not consider it here because the target of this paper is high-rate moderate-length codes and hence the freedom in the interleaver design is limited. Yet, this constraint can be useful in enhancing the performance of the error floor as shown subsequently. Note also that this constraint can eliminate small weight codewords. Interleavers with such a constraint can be constructed using a computer search. However, this approach is possibly time-consuming and tends to leave weakness somewhere (or in many places) in the code. The interleaver design discussed in the next subsection is useful in that only a few parameters are necessary to define the overall interleaver. 3.3 Two-Dimensional Interleaver For the concatenation of a block code and an accumulator, we find that the two-dimensional interleaver design similar to the one recently proposed in [8] for parallel turbo codes as well as in [9] is useful owing to the regularity in the indices of the outer constituent codewords. The interleaver uses a two-dimensional L × M array with M = mn and L = l/m where an integer m is a divisor of l, and stated as follows: Define a mapping φ : ZL × Z M → ZN : (i, j) → i × M + j which maps a two-dimensional array to a sequence, and permutations σi (0 ≤ i < L) over Z M . The permutations πr and πc on ZL × Z M are πr (i, j) = (i, σi ( j)) and πc (i, j) = (i + λ j mod L, j), where (λ j ) j=0,...,M−1 is a family of integers mod L. Finally, the permutation for the overall interleaver is given as π = φπc πr φ−1 . Note that in the original construction of [8] the permutations, σi ’s, are all identical for all i and randomly generated, and λ j ’s are chosen to be uniformly random and independent. In the follow-

µh, j = λ( j+h) mod M − λ j + f ( j + h − M),

(2)

where f is the step function with f (x) = 0 for x ≤ 0, and f (x) = 1 for x > 0. Then the constraint for T = 2 is that there is no pair of indices j and j (> j) such that µ1, j ± µ1, j ≡ 0 (mod L) holds. To see this, consider for simplicity the symbols in c0 which are on the topmost row of the array before applying the mapping πc . Assume also that σi ’s are identity mapping for all values of i, and j < n − 1. Then, the symbols c0, j on column j and c0, j+1 on column j + 1 are mapped by πc to the positions (λ j , j) and (λ j+1 , j + 1) of the array, respectively. Also, the symbol at position (λ j , j + 1) is from the codeword c(λ j −λ j+1 ) mod L and that of (λ j+1 , j) is from the codeword c(λ j+1 −λ j ) mod L , which are eventually neighbors of c0, j and c0, j+1 after the overall interleaving π. Consequently, to avoid violating the constraint in Eq. (1) for T = 2, there should not be an index j such that λ j +1 −λ j ≡ λ j+1 −λ j (mod L). The step function in Eq. (2) is simply for the symbols on the rightmost column j = n − 1, whose subsequent symbol in the interleaved sequence is on the leftmost column. Similarly, the constraint associated with T = 3 is that there is no pair of indices j and j satisfying µ1, j ± µ2, j ≡ 0 (mod L) in addition to the constraint for T = 2. 3.4 Determining the Parameters The λ j ’s values under the constraint of Sect. 3.2 can be determined by a computer search, but we have a much more compact description when L is an odd prime p. Let g be a primitive element (of order p − 1) over the multiplicative group Z∗p . Then, the following simple propositions show λ j = g j mod p facilitates the selection. Note that a mod b denotes the non-negative integer smaller than b that is congruent to a modulo b. Proposition 3.1: For 2n < L = p and a primitive element g over Z∗p , there is no pair of j and j ( j), 0 ≤ j, j < n − 1 such that µ1, j ± µ1, j ≡ 0 (mod p) holds if λ j = g j mod p is given. Proof. Since µ1, j = λ j+1 − λ j = g j (g − 1) mod p for 0 ≤ j < p − 1, µ1, j are distinct elements in Z∗p . The claim follows because of the nature of a cyclic group and of the fact g j+(p−1)/2 ≡ −g j (mod p). Proposition 3.2: For 4n < L = p, by defining λ j = g j mod p, there is no pair of j and j , 0 ≤ j < n − 1, 0 ≤ j < n − 2, such that µ1, j ± µ2, j ≡ 0 (mod p) if n − 1 ≤ ν ≤ p−1 2 − n + 2, where ν is the smallest positive integer that satisfies gν ≡ ±(g + 1) (mod p). Proof. Since µ2, j ≡ µ1, j (g + 1) (mod p), the sequence µ2,0 , . . . , µ2,n−3 is identical to µ1,i , . . . , µ1,i+n−3

ISAKA et al.: DESIGN OF HIGH-RATE SERIALLY CONCATENATED CODES

1757

for some i. The constraint considered is violated only if one or more elements in {µ2,0 , . . . , µ2,n−3 } are in {µ1,0 , . . . , µ1,n−2 , µ1, p−1 , . . . , µ1, p−1 +n−2 }. This is avoided by 2

selecting n − 1 ≤ ν ≤

p−1 2

2

− n + 2.

These conditions do not take µ1,n−1 , µ2,n−2 , and µ2,n−1 into account (that is, λ j ’s in the leftmost and rightmost columns). The next example shows one of the possible measures to overcome this problem. Example: For n = 32, m = 1 and L = p = 157 > 4n, the overall code length is N = Ln = 5024. Select g = 53, which has µ = 33 < p/2 − n, among the primitive elements over Z∗p . This choice indeed violates the condition in the proposition when µ1,n−1 , µ2,n−2 and µ2,n−1 are taken into account. Instead, a modified sequence λ j = g j+1 mod p for 0 ≤ j < n suffices.

Fig. 4 WER of rate-0.8125 (3104, 2522) codes under several interleavers: two pseudo-random interleavers and two-dimensional interleavers with randomly selected λi ’s as well as with the proper constraint.

More general cases for T > 3 can be treated by following the same line, essentially limiting the range of g further. Note that a similar approach is described in [9], but in that paper the primary motivation was in giving a small diameter of the graph for the repeat-accumulate codes, and no connection to the error floor was pointed out. Also, the propositions given above indicate that in our context the selection of the primitive element should be done carefully in order to avoid short cycles and possibly to achieve larger Dmin . When the permutations, σi ’s, are given by a simple deterministic rule, the required amount of memory to store the overall interleaver is significantly reduced, as we only need to store λ0 , . . . , λn−1 (or only the primitive element g when L is prime). In the following numerical results, we simply use σi ( j) = ( j + i) mod n without any attempt to optimize the performance or code parameters.

Fig. 5 WER of the rate-0.6825 (1616, 1111) code formed by a concatenation of the (16,11) eHamming code and an accumulator. Turbo decoding and a pseudo-random as well as a two-dimensional interleaver are used.

3.5 Numerical Results Consider the use of the (32, 26, 4) eHamming code with l = 97, resulting in a rate-0.8125 (3104, 2522) code. The primitive element selected was g = 41 with ν = 27, and this was chosen so that there is a small number of pairs satisfying µ1, j ± µ2, j ≡ 0 (mod L) because of 2n < l < 4n. In Fig. 4 word error rate (WER) results over the AWGN channel after a maximum of 50 iterations are shown for several interleavers: two pseudo-random interleavers, and twodimensional interleavers with random selection and with proper constraints on λi ’s. Results are plotted against Eb /N0 , where Eb is the transmitted energy per data bit and N0 /2 is the variance of the AWGN variable. One of the pseudorandom interleavers has Dmin = 3, which is quite often encountered when interleavers are generated randomly. It is observed that by an appropriate design of the interleaver with the simple constraints proposed above the performance can be improved substantially. It should be noted that except for that of the code with Dmin = 3, almost all the error events in the error floor region are detectable errors and not due to low-weight valid codewords being the final estimate.

Another result is shown in Fig. 5 for a rate-0.6825 (1616, 1111) code employing the (16, 11) eHamming code, after a maximum of 50 iterations. Again, proper design of an interleaver achieves much lower error rate than a pseudorandom interleaver. 4.

Use of Outer Codes of Larger Minimum Distance

We now consider using eBCH codes as outer codes with the goal of improving the error performance in the error floor region. Following the arguments in [1], for the code ensemble defined by a uniform interleaver, the interleaver gain in terms of WER depends on the minimum distance dmin of the outer code. This fact indicates that, with respect to [2], it is expected replacing the eHamming code by an outer code of larger dmin improves the error floor performance. The proposed concatenated codes have a lot of flexibility in the choice of component codes. The idea of mixing the component codes used to create the block of N bits fed to the accumulator was used in [2] with eHamming codes. We can use both eBCH codes and eHamming codes of different

IEICE TRANS. FUNDAMENTALS, VOL.E90–A, NO.9 SEPTEMBER 2007

1758

lengths. By mixing the types of component codes used to create a frame of N bits we can create concatenated codes with a wide range of rates and lengths. 4.1 Asymptotic Performance In [11] Divsalar presented a simple upper bound on the error probability under ML decoding which depends only on the weight distribution of a linear code. Based on this bound, the minimum Eb /N0 threshold of a code ensemble under ML decoding, referred to as the ML threshold in the following, can also be computed. We use this threshold as a benchmark to the behavior of the proposed concatenated codes with large block lengths. In Fig. 6, the ML thresholds are depicted for random codes, as well as serially concatenated codes with extended Hamming and BCH codes as outer codes under uniform interleaving. Also shown is the Shannon limit of the channel. The eHamming codes considered are the rate-0.5 (8, 4), rate-0.6875 (16, 11), rate-0.813 (32, 26), rate-0.891 (64, 57), rate-0.938 (128, 120), and rate-0.965 (256, 247) codes. The dmin = 6 eBCH codes considered are the rate-0.656 (32, 21), rate-0.797 (64, 51), and rate-0.883 (128, 113) codes. Three eBCH codes of minimum distance eight are also considered: the rate-0.50 (32, 16), rate-0.703 (64, 45), and rate0.828 (128, 106) codes. Two other codes with (64, 39, 10) and (64, 36, 12) eBCH component codes are also included in the figure. It is first observed that with eHamming codes as outer codes the ML threshold is close to that of random codes at very high coding rate while for lower rates some gap is observed (note that the gap between the Shannon limit and threshold for random codes is due to the lack of asymptotic tightness of the bound). On the other hand, the gap to the random codes becomes much smaller with outer codes of minimum distance six, although the ML threshold is not very close to that of random codes for low rate cases. The use of a larger dmin (eight, ten, or more) can be a remedy to this loss as seen from the figure. From this analysis, serial concatenation using eBCH codes is capable of approaching the Shannon limit under ML decoding, and with respect to the weight spectrum it is reasonably close to random codes. Together with the arguments of interleaving gain [1], the advantage of outer codes of larger dmin for larger block lengths N is justified. This is also true for moderately long codes when pseudo-random interleavers are used. However, it is not yet clear if eBCH outer codes outperform eHamming codes of similar code rate under the “best” interleaver. The behavior of these codes under iterative decoding is another important issue, therefore, we use the EXtrinsic Information Transfer (EXIT) chart technique [12], which is exact over the binary erasure channel [13] and is known to be very accurate for the AWGN channel in computing the performance limit. Given an Eb /N0 value of the channel, in this analysis, the mutual information between the extrinsic information and the transmitted symbol is computed at the input and the output of each decoder for every iteration,

Fig. 6 Threshold of serially concatenated codes with an accumulator under ML decoding based on the Divsalar bound. Table 1 Shannon limit (S.L.) and iterative decoding performance limit from EXIT chart analysis in Eb /N0 (dB): eBCH codes of dmin = 6 and eHamming codes of dmin = 4 used as the outer code. eBCH (32, 21) (64, 51) (128, 113) (256, 239) eHamming (16, 11) (32, 26) (64, 57) (128, 120)

rate 0.656 0.797 0.883 0.934 rate 0.688 0.813 0.891 0.938

S.L. 1.00 2.01 2.95 3.80 S.L. 1.19 2.16 3.06 3.89

EXIT 1.58 2.49 3.35 4.16 EXIT 1.67 2.53 3.36 4.15

gap 0.58 0.48 0.40 0.36 gap 0.48 0.37 0.30 0.26

rather than computing the probability density of the extrinsic information. The performance limit of a code is determined as the minimum Eb /N0 at which this mutual information approaches 1 as the number of iterations increases. In Table 1 we compare the Shannon limit with the asymptotic performance limit of iterative decoding derived by the EXIT chart analysis. Results for eHamming codes and various eBCH codes of dmin = 6, to which MAP decoding is applied, are given. It is observed that these limits are within 0.6 dB from the Shannon limit and the gap becomes smaller as the code rate increases. This gap is larger for an eBCH code than for an eHamming code of similar code rate by approximately 0.1 dB in every case shown in the table. The advantage of using outer codes with larger dmin under ML decoding was shown in Fig. 6 with respect to the overall weight spectrum. It is achieved at the cost of relatively small performance loss under iterative decoding. The MAP decoding assumed in this computation is in general computationally expensive for eBCH codes. In the next section, it is shown that the use of some computationally more efficient sub-optimal decoding approaches with certain normalization for outer codes results in very little loss in performance for practically important code lengths. 4.2 List Decoding of the Outer Block Code As previously mentioned full-MAP decoding of block codes

ISAKA et al.: DESIGN OF HIGH-RATE SERIALLY CONCATENATED CODES

1759

with large dmin can be complex. Hence we will use the SISO list-based decoding algorithm of [5] to decode the outer eBCH codes. We modify this algorithm to provide an estimated MAP metric instead of the max-log-MAP metric given in [5]. This is done to make it easier to directly share extrinsic information between the convolutional and block decoders. Furthermore, scaling factors for the MAP and max-log-MAP decoding stages could be carefully chosen. The soft output calculated by the eBCH decoder during the qth decoding iteration for the jth bit in an eBCH codeword† can be written as ⎞ ⎛ ⎜⎜⎜ {c+ |c+j =1} p(R|s(c+ ))Pr(c+ ) ⎟⎟⎟ eBCH Λj (q) = log ⎜⎜⎝  (3) ⎟⎟ , − − ⎠ {c− |c−j =0} p(R|s(c ))Pr(c ) where R is the received signal, s(·) maps†† bits {0, 1} to BPSK symbols {−1, +1} and {c+ |c+j = 1} and {c− |c−j = 0} are the lists of codewords with the jth coded bit equal to 1 and 0, respectively. Each list is a subset of all possible codewords and is selected by the modified SISO order-I reprocessing algorithm of [5]. We treat the extrinsic information from the accumulator decoder, W ACC (q − 1), as a priori information. Therefore, we can write the soft output from the eBCH decoder as  ⎛

⎜⎜⎜ {c+ |c+ =1} exp − |R−s(c+ )|2 N ⎜ j 0 ⎜  ΛeBCH (q) = log ⎜⎜⎜⎜  |R−s(c− )|2

j ⎝⎜ {c− |c−j =0} exp − N0 ⎞ n ACC ⎟⎟⎟ exp(w (q − 1)) + i=1,ci =1 i ⎟⎟ ⎟⎟⎟⎟ , (4) n ACC ⎠⎟ exp(w (q − 1)) − i=1,c =1 i i

where wiACC (q − 1) is the extrinsic information from the accumulator decoder at the ith bit position from the (q − 1)th decoding iteration. Equation (4) can be simplified into††† ΛeBCH (q) = j 

⎞ ⎛ ⎜⎜⎜ {c+ |c+ =1} exp 12 ni=1 s(c+i )λeBCH (q) ⎟⎟⎟ i j ⎜ 

⎟⎟⎟⎟ , log ⎜⎜⎜⎝  n 1 eBCH − exp s(c )λ (q) ⎠ − − {c |c j =0}

2

i=1

i

(5)

i

where (q) = λeBCH i

4ri + wiACC (q − 1), N0

(6)

and ri is the ith received symbol. The extrinsic information from the eBCH decoder at the ith bit position from the qth decoding iteration is defined as weBCH (q) = ΛeBCH (q) − λeBCH (q). i i i

(7)

The soft input to the accumulator decoder is calculated using λiACC (q) =

(q − 1) 4ri weBCH . + i N0 2

(8)

The list decoder of [5] operates on a reordered version of the input. An initial codeword estimate, C˜ 0 , is made by encoding the information positions of the hard decision of the reordered input vector. All codewords can be written as C˜ = E ⊕ C˜ 0 , where E is a codeword, called an error codeword. The decoder tries to find error codewords which minimize M(E) =

n

s(C˜0,i )λ˜ i (q).

(9)

i=1,Ei =1

Therefore, using the notation of [5], (5) can be calculated using  ⎞ ⎛ ⎜⎜⎜ {E+ |E j =1} exp −M(E+ ) ⎟⎟⎟ ⎟ Λ j (q) = −s(C0, j ) log⎜⎝ (10)  − ⎠, {E− |E j =0} exp −M(E ) where {E+ |E j = 1} and {E− |E j = 0} are the lists of error codewords considered by the list decoder with E j = 1 and E j = 0, respectively. The list decoder considers a maximum of       k k k L(I) = 1 + + + ···+ (11) 1 2 I codewords, but on average fewer codewords are considered as shown in [5], [6]. While a ML decoder considers a maximum of min(2k , 2n−k ) codewords. Further complexity reduction techniques are discussed in [5], [6]. 4.3 Error Performance for Practical Code Length We consider the simulation results of the proposed concatenated codes. A maximum of 100 iterations are performed unless otherwise stated. The BER and WER performance of eBCH codes with dmin = 6 and length n = 32, n = 64, n = 128 and n = 256 are depicted in Fig. 7 and Fig. 8. Overall word/ interleaver lengths of N = 4096 and N = 16384 are considered. We observe that all length 16384 codes are about 0.30 ∼ 0.35 dB away from the EXIT chart threshold of Table 1 at a BER of 10−5 . All eBCH codes and eHamming codes are decoded using the estimated log-MAP version of the modified SISO order-I decoding algorithm of [5] (as described in Sec. 4.2). Unless otherwise stated I = 3 is used. Note that I = 2 and I = 3 provide very similar performance for dmin = 6 eBCH codes, while I = 2 is much less complex. Full MAP decoding for the (32, 21, 6), (64, 51, 6) and (128, 113, 6) eBCH codes with accumulator was also simulated and performance very similar to that of the suboptimal list decoding was observed as shown in Fig. 7 and Fig. 8. It is difficult to accurately compare complexity as the complexity of list decoding varies significantly over † For ease of exposition no codeword index is used. Recall there are l codewords in the concatenated code. †† Note that a different mapping to BPSK is used in [2]. ††† simplification of (5) was achieved by adding   The 

log

exp(−0.5 ni=1 wi (q−1))  exp(−0.5 ni=1 wi (q−1))

to (4).

IEICE TRANS. FUNDAMENTALS, VOL.E90–A, NO.9 SEPTEMBER 2007

1760

Fig. 7 BER performance of various dmin = 6 eBCH codes when concatenated with an accumulator (acc). The eBCH codes have lengths n = 32 (rate R = 0.656), n = 64 (rate R = 0.79), n = 128 (rate R = 0.88) and n = 256 (rate R = 0.93). Results are shown for list decoding and interleaver lengths N = 4096 (◦) and N = 16384 (). MAP decoding results are shown for selected codes and interleaver lengths N = 4096 (+) and N = 16384 ().

Fig. 8 WER performance of various dmin = 6 eBCH codes when concatenated with an accumulator (acc). The eBCH codes have lengths n = 32 (rate R = 0.656), n = 64 (rate R = 0.79), n = 128 (rate R = 0.88) and n = 256 (rate R = 0.93). Results are shown for list decoding and interleaver lengths N = 4096 (◦) and N = 16384 (). MAP decoding results are shown for selected codes and interleaver lengths N = 4096 (+) and N = 16384 ().

different blocks and iterations. Full MAP decoding considers 2k codewords for each eHamming or eBCH code. MAP decoding using the dual code considers 2n−k codewords, while list decoding considers a maximum of L(I) codewords (see Eq. (11)). For the (128, 113) eBCH code we have 2k ≈ 1 × 1034 , 2n−k = 32768 and L(2) = 6442. In Fig. 9 we compare the BER and WER performances of selected eHamming codes concatenated with an accumulator to that of the dmin = 6 eBCH codes concatenated with an accumulator for comparable rates. A random interleaver of length N = 4096 or N = 16384 separates the eHamming/

Fig. 9 BER and WER performances of the (64, 57, 4) code with accumulator (rate R = 0.89), the (128, 113, 6) code with accumulator (rate R = 0.88), the (32, 26, 4) code with accumulator (rate R = 0.81) and the (64, 51, 6) code with accumulator (rate R = 0.79) for N = 4096 and N = 16384.

eBCH code and the accumulator. Using outer codes with dmin = 6 instead of dmin = 4 results in similar or better performance in the waterfall region and is expected to provide lower error floors. As expected a larger interleaver results in a steeper slope and hence better BER and WER performance over the consider range of Eb /N0 values. In [14] a family of rate-compatible low density parity check (LDPC) codes are described. The results for a rate R = 0.8 code with K = 8171 data bits and N = 10220 coded bits give a WER of 10−4 at 2.9 dB. This rate is comparable to the (64, 51, 6) eBCH code with accumulator, which has a WER of 10−4 at approximately 2.82 dB for N = 16384 and at approximately 3.13 dB for N = 4096. Results are also given in [14] for a rate R = 2/3 code with K = 8171 data bits and N = 12256 coded bits, which has a WER of 10−3 at 1.85 dB. This rate is comparable to the (32, 21, 6) eBCH code with accumulator, which has a WER of 10−3 at approximately 1.86 dB for N = 16384 and at approximately 2.13 dB for N = 4096. All these results indicate similar performance for the two schemes. In Table 2 the performance of the proposed codes are compared to that of product codes (PCs) with similar rates. The PCs with eHamming component codes are decoded using the SISO Chase-based decoding algorithm of [15]. The PCs with dmin = 6 eBCH component codes are decoded using the modified SISO order-I decoding algorithm of [5]. The PCs use a maximum of 10 iterations. The slopes of the BER and WER curves are almost identical for the codes with equivalent rate and value of N. The eBCH codes with accumulator have comparable performance to the PCs in the waterfall region. It is difficult to accurately compare complexity due to different values of dmin and n and variable list decoding complexity. Comparing the (128, 113)2 PC and the (64,51) eBCH code with accumulator we have a similar number of eBCH codewords considered by the list decoders

ISAKA et al.: DESIGN OF HIGH-RATE SERIALLY CONCATENATED CODES

1761 Table 2 Performance of PCs compared to that of the eBCH codes with accumulator (acc). Code

N

Rate

(64, 51)2 PC (32, 21)+acc (128, 113)2 PC (64, 51)+acc (64, 57)2 PC (64,51)+acc (128,120)2 PC (128,113)+acc

4096 4096 16384 16384 4096 4096 16384 16384

0.635 0.656 0.779 0.796 0.793 0.797 0.879 0.883

Eb /N0 BER 10−4 1.99 2.13 2.63 2.74 2.92 3.00 3.69 3.6

Eb /N0 WER 10−3 2.01 2.13 2.66 2.75 3.05 3.02 3.8 3.62

after 10 and 50 iterations, respectively, assuming I = 2 for both codes and N = 16384 (for I = 3, the PC with 10 iterations considers as many codewords as the counterpart with 100 iterations). The accumulator adds a small additional complexity to each iteration. Again the main advantage of the eBCH codes with accumulator over PCs is the flexibility to obtain other code rates. 5.

Conclusion

In this paper we have considered the serial concatenation of eHamming codes with an accumulator. We have investigated a simple interleaver design to lower the error floor where detectable errors often dominate the error probabilities. In addition, we have considered the use of outer codes with larger dmin to reduce the error floor, namely eBCH codes with dmin = 6. The eBCH codes with accumulator have been shown to perform well in comparison to existing high rate coding schemes. They offer flexible rate design and low error floors. They are decoded using a list based decoding algorithm, which provides an estimated MAP metric to the accumulator decoder. Acknowledgments The authors are grateful to the anonymous reviewers whose comments improved the presentation of this paper. This work was supported in part by the Ministry of Education, Culture, Science and Technology, under Grant-in-Aid No. 18760288. References [1] D. Divsalar, H. Jin, and R.J. McEliece, “Coding theorems for ‘turbolike’ codes,” Proc. 36th Allerton Conf., pp.201–210, Monticello, IL, Sept. 1998. [2] M. Isaka and M.P.C. Fossorier, “High-rate serially concatenated coding with extended Hamming codes,” IEEE Commun. Lett., vol.9, no.2, pp.160–162, Feb. 2005. [3] J. Li, K.R. Narayanan, and C.N. Georghiades, “Product accumulate codes: Class of codes with near-capacity performance and low decoding complexity,” IEEE Trans. Inf. Theory, vol.50, no.1, pp.31– 46, Jan. 2004. [4] M.P.C. Fossorier and S. Lin, “Soft-input soft-output decoding of linear block codes based on ordered statistics,” Proc. Globecom,

pp.2828–2833, Sydney, Australia, Nov. 1998. [5] P.A. Martin, D.P. Taylor, and M.P.C. Fossorier, “Soft-input softoutput list-based decoding algorithm,” IEEE Trans. Commun., vol.52, no.2, pp.252–262, Feb. 2004. [6] P.A. Martin, A. Valembois, M.P.C. Fossorier, and D.P. Taylor, “On soft-input soft-output decoding using ‘box and match’ techniques,” IEEE Trans. Commun., vol.52, no.12, pp.2033–2037, Dec. 2004. [7] D.J.C. MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge Univ. Press, 2001. [8] J.J. Boutros and G. Zemor, “On quasi-cyclic interleaver for parallel turbo codes,” IEEE Trans. Inf. Theory, vol.52, no.4, pp.1732–1739, April 2006. [9] R.M. Tanner, “On quasi-cyclic repeat-accumulate codes,” Proc. 37th Allerton Conf., pp.249–259, Monticello, IL, Sept. 1999. [10] O.Y. Takeshita, O.M. Collins, P.C. Massey, and D.J. Costello, Jr., “On the frame-error rate of concatenated turbo codes,” IEEE Trans. Commun., vol.49, no.4, pp.602–608, April 2001. [11] D. Divsalar, “A simple tight bound on error probability of block codes with application to turbo codes,” TMO Progress Report, Jet Propulsion Laboratory, 42-139, Nov. 1999. [12] S.T. Brink, “Convergence behavior of iteratively decoded parallel concatenated codes,” IEEE Trans. Commun., vol.49, no.10, pp.1727–1737, Oct. 2001. [13] A. Ashikhmin, G. Kramer, and S. ten Brink, “Extrinsic information transfer functions: Model and erasure channel properties,” IEEE Trans. Inf. Theory, vol.50, no.11, pp.2657–2673, Nov. 2004. [14] S. Dolinar, “A rate-compatible family of protograph-based LDPC codes built by expurgation and lengthening,” Proc. ISIT, pp.1627– 1631, Adelaide, Australia, Sept. 2005. [15] P.A. Martin and D.P. Taylor, “On multilevel codes and iterative multistage decoding,” IEEE Trans. Commun., vol.49, no.11, pp.1916– 1925, Nov. 2001. [16] P.A. Martin, M. Isaka, and M.P.C. Fossorier, “Serial concatenation of linear block codes and a rate-1 convolutional code,” Proc. 4th International Symposium on Turbo Codes, no.109, Munich, Germany, April 2006.

Motohiko Isaka received the B.E., M.E., and Ph.D. degrees all in electrical engineering from the University of Tokyo, Tokyo, Japan, in 1994, 1996, and 1999, respectively. He is currently with Dept. of Informatics, Kwansei Gakuin University, Sanda, Japan, working on error correcting coding techniques.

Philippa A. Martin received the B.E. (Hons.1) and Ph.D. degrees in electrical and electronic engineering from the University of Canterbury, Christchurch, New Zealand, in 1997 and 2001, respectively. From 2001 to 2004, she was a research engineer and then a FRST postdoctoral fellow in the Department of Electrical and Computer Engineering at the University of Canterbury. In 2002, she spent 5 months as a visiting researcher in the Department of Electrical Engineering at the University of Hawaii at Manoa, Honolulu, Hawaii, U.S.A. Since late 2004 she has been working at the University of Canterbury as a lecturer and then as a senior lecturer. Dr. Martin has served as an Editor for the IEEE Transactions on Wireless Communications since 2005. Her current research interests include multilevel coding, error correction coding, iterative decoding and equalization, and space-time coding and detection, in particular for wireless communications.

IEICE TRANS. FUNDAMENTALS, VOL.E90–A, NO.9 SEPTEMBER 2007

1762

Marc P. C. Fossorier received the B.E. degree from the National Institute of Applied Sciences (I.N.S.A.) Lyon, France in 1987, and the M.S. and Ph.D. degrees from the University of Hawai’i at Manoa, Honolulu, USA in 1991 and 1994, all in electrical engineering. In 1996, he joined the Faculty of the University of Hawai’i, Honolulu, as an Assistant Professor of Electrical Engineering. He was promoted to Associate Professor in 1999 and to Professor in 2004. His research interests include decoding techniques for linear codes, communication algorithms and statistics. Dr. Fossorier is a recipient of a 1998 NSF Career Development award and became IEEE Fellow in 2006. He has served as Editor for the IEEE Communications Letters since 1999, as Editor for the IEEE Transactions on Information Theory from 2003 to 2006, as Editor for the IEEE Transactions on Communications from 1996 to 2003, and as Treasurer of the IEEE Information Theory Society from 1999 to 2003. Since 2002, he has also been an elected member of the Board of Governors of the IEEE Information Theory Society which he is currently serving as First Vice-President. He was Co-Chairman of the IEEE International Symposium of Information Theory (ISIT) held in Nice, France in June 2007, Program Co-Chairman for the 2000 International Symposium on Information Theory and Its Applications (ISITA) and Editor for the Proceedings of the 2006, 2003 and 1999 Symposium on Applied Algebra, Algebraic Algorithms and Error Correcting Codes (AAECC).