Performance Enhancement of Partially Systematic Rate-Compatible SCCCs through Puncturing Design 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, partially systematic rate-compatible serial concatenated convolutional codes (SCCCs) are considered. These are generated from a classical rate 1/3 serial concatenated mother code. To obtain rate-compatible SCCCs, the puncturing is limited to inner coded bits, by puncturing both the inner code’s parity and systematic bits. It is shown that the performance can be enhanced in the “waterfall” or in the “error-floor” region, by simply spreading the puncturing over the parity and the systematic bits without increasing encoding and decoding complexity.
I. I NTRODUCTION The concept of rate-compatible codes, first presented in [1] for convolutional codes, was successively extended to parallel concatenated convolutional codes (PCCCs), e.g. in [2], and to serial concatenated convolutional codes (SCCCs), e.g. in [3] and [4], since SCCCs show less error flooring problems even with small interleavers [5]. A family of so-called ratecompatible punctured codes [1] is obtained by adding a ratecompatibility 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 two main applications of this technique are: 1) Modified type-II Automatic Repeat reQuest / ForwardError Correction (ARQ/FEC) schemes. The principle of this hybrid ARQ/FEC scheme [6] is not to repeat information or parity bits if the transmission is unsuccessful, as in previous type II ARQ/FEC schemes, but to transmit additional code bits of a lower rate RCPC code, until the code is powerful enough to enable decoding. Namely, if the higher rate codes are not sufficiently powerful to decode channel errors, only supplemental bits, which were previously punctured, have to be transmitted in order to upgrade the code. This includes several decoding attempts on the receive side. 2) Unequal error protection (UEP). Since codes are compatible, rate variation within a data frame is possible to achieve unequal error protection: this is required when different levels of error protection IEEE Communications Society Globecom 2004
167
for different parts of an information sequence or block are needed. In this paper we show that the best puncturing strategy to obtain partially systematic rate-compatible SCCCs 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. To obtain rate-compatible SCCCs, the puncturing must be limited to inner coded bits. However, we do not limit the puncturing to inner parity bits only, but we extend it also to inner systematic bits, thus obtaining high rate SCCCs (i.e., beyond the outer code rate). With this assumption, the punctured code performance depends not only from the puncturing pattern (than can be optimized following the design rules presented, e.g., in [5]), but also from the spreading of the puncturing over the inner code’s parity and systematic bits (i.e., from the percentage of inner systematic and, consequently, parity bits to be punctured to obtain a given inner rate). Thus, 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 addressed. The paper is organized as follows. In Section II, the puncturing methods proposed to obtain good systematic ratecompatible SCCC families are outlined. In Section III, the design of the optimal puncturing spreading over the inner code’s parity and systematic bits is addressed, showing also the performance of the resulting codes. Finally, Section IV summarizes the main results and the conclusions. II. R ATE - COMPATIBLE PUNCTURED SCCC S Depending on the puncturing pattern, the resulting ratecompatible code may be systematic (none of the systematic bits are punctured), partially-systematic (some of the system0-7803-8794-5/04/$20.00 © 2004 IEEE
Authorized licensed use limited to: Politecnico di Torino. Downloaded on March 12,2010 at 12:35:18 EST from IEEE Xplore. Restrictions apply.
I
Rate 1/2 encoder
1 1 1 0
So
Interleaver Po
Fig. 1.
Si
Pi
π [P{So+Po}] P{Pi}
Block diagram of the transmitter with the turbo encoder.
atic bits are punctured) or non-systematic (all systematic bits are punctured). The proposal of rate-compatible serial concatenated convolutional codes (SCCCs) has been introduced in [3] and [4]. Here, no design criteria are given. In particular, in [3] and [4], some rate-compatible patterns for inner code parity bits only are presented and evaluated with different puncturing periods, frame sizes and mother codes. To obtain rate-compatible SCCCs, the puncturing must be limited to inner coded bits. In [3] and [4], 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 partially-systematic or a non-systematic one, when used in a serial concatenated scheme with interleaver. However, it has been shown in [7] that the performance of a punctured SCCC can be enhanced, in the “waterfall” or in the “errorfloor” region, by simply spreading the puncturing over the parity and the systematic bits without increasing encoding and decoding complexity. In fact, one could easily argue, by performing some simple “practical” considerations, that 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, since, in this way, it is likely that less of the inner output weight will be removed [8]. This should give 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 [8]. 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), it is advantageous to put more puncturing on inner parity bits. In this way, the highest number of systematic bits should 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 bits, the inner code becomes so weak that, as observed also in [10], the performance of the overall SCCC code becomes bad for each SNR value. This practical and heuristic explanation will be proved analytically in the next section. IEEE Communications Society Globecom 2004
N
Rate 1/2 encoder
To the channel
Information bits
168
III. D ESIGN OF THE OPTIMUM PUNCTURING PATTERN SPREADING
The proposed serial concatenated coding scheme is shown in Fig. 1. It consists of the serial concatenation of a 4-states rate 2/3 outer systematic recursive convolutional code (SRCC) and a 4-states rate 1/2 inner SRCC1 . As shown in the figure, puncturing is spread into two different puncturing, applied separately to inner code systematic (Si ) and parity (Pi ) bits. Define, as in [8], the systematic permeability rate ρu and the parity permeability rate ρp as the proportion of the inner code systematic bits and of the inner code parity bits which survive (i.e., are not punctured), respectively. Given the variable inner code rate Ri and the outer code rate Ro , which is fixed, the rate of the resulting SCCC is given by: RSCCC = Ro Ri = Ro
1 ρu + ρp
(1)
From (1), given a certain desired RSCCC , ρu and ρp are related by: Ro ρu = − ρp (2) RSCCC Thus, the performance of the SCCC depends on the puncturing applied to inner code systematic and parity bits, but also on ρu and ρp , which should be properly optimized. To this end, the design rules presented in [5] for serially concatenated codes can be applied. Namely, for outer code design, the free distance dofree should be maximized and the corresponding o (i.e., the number of outer code sequences at multiplicity Nfree o distance dfree ) should be minimized. Thus, a general rule for outer code design is to select a code yielding the best Output Weight Enumerating Function (OWEF). For inner code design, it was shown in [5] that the inner encoder should be a convolutional feedback encoder for which the minimum weight output sequence d2 generated by weight-2 input sequences is maximized. In addition, when the outer code free distance is odd, the minimum weight output sequences d3 generated by weight-3 input sequences should also be maximized. Thus, a general rule for inner code design is to select a code yielding the best Input Output Weight Enumerating Function (IOWEF). In conclusion, as shown also in [11], P{Pi } must be optimized to yield the best inner encoder Input Output Weight Enumerating Function (IOWEF), whereas P{So +Po } must be optimized to yield the best outer encoder output distance spectrum. Its interleaved version π[P{So +Po } ] is then applied to inner code systematic bits (see Fig. 1). 1 The above mentioned SCCC mother code was one of the initial candidates for the UMTS standard. Its scheme is depicted, for instance, in Fig. 1 of [4].
0-7803-8794-5/04/$20.00 © 2004 IEEE
Authorized licensed use limited to: Politecnico di Torino. Downloaded on March 12,2010 at 12:35:18 EST from IEEE Xplore. Restrictions apply.
R
=2/3
SCCC
−1
−2
5
4
10
10
ρp=6/30
4
−3
10
3
10
d2
2
ρp=2/30
−4
10
3
N
Block Error Rate
Inner code − Rate 1/2 − 4 state
5
10
10
ρ =4/30
2
10
p
2
−5
10
ρ =8/30 p
ρp=9/30
−6
10
0.5
1
1.5
2 SNR [dB]
2.5
3
1
10
1
ρp=10/30 3.5 0
50
100
150
200
250
0 300
Number of punctured inner parity bits
Fig. 2. 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 parity permeability rates ρp reported in Table III: dash-dotted curves.
In Tables I and II we report the optimized rate-compatible puncturing patterns obtained applying the design rules stated in [11]. In Table I are reported some rate-compatible puncturing patterns for inner code parity bits that are used to obtain the results shown in this section. The puncturing positions of P{Pi } go from 1 to the interleaver length N (see Fig. 1). In Table II we report some rate-compatible puncturing patterns for inner code systematic bits that are used to obtain the results shown in the following. The puncturing positions of P{So +Po } go from 1 to 2I (see Fig. 1), since the outer mother code is a rate 2/3 code which is obtained from a rate 1/2 native code by applying the fixed puncturing pattern shown in Fig. 1 and in the first row of Table II. Thus, the puncturing pattern P{So +Po } has been supposed to include these fixed puncturing positions in itself. This is the reason why the puncturing positions of P{So +Po } go from 1 to 2I instead of going from 1 to N = I/Ro (as the puncturing positions of P{Pi } ). Fig. 2 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 , being Eb the unfaded energy per bit. ρu is obtained from ρp using (2). The solid curve reports the limiting performance obtained using the sphere packing bound [12]. The dash-dotted curves show simulation results, obtained by applying the puncturing patterns reported in Tables I and II for different parity permeability rates ρp . Simulation results are given with frame length I = 200 and using a random interleaver2 . Using (2), ρu is derivable from ρp , i.e., ρu = 1 − ρp . For 2 The
interleaver length N is given by I/Ro (see [5]).
IEEE Communications Society Globecom 2004
169
Fig. 3. Inner code effective free distance d2 and its multiplicity N2 as a function of the number of punctured inner parity bits.
instance, the dash-dotted curve with ρp = 8/30 is obtained applying the puncturing patterns of Tables I and II corresponding to ρp = 8/30 (for inner code check bit positions) and to ρu = 1−ρp = 22/30 (for inner code systematic bit positions). 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 [5]. In fact, the lowest error floors are obtained with ρp = 9/30 and ρp = 10/30 (ρu = 21/30 and ρu = 20/30, respectively). This result can be explained analytically by examining the spectra of the outer and inner codes, respectively. Figs. 3 and 4 show the pairs (d2 , N2 ) and (d3 , N3 ), respectively, of the inner code versus the number of punctured inner parity bits, where dw is the minimum weight of inner code words generated by input words with weight w, and Nw the number of nearest neighbors (multiplicities) with weight dw . Fig. 5 shows the pair (dfree , Nfree ) of the outer code versus the number of punctured inner systematic bits, where dfree is the outer code free distance and Nfree the number of nearest neighbors (multiplicities) with weight dfree . The correspondence between ρp and the other parameters is shown in Table III for the SCCCs with total rate RSCCC = 2/3. As explained in [5], when the outer code free distance is odd and equal to 3, the pair (d3 , N3 ) of the inner code plays a fundamental role in determining the error-floor performance. This happens for ρp = 2/30: in this case, in fact, as shown also in Fig. 5, the outer code free distance is equal to 3. This case gives the worst performance in the error floor region, since the multiplicity N3 is of one order of magnitude higher than the greatest N2 (although d3 > d2 ∀ρp ). For all the other ρp values, the outer code free distance is even and equal to 2: in this case, as shown in [5], it is the pair (d2 , N2 ) of the 0-7803-8794-5/04/$20.00 © 2004 IEEE
Authorized licensed use limited to: Politecnico di Torino. Downloaded on March 12,2010 at 12:35:18 EST from IEEE Xplore. Restrictions apply.
TABLE I P UNCTURING PATTERNS ( IN OCTAL FORM ) FOR THE INNER CODE PARITY BIT POSITIONS GOING FROM 1 TO N .
ρp 30/30
7 777
10/30
1 062
9/30
1 022
8/30
1 022
6/30
0 022
4/30
0 020
2/30
0 000
777 777 142 122 142 122 102 122 102 022 102 020 002 000
777 777 114 046 110 044 110 044 010 044 010 040 010 040
777 777 443 222 443 222 442 222 402 202 002 200 000 000
777 777 110 112 110 112 110 102 100 102 100 102 000 102
777 777 211 112 211 102 211 102 211 100 210 000 200 000
777 777 111 244 111 244 011 244 010 204 010 204 010 004
Puncturing pattern 777 777 777 777 777 777 777 777 777 777 211 211 144 422 114 231 062 046 204 510 211 211 104 422 104 221 062 046 204 510 201 211 104 422 104 221 042 042 204 510 201 210 104 420 104 201 042 040 204 410 200 210 100 020 100 001 002 040 204 010 000 200 000 020 100 000 002 000 004 010
777 777 211 462 211 422 210 422 210 420 210 020 000 000
777 777 220 144 220 104 220 104 020 104 020 104 020 004
777 777 451 231 451 221 451 221 441 021 401 001 400 001
777 777 021 104 021 104 021 104 021 004 020 004 020 000
777 777 111 510 111 510 101 500 101 100 001 000 001 000
TABLE II P UNCTURING PATTERNS ( IN OCTAL FORM ) FOR THE ENTIRE SET OF INNER CODE SYSTEMATIC BIT POSITIONS GOING FROM 1 TO 2I .
ρu 30/30
16 735 673
28/30
12 735 673
26/30
12 735 273
24/30
12 715 271
22/30
12 715 271
21/30
12 515 231
20/30
12 515 231
567 735 567 527 735 567 527 735 467 527 335 465 527 315 465 527 315 465 525 315 065
356 673 356 356 673 256 352 273 256 352 273 256 252 233 256 252 233 256 252 232 246
735 567 735 735 527 735 335 527 725 335 523 325 325 523 324 325 523 324 324 523 324
673 356 673 273 356 673 273 352 672 233 352 672 233 152 652 233 152 652 233 152 652
567 735 567 567 735 527 527 735 527 523 335 527 523 335 525 523 335 525 523 315 525
inner code (shown in Table III) that plays a fundamental role in determining the error-floor performance. As it can be seen from Fig. 3, and from Table III, the multiplicity N2 decreases while increasing ρp , whereas d2 is constant and equal to 2: this explains analytically why in the error floor region we can notice a better performance for higher ρp values. On the other hand, if a better performance must be obtained in the waterfall region (i.e., for lower SNRs), we have observed in the previous section that 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 = 6/30 (ρu = 24/30). However, puncturing the inner parity check bits cannot go beyond IEEE Communications Society Globecom 2004
Puncturing pattern 356 735 673 567 356 673 567 356 735 673 356 735 673 567 356 352 735 273 565 356 273 567 352 735 673 352 735 653 567 316 352 735 253 565 346 233 527 352 735 273 352 535 652 567 316 352 335 253 465 346 233 527 352 335 233 352 525 652 567 306 352 315 253 465 346 233 523 152 335 231 352 525 652 525 306 152 315 253 465 246 232 523 152 325 231 252 525 652 525 306 152 315 251 465 246 232 523 152 325 231 252 524 652 525 306
735 567 735 735 527 725 735 527 725 735 523 725 335 523 725 335 523 525 335 523 525
673 356 673 273 356 673 273 352 273 233 352 273 231 352 253 231 352 253 231 252 251
567 735 567 567 735 527 527 735 525 523 715 525 523 515 525 523 515 525 523 515 525
356 673 356 352 273 356 352 273 356 352 273 346 352 233 146 152 231 146 152 231 146
a certain threshold, though, since an insufficient number of inner parity bits would make the inner code so weak that the performance of the overall SCCC code becomes bad for all SNRs [10]. To see this, consider, for example, the performance with ρp = 4/30 (ρu = 26/30). IV. C ONCLUSIONS In this paper we have proposed a method for the design of well performing families of rate-compatible 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). It has been shown that the performance of a SCCC of given rate can be enhanced
170
0-7803-8794-5/04/$20.00 © 2004 IEEE
Authorized licensed use limited to: Politecnico di Torino. Downloaded on March 12,2010 at 12:35:18 EST from IEEE Xplore. Restrictions apply.
TABLE III C ORRESPONDENCE BETWEEN ρp , ρu , NUMBER OF PUNCTURED INNER SYSTEMATIC AND PARITY BITS , OUTER AND INNER CODE SPECTRA
ρp
ρu
2/30 4/30 6/30 8/30 9/30 10/30
28/30 26/30 24/30 22/30 21/30 20/30
Number of punctured systematic bits 20 40 60 80 90 100
Number of punctured parity bits 280 260 240 220 210 200
Inner code − Rate 1/2 − 4 state
6
10
outer code dfree 3 2 2 2 2 2
inner code (d2 , N2 ) – (2, 3.26E+2) (2, 1.50E+2) (2, 5.70E+1) (2, 3.10E+1) (2, 1.10E+1)
Outer code − Rate 2/3 − 4 state
4
5
inner code (d3 , N3 ) (3, 8.91E+3) – – – – –
10
5
5
10
4
4 3
10 4
10
dfree
free
10
N
3
3
d3
N
3
3 2
10
2
2
2
10
1
10 1
1
1
10
0
10
0
50
100
150
200
250
0 300
0
10
20
30
40
50
60
70
80
90
0 100
Number of punctured inner parity bits
Number of punctured inner systematic bits
Fig. 4. Inner code output distance d3 and its multiplicity N3 as a function of the number of punctured inner parity bits.
Fig. 5. Outer code free distance dfree and its multiplicity Nfree as a function of the number of punctured inner systematic bits.
in the “waterfall” or in the “error-floor” region, by simply spreading the puncturing over the parity and the systematic bits without increasing encoding and decoding complexity. Principal aim of this paper was to show how this spreading can be designed on the basis of analytical considerations, based on the spectra of the constituent codes.
[6] S. Kallel and D. Haccoun, “Generalized type II hybrid ARQ scheme using punctured convolutional coding”, IEEE Transactions on Communications, Vol. 38, No. 11, November 1990, pp. 1938-1946. [7] F. Babich, G. Montorsi and F. Vatta, “Rate-compatible punctured serial concatenated convolutional codes”, Proc. of the IEEE 2003 Global Telecommunications Conference - GLOBECOM ’03, San Francisco, U.S.A., December 1-5, 2003, pp. 2062-2066. [8] 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. [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] 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. [11] F. Babich, G. Montorsi and F. Vatta, “Design of rate-compatible punctured serial concatenated convolutional codes”, Proc. of the IEEE 2004 International Conference on Communications - ICC ’04, Paris, France, June 20-24, 2004, pp. 552-556. [12] C. Schlegel and L. Perez, “On error bounds and turbo-codes”, IEEE Communications Letters, Vol. 3, n. 7, July 1999, pp. 205-207.
R EFERENCES [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] 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. [4] 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. [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.
IEEE Communications Society Globecom 2004
171
0-7803-8794-5/04/$20.00 © 2004 IEEE
Authorized licensed use limited to: Politecnico di Torino. Downloaded on March 12,2010 at 12:35:18 EST from IEEE Xplore. Restrictions apply.