Rate-compatible punctured serial concatenated convolutional codes ...

4 downloads 17172 Views 240KB Size Report
Email: [email protected]. Abstract—In this paper, we propose and compare some good rate-compatible serial concatenated convolutional code (SCCC).
Rate-Compatible Punctured Serial Concatenated Convolutional Codes Fulvio Babich

Guido Montorsi

Francesca Vatta

DEEI, Universit`a di Trieste Via A. Valerio 10 I-34127 Trieste (Italy) Email: [email protected]

Dipartimento di Elettronica Politecnico di Torino Corso Duca degli Abruzzi 24 I-10129 Torino (Italy) Email: [email protected]

DEEI, Universit`a di Trieste Via A. Valerio 10 I-34127 Trieste (Italy) Email: [email protected]

Abstract— In this paper, we propose and compare some good rate-compatible serial concatenated convolutional code (SCCC) families. To obtain rate-compatible SCCCs, the puncturing is limited to inner coded bits. However, and this is the novelty proposed in this paper, we do not limit the puncturing to inner parity bits only, but we extend it also to inner systematic bits, thus obtaining higher rate SCCCs (i.e., beyond the outer code rate). The two main applications of this technique are its use in hybrid ARQ/FEC schemes and to achieve unequal error protection (UEP) of an information sequence.

I. I NTRODUCTION The concept of rate-compatible codes was presented for the first time in [1], where a particular family of convolutional codes, called in the paper rate-compatible punctured convolutional codes, is obtained by adding a rate-compatibility restriction to the puncturing rule. This restriction requires that the rates are organized in a hierarchy, where all coded bits of a higher rate code are used by all lower rate codes. The concept of rate-compatible codes was extended to parallel concatenated convolutional codes (PCCCs) for instance in [2]. Design criteria for the puncturing patterns have successively appeared in [3] and [4]. Shortly after the discovery of PCCCs, serial concatenated convolutional codes (SCCCs) were proposed as an alternative to them, since SCCCs generally have lower error floors [5]. Thus, the concept of rate-compatible codes was extended to SCCCs in [6] and [7], since SCCCs show less error flooring problems even with small interleavers [5]. Design criteria for the puncturing patterns have appeared in [8], where they are given for rate R = k/(k + 1) (3 ≤ k ≤ 15) punctured SCCCs, deriving high-rate codes via puncturing some basic SCCCs with various memory sizes. In this paper we propose and compare some methods for the construction of well performing families of rate-compatible punctured SCCCs. To obtain rate-compatible SCCCs, the puncturing is limited to inner coded bits. However, and this is the novelty proposed in this paper, we do not limit the puncturing to inner parity bits only, but we extend it also to inner systematic bits, thus obtaining higher rate SCCCs (i.e., beyond the outer code rate). Moreover, the problem of finding the optimal percentage of inner systematic and, consequently, parity bits to be punctured

GLOBECOM 2003

to obtain a given inner rate (and, thus, a given SCCC rate up to 1) is addressed. It is shown that the best puncturing strategy should be chosen with regard to the application considered (i.e., with regard to the signal-to-noise ratios (SNRs) at which the SCCCs are to be employed). Namely, if a better performance must be obtained in the error floor region (i.e., for higher SNRs), which is usually meant for UEP applications, it will be shown that it is advantageous to put more puncturing on inner systematic bits. On the other hand, if a better performance must be obtained in the waterfall region (i.e., for lower SNRs), which is usually meant for ARQ applications, it will be shown that it is advantageous to put more puncturing on inner parity bits. The paper is organized as follows. In Section II the puncturing methods to obtain good systematic rate-compatible SCCC families are outlined. In Section III, their performance is addressed. Finally, Section IV summarizes the main results and the conclusions. II. R ATE - COMPATIBLE PUNCTURED SCCC S : PUNCTURING METHODS

Depending on the puncturing pattern, the resulting code may be systematic (none of the systematic bits are punctured), partially-systematic (some of the systematic bits are punctured) or non-systematic (all systematic bits are punctured). A proposal of rate-compatible serial concatenated convolutional codes (SCCCs) was introduced in [6] and [7]. In particular, in [6] and [7], some rate-compatible patterns for inner code parity bits only are presented and evaluated with selected puncturing periods, frame sizes and mother codes. To obtain rate-compatible SCCCs, the puncturing must be limited to inner coded bits. In [6] and [7], to obtain ratecompatible SCCCs only inner code parity bits were punctured, thus obtaining SCCC rates lower than, or at most equal to, the outer code rate. This choice was made since it was assumed that a systematic inner code performs better than a partiallysystematic or a non-systematic one, when used in a serial concatenated scheme with interleaver. However, it should be noticed that this assumption is not valid for each SNR. Namely, given the role of systematic bits in determining the convergence threshold of an iterative

- 2062 -

0-7803-7974-8/03/$17.00 © 2003 IEEE

decoding mechanism [9], their presence is very important in the so called waterfall region of the resulting turbo-like code, i.e., for lower SNRs. Thus, it can be argued that a systematic inner code should be used if rates higher than the outer code rate are not needed. Also, it should be used for ARQ applications, since, within the ARQ protocol, the punctured codes tend to be employed at their respective low SNR values [4]. On the other hand, a systematic inner code gives rise, with respect to a partially-systematic one, to a performance which is worse in the so called error floor region of the resulting turbo-like code (i.e., for higher SNRs, as shown, for instance, in [10]). If rate-compatible punctured SCCCs with rates higher than the outer code rate are needed, inner systematic bits have to be punctured, i.e., partially systematic punctured inner codes have to be considered. This implies the use of inner code rates higher than one. It should be noticed that, when puncturing also applies to systematic bits, the local invertibility of the code has to be guaranteed, i.e., the existence of a one-to-one mapping between corresponding systematic and coded bits. This condition can be easily satisfied if we choose to puncture only inner systematic bits corresponding to outer parity bits in the inner coded bit stream (this is possible if we assume we know the bit mapping performed by the interleaver). Thus, in this way, we do not puncture the original information, thus preserving the invertibility of the whole SCCC scheme. Moreover, if we do not limit the puncturing to inner parity bits only, but we extend it also to inner systematic bits, the problem of finding the optimal percentage of inner systematic and, consequently, parity bits, to be punctured to obtain a given inner rate, must be considered. In the following, it is shown that the best puncturing strategy should be chosen with regard to the SNR region where the obtained SCCCs are supposed to be employed. If a better performance must be obtained in the error floor region (i.e., for higher SNRs), which is usually meant for UEP applications, it is advantageous to put more puncturing on inner systematic bits, since, in this way, it is likely that less of the inner output weight will be removed [10]. This gives a better performance of the overall SCCC code in the error floor region [5]. This is true, however, as far as a sufficient number of systematic bits is preserved, as shown also in [10]. If too much puncturing is put on inner systematic bits, the convergence threshold of the iterative decoding mechanism is dramatically lowered [9]. This gives rise to a performance of the overall SCCC code which is so bad in the waterfall region that the better error floor begins at very high SNRs. On the other hand, if a better performance must be obtained in the waterfall region (i.e., for lower SNRs), which is usually meant for ARQ applications, it is advantageous to put more puncturing on inner parity bits. In this way, the highest number of systematic bits will help in improving the convergence threshold of the iterative decoding mechanism, giving a better performance of the overall SCCC code in the waterfall region. This is true, however, as far as a sufficient number of parity bits is preserved. If too much puncturing is put on inner parity

GLOBECOM 2003

bits, the inner code becomes so weak that, as observed also in [11], the performance of the overall SCCC code becomes bad for each SNR value. III. R ESULTS AND COMPARISONS AMONG THE DIFFERENT PUNCTURING METHODS

A family of rate-compatible codes is usually described [1], [4] by the mother code of rate R = 1/M and the puncturing period P , which determines the range of code rates: R=

P with l = 1, ..., (M − 1)P P +l

(1)

ranging between P/(P + 1) and 1/M . The rate-compatible codes are obtained from the mother code with puncturing matrices a(l) = aij (l), where aij ∈ (0, 1) and 0 means puncturing. The rate-compatibility restriction implies the following rule: if aij (l0 ) = 1 then aij (l) = 1, ∀l ≥ l0 ≥ 1

(2)

As said before, to obtain rate-compatible SCCCs, the puncturing must be limited to inner coded bits. In this way, to obtain variable rate codes it is not necessary neither to increase the system complexity, nor the interleaver size. We define, as in [10], the information permeability rate ρu and the parity permeability rate ρp as the proportions of the inner code systematic and parity bits which survive (i.e., are not punctured), respectively. Assume an inner mother code of rate 1/n. The relation between the two permeability rates and the inner code rate Ri is given by: Ri =

1 ρu + (n − 1)ρp

(3)

Thus, given the variable inner code rate Ri and the outer code rate Ro , which is maintained fixed, the total rate of the resulting rate compatible SCCC is given by: RSCCC = Ro Ri = Ro

1 ρu + (n − 1)ρp

(4)

From (4), given a certain desired RSCCC , the relation between the two permeability rates is given by: ρu =

Ro − (n − 1)ρp RSCCC

(5)

For instance, if we have to obtain a rate Ro SCCC, we can choose different percentages of inner systematic and parity bits to be punctured. However, the two permeability rates have to satisfy the following condition: ρu = 1 − (n − 1)ρp

(6)

The systematic bits at the input of the inner encoder are an interleaved version of the outer encoder output bits. We assume the outer and inner codes are systematic, and we know the bit mapping performed by the interleaver between them. Thus, the knowledge of the interleaver-induced permutation permits to distinguish, among the inner systematic bits, which of them

- 2063 -

0-7803-7974-8/03/$17.00 © 2003 IEEE

correspond to outer code systematic bits, and which to outer code parity bits. To guarantee the local invertibiliy of the whole SCCC scheme we have chosen to puncture only inner systematic bits corresponding to outer parity bits in the inner coded bit stream. The two permeability rates thus have to satisfy the following constraints: (7) Ro ≤ ρu ≤ 1; 0 ≤ ρp ≤ 1 In this section, we will compare through simulation some rate-compatible puncturing schemes. We apply them to a family of systematic rate-compatible punctured SCCCs based on a rate 1/3 SCCC mother code. This is obtained by serially concatenating a 4-state rate 2/3 outer RSC encoder and a 4-state rate 1/2 inner RSC encoder1 . The puncturing was performed with a puncturing period P = 32 on inner output bits only, in order to obtain rate-compatible codes after puncturing2 . The frame length, measured in terms of input information bits, was set to I = 640 using the interleaver specified in [12]3 . In Table I we report an example of the rate-compatible puncturing patterns that can be used. The performance of a ratecompatible SCCC depends mainly on its overall rate RSCCC and on the chosen combination of ρu and ρp needed to obtain it (using (5)); we have not noticed an appreciable difference in the performance by varying the puncturing positions within the puncturing period P . For this reason, there has been no attempt to optimize the puncturing patterns. To obtain a certain ρp the patterns are applied to all inner code parity check bit positions. The positions go from 1 to P . Note that the Hamming weight of the pattern hm divided by P gives ρp directly. To obtain a certain ρu , the listed patterns are applied only to the inner code systematic bits corresponding to the outer code parity bits. That is, we puncture the inner code systematic bit positions corresponding, after the interleaving, to the outer code parity bit positions given by the pattern through the following steps: 1) find the outer code parity check bit positions given by the puncturing pattern; 2) interleave those positions using the interleaver; 3) puncture the inner code output bit stream in the corresponding interleaved positions. Following this procedure, ρu can be easily shown to be equal to (2P + h)/3P (being Ro = 2/3). Fig. 1 shows the performance of the SCCCs with total rate RSCCC = 2/3. The performance is shown on the additive white Gaussian noise (AWGN) channel in terms of residual Block Error Rate (BLER) vs. Es /N0 in dB, with Es = RSCCC Eb and Eb is the unfaded energy per bit. Being n = 2, ρu is obtained from ρp using (5). The solid curve reports the 1 The above mentioned SCCC mother code was proposed for the UMTS standard, but has not been included in the standard itself. Its scheme is depicted, for instance, in Fig. 1 of [7]. 2 With longer periods, higher rates may be obtained. 3 The interleaver length N is given by I/R (see [5]). o

GLOBECOM 2003

TABLE I P UNCTURING PATTERNS FOR THE INNER CODE OUTPUT BITS POSITIONS GOING FROM 1 TO P = 32

ρp 32/32 31/32 30/32 29/32 28/32 27/32 26/32 25/32 24/32 23/32 22/32 21/32 20/32 19/32 18/32 17/32 16/32 15/32 14/32 13/32 12/32 11/32 10/32 9/32 8/32 7/32 6/32 5/32 4/32 3/32 2/32 1/32

ρu 96/96 95/96 94/96 93/96 92/96 91/96 90/96 89/96 88/96 87/96 86/96 85/96 84/96 83/96 82/96 81/96 80/96 79/96 78/96 77/96 76/96 75/96 74/96 73/96 72/96 71/96 70/96 69/96 68/96 67/96 66/96 65/96

Puncturing pattern 37 777 777 777 17 777 777 777 17 776 777 777 17 776 777 767 17 776 777 367 17 776 757 367 17 756 757 367 17 356 757 367 07 356 757 367 07 356 717 367 07 356 717 167 07 352 717 167 06 352 717 167 06 352 717 147 06 352 517 147 06 352 513 147 06 312 513 147 06 312 513 145 06 312 511 145 04 312 511 145 04 310 511 145 04 310 511 105 04 110 511 105 04 110 511 104 04 110 411 104 04 110 410 104 04 100 410 104 04 100 410 004 04 000 410 004 00 000 410 004 00 000 010 004 00 000 010 000

limiting performance obtained using the sphere packing bound [13]. The dash-dotted curves report simulation results obtained by applying the puncturing patterns of Table I for different parity permeability rates ρp . Simulation results are given, in the whole paper, with frame length I = 640 and using the interleaver specified in [12]. Using (5), ρu is derivable from ρp , i.e., ρu = 1 − ρp . For instance, the dash-dotted curve with ρp = 3/16 is obtained applying the puncturing patterns of Table I corresponding to ρp = 6/32 (for inner code check bit positions) and to ρu = 1 − ρp = 78/96 (for inner code systematic bit positions corresponding to outer code parity bits, in the sense explained above). The figure confirms the validity of the observations made in the previous section about the puncturing strategies to be used to obtain good performance in the different SNR regions. Namely, if a better performance must be obtained in the error floor region (i.e., for higher SNRs), it is advantageous to put more puncturing on inner systematic bits. In fact, the best

- 2064 -

0-7803-7974-8/03/$17.00 © 2003 IEEE

Rate Compatible SCCC (I=640, Rc=2/3)

−1

Rate Compatible SCCC (I=640, Rc=2/3)

−1

10

10

E \N =2.4 dB b

0

−2

10

−2

10

ρp=5/16

−3

Eb\N0=2.8 dB

−4

Eb\N0=3.0 dB

10

−3

Block Error Rate

Block Error Rate

10

ρ =3/16 p

−4

10

10

Eb\N0=3.2 dB

−5

10

−5

10

Eb\N0=3.4 dB

−6

10

ρp=2/16

Eb\N0=3.6 dB

−6

10

−7

10

Eb\N0=3.8 dB

ρ =4/16 p

−7

10

0

−8

0.5

1

1.5

2

2.5

10

SNR [dB]

0.1

0.15

0.2

0.25

0.3

ρp

Fig. 1. Block Error Rate vs. Signal-to-Noise Ratio Es /N0 in dB for different SCCCs with total rate RSCCC = 2/3. Sphere packing bound limiting performance: solid curve. Simulation results obtained by applying the puncturing patterns of Table I for some parity permeability rates ρp : dash-dotted curves.

error floors are obtained with ρp = 4/16 and ρp = 5/16 (ρu = 72/96 and ρu = 66/96, respectively). On the other hand, if a better performance must be obtained in the waterfall region (i.e., for lower SNRs), it is advantageous to put more puncturing on inner parity bits, since, in this way, the largest number of systematic bits will help the convergence of the iterative decoding algorithm. In fact, the best performance for lower SNRs is obtained with ρp = 3/16 (ρu = 78/96). This is true, however, as far as a sufficient number of parity bits is preserved. In fact, the performance of the overall SCCC code with ρp = 2/16 (ρu = 84/96) becomes bad for each SNR value. Finally, we observe that applying the same puncturing to systematic and parity check bits (curve with ρp = 4/16 and ρu = 72/96, respectively), the resulting code represents a good compromise between waterfall and error floor performance. Fig. 2 shows the performance of the SCCCs with total rate RSCCC = 2/3. The performance is shown on the AWGN channel in terms of residual BLER vs. ρp for different Eb /N0 in dB. The solid curves report simulation results obtained applying the puncturing patterns of Table I for different parity permeability rates ρp . This figure confirms the validity of the observations, made in the previous section, about the puncturing strategies to be used to obtain good performance in the different SNR regions, but from another point of view. Namely, it is shown that for higher SNRs it is advantageous to put more puncturing on inner systematic bits, i.e., to use a high ρp and, consequently, a low ρu = 1 − ρp . On the other hand, for lower SNRs, it is advantageous to put more puncturing on inner parity bits, i.e., to use a low ρp and, consequently, a high ρu .

GLOBECOM 2003

Fig. 2. Block Error Rate vs. ρp for different Eb /N0 in dB and for SCCCs with total rate RSCCC = 2/3.

Fig. 3 shows the performance of the SCCCs with total rate RSCCC = 4/5. The performance is shown on the AWGN channel in terms of residual BLER vs. Es /N0 in dB. The solid curve reports the limiting performance obtained using the sphere packing bound. The dash-dotted curves report simulation results obtained applying the puncturing patterns of Table I for different parity permeability rates ρp . Using (5), ρu is derivable from ρp , i.e., ρu = 5/6 − ρp . For instance, the dash-dotted curve with ρp = 3/32 is obtained by applying the puncturing patterns of Table I corresponding to ρp = 3/32 and to ρu = 5/6 − ρp = 71/96. The observations, made for Fig. 1, about the puncturing strategies to be used to obtain good performance in the different SNR regions, keep their validity. In Fig. 4 sphere-packing bound limiting performance and simulation results are given in terms of residual BLER vs. Es /N0 in dB for different rate-compatible SCCCs with rates from 2/3 up to 8/9. Solid lines report the limiting performance obtained using the sphere packing bound. The dash-dotted lines report simulation results obtained by applying the puncturing patterns of Table II to inner code check bit positions and systematic bit positions corresponding to outer code parity bits. Puncturing optimization has led to ρp = 16/32 and ρu = 80/96 (rate 1/2 code), ρp = 8/32 and ρu = 72/96 (rate 2/3 code), ρp = 4/32 and ρu = 68/96 (rate 4/5 code), ρp = 2/32 and ρu = 66/96 (rate 8/9 code). Observe that the same puncturing is applied to systematic and parity check bits, and that, for each rate, the condition (5) is satisfied. In this way, the inner code systematic and parity check bits are punctured with the same percentages, if we measure these percentages with respect to the total number of outer parity check bits, and of inner parity check bits, respectively. In this way we obtain codes the performance of which

- 2065 -

0-7803-7974-8/03/$17.00 © 2003 IEEE

Rate Compatible SCCC (I=640, Rc=4/5)

−1

10

10

Rate Compatible SCCC (I=640)

−1

−2

10

10 ρ =5/32

−3

p

Block Error Rate

10

Block Error Rate

−2

−4

10

−5

10

10

10

−3

−4

ρp=2/32

ρ =3/32 p

10

−6

−5

10

ρ =4/32 p

−7

10

2

2.5

3

3.5

4

4.5

10

SNR [dB]

Fig. 3. Block Error Rate vs. Signal-to-Noise Ratio Es /N0 in dB for different SCCCs with total rate RSCCC = 4/5. Sphere packing bound limiting performance: solid curve. Simulation results obtained by applying the puncturing patterns of Table I for some parity permeability rates ρp : dash-dotted curves.

−6

−2

R =2/3 c

Rc=1/2 −1

0

1

R =8/9 c

Rc=4/5 2 SNR [dB]

3

4

5

6

Fig. 4. Frame Error Rate vs. Signal-to-Noise Ratio Es /N0 for different code rates Rc = {1/2, 2/3, 4/5, 8/9}. Simulation results: dash-dotted curves. Sphere-packing bound limiting performance: solid curves.

R EFERENCES TABLE II P UNCTURING PATTERNS USED IN F IG . 4

Rates 1/2 2/3 4/5 8/9

ρp 16/32 8/32 4/32 2/32

ρu 80/96 72/96 68/96 66/96

Puncturing pattern 06 312 513 147 04 110 411 104 04 000 410 004 00 000 010 004

represents a good compromise, i.e., they have both a satisfying waterfall performance and a satisfying error floor performance. As can be observed from the figure, the performance obtained is within less than 1 dB from the sphere-packing bound4 (such as the best codes presented in [13]). IV. C ONCLUSIONS In this paper we have proposed and compared some methods for the construction of well performing families of ratecompatible punctured SCCCs. To obtain rate-compatible SCCCs, the puncturing has not been limited to inner parity bits only, but has also been extended to inner systematic bits, thus obtaining higher rate SCCCs (i.e., beyond the outer code rate). Moreover, the problem of finding the optimal percentage of inner systematic and, consequently, parity bits to be punctured to obtain a given SCCC rate was addressed. It was shown that the best puncturing strategy should be chosen with regard to the application considered. 4 It has been shown (see [13]), that turbo codes adopting spread interleavers perform within less than 1 dB of the sphere-packing bound.

GLOBECOM 2003

[1] J. Hagenauer, “Rate-compatible punctured convolutional codes (RCPC codes) and their applications”, IEEE Transactions on Communications, Vol. 36, No. 4, April 1988, pp. 389-400. [2] D. N. Rowitch and L. B. Milstein, “Rate compatible punctured turbo (RCPT) codes in a hybrid FEC/ARQ system”, Proc. of the IEEE Communication Theory Mini Conference, held in conjunction with GLOBECOM’97, Phoenix, Arizona, November 5-6, 1997, pp. 55-59. [3] P. Jung and J. Plechinger, “Performance of rate compatible punctured turbo codes for mobile radio applications”, IEE Electronics Letters, 4th December 1997, Vol. 33, No. 25, pp. 2102-2103. [4] D. N. Rowitch and L. B. Milstein, “On the performance of hybrid FEC/ARQ systems using rate compatible punctured turbo (RCPT) codes”, IEEE Transactions on Communications, Vol. 48, No. 6, June 2000, pp. 948-959. [5] S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, “Serial concatenation of interleaved codes: performance analysis, design and iterative decoding”, IEEE Transactions on Information Theory, Vol. 44, n. 3, May 1998, pp. 909-926. [6] N. Chandran and M. C. Valenti, “Hybrid ARQ using serial concatenated convolutional codes over fading channels”, Proc. of the 2001 IEEE 53rd Vehicular Technology Conference - VTC’01 Spring, Vol. 2, Rhodes, Greece, 6-9 May 2001, pp. 1410-1414. [7] H. Kim and G. L. St¨uber, “Rate compatible punctured SCCC”, Proc. of the 2001 IEEE 54th Vehicular Technology Conference - VTC’01 Fall, Vol. 4, Atlantic City, NJ, U.S.A., 7-11 October 2001, pp. 2399-2403. ¨ F. Ac¸ikel and W. E. Ryan, “Punctured high rate SCCCs for [8] O. BPSK/QPSK channels”, Proc. of the 2000 IEEE International Conference on Communications - ICC 2000, New Orleans, U.S.A, 18-22 June 2000, pp. 434-438. [9] D. Divsalar, S. Dolinar and F. Pollara, “Iterative turbo decoder analysis based on density evolution”, IEEE Journal on Selected Areas in Communications, Vol. 19, No. 5, May 2001, pp. 891-907. [10] I. Land and P. Hoeher, “Partially systematic rate 1/2 Turbo codes”, Proc. of the II International Symposium on Turbo codes and related topics, Brest, 4-7 September 2000, pp. 287-290. [11] M. A. Herro, D. J. Costello and L. Hu, “Capacity and cutoff rate calculations for a concatenated coding system”, IEEE Transactions on Information Theory, Vol. 34, n. 2, March 1988, pp. 212-222. [12] “Multi-stage interleaving (MIL) method for turbo codes”, NTT DoCoMo, Tdoc SMG2 UMTS-L1 273/98. [13] C. Schlegel and L. Perez, “On error bounds and turbo-codes”, IEEE Communications Letters, Vol. 3, n. 7, July 1999, pp. 205-207.

- 2066 -

0-7803-7974-8/03/$17.00 © 2003 IEEE