Rate-Compatible Convolutional Codes for ... - Semantic Scholar

3 downloads 0 Views 236KB Size Report
Abstract| New nested convolutional codes and rate- compatible punctured convolutional (RCPC) codes with high constraint lengths and wide range of code ...
Rate-Compatible Convolutional Codes for Multirate DS-CDMA Systems Pal Frenger, Pal Orten, Tony Ottosson and Arne Svensson

Abstract | New nested convolutional codes and ratecompatible punctured convolutional (RCPC) codes with high constraint lengths and wide range of code rates are presented. It is shown that these codes are almost as good as the existing optimum convolutional codes for the same rates. The e ects of varying the design parameters of the RCPC codes, i.e. the mother code rate, the puncturing period and the constraint length are evaluated. Codes originating from rate 1=4 mother codes with constraint lengths 7 to 10 are presented. Also, rate matching in a multicode direct-sequence code-division multiple-access (DS-CDMA) system is examined, and results are evaluated in terms of the eciency for speci c bit error probabilities. Keywords |rate-compatible punctured convolutional codes (RCPC codes), nested convolutional codes, optimum distance spectrum, multichannel systems, rate matching, multicode direct-sequence code-division multiple-access (DSCDMA).

I. Introduction

the introduction of cellular telephony in the early 80's, virtually all markets and operators have seen a SrapidINCE increase in the number of subscribers. In the early

90's the rst generation analog systems were replaced by the second generation digital systems. These systems have higher capacity due to source (speech) coding, channel coding and the inherent robustness of digital transmission. Common for all these systems is that they are dominated by speech communication. However, there are indications that the increase in trac in the future will mainly be in other types of services. One example of such a service is the nowadays so popular Internet browsing. Other services that are believed to be of some importance in the future are fax and image transmission, video conferencing, electronic billing, positioning, audio, low-resolution video, and pure data transmission. It is already clear, judging from evolving standards (see e.g. [1{3]), that these services will require di erent data rates, quality of service (bit error rate) and data rate variability. Furthermore, some services are delay sensitive and some are not. Hence, a communication system should be designed with a high amount of

exibility regarding the data rate and its variability, the provided quality of service, and the delay. One of the requirements on the radio layer is thus a modular data rate system so that a user can allocate the data rate needed with a reasonable resolution for the time needed. This division of the channel resources into subchannels can be done in the time, frequency or code domain; a time slot in a time-division multiple-access The authors are with the Dept. of Information Theory, Chalmers University of Technology, S-412 96 Goteborg, Sweden (e-mail: [email protected], [email protected], [email protected], and [email protected]).

(TDMA) system, a carrier (frequency band) in a frequencydivision multiple-access (FDMA) system, or a code in a code-division multiple-access (CDMA) system. It is also possible to design hybrid systems, for example allowing users to allocate several codes and several carriers. Common for all these solutions are that many subchannels exist, and a user is allowed to allocate several of these subchannels. We will name such a system a multichannel system. As an example of a multichannel system we use a multicode DS-CDMA system [4], where each user is allocated a number of spreading codes. In dividing the resources into multiple channels there is usually a trade-o (due to intersymbol interference, channel variability and implementation costs) between a low data rate on each subchannel and a high spectral eciency for the system. Therefore, the resolution in data rate will typically be in the order of 10-50 kbit/s. However, the variability in for example speech is in steps in the order of a few kbit/s, requiring a rate matching system as an interface to the allocated subchannels. Two obvious ways of rate matching exist; (1) repetition of some of the data bits so that the data rate after repetition matches the channel rate; and (2) channel coding to introduce the extra data bits needed. Repetition is in fact a very simple channel code, which in general has a low performance gain compared to other coding schemes. It has, though, the advantage that all source data rates can be matched to the existing channel rates by repeating some or all of the data bits one time or more. The use of channel coding implies a need for many code rates so that a high resolution of source data rates can be supported. It would of course also be possible to switch periodically between a few di erent code rates and thus achieve a perfect rate matching using channel coding. The quality of service (bit error rate) requirements imply an adaptive error control coding scheme making it possible to change code rate from one connection (or data packet) to another. Also within one transmission there may be needs for di erent quality classes in for example speech communication (unequal error protection (UEP)), or to adapt to the channel condition thus achieving a higher spectral ef ciency. Also, packet transmission based on hybrid automatic repeat request (HARQ) uses variable code rate channel codes [5{7]. Due to the reasons presented, we would argue that there is a need for a channel coding scheme with many code rates. The question that remains is what type of coding scheme to use. Two main categories exist; block codes and convolutional codes. Block codes have a main diculty in the complexity needed to perform soft-decision decoding which is vital for any bandwidth ecient cellu-

lar communication system because of the multipath fading nature of the mobile radio channel [8, p. 813]. Also, due to implementation costs it is advantageous to be able to use the same decoder (or a few decoders) to decode all code rates. For block codes, however, the decoders must usually be designed for a speci c code. For convolutional codes, soft-decision decoding comes naturally using a soft metric in the Viterbi decoder, and the use of rate-compatible convolutional (RCC) codes makes it possible to apply the same decoder for all code rates within the family. Other coding schemes such as turbo coding [9] exist. However, for turbo codes to perform well a large interleaver is needed, and therefore it is dicult to use turbo codes for delay sensitive services. Furthermore, the high complexity in decoding turbo codes may be prohibitive. Another possible coding/decoding scheme is long constraint length convolutional codes together with sequential decoding [10]. However, the fractional rate loss due to the many tail bits may be large, and there are indications that the loss in performance using punctured convolutional codes together with sequential decoding is not as small as for Viterbi decoding [11].

rates R = p=(np); p=(np ? 1); : : : ; p=(p + 1). Due to the rate compatibility criterion, the code rate of RCPC codes can be changed during transmission and thus unequal error protection is obtained [12,13]. The problem with the existing RCPC codes [12,14] is the limited number of code rates (and thus also a limited range of code rates). Furthermore, because only codes with constraint lengths 7 or lower have been found, these codes are of limited applicability in cellular systems. The bandwidth eciency is of major importance, and therefore the most powerful codes that can be implemented in an ecient way should be used. With the technology of today it is possible to implement Viterbi decoders for constraint lengths up to at least 10. For example the North-American CDMA standard (IS-95) uses constraint length 9 codes [15, p. 114]). We therefore in this paper present new codes with longer constraint lengths, wider range of code rates and high resolution of code rates. The RCPC coding scheme is considered to be a strong candidate for both the TDMA- and CDMA-based modes in the personal communication system currently being studied within the European FRAMES project [16].

II. Rate-Compatible Convolutional Codes

C. Nested Convolutional Codes Nested convolutional codes [17, 18] are obtained by extending a code of rate 1=n to a rate 1=(n + 1) code by searching for the \best" additional generator polynomial G +1 (D). It is obvious that this type of code family is rate-compatible and the big advantage is the modular code design that reduces the complexity of the search for lowrate codes. By combining RCPC codes and nested convolutional codes, we get a set of rate-compatible codes with a wide range of code rates.

A. Introduction RCC codes are constructed such that lower code rates make use of the same code symbols as the higher code rate plus some extra redundancy symbols. This can easily be obtained by repeating symbols. However, repetition usually results in worse performance than nesting or puncturing [6]. Thus we present a exible and powerful family of RCC codes obtained by combining these two techniques such that puncturing is used for the higher code rates while nesting is used to achieve very-low rate, low-complexity D. Performance Analysis coding. The bit error rate performance of convolutional codes B. RCPC Coding may be found by extensive simulations or approximately Rate-compatible punctured convolutional (RCPC) codes by calculating error bounds. If the distance spectrum, i.e. are constructed by puncturing a convolutional code of rate the number of bit errors associated with a given distance, of R = 1=n and constraint length K , called the mother code. the code is known, it is rather straightforward to calculate This code is completely speci ed by the generator poly- a union upper bound on bit error probability. For rate nomials [5] G (D) = g0 + g1 D + : : : + g ?1D ?1 , where R = k=n convolutional codes this bound can be generalized to apply also to punctured convolutional codes, and is given g 2 f0; 1g, and j = 1; 2; : : : ; n. The puncturing is done according to a rate compatibility criterion, which requires by [12] that lower rate codes use the same coded bits as the higher 1 1X rate codes plus one or more additional bit(s). The bits to c P ; (1) P < p be punctured are described by an n  p puncturing matrix =f P consisting of zeros and ones. The output from the generator G (D) is compared to the appropriate element in the where c is the sum of bit errors for all di erent starting puncturing matrix P . At time instant t the output from points of error events of distance d, relative to the punceach generator G (D) is transmitted if P (j; t mod p) = 1, turing period. Since c is obtained by summing over all and punctured otherwise. Here P (a; b) denotes the ele- starting points, averaging by the puncturing period, p, is ment on row a and column b in the matrix P . The num- necessary in (1) to have a correct bound. The parameter ber of columns, or the puncturing period p, determines d is the length of the shortest error event (the free disthe number of code rates and the rate resolution that can tance of the code). Furthermore P is the probability that be obtained. Generally, from a mother code of rate 1=n, an error path of distance d is chosen instead of the all zewe obtain a family of (n ? 1)p di erent codes with the ros path. This pairwise error probability, P , depends on n

j

j

j

j

K

K

j

i

d

b

d

j

d

d

d

j

d

f

d

d

the channel. For coherent BPSK on an AWGN channel we c f +1 ; c f +2 ; : : :, in each of the distance spectra are comhave [8, p. 487] pared until one spectrum term is found lower than the corresponding terms of the other codes. We de ne codes ob! r tained this way as optimum distance spectrum (ODS) codes E P =Q (2) (see also [21]). Furthermore, we eliminate all catastrophic 2d N ; 0 encoders [5]. where E denotes the received energy per information bit, C. Channel Optimized RCPC Codes N0 =2 the double-sided power density of the noise p spectrum R performance of a RCPC code is not directly re ected process, and Q(x) = ( 2)?1 1 e? 2 2 dz . For BPSK byThe its distance spectrum, and hence, a more appropriate demodulation on an uncorrelated Rayleigh-fading channel sign criterion may to minimize the upper bound on the with perfect channel estimates and soft-decision decoding, bit error probabilitybegiven by (1). This approach has been P evaluates to [8, p. 781] taken in e.g. [17,22], and coding gains in the area of 0.1-0.4 dB were reported. However, optimum distance spectrum ?1 d ? 1 + k X codes perform well for both AWGN and fading channels P =q (1 ? q) ; (3) k [21], while channel optimized codes are designed for a spe=0 ci c channel and signal-to-noise ratio. Tests indicate that  p  the additional coding gain obtained by minimizing the bit 1 with q = 2 1 ?  =(1 +  ) , where  is the average error rate, compared to optimizing the distance spectrum, E =N0 . As we will see the bounds are rather tight, espe- is less than 0.1 dB and in a rather small E =N interval. 0 cially for the lower bit error rates. Hence, we do not pursue a channel optimized approach here. d

d

b

d

b

z =

x

d

d

d

d

k

k

b

b

b

b

b

III. Searching For Optimum RCPC Codes

A. Introduction to code search Clearly, puncturing of a low-rate convolutional code to obtain a speci c higher code rate is generally a suboptimum way of obtaining that code rate. The loss due to this suboptimality is however in general limited. Optimum puncturing patterns have been obtained by computer search, see e.g. [6,19,20]. Furthermore, speci c codes in an RCPC code family are suboptimum punctured codes since all puncturing patterns can not be allowed due to the rate compatibility criterion. The puncturings done at one rate are maintained for all higher rate codes, and small steps in the puncturing is advantageous only for a high resolution of code rates. For each new puncturing during the search, the number of remaining puncturing patterns is reduced. For the higher code rates we should therefore expect to have a larger loss than for the lower rates. If the higher rates are critical, the search could be started from the highest rate, adding ones in the puncturing matrix. The main problem with this is a tremendous initial search problem since we then have to nd the optimum p + 1 bits among np bits that should not be deleted, np being the number of elements in the matrix. The initial search problem could be alleviated by starting with an extension of the optimum high-rate puncturing similar to that of [6]. B. Optimum Distance Spectrum RCPC Codes Code searching is done by puncturing, in steps of one bit, the rate R = 1=n mother code, and evaluating which of the puncturing patterns gives the best encoder. The best puncturing pattern is the pattern giving: (1) the highest free distance, and (2) the lowest c value, among the possible patterns satisfying the rate compatibility criterion. If this is ful lled for more than one code the next terms, d

IV. Evaluation of New Codes

In the appendix we present RCPC codes with constraint lengths K = 7 ? 10 using mother code rate R = 1=4 ODS codes. Furthermore, these code sets are extended using nested codes from rate R = 1=5 to rate R = 1=10. Note that all presented nested codes are maximum free distance codes (i.e. ful lls the Heller bound [8, p. 492]). Using (1), (2) and (3) we can evaluate an upper bound on the bit error probability for the RCPC codes presented in this paper. In all results presented we use 12 terms of the spectrum. Fig. 1 shows simulation results and upper bounds on a Rayleighfading channel for rate 1=2 and rate 1=3 constraint length 9 codes. The RCPC codes are speci ed in Table VII and the ODS codes are taken from [21]. As we can see in Fig. 1 the upper bounds and the simulated results correspond closely for BER of 10?4 and lower. We will therefore use these bounds for evaluation, instead of performing time consuming simulations. In Fig. 2 we study the in uence of changing the puncturing period, p. The E =N0 required to obtain a BER of 10?6 is plotted versus the code rate. Results are shown for constraint length 9 RCPC codes with p = 2; 4; 8 and 16 for a Gaussian as well as for a Rayleigh-fading channel. A small value of p severely limits the degree of freedom in optimizing the puncturing pattern, and thus a performance loss results. Choosing a high value of p may also cause a loss in performance since the optimization procedure is to nd a local optimum at each step given the previous pattern (thus the search space is severely limited). Fig. 2 indicates that p = 8 is a good choice of the puncturing period. We may also choose to use mother codes of di erent rates. In Fig. 3 the E =N0 required to obtain a BER of 10?6 is plotted versus the code rate for RCPC codes with mother codes of rate 1=n with n = 2; 4; 6 and 8. Results are shown for Gaussian and Rayleigh-fading channels b

b

0

10

22

p=2 p=4 p=8 p = 16

20

−2

10

R = 1/2 −6

10

RCPC−code R = 1/2 RCPC−code R = 1/3 Bounds for RCPC−codes ODS−code R = 1/2 ODS−code R = 1/3 Bounds for ODS−codes

−8

10

16 14 12

0

−4

10

10

b

E / N [dB] at BER 1e−6

Bit Error Probability

18

8

Rayleigh channel

6 R = 1/3

Gaussian channel

4

−10

10

0

1

2

3

4 5 Eb / N0 [dB]

6

7

8

2 0.2

9

0.3

0.4

0.5 0.6 Code Rate, R

0.7

0.8

0.9

Fig. 1. Upper bounds and simulated results of the bit error prob- Fig. 2. Required Eb =N0 in dB to obtain the bit error probability 10?6 ability on a Rayleigh-fading channel for RCPC codes and ODS on Rayleigh-fading and Gaussian channels versus the code rate codes with rate R = 1=3 and 1=2. Constraint length K = 9. R. Results are shown for constraint length K = 9 and puncturing periods p = 2, 4, 8, and 16.

and the constraint length is 9. We see, as expected, that using a high-rate mother code provides slightly better performance for the high-rate punctured codes. The span of available code rates is however smaller for a small value of n. The performance of the codes obtained with n = 4 is almost as good as that of those with n = 2. Furthermore, we have observed that some of the nested codes resulting from mother codes with rate 1=2 are not maximum free distance codes. For rate 1=4 mother codes, however, all nested codes presented are maximum free distance codes. We have thus chosen to present RCC codes only for n = 4 (see the appendix). In Fig. 4 we evaluate the results for K = 7; 8; 9 and 10. All RCPC codes use mother codes of rate 1=4 and are given in Table V through Table VIII. For code rates lower than 1=4 the nested codes in Table I to Table IV are used. We also show in Fig. 4 results for ODS codes of rates 1=4, 1=3 and 1=2. The RCPC codes performs almost as well as the ODS codes for all code rates shown. V. Rate Matching for Multicode DS-CDMA

For DS-CDMA systems multiple data rates can eciently be achieved by a multicode scheme letting each user use multiple spreading codes and transmit data on these in parallel [4]. With xed spreading there will be a number of xed-rate subchannels available. If the system is to support any source rate there is a need for matching the source rate to a multiple of the subchannel rate. By using RCPC codes we have many di erent code rates for di erent error protection, and a exible means for matching the source data rate to the rate of the parallel sub-channels [23]. However, when lower rate coding is applied, more subchannels are needed to transmit the channel symbols. This results in more interference to the other users of the

system. It is therefore of interest to investigate the performance of the multicode DS-CDMA system as the code rate is decreased. In order to analyze the performance of our system, we approximate the interference from other users as Gaussian, and then apply the union upper bound on the bit error probability for BPSK on a Rayleigh-fading channel (see (1) and (3)). The ecient signal-to-noise ratio to be used in the bit error rate calculations is given by [4]

b

=



N0 Eb

?1 ; + 2C 3(N? 1) p

(4)

where  is the number of users, N is the spreading and C is the number of parallel channels that are used. Furthermore C = R =(RRsub), where R is the source data rate, Rsub is the subchannel data rate, and the code rate R is chosen among available rates such that an integer number of subchannels is used. The eciency of the system is given by  = R =(Rsub N ), that is, the total data rate of all users divided by the chip rate. The eciency obtained for bit error rate requirements of 10?3 and 10?6 is shown in Fig. 5 for N = 128 and E =N0 = 10 dB. As can be seen the eciency is increased with decreasing code rate. Thus, the extra coding gain obtained by reducing the code rate is larger than the reduction in the ecient signal-to-noise ratio. p

p

s

s

s

b

VI. Discussion and Conclusions

New families of RCPC codes with a high resolution in code rates have been found for constraint lengths ranging from 7 to 10 originating from mother codes of rate 1=4 using a puncturing period of 8. Performance evaluations show only a small loss compared to the existing optimum convolutional codes of the same rate. Furthermore, maxi-

20

20 n=2 n=4 n=6 n=8

16

14 12 10

Rayleigh channel

14 12 10

Rayleigh channel

0

8

b

b

0

E / N [dB] at BER 1e−6

16

Rate Compatible, K = 7 Rate Compatible, K = 8 Rate Compatible, K = 9 Rate Compatible, K = 10 ODS K = 7 ODS K = 8 ODS K = 9 ODS K = 10

18

E / N [dB] at BER 1e−6

18

6

6 Gaussian channel

4 2 0.1

8

0.2

0.3

0.4

0.5 0.6 Code Rate, R

0.7

0.8

Gaussian channel

4 2 0.1

0.9

0.2

0.3

0.4

0.5 0.6 Code Rate, R

0.7

0.8

0.9

Fig. 3. Required Eb =N0 in dB to obtain the bit error probability 10?6 Fig. 4. Required Eb =N0 in dB to obtain the bit error probability on Rayleigh-fading and Gaussian channels versus the code rate 10?6 on Rayleigh-fading and Gaussian channels versus the code R. Results are shown for codes obtained by puncturing R = 1=n rate R. Results are shown for constraint lengths K equal to 7, 8, mother codes with n = 2, 4, 6, and 8. 9, and 10.

mum free distance codes nested from mother codes of rate 1=4 down to 1=10 are presented. It has been shown that the choice of mother code rate does not a ect the performance much. Starting with a low code rate searching an RCPC family yields a large span of possible code rates. This range of code rates makes a communication system very exible and may be used in for example rate matching where di erent source data rates are matched onto the channel rates given by a multichannel communication system. In order to obtain a ner grid of available code rates, the puncturing period may be increased. The codes presented in this paper are evaluated for the application of rate matching in a multicode DS-CDMA system. The results show that the eciency of the system is increasing with decreasing code rate. Appendix: Code Search Results

The new RCPC codes are given in the Tables V to VIII. The puncturing is given relatively the previous code rate and the additional puncturing position (the column \Pos.") is given by the row and column number, (row, column). Also given in the tables are the free distance and 10 terms of the spectrum (a and c , d = d ; d + 1; : : : ; d + 9). In calculating union bounds on the probability of bit error more than 10 terms may be needed to achieve a good estimate. These terms can be found in [24]. In that report we also present RCC codes with other mother code rates, periods and constraint lengths. The mother codes are given in octal form converting the binary words (g0 ; g1 ; : : : ; g ?1 ) into the corresponding octal words. For the nested codes in Tables I to IV we only give the additional generator polynomial (in the column \Add. pol.") and the spectrum is given with 15 terms. Observe that no puncturing is perd

d

f

f

f

j

j

j

K

formed, and hence, p = 1 must be used in (1). Acknowledgments

This work has been partly nanced by the project ACTS AC090 FRAMES which is founded by the European community. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

References P. Noll, \Wideband speech and audio coding," vol. 31, no. 11, pp. 34{44, Nov. 1993. R. V. Cox and P. Kroon, \Low bit-rate speech coders for multimedia communication," vol. 34, no. 12, pp. 34{41, Dec. 1996. K. Rijkse, \H.263: Video coding for low-bit-rate communication," vol. 34, no. 12, pp. 42{45, Dec. 1996. T. Ottosson and A. Svensson, \Multi-rate schemes in DS/CDMA systems," Chicago, IL, USA, 1995, pp. 1006{1010. S. Wicker, Error control systems for digital communication and storage, Prentice-Hall, Englewood Cli s, NJ, 1995. S. Kallel and D. Haccoun, \Generalized type II hybrid ARQ scheme using punctured convolutional coding," vol. 38, no. 11, pp. 1938{1946, Nov. 1990. S. Kallel, \Analysis of a type II hybrid ARQ scheme with code combining," vol. 38, no. 8, pp. 1133{1137, Aug. 1990. J. G. Proakis, Digital communications, McGraw-Hill, New York, 3rd edition, 1995. C. Berrou, A. Glavieux, and P. Thitimajshima, \Near Shannon limit error control-correcting coding and decoding: Turbo-codes (1)," Geneva, Switzerland, 1993, pp. 1064{1070. P. Orten and A. Svensson, \Sequential decoding in future mobile communications," Helsinki, Finland, 1997. K. Muhammed and K. Ben, \On the performance of sequential and Viterbi decoders for high-rate punctured convolutional codes," vol. 43, no. 11, pp. 2687{2695, Nov. 1995. J. Hagenauer, \Rate-compatible punctured convolutional codes (RCPC codes) and their applications," vol. 36, no. 4, pp. 389{ 400, Apr. 1988. J. Hagenauer, N. Seshadri, and C.-E. Sundberg, \The performance of rate-compatible punctured convolutional codes for digital mobile radio," vol. 38, no. 7, pp. 966{980, July 1990. L. H. C. Lee, \New rate-compatible punctured convolutional codes for Viterbi decoding," vol. 42, no. 12, pp. 3073{3079, Dec. 1994.

TABLE I

Nested codes, K = 7 using R = 1=4 code (117, 127, 155, 171). K=7 K=8 K=9 K = 10

1

Efficiency

0.8

0.6

0.4

Rate 1=5 1=6 1=7 1=8 1=9 1=10

Add. pol. 135 173 135 145 137 155

df

25 30 36 40 46 51

0.2

0 0.1

(ad ; d = df ; df + 1; : : : ; df + 14) [cd ; d = df ; df + 1; : : : ; df + 14] (1,2,3,0,2,4,4,5,4,9,10,13,9,20,44) [1,4,9,0,6,16,20,22,16,3656,68,47,118,256] (1,2,1,2,1,1,2,3,1,3,10,3,5,12,8) [2,4,2,6,4,3,8,9,4,15,42,19,20,60,40] (4,0,2,0,1,0,4,0,8,0,5,0,9,0,18) [8,0,6,0,4,0,14,0,31,0,25,0,49,0,77] (1,0,3,0,2,0,0,0,5,0,4,0,7,0,5) [1,0,7,0,6,0,0,0,19,0,17,0,28,0,26] (3,0,2,0,0,0,1,0,3,0,4,0,8,0,3) [5,0,6,0,0,0,3,0,9,0,19,0,30,0,12] (2,2,0,0,0,0,2,2,1,0,0,3,2,1,3) [4,4,0,0,0,0,6,6,3,0,0,14,10,4,9]

TABLE II

Nested codes, K = 8 using R = 1=4 code (231, 273, 327, 375). 0.2

0.3

0.4 Code rate, R

0.5

0.6

Fig. 5. Achievable bandwidth eciency for a multicode DS-CDMA system using rate-compatible codes. The target BER is 10?3 (solid line) and 10?6 (dashed line) at Eb =N0 = 10 dB. [15] V. K. Garg, K. Smolik, and J. E. Wilkes, Applications of CDMA in wireless/personal communications, Prentice Hall, Upper Saddle River, NJ, 1997. [16] T. Ojanpera, J. Skold, J. Castro, L. Girard, and A. Klein, \Comparison of multiple access schemes for UMTS," Phoenix, AZ, USA, 1997, pp. 490{494. [17] P. J. Lee, \New short constraint length rate 1/N convolutional codes which minimize the required SNR for given desired bit error rates," vol. COM-33, no. 2, pp. 171{177, Feb. 1985. [18] S. Lefrancois and D. Haccoun, \Search procedures for very low rate quasi-optimal convolutional codes," Trondheim, Norway, 1994, p. 278. [19] G. Begin and D. Haccoun, \High-rate punctured convolutional codes: structure properties and construction technique," vol. 37, no. 12, pp. 1381{1385, Nov. 1989. [20] Y. Yasuda, K. Kashiki, and Y. Hirata, \High-rate punctured convolutional codes for soft decision Viterbi decoding," vol. COM-32, no. 3, pp. 315{319, Mar. 1984. [21] P. Frenger, P. Orten, and T. Ottosson, \Convolutional codes with optimum distance spectrum," Submitted to IEEE Communications Letters, July 1997. [22] P. J. Lee, \Further results on rate 1/N convolutional code constructions with minimum required SNR criterion," vol. COM-34, no. 4, pp. 395{399, Apr. 1986. [23] P. Frenger, P. Orten, T. Ottosson, and A. Svensson, \Rate matching in multichannel systems using RCPC-codes," Phoenix, AZ, USA, 1997, pp. 354{357. [24] P. Frenger, P. Orten, T. Ottosson, and A. Svensson, \Rate compatible convolutional codes for multichannel systems," Tech. Rep. 19, Department of Information Theory, Chalmers University of Technology, Sweden, Sept. 1997.

Rate 1=5 1=6 1=7 1=8 1=9 1=10

Add. pol. 247 275 327 345 353 345

df

28 34 40 45 51 56

(ad ; d = df ; df + 1; : : : ; df + 14) [cd ; d = df ; df + 1; : : : ; df + 14] (2,0,5,0,3,0,11,0,17,0,24,0,41,0) [3,0,15,0,10,0,47,0,90,0,120,0,230,0] (3,0,4,0,1,0,7,0,10,0,18,0,20,0) [5,0,13,0,2,0,29,0,47,0,77,0,117,0] (4,0,2,0,3,0,5,0,7,0,8,0,21,0) [8,0,6,0,11,0,19,0,36,0,36,0,112,0] (1,2,3,1,0,0,0,2,0,6,4,0,2,5) [1,4,9,4,0,0,0,8,0,26,18,0,8,20] (2,2,2,0,0,2,0,1,0,3,0,2,3,2) [4,4,6,0,0,8,0,4,0,14,0,8,11,10] (1,0,5,0,1,0,0,0,3,0,1,0,2,0) [1,0,13,0,4,0,0,0,12,0,6,0,10,0]

TABLE III

Nested codes, K = 9 using R = 1=4 code (473, 513, 671, 765).

Rate 1=5 1=6 1=7 1=8 1=9 1=10

Add. pol. 657 745 753 517 473 657

df

31 37 44 50 56 62

(ad ; d = df ; df + 1; : : : ; df + 14) [cd ; d = df ; df + 1; : : : ; df + 14] (2,2,2,2,4,3,3,13,9,13,19,15,34,43) [4,4,6,6,22,12,9,68,41,66,109,90,202,258] (1,2,3,1,1,3,2,4,3,6,8,10,12,13) [1,4,9,4,5,10,6,18,11,30,38,52,66,70] (4,0,4,0,1,0,5,0,6,0,11,0,11,0) [8,0,13,0,5,0,20,0,26,0,43,0,62,0] (3,0,4,0,2,0,4,0,2,0,4,0,8,0) [5 0,13,0,9,0,16,0,6,0,17,0,32,0] (2,0,4,0,1,0,1,0,8,0,2,0,5,0) [3,0,11,0,4,0,5,0,30,0,8,0,22,0] (1,2,1,2,1,0,1,1,1,2,3,1,4,0) [2,4,2,6,4,0,4,5,6,6,10,3,16,0]

TABLE IV

Nested codes, K = 10 using R = 1=4 code (1173, 1325, 1467, 1751).

Rate 1=5 1=6 1=7 1=8 1=9 1=10

Add. pol. 1371 1563 1275 1731 1247 1173

df

34 40 48 54 61 68

(ad ; d = df ; df + 1; : : : ; df + 14) [cd ; d = df ; df + 1; : : : ; df + 14] (4,0,4,0,8,0,15,0,19,0,43,0,74,0) [7,0,13,0,32,0,68,0,95,0,240,0,416,0] (1,2,2,2,1,2,2,3,3,5,13,13,13,15) [2,4,6,6,2,6,6,13,14,19,58,69,68,79] (4,0,4,0,1,0,4,0,7,0,11,0,17,0) [8,0,12,0,3,0,14,0,28,0,49,0,85,0] (1,2,2,2,1,1,0,2,2,5,2,1,8,2) [2,4,4,6,4,3,0,8,6,17,8,5,38,12] (1,2,3,1,0,1,1,0,2,3,4,1,2,5) [1,4,9,4,0,2,3,0,8,10,16,6,6,22] (2,0,4,0,2,0,1,0,2,0,5,0,4,0) [3,0,11,0,6,0,3,0,9,0,15,0,20,0]

TABLE V

RCPC codes, K = 7, mother code (117, 127, 155, 171).

Pos.

R

df

(0,7) (3,1) (1,2) (3,3) (0,5) (1,0) (0,1) (1,6) (1,4) (2,7) (0,3) (3,5) (3,4) (2,0) (0,2) (2,5)

8=32 8=31 8=30 8=29 8=28 8=27 8=26 8=25 8=24 8=23 8=22 8=21 8=20 8=19 8=18 8=17 8=16

20 19 18 18 17 16 15 15 14 13 13 12 11 11 10 9 8

(2,1)

8=15

8

(2,6)

8=14

7

(3,0)

8=13

6

(2,4)

8=12

6

(3,2)

8=11

4

(1,7)

8=10

4

(0,6)

8=9

3

(ad ; d = df ; df + 1; : : : ; df + 9) [cd ; d = df ; df + 1; : : : ; df + 9] (16,0,48,0,56,0,120,0,200,0) [24,0,136,0,256,0,528,0,1040,0] (9,12,21,31,26,42,64,76,105,167) [13,25,59,110,116,187,286,369,550,970] (3,17,20,22,34,40,50,90,114,168) [3,35,53,78,140,182,225,438,617,976] (22,11,25,28,42,59,63,142,186,321) [47,31,80,120,171,287,286,792,1078,2012] (10,22,24,24,39,61,70,139,211,308) [19,56,83,91,166,290,375,748,1236,1934] (5,20,22,25,43,61,78,130,226,321) [7,56,70,89,187,286,418,719,1344,2055] (3,13,24,26,42,58,80,137,224,350) [4,34,70,89,182,270,453,765,1302,2243] (10,23,31,42,67,77,128,251,396,655) [19,66,112,199,356,420,723,1504,2613,4561] (5,18,28,47,64,74,136,237,396,753) [8,48,91,200,338,409,789,1397,2559,5346] (2,15,26,42,53,83,136,245,454,777) [2,34,90,171,256,441,784,1506,2939,5599] (13,19,41,58,77,153,259,462,879,1654) [25,50,179,256,422,886,1593,3016,6272,12733] (5,20,44,59,74,153,292,481,1041,1938) [8,52,192,292,400,885,1829,3302,7829,15383] (1,17,38,61,79,149,326,552,1152,2299) [2,36,142,329,439,873,2065,3897,8739,18970] (15,28,47,85,164,325,621,1295,2745,5557) [33,97,227,457,957,2080,4434,9963,22857,50282] (7,24,43,90,165,322,698,1527,3222,6985) [13,76,180,465,989,2064,5006,12046,27394,65158] (4,18,45,96,172,350,837,1916,4388,9765) [6,65,191,529,1025,2356,6448,15875,39873,97179] (3,12,43,92,180,431,1015,2530,6112,14357) [4,40,196,493,1141,3044,8044,22226,59149, 152186] (16,37,98,225,541,1531,3860,9964,25769,67144) [51,216,469,1620,4233,13623,37711,107431, 303256,855332] (8,34,85,226,664,1800,5248,15309,43261, 123109) [33,160,486,1584,5529,16871,55263,178606, 553158,1712671] (2,32,93,247,794,2551,8291,26808,86097, 276391) [5,147,541,1773,6937,25264,92229,333133, 1184403,4163425] (26,82,287,1097,4079,15286,57851,218486, 821520,3089271) [128,512,2272,10717,46140,196244,834321, 3493131,14465684,59272939] (1,18,79,362,1706,7857,37242,173936,811842, 3800788) [3,122,567,3394,19950,106575,582126,3076908, 16003439,82686326] (9,55,363,2505,16402,106468,701263,4601195, 30186318,198108997) [48,460,3884,34919,279497,2132709,16200442, 120276696,880843487,6383725051] (5,64,831,10025,121580,1470967,17811679, 215760251,2613240257,31651034554) [22,688,13762,224886,3450959,50508269, 717401868,9971279387,136292019062, 1838742372048]

TABLE VI

RCPC codes, K = 8, mother code (231, 273, 327, 375).

Pos.

Rate

df

(3,7) (1,2) (3,3) (1,6) (2,7) (2,3) (0,5) (0,1) (3,4) (3,0) (1,5) (3,6) (0,2) (1,7)

8=32 8=31 8=30 8=29 8=28 8=27 8=26 8=25 8=24 8=23 8=22 8=21 8=20 8=19 8=18

22 20 20 20 19 18 17 16 15 14 14 13 12 11 11

(0,0)

8=17

10

(1,1)

8=16

9

(3,5)

8=15

8

(0,3)

8=14

7

(2,2)

8=13

7

(2,4)

8=12

6

(0,6)

8=11

5

(2,1)

8=10

4

(1,4)

8=9

3

(ad ; d = df ; df + 1; : : : ; df + 9) [cd ; d = df ; df + 1; : : : ; df + 9] (8,16,16,16,40,64,80,112,112,144) [16,32,32,48,144,256,400,624,656,736] (1,3,20,9,27,29,62,103,87,144) [2,7,38,21,74,109,249,534,459,843] (4,13,17,18,37,68,85,102,137,196) [8,24,38,54,133,285,420,564,759,1105] (22,0,41,0,124,0,229,0,416,0) [44,0,117,0,534,0,1250,0,2396,0] (14,12,14,48,58,82,128,170,212,330) [24,30,40,164,250,398,696,1004,1226,2066] (11,12,21,44,52,97,125,169,264,435) [18,27,64,166,223,480,704,939,1601,2762] (6,16,20,46,58,82,140,192,316,504) [8,34,62,180,264,400,772,1116,1906,3416] (3,16,20,43,54,84,138,214,332,523) [4,37,49,187,227,423,737,1266,2107,3507] (2,12,18,40,60,80,136,214,344,658) [2,28,44,156,278,376,744,1286,2148,4632] (2,7,19,38,54,83,152,220,389,730) [3,16,52,133,246,406,825,1339,2503,5101] (6,16,38,48,94,130,268,416,814,1360) [12,36,136,210,464,696,1632,2670,5850,10150] (5,13,37,59,78,154,280,496,956,1775) [8,39,135,250,380,856,1695,3358,6974,13969] (3,11,34,61,81,156,327,617,1147,2293) [4,29,117,266,415,888,2044,4459,8743,18906] (2,10,27,62,86,168,343,720,1372,2907) [2,24,91,275,451,1000,2245,5266,10864,24758] (12,31,54,105,192,412,946,1933,4090,8843) [31,114,255,590,1199,2882,7483,16349,37247, 86814] (8,22,50,114,194,435,1096,2390,5258,12122) [19,72,221,613,1254,3133,8547,20698,49750, 122974] (4,22,42,109,247,537,1347,3232,7687,18791) [12,71,180,575,1647,4081,11231,29823,76944, 203983] (2,18,53,111,264,745,1819,4780,12939,33476) [4,59,250,634,1895,6014,16084,47201,139929, 396198] (1,15,50,117,335,932,2658,7767,22430,64632) [4,54,242,744,2544,8059,25709,83537,267491, 844367] (12,40,144,430,1342,4452,14442,47671,156838, 512411) [40,200,958,3585,13295,49514,180061,659767, 2387663,8525597] (8,32,139,525,1910,7238,27651,106082,403255, 1536319) [33,161,937,4608,19688,86960,376425,1610655, 6782751,28316988] (5,28,170,750,3488,16699,78896,374114,1778661, 8442945) [20,156,1327,7348,42371,238114,1286913, 6877412,36434308,190641896] (1,33,211,1420,9183,60132,398831,2637687, 17451221,115514689) [4,216,2075,19053,149116,1156998,8880406, 66642637,493512001,3615034199] (2,45,613,7094,87793,1076253,13173852, 161499176,1978878643,24246490273) [8,696,12085,179739,2758512,40200537, 570588787,7958418938,109313300269, 1483942265645]

TABLE VII

RCPC codes, K = 9, mother code (473, 513, 671, 765).

Pos.

Rate

df

(1,7) (1,3) (0,4) (1,0) (0,6) (0,2) (1,5) (0,1) (3,7) (3,0) (2,4) (2,2) (3,3) (2,1)

8=32 8=31 8=30 8=29 8=28 8=27 8=26 8=25 8=24 8=23 8=22 8=21 8=20 8=19 8=18

24 22 22 21 20 20 19 18 17 16 15 15 14 13 12

(2,5)

8=17

11

(2,7)

8=16

10

(3,6)

8=15

9

(0,5)

8=14

8

(3,2)

8=13

8

(3,1)

8=12

7

(3,4)

8=11

6

(0,3)

8=10

5

(2,0)

8=9

4

(ad ; d = df ; df + 1; : : : ; df + 9) [cd ; d = df ; df + 1; : : : ; df + 9] (8,0,48,0,64,0,184,0,296,0) [8,0,120,0,264,0,888,0,1680,0] (1,3,12,25,26,28,63,102,120,161) [1,3,24,63,79,117,288,482,643,927] (2,14,26,18,36,66,98,136,184,238) [2,24,72,54,142,296,484,722,1072,1346] (2,13,20,25,43,58,106,138,186,273) [2,26,51,80,168,283,529,722,1052,1648] (1,9,26,30,28,63,114,149,192,318) [1,16,66,102,120,279,583,769,1112,1946] (13,15,32,41,55,107,155,234,347,542) [24,39,88,198,243,545,797,1395,2059,3599] (8,20,28,44,63,104,164,249,385,607) [15,51,86,183,301,542,901,1473,2398,4039] (3,23,29,31,71,112,165,286,433,674) [5,57,85,114,344,574,885,1693,2741,4495] (2,17,33,30,76,110,157,316,465,834) [4,40,93,115,360,547,852,1912,2954,5690] (1,15,27,53,67,120,204,333,595,990) [1,34,78,223,301,627,1159,2080,3973,7169] (1,10,35,46,76,146,220,403,693,1237) [1,22,118,191,347,785,1262,2612,4838,9137] (10,30,45,91,148,250,475,814,1577,2993) [24,90,183,448,811,1519,3086,5784,12246,24772] (9,27,47,80,168,269,551,1002,2027,3914) [19,87,187,386,947,1614,3779,7294,16183,33377] (7,25,51,85,163,325,658,1322,2697,5310) [16,82,203,431,899,2050,4589,9989,22387,47490] (5,24,51,93,190,379,826,1780,3649,7791) [12,68,236,473,1078,2491,5986,14082,31843, 73453] (4,23,45,99,193,483,1055,2348,5087,11674) [7,80,203,519,1137,3329,7970,19762,46844, 116727] (1,24,55,117,244,608,1476,3500,8500,20484) [2,84,259,667,1581,4519,11960,31957,85063, 222016] (1,18,48,127,294,767,2008,5143,13543,35262) [2,65,232,701,1989,5905,17700,49728,144785, 409875] (2,11,64,142,434,1124,3471,9310,28645,79046) [3,37,328,853,3241,9608,33861,100715,341977, 1027221] (16,62,189,599,1930,6223,20216,66525,215877, 703732) [64,336,1292,4884,18677,68219,248532,904240, 3214036,11413823] (13,61,257,936,3336,13034,50215,191750,733640, 2807154) [45,374,1907,8634,36562,164392,712095,3029920, 12777898,53447184] (12,79,375,1760,8163,39311,188642,899159, 4293421,20505608) [63,593,3504,20091,113079,628670,3409099, 18161647,95892869,501736812] (13,97,691,4544,30013,200845,1339738,8941398, 59644975,397967014) [70,904,8493,69701,554339,4328175,32989738, 247784867,1836537355,13480325914] (27,305,3998,48216,594522,7332689,90321934, 1112732554,13708983360,168890375732) [331,5049,89888,1363286,20267735,292032883, 4119804239,57180625021,783652328404, 10629800394340]

TABLE VIII

RCPC codes, K = 10, mother code (1173, 1325, 1467, 1751).

Pos.

Rate

df

(0,7) (0,3) (0,5) (0,1) (0,6) (0,2) (0,4) (0,0) (1,7) (1,3) (2,5) (2,1) (3,6) (3,2)

8=32 8=31 8=30 8=29 8=28 8=27 8=26 8=25 8=24 8=23 8=22 8=21 8=20 8=19 8=18

27 25 24 23 23 21 21 20 20 18 17 16 15 14 13

(3,4)

8=17

12

(3,7)

8=16

11

(3,3)

8=15

10

(2,0)

8=14

9

(1,2)

8=13

8

(3,5)

8=12

7

(1,1)

8=11

6

(3,0)

8=10

5

(2,4)

8=9

4

(ad ; d = df ; df + 1; : : : ; df + 9) [cd ; d = df ; df + 1; : : : ; df + 9] (24,32,0,40,96,96,80,136,208,368) [56,80,0,224,432,464,432,704,1184,2320] (3,21,22,18,46,80,100,99,160,265) [7,51,54,68,229,398,459,535,854,1590] (2,22,18,26,52,74,96,120,174,298) [2,62,36,90,264,384,454,620,942,1788] (2,16,26,36,50,69,105,131,220,311) [4,42,67,143,258,329,535,671,1280,1950] (12,36,40,52,60,116,172,180,408,588) [28,100,164,280,292,580,860,1176,2568,3944] (1,13,26,41,56,82,124,164,254,428) [3,31,76,158,279,422,598,918,1589,2769] (14,22,38,56,100,138,160,316,478,810) [36,62,146,258,508,712,906,1944,3162,5642] (10,23,35,73,106,136,209,328,582,903) [26,59,140,347,523,705,1226,2094,3883,6504] (40,0,152,0,304,0,768,0,2192,0) [104,0,704,0,1648,0,4952,0,15984,0] (5,23,50,77,116,170,282,495,813,1471) [15,70,191,369,598,957,1778,3316,5805,11400] (2,26,56,86,114,194,372,554,1134,1938) [6,86,214,424,622,1146,2366,3908,8564,15660] (5,23,58,91,118,249,425,764,1445,2780) [12,88,227,447,665,1490,2777,5599,11473,23267] (6,22,52,104,150,262,550,976,1962,3830) [12,82,222,504,884,1572,3782,7456,15956,33476] (7,22,55,110,167,347,657,1354,2722,5756) [18,95,215,622,921,2315,4651,10948,23454,53008] (4,28,52,106,234,412,910,1826,3998,8880) [8,110,244,588,1420,2908,6960,15464,37292, 87324] (8,20,61,129,268,572,1217,2814,6434,14641) [23,93,293,802,1738,4268,10122,26115,63541, 155657] (7,21,75,156,318,755,1867,4610,11056,26654) [24,92,415,949,2189,6134,16766,45081,117909, 306069] (4,26,80,178,431,1109,2997,7734,20453,53235) [17,99,469,1121,3199,9415,28576,81167,233926, 657319] (4,29,85,236,631,1765,5248,15027,43641,125349) [11,154,524,1716,5312,17093,56775,178782, 566182,1764351] (2,41,117,358,1122,3631,12054,39239,128339, 419084) [3,279,815,3128,11502,41862,154452,554464, 1984577,7014698] (3,26,137,483,1788,6630,25628,99471,381259, 1461357) [16,156,1021,4541,19867,84670,368231,1586324, 6697305,28029205] (3,40,176,870,4093,19388,93764,451294,2166119, 10403809) [29,298,1592,9780,55660,306157,1674910, 9014837,47880692,252069403] (4,62,327,2224,15357,102800,687852,4594776, 30776137,206116491) [29,562,4008,34266,282767,2208921,16890546, 126907823,943845110,6951048262] (12,149,1869,23654,291568,3614879,44854680, 556346138,6900800645,85596739857) [134,2789,44543,700526,10414609,150484071, 2133387366,29765873877,410180559539, 5596118252735]

Suggest Documents