recursive convolutional codes for serially concatenated ... - IEEE Xplore

0 downloads 0 Views 745KB Size Report
high-rate convolutional codes (CC), either by themselves or in a parallel or serially concatenated ... lutional codes (PCCCs), punctured, recursive convolutional, serial concate- nated convolutional ..... 800–812, May 2001. ... 315–319, Mar. 1984. [16] D. Haccoun and G. Begin, “High-rate punctured convolutional codes for.
208

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

An Extensive Search for Good Punctured RateRecursive Convolutional Codes for Serially Concatenated Convolutional Codes Fred Daneshgaran, Member, IEEE, Massimiliano Laddomada, Member, IEEE, and Marina Mondin, Member, IEEE Abstract—In many practical applications requiring variable-rate coding and/or high-rate coding for spectral efficiency, there is a need to employ high-rate convolutional codes (CC), either by themselves or in a parallel or serially concatenated scheme. For such applications, in order to keep the trellis complexity of the code constant and to permit the use of a simplified decoder that can accommodate multiple rates, a mother CC is punctured to obtain codes with a variety of rates. This correspondence presents the results of extensive search for optimal puncturing patterns for recursive ( an integer) to be used in convolutional codes leading to codes of rate serially concatenated convolutional codes (SCCCs). The code optimization is in the sense of minimizing the required signal-to-noise ratio (SNR) for two target bit-error rate (BER) and two target frame-error rate (FER) values. SCCC codes We provide extensive sample simulation results for rateemploying our optimized punctured CCs. Index Terms—Convolutional codes (CCs), parallel concatenated convolutional codes (PCCCs), punctured, recursive convolutional, serial concatenated convolutional codes, turbo codes, UMTS code.

pressed digital speech signals, information bits may require different degrees of error protection. In this scenario, the most important bits are transmitted with more redundancy by using the same convolutional code with variable redundancy, i.e., a code whose puncturing patterns as a function of increasing rate are subsets of each other. It is known that for soft-decision Viterbi decoding, the BER of a convolutional code of rate Rc = nk with binary or quaternary phaseshift keying (BPSK or QPSK) modulation in additive white Gaussian noise, can be well upper-bounded by the following expression:

Pb 

1

1

Eb Rd No c

(1)

diverge from the correct path in the trellis of the code, and re-emerge with it later and are at Hamming distance d from the correct path, and finally Q(1) is the Gaussian integral function, defined as

Q(to ) =

1

p

2

1

t

1 0 e dt:

Similarly, it is possible to obtain an upper bound on the FER of the code as follows:

I. INTRODUCTION

1



=

d d

Manuscript received January 9, 2003; revised May 19, 2003. This work was supported in part by Euroconcepts S.r.l. (http://www.euroconcepts.it) and by Ministero dell’Università per la Ricerca Scientifica Tecnologica (MURST). F. Daneshgaran is with the Department of Electrical and Computer Engineering, California State University, Los Angeles; Los Angeles, CA 90032 USA (e-mail: [email protected]). M. Laddomada and M. Mondin are with the Dipartimento di Elettronica, Politecnico di Torino, 10129 Torino, Italy (e-mail: [email protected]; mondin @polito,it). Communicated by K. Abdel-Ghaffar, Associate Editor for Coding Theory. Digital Object Identifier 10.1109/TIT.2003.821981

2

in which dfree is the minimum nonzero Hamming distance of the CC, wd is the cumulative Hamming weight associated with all the paths that

Pf

For applications requiring high spectral efficiency, there is often a need for high-rate codes that satisfy the system requirements in terms of the required bit-error rate (BER) or frame-error rate (FER) at a target signal-to-noise ratio (SNR). Furthermore, variable-rate coding that can offer the possibility of providing different degrees of protection to the data is often required in system design. To this end, high-rate punctured convolutional codes (CCs) or a suitable concatenation of such codes are among the most commonly used codes for forward error correction (FEC). Puncturing is the most commonly used technique to obtain high-rate CC since the trellis complexity of the overall code is the same as the lower rate mother code whose output is punctured [1]. Using puncturing, changing the code rate is equivalent to only changing the transmitted symbols and has no impact on the trellis structure of the code used at the receiver for decoding. Since the main complexity of a channel codec resides at the decoder, this solution offers a very flexible and cost-effective method of supporting variable-rate coding. The k . focus of the current work is on punctured CCs of rate k+1 In 1979, Cain et al. in [2] suggested the use of a punctured code obtained from a mother code of lower rate, say n1 , for obtaining higher rate codes with simplified Viterbi decoding. Another approach to the design of punctured convolutional codes led to the development of the so-called rate-compatible punctured convolutional (RCPC) codes introduced by Hagenauer in 1988 [3]. RCPC codes were essentially introduced because in some applications, such as the transmission of com-

wd Q

k d=d

md Q

2

Eb Rd No c

(2)

where md is the multiplicity of all the paths that diverge from the correct path in the trellis of the code and re-emerge with it later and are at Hamming distance d from the correct path. A classical approach for the design of good punctured codes consists in finding the puncturing pattern that yields a code whose distance spectrum has the property of having the maximum minimum distance dfree . A better approach is to obtain the distance spectra of the punctured codes and to select the one which minimizes the BER upper bound based on the first few terms of the distance spectra. The optimum code which leads to the best distance spectrum may be selected as the best punctured code, provided that it is not catastrophic. We recall that the encoder is catastrophic if a finite number of channel errors can cause an infinite number of decoding errors. In terms of the state transition graph of a CC, this condition requires that this graph should not possess zero-weight cycles other than the self-loop associated with the zero state. We note in passing that systematic encoders are always noncatastrophic. Another aspect of the problem which has to be considered is related to the recursive nature of the designed punctured CCs. In fact, when an infinite impulse response (IIR) convolutional code is punctured, the resultant encoder is not necessarily recursive [4]. If the punctured CC has to be used in a parallel concatenated scheme, or as an inner code in a serially concatenated code, it must be recursive in order for the interleaver to yield a coding gain [5]–[10]. This problem is well addressed in [4], whereby a mathematical theory is developed in order to obtain the closed-form representation of the generator of a punctured convolutional encoder. In this correspondence, the emphasis is on the use of punctured CC in a serially concatenated convolutional coding (SCCC) scheme [10], a topic well addressed by Pietrobon in [11]. Recent research activities with the advent of turbo codes has brought to evidence the need for recursive punctured codes for use in concatenated coding schemes. Our focus in this correspondence is on SCCC codes since the optimality criterion in the case the CC is used in a parallel or serial concatenation

0018-9448/04$20.00 © 2004 IEEE

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

differ. In particular, in connection with SCCC, it is known that while the inner code in an SCCC configuration should be a recursive convolutional code, the outer code is required to have a maximum free distance regardless of whether it is recursive or not, and regardless of whether it is systematic or not. Indeed, the current work was motivated by the various channel coding proposals for the new standard for digital video broadcasting (DVB) applications. Among the various alternatives, a serial concatenation of convolutional codes was proposed. To date, many papers have addressed the code search problem for optimum punctured nonrecursive convolutional codes. Literature in this area is quite extensive [12]–[24]. In this correspondence, we present the results of our exhaustive search for good punctured recursive convolutional codes to be used in the construction of SCCCs. II. PROBLEM FORMULATION AND CODE SEARCH TECHNIQUE We begin with a review of some mathematical notation for punctured CCs. Puncturing is obtained by regularly deleting some output bits of a mother code with rate 1=n. As a result of puncturing, the trellis of the punctured code becomes periodically time varying. Consider a rate-1=2 systematic mother code to be punctured. Such a code is specified by a 1 2 2 generator matrix

g 1 (D ) G(D) = 1; g 2 (D ) defined by two polynomials g1 (D) and g2 (D) specifying the connections of the finite-state encoder. In this formulation, gi (D) = goi + g1i D + 1 1 1 + gi D , where i = 1; 2; gli 2 f0; 1g, l = 0; . . . ;  and  is the code memory (the constraint length of the code is  + 1). Generator matrix G(D) expresses the fact that the considered encoders are recursive (i.e., we have the ratio of two polynomials in the indeterminate variable D ). The code symbols which are punctured are specified through zeros in a suitable puncturing pattern matrix, usually indicated as a 2 2 k matrix (for a rate-1=2 mother encoder) or as a sequence of length 2k as hx1 ; y1 ; x2 ; y2 ; . . . ; xk ; yk i, whereby xi is the ith systematic bit and yi the corresponding parity bit output from the encoder. For k code, the input bits are grouped in blocks of k elements, and a rate- k+1 from the output of the encoder a total number of k 0 1 bits are deleted. The code search strategy adopted in this correspondence consists in finding a puncturing pattern which minimizes the required SNR for a total of four different given BER and FER target values (two target BER and two target FER values). As suggested by Lee in [20]–[22], the criteria of maximizing the minimum distance of the code may be valuable if the target BER is extremely small. When, on the other hand, the target BER is in the moderate range, it is insufficient to consider only the minimum distance of the code. Indeed, the first few lowest distance terms of the distance spectrum of the code should be considered in the optimization process. Furthermore, minimization of the BER and/or FER based on the first few terms of the distance spectra would require knowledge of the CC operating SNR, which is not always given or known specially if the CC is embedded in a parallel concatenated convolutional code (PCCC) or SCCC scheme. Given these considerations, it would be better to minimize the required SNR, having identified an operating target BER or FER. Indeed, this is the strategy adopted for the code search presented in this correspondence. We have searched for the best puncturing patterns using the inverse of the upper bound to the BER and FER of the code specified by (1) and (2) as the effective cost function. To limit the search complexity, we have used the first four dominant terms of the distance spectra for the evaluation of the inverse functions. The target values of BER and FER were set to the values BER1 = 1003 , BER2 = 1006 , FER1 = 1001 , and FER2 = 1003 .

209

Mother codes selected for puncturing are the best recursive rate-1=2; 4-, 8-, and 16-state convolutional codes proposed in the literature for the construction of both PCCCs and SCCCs. Matrix generators of the considered codes are shown in the extensive puncturing pattern tables presented in the correspondence. We have considered the following rate-1=2, recursive convolutional encoders. • One 4-state encoder with generator matrix:

G (D ) = 1;

1+D

2

1 + D + D2

:

• Two 8-state encoders with generator matrices:

3 and 1 + D2 + D3 2 3 1+D+D +D 1; : 2 3 1+D +D

G (D ) = 1; G (D ) =

1+D+D

• Seven 16-state encoders with generator matrices:

4 4 1+D+D 3 4 1+D +D 1; 2 1 + D + D + D4 4 1+D 1; 1 + D + D2 + D3 + D4 2 3 4 1+D +D +D 1; 1 + D + D4 2 3 4 1+D+D +D +D 1; 3 4 1+D +D 3 4 1+D+D +D 1; and 3 4 1+D +D 2 4 1+D+D +D 1; : 1 + D3 + D4

G (D ) = 1; G (D ) = G (D ) = G (D ) = G (D ) = G (D ) = G (D ) =

3

1+D+D +D

To the best of our knowledge, all the mother convolutional codes we have used are among the best recursive convolutional codes obtained by using primitive feedback polynomials for the code generator [6]–[8]. We have used these codes as mother codes by following the generally accepted rule that “good mother codes” lead to “good punctured codes.” III. CODE SEARCH RESULTS AND APPLICATIONS The results of our code search are presented in Tables I–III. The tables are organized as follows. Each row contains the best puncturing k for four different BER patterns resulting in punctured codes of rate k+1 and FER optimization targets. In any given row, the puncturing patterns listed are the best global patterns obtained for any given code rate. Next to each puncturing pattern, we report the following triplets; the punctured code’s free distance, its multiplicity, and the cumulative input weight of the error patterns leading to the free distance at the output of the code. Finally, we show the generator matrix of the mother encoder that among all the encoders with the same memory, yield the minimum SNR for the specified target BER or FER. The puncturing patterns are represented in octal form. A given puncturing pattern should be read from right to left by collecting k -pairs of systematic-parity bits. As an example, the puncturing pattern yielding a code with rate 2=3 for the 4-state code, should be interpreted as follows: p = 138 = 10112 = hx1 ; y1 ; x2 ; y2 i (the subscript denotes the base of the numbers). In this case, the puncturing pattern leaves the encoder systematic and deletes the first parity bit associated with every two input bits. For rate 7=8, the best puncturing pattern for target BER1 is

p = 252538 = 101010101010112 = hx1 ; y1 ; . . . ; x6 ; y6 ; x7 ; y7 i:

210

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

TABLE I OPTIMAL PUNCTURING PATTERNS FOR THE CONVOLUTIONAL CODE WITH GENERATOR MATRIX G(D) = 1;

TABLE II BEST PUNCTURING PATTERNS FOR VARIOUS CODE RATES BETWEEN THE TWO 8-STATE CONVOLUTIONAL CODES WITH GENERATOR = 1; AND MATRICES G(D ) = 1; G (D )

= 1;

= 1;

Tables IV and V show the performance of globally best 8- and 16-state codes over all the code rates for each target BER/FER. Since there was no single punctured encoder of a given memory outperforming all other encoders with the same memory over all the code rates examined, we developed a global cost metric as follows. For any target BER or FER and at any given code rate, we calculated the loss in SNR between the performance of each encoder and the one achieving the desired target with the minimum SNR. Subsequently, at any given target BER or FER, we summed the SNR losses of the punctured encoder over all the code rates. Finally, we chose the constituent encoder yielding the minimum overall SNR loss as the globally best encoder. We have used this approach for all the target BER and FER values considered in the correspondence and collected the results in Tables IV and V. We have used the optimized punctured codes as outer codes in a serially concatenated convolutional coding scheme as shown in Fig. 1. The proposed scheme is composed of a serial concatenation of a rate-1=2 re-

= 1;

TABLE III OPTIMAL PUNCTURING PATTERNS FOR THE 16-STATE CONVOLUTIONAL CODES EXAMINED IN THE PAPER

cursive mother encoder and a rate-1 differential encoder. The encoders are separated by an interleaver of length N . Puncturing is performed at the output of the outer code in order for the SCCC to have an overall k (i.e., the outer code’s rate is the same as the overall rate equal to k+1 SCCC’s code rate). To confirm and assess the performance of our optimized codes in a concatenated coding scheme, we have simulated the performance of the SCCC codes obtained by employing our optimized punctured outer codes in a configuration as shown in Fig. 1. The modulation scheme is assumed to be BPSK, and for simulations we have used a spread interleaver of length N = 1260 with spread S = 30. Sample simulation results are shown in Figs. 2–4. For decoding we have used 10 iterations of iterative maximum a posteriori (MAP) decoding and for each simulated point reported, we have counted at least 100 errors to ensure that the confidence intervals are reasonably narrow. Some of the conclusions that may be drawn from the simulation results for the SCCC codes employing the 4-state punctured outer codes are as follows.

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

211

TABLE IV OPTIMAL 8-STATE PUNCTURED ENCODERS OVER ALL THE CODE RATES FOR VARIOUS TARGET BER/FER EXAMINED

Fig. 1. SCCC scheme used in the simulations.

terms (3; 4; 10); (4; 123; 368); (5; 460; 1828). This difference between the two distance spectra is evident in the simulations shown in Fig. 2 where the PP 33 yields better results in terms of both BER and FER at higher values of SNR, even though the resulting code has minimum distance terms with a large number of nearest neighbors as manifested by the codeword multiplicities and the cumulative weight of the codewords. On the other hand, the systematic PP 53 results in a code with better performance, but only at lower Eb =No ratios where the iterative MAP decoding algorithm usually works better if the constituent code is systematic.

TABLE V OPTIMAL 16-STATE PUNCTURED ENCODERS OVER ALL THE CODE RATES FOR VARIOUS TARGET BER/FER EXAMINED

• The SCCC with rate-3=4 employs the nonsystematic puncturing pattern which would seem worse than the systematic pattern on the basis of the number of codewords at dfree . In reality, what happens is that the higher distance terms of the distance spectrum are better for the nonsystematic puncturing pattern than for the systematic one. Indeed, the puncturing pattern (PP) 33 leads to a code with distance spectrum where the first three terms are (3; 6; 21); (4; 23; 100); (5; 80; 432) (the triplet (d; m; w ) identifies the codeword distance d relative to all-zero path, the multiplicity of codewords at distance d denoted m, and the cumulative input weight of all the codewords w ), while the PP 53 leads to a code with a distance spectrum with

• The puncturing patterns optimized with respect to FER are not necessarily optimal with respect to BER and vice versa. This should be anticipated, but it is satisfying to observe this behavior in simulation of SCCC codes. As an example, Fig. 2 shows that for the rate-4=5 code, the PP 133 obtained by minimizing the required SNR for the FER targets when embedded as an outer encoder in an SCCC minimizes the FER performance of the SCCC, while the performance in terms of BER are poorer in comparison to the PP obtained by optimizing for a target BER. This behavior has been verified experimentally for all the other rates as well. Indeed, Fig. 3 confirms the aforementioned behavior for the rate-8=9 code. When the rate of the punctured code is high, the number of the nearest neighbors of the optimized codes grows as well. This is because the minimum distance of the punctured codes often does not decrease with increasing rates. We have also verified this behavior for other mother codes. Fig. 4 shows that the BER optimized puncturing patterns yield better results if we look at the BER performance of the SCCC. For the same rate and SCCC configuration, better results in terms of FER are obtained by using FER optimized puncturing patterns. Obviously, good punctured codes give good performance in terms of both BER and FER since minimizing the number of nearest neighbors generally corresponds to minimizing the overall weights associated with the lowest distance terms of the distance spectra. However, specially for high-rate punctured codes, it is better to use FER optimized puncturing patterns if the desired performance is the FER of the SCCC. In an SCCC, it is known that the outer encoder does not necessarily have to be recursive, nor does it need to be systematic. Hence, when dealing with the outer encoders in an SCCC scheme, the choice of the punctured encoder must be based on the criterion of yielding the best distance spectrum between recursive and nonrecursive encoders. We have made comparisons of the BER between some of the proposed punctured codes in this correspondence and some of the best punctured codes proposed in the literature for nonrecursive CCs. Comparison results are shown in Figs. 5–10. With regards to the 4-state SCCC using a recursive outer encoder, we have compared our puncturing patterns (shown in Table I) PP 13, PP 33, and PP 25253 for rates 2=3; 3=4; and 7=8, respectively, with the ones proposed by Yasuda in [15] and by Lee in [23]. Both authors, considered rate-1=2 encoders with generator matrices G(D) = [5; 7], G(D) = [15; 17], and G(D) = [23; 25] as nonrecursive mother encoders.

212

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

Fig. 2. Simulated BER and FER for the rate-3=4 and -4=5 SCCC employing a 4-state outer code with generator matrix punctured using the puncturing pattern shown in Table I.

Fig. 3. Simulated BER and FER for the rate-8=9 SCCC employing a 4-state outer code with generator matrix using the puncturing pattern shown in Table I.

G (D )

=

G(D )

1;

=

1;

=

= 1;

1;

,

, punctured

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

Fig. 4. Simulated BER and FER for the rate-9=10 SCCC employing an 8-state outer code with generator matrix punctured using the puncturing pattern shown in Table IV.

Fig. 5. Simulated BER for the rate-2=3 SCCC employing a 4-state outer code with generator matrix G(D ) = 1; puncturing pattern shown in Table I. The puncturing patterns proposed by Lee and Yasuda are the same.

213

G(D )

=

1;

= 1;

=

1;

,

, punctured using the

214

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

Fig. 6. Simulated BER for the rate-3=4 SCCC employing a 4-state outer code with generator matrix G(D) = 1; puncturing pattern shown in Table I. The puncturing patterns proposed by Lee and Yasuda are the same.

= 1;

, punctured using the

Fig. 7. Simulated BER for the rate-7=8 SCCC employing a 4-state outer code with generator matrix G(D ) = 1; puncturing pattern shown in Table I.

= 1;

, punctured using the

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

215

Fig. 8. Simulated BER for the rate-2=3 SCCC employing an 8-state outer code with generator matrix G(D) = 1; puncturing pattern shown in Table II.

= 1;

, punctured using the

Fig. 9. Simulated BER for the rate-3=4 SCCC employing an 8-state outer code with generator matrix G(D ) = 1; puncturing pattern shown in Table II.

= 1;

, punctured using the

216

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

Fig. 10. Simulated BER for the rate-7=8 SCCC employing an 8-state outer code with generator matrix G(D) = 1; the puncturing pattern shown in Table II.

= 1;

, punctured using

Fig. 11. Simulated BER for the rate-2=3 SCCC employing a 16-state outer code with generator matrix G(D ) = 1; the puncturing pattern shown in Table III.

= 1;

, punctured using

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY 2004

Comparisons between 4-state encoders are shown in Figs. 5–7 for outer encoders punctured in order to achieve the rates 2=3; 3=4; and 7=8. Figs. 8–10 show BER comparison between the best puncturing patterns shown in Table II in the column related to target BER1 for the rates 2=3; 3=4; and 7=8, and the 8-state punctured encoders proposed by Lee and Yasuda. Finally, Fig. 11 shows the BER performance of the best rate-2=3 puncturing pattern shown in Table III for the 16-state recursive mother encoder with generator G(D) = [1; 33 31 ] for targets BER1 and BER2 . Observing the BER comparisons between recursive and nonrecursive outer encoders in an SCCC, some conclusions can be drawn. First, as expected, the best punctured nonrecursive CCs perform quite well in an SCCC. However, because of the suboptimal iterative decoding used to decode SCCCs, simulations show that punctured recursive encoders perform better, or at least as well as, nonrecursive punctured encoders.

217

[6] [7]

[8]

[9] [10]

[11]

[12] [13]

IV. CONCLUSION In this correspondence, we have presented the results of an extensive search for optimal puncturing patterns for recursive mother convolutional codes. The optimization has been in the sense of minimizing the required SNR to achieve two target BERs and two target FERs for a punctured code of desired rate. The effective cost function used for this optimization has been the inverse of the upper bound to the BER and FER of the code obtained based on the first few terms of the distance spectrum of the code. Aside from the obvious interest in optimal punctured recursive convolutional codes by themselves, our goal has been to highlight their importance in construction of high-rate serially concatenated convolutional codes. We have provided a large body of simulation results for high-rate SCCC codes employing a generic spread interleaver to verify both the functionality of our optimized punctured codes and to perform a comparative study of the performance of various punctured codes. Finally, we hope that our correspondence can serve as a reference for code designers looking for high-rate serially concatenated convolutional codes. Indeed, our own motivation for this work has been the need for variable-rate SCCC codes in DVB applications.

[14] [15]

[16]

[17]

[18]

[19]

[20]

[21]

[22]

[23]

ACKNOWLEDGMENT [24]

The authors would like to thank the Associate Editor and the anonymous reviewers for the comments that have improved the quality of the presentation.

REFERENCES [1] J. G. Proakis, Digital Communications, 4th ed. New York: McGrawHill, 2001. [2] J. B. Cain, G. Clark, and J. M. Geist, “Punctured convolutional codes of rate (n 1) n and simplified maximum likelihood decoding,” IEEE Trans. Commun., vol. COM-25, pp. 97–100, Jan. 1979. [3] J. Hagenauer, “Rate-compatible punctured convolutional codes (RCPC codes) and their applications,” IEEE Trans. Commun., vol. 36, pp. 389–400, Apr. 1988. [4] B. Shen, A. Patapoutian, and P. A. McEwen, “Punctured recursive convolutional encoders and their applications in turbo-codes,” IEEE Trans. Inform. Theory, vol. 47, pp. 2300–2320, Sept. 2001. [5] S. Benedetto and G. Montorsi, “Unveiling turbo codes: Some results on parallel concatenated coding schemes,” IEEE Trans. Inform. Theory, vol. 42, pp. 409–428, Mar. 1996.

0

, “Design of parallel concatenated convolutional encoders,” IEEE Trans. Commun., vol. 44, pp. 591–600, May 1996. R. Garello, P. Pierleoni, and S. Benedetto, “Computing the free distance of turbo codes and serially concatenated codes with interleavers: Algorithms and applications,” IEEE J. Select. Areas Commun., vol. 19, pp. 800–812, May 2001. S. Benedetto, R. Garello, and G. Montorsi, “A search for good convolutional codes to be used in the construction of turbo codes,” IEEE Trans. Commun., vol. 46, pp. 1101–1105, Sept. 1998. D. Divsalar and F. Pollara, “On the design of turbo codes,” Jet Propulsion Lab., JPL TDA Progr. Rep. 42-123, 1995. S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial concatenation of interleaved codes: Performance analysis, design, and iterative decoding,” IEEE Trans. Inform. Theory, vol. 44, pp. 909–926, May 1998. S. S. Pietrobon, “Super codes: A flexible multi-rate coding system,” in Proc. Int. Symp. Turbo Codes and Related Topics, Brest, France, Sept. 2000, pp. 141–148. K. J. Hole, “Punctured convolutional codes for the 1-D partial-response channel,” IEEE Trans. Inform. Theory, vol. 37, pp. 808–817, May 1991. D. G. Daut, J. W. Modestino, and L. D. Wismer, “New short constraint length convolutional code constructions for selected rational rates,” IEEE Trans. Inform. Theory, vol. IT-28, pp. 794–800, Sept. 1982. M. Kim, “On systematic punctured convolutional codes,” IEEE Trans. Commun., vol. 45, pp. 133–139, Feb. 1997. Y. Yasuda, K. Kashiki, and Y. Hirata, “High-rate punctured convolutional codes for soft decision Viterbi decoding,” IEEE Trans. Commun., vol. COM-32, pp. 315–319, Mar. 1984. D. Haccoun and G. Begin, “High-rate punctured convolutional codes for Viterbi and sequential decoding,” IEEE Trans. Commun., vol. 37, pp. 1113–1125, Nov. 1989. G. Begin and D. Haccoun, “High-rate punctured convolutional codes: Structure properties and construction technique,” IEEE Trans. Commun., vol. 37, pp. 1381–1385, Dec. 1989. G. Begin, D. Haccoun, and C. Paquin, “Further results on high-rate punctured convolutional codes for Viterbi and sequential decoding,” IEEE Trans. Commun., vol. 38, pp. 1922–1928, Nov. 1990. punctured convoluK. J. Hole, “New short constraint length rate tional codes for soft-decision Viterbi decoding,” IEEE Trans. Inform. Theory, vol. 34, pp. 1079–1081, Sept. 1988. P. J. Lee, “New short constraint length, rate 1=N convolutional codes which minimize the required SNR for given desired bit error rates,” IEEE Trans. Commun., vol. COM-33, pp. 171–177, Feb. 1985. , “Further results on rate 1=N convolutional code constructions with minimum required SNR criterion,” IEEE Trans. Commun., vol. COM-34, pp. 395–399, Apr. 1986. , “Constructions of rate punctured convolutional codes with minimum required SNR criterion,” IEEE Trans. Commun., vol. 36, pp. 1171–1174, Oct. 1988. L. H. C. Lee, “New rate-compatible punctured convolutional codes for Viterbi decoding,” IEEE Trans. Commun., vol. 42, pp. 3073–3079, Dec. 1994. J. Chang, D. Hwang, and M. Lin, “Some extended results on the search for good convolutional codes,” IEEE Trans. Inform. Theory, vol. 43, pp. 1682–1697, Sept. 1997.

Suggest Documents