Multi-rate Convolutional Codes

0 downloads 0 Views 2MB Size Report
synchronization, EMC and maybe also biological impacts. ...... (3, 6, 14, 14, 27, 24, 51, 91, 178, 270, 470, 812, 1465, 2374, 4203, 6798, 11859,. 19926, 34150 ...
Multi-rate Convolutional Codes

Pal Frenger, Pal Orten, Tony Ottosson, and Arne Svensson

Communication Systems Group Department of Signals and Systems Chalmers University of Technology SE-412 96 Goteborg, Sweden

Technical Report No. 21

ISSN 02083-1260 Goteborg, April 1998

This report is an extended version of - and replaces, Technical Report No. 19 from the former Department of Information Theory, Chalmers University of Technology.

c 1998 P. Frenger, P. Orten, T. Ottosson and A. Svensson.

Abstract The requirement for increased exibility in order to support the many di erent services in wireless communication has motivated the search for new, improved convolutional codes with a large number of di erent code rates. A new design criterion is introduced which results in codes with better performance on both AWGN channels and Rayleigh fading channels. These codes, called Optimum Distance Spectrum (ODS) convolutional codes, are tabulated for code rate 1/2, 1/3 and 1/4, for di erent constraint lengths. The ODS codes are used as a basis for deriving a large number of codes with di erent rates. Optimum puncturing patterns and spectra are shown for puncturing periods between 2 and 8, parent code rates 1/2, 1/3, and 1/4 and constraint lengths between 3 and 15. A large set of rate-compatible punctured codes are also presented, as well as a detailed evaluation on RCPC puncturing pattern search. Finally the ODS codes are used as starting codes for searching additional generator polynomials (nested code search) to produce very low-rate codes. Maximum free distance codes with rates ranging from 1/4 to 1/512 and constraint lengths between 3 and 11 are tabulated.

3

Contents Abstract Contents List of Tables List of Figures Foreword 1 Introduction 2 Optimum Distance Spectrum Convolutional Codes 2.1 2.2 2.3 2.4

Introduction . . . . . . . . . . . . . . . A Performance-based Design Criterion Optimum Distance Spectrum Codes . Performance Evaluation . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3 Optimum Puncturing of ODS Codes for Multiple Rates 3.1 3.2 3.3 3.4 3.5

Introduction . . . . . . . . . . . . . . . . . The Puncturing Process . . . . . . . . . . Search for Optimum Puncturing Patterns Performance Analysis . . . . . . . . . . . Overview of Searched Codes . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . RCPC Coding . . . . . . . . . . . . . . . . . . . . . . . . Searching Optimum Distance Spectrum RCPC Codes . Channel Optimized RCPC Codes . . . . . . . . . . . . . Evaluation of New Codes . . . . . . . . . . . . . . . . . High-rate and Low-rate Optimized Encoders . . . . . . . Comparison with ODS- and Optimum Punctured Codes Overview of Searched Codes . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

5 Very Low-Rate Nested Convolutional Codes 5.1 5.2 5.3 5.4 5.5 5.6

. . . .

. . . . .

4 Rate-Compatible Punctured Convolutional Codes 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8

. . . .

Introduction . . . . . . . . . . . . . . . . . The Concept of Nested Codes . . . . . . . Encoder and Decoder Complexity . . . . . Orthogonal Codes . . . . . . . . . . . . . Comparing Nested and Orthogonal Codes Overview of Tabulated Nested Codes . . . 4

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

3 4 5 20 22 23 25 25 26 27 28

30 30 30 31 31 32

33 33 33 34 36 36 37 40 41

43 43 43 44 45 46 46

CONTENTS

6 Summary Bibliography Appendix A ODS Codes B Optimum Puncturing Patterns C Low Rate Optimized RCPC Codes D High Rate Optimized RCPC Code E Nested Codes

5

48 48 52 53 57 160 266 369

List of Tables 3.1 Overview of Optimum Puncturing Patterns Codes. . . . . . . . . . . . . . . .

32

4.1 Overview of Low Rate Optimized (LRO) RCPC codes . . . . . . . . . . . . . 4.2 Overview of High Rate Optimized (HRO) RCPC codes . . . . . . . . . . . . .

41 42

5.1 Overview of very low rate nested codes. . . . . . . . . . . . . . . . . . . . . .

47

A.1 Rate 1/2 optimum distance spectrum codes. . . . . . . . . . . . . . . . . . . . A.2 Rate 1/3 optimum distance spectrum codes. . . . . . . . . . . . . . . . . . . . A.3 Rate 1/4 optimum distance spectrum codes. . . . . . . . . . . . . . . . . . . .

54 55 56

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

OPT-PC, n = 2, K = 3, p = 2, (5, 7). . . . OPT-PC, n = 2, K = 3, p = 3, (5, 7). . . . OPT-PC, n = 2, K = 3, p = 4, (5, 7). . . . OPT-PC, n = 2, K = 3, p = 5, (5, 7). . . . OPT-PC, n = 2, K = 3, p = 6, (5, 7). . . . OPT-PC, n = 2, K = 3, p = 7, (5, 7). . . . OPT-PC, n = 2, K = 3, p = 8, (5, 7). . . . OPT-PC, n = 2, K = 4, p = 2, (15, 17). . OPT-PC, n = 2, K = 4, p = 3, (15, 17). . OPT-PC, n = 2, K = 4, p = 4, (15, 17). . OPT-PC, n = 2, K = 4, p = 5, (15, 17). . OPT-PC, n = 2, K = 4, p = 6, (15, 17). . OPT-PC, n = 2, K = 4, p = 7, (15, 17). . OPT-PC, n = 2, K = 4, p = 8, (15, 17). . OPT-PC, n = 2, K = 5, p = 2, (23, 35). . OPT-PC, n = 2, K = 5, p = 3, (23, 35). . OPT-PC, n = 2, K = 5, p = 4, (23, 35). . OPT-PC, n = 2, K = 5, p = 5, (23, 35). . OPT-PC, n = 2, K = 5, p = 6, (23, 35). . OPT-PC, n = 2, K = 5, p = 7, (23, 35). . OPT-PC, n = 2, K = 5, p = 8, (23, 35). . OPT-PC, n = 2, K = 6, p = 2, (53, 75). . OPT-PC, n = 2, K = 6, p = 3, (53, 75). . OPT-PC, n = 2, K = 6, p = 4, (53, 75). . OPT-PC, n = 2, K = 6, p = 5, (53, 75). . OPT-PC, n = 2, K = 6, p = 6, (53, 75). . OPT-PC, n = 2, K = 6, p = 7, (53, 75). . OPT-PC, n = 2, K = 6, p = 8, (53, 75). . OPT-PC, n = 2, K = 7, p = 2, (133, 171). OPT-PC, n = 2, K = 7, p = 3, (133, 171). OPT-PC, n = 2, K = 7, p = 4, (133, 171). 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57 57 57 58 58 58 59 59 59 59 60 60 60 61 61 61 61 62 62 62 63 63 63 63 64 64 64 65 65 65 65

7

LIST OF TABLES

B.32 B.33 B.34 B.35 B.36 B.37 B.38 B.39 B.40 B.41 B.42 B.43 B.44 B.45 B.46 B.47 B.48 B.49 B.50 B.51 B.52 B.53 B.54 B.55 B.56 B.57 B.58 B.59 B.60 B.61 B.62 B.63 B.64 B.65 B.66 B.67 B.68 B.69 B.70 B.71 B.72 B.73 B.74 B.75 B.76 B.77 B.78 B.79 B.80 B.81 B.82

OPT-PC, n = 2, K = 7, p = 5, (133, 171). . . . OPT-PC, n = 2, K = 7, p = 6, (133, 171). . . . OPT-PC, n = 2, K = 7, p = 7, (133, 171). . . . OPT-PC, n = 2, K = 7, p = 8, (133, 171). . . . OPT-PC, n = 2, K = 8, p = 2, (247, 371). . . . OPT-PC, n = 2, K = 8, p = 3, (247, 371). . . . OPT-PC, n = 2, K = 8, p = 4, (247, 371). . . . OPT-PC, n = 2, K = 8, p = 5, (247, 371). . . . OPT-PC, n = 2, K = 8, p = 6, (247, 371). . . . OPT-PC, n = 2, K = 8, p = 7, (247, 371). . . . OPT-PC, n = 2, K = 8, p = 8, (247, 371). . . . OPT-PC, n = 2, K = 9, p = 2, (561, 753). . . . OPT-PC, n = 2, K = 9, p = 3, (561, 753). . . . OPT-PC, n = 2, K = 9, p = 4, (561, 753). . . . OPT-PC, n = 2, K = 9, p = 5, (561, 753). . . . OPT-PC, n = 2, K = 9, p = 6, (561, 753). . . . OPT-PC, n = 2, K = 9, p = 7, (561, 753). . . . OPT-PC, n = 2, K = 9, p = 8, (561, 753). . . . OPT-PC, n = 2, K = 10, p = 2, (1151, 1753). . OPT-PC, n = 2, K = 10, p = 3, (1151, 1753). . OPT-PC, n = 2, K = 10, p = 4, (1151, 1753). . OPT-PC, n = 2, K = 10, p = 5, (1151, 1753). . OPT-PC, n = 2, K = 10, p = 6, (1151, 1753). . OPT-PC, n = 2, K = 10, p = 7, (1151, 1753). . OPT-PC, n = 2, K = 10, p = 8, (1151, 1753). . OPT-PC, n = 2, K = 11, p = 2, (3345, 3613). . OPT-PC, n = 2, K = 11, p = 3, (3345, 3613). . OPT-PC, n = 2, K = 11, p = 4, (3345, 3613). . OPT-PC, n = 2, K = 11, p = 5, (3345, 3613). . OPT-PC, n = 2, K = 11, p = 6, (3345, 3613). . OPT-PC, n = 2, K = 11, p = 7, (3345, 3613). . OPT-PC, n = 2, K = 11, p = 8, (3345, 3613). . OPT-PC, n = 2, K = 12, p = 2, (5261, 7173). . OPT-PC, n = 2, K = 12, p = 3, (5261, 7173). . OPT-PC, n = 2, K = 12, p = 4, (5261, 7173). . OPT-PC, n = 2, K = 12, p = 5, (5261, 7173). . OPT-PC, n = 2, K = 12, p = 6, (5261, 7173). . OPT-PC, n = 2, K = 12, p = 7, (5261, 7173). . OPT-PC, n = 2, K = 12, p = 8, (5261, 7173). . OPT-PC, n = 2, K = 13, p = 2, (12767, 16461). OPT-PC, n = 2, K = 13, p = 3, (12767, 16461). OPT-PC, n = 2, K = 13, p = 4, (12767, 16461). OPT-PC, n = 2, K = 13, p = 5, (12767, 16461). OPT-PC, n = 2, K = 13, p = 6, (12767, 16461). OPT-PC, n = 2, K = 13, p = 7, (12767, 16461). OPT-PC, n = 2, K = 13, p = 8, (12767, 16461). OPT-PC, n = 2, K = 14, p = 2, (27251, 37363). OPT-PC, n = 2, K = 14, p = 3, (27251, 37363). OPT-PC, n = 2, K = 14, p = 4, (27251, 37363). OPT-PC, n = 2, K = 14, p = 5, (27251, 37363). OPT-PC, n = 2, K = 14, p = 6, (27251, 37363).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66 66 66 67 67 67 67 68 68 68 69 69 69 69 70 70 70 71 71 71 71 72 72 72 73 73 73 73 74 74 74 75 75 75 75 76 76 76 77 77 77 77 78 78 78 79 79 79 79 80 80

8

LIST OF TABLES

B.83 B.84 B.85 B.86 B.87 B.88 B.89 B.90 B.91 B.92 B.93 B.94 B.95 B.96 B.97 B.98 B.99 B.100 B.101 B.102 B.103 B.104 B.105 B.106 B.107 B.108 B.109 B.110 B.111 B.112 B.113 B.114 B.115 B.116 B.117 B.118 B.119 B.120 B.121 B.122 B.123 B.124 B.125 B.126 B.127 B.128 B.129 B.130 B.131 B.132 B.133

OPT-PC, n = 2, K = 14, p = 7, (27251, 37363). OPT-PC, n = 2, K = 14, p = 8, (27251, 37363). OPT-PC, n = 2, K = 15, p = 2, (56711, 75063). OPT-PC, n = 2, K = 15, p = 3, (56711, 75063). OPT-PC, n = 2, K = 15, p = 4, (56711, 75063). OPT-PC, n = 2, K = 15, p = 5, (56711, 75063). OPT-PC, n = 2, K = 15, p = 6, (56711, 75063). OPT-PC, n = 2, K = 15, p = 7, (56711, 75063). OPT-PC, n = 2, K = 15, p = 8, (56711, 75063). OPT-PC, n = 3, K = 3, p = 2, (5, 7, 7). . . . . OPT-PC, n = 3, K = 3, p = 3, (5, 7, 7). . . . . OPT-PC, n = 3, K = 3, p = 4, (5, 7, 7). . . . . OPT-PC, n = 3, K = 3, p = 5, (5, 7, 7). . . . . OPT-PC, n = 3, K = 3, p = 6, (5, 7, 7). . . . . OPT-PC, n = 3, K = 3, p = 7, (5, 7, 7). . . . . OPT-PC, n = 3, K = 3, p = 8, (5, 7, 7). . . . . OPT-PC, n = 3, K = 4, p = 2, (13, 15, 17). . . OPT-PC, n = 3, K = 4, p = 3, (13, 15, 17). . . OPT-PC, n = 3, K = 4, p = 4, (13, 15, 17). . . OPT-PC, n = 3, K = 4, p = 5, (13, 15, 17). . . OPT-PC, n = 3, K = 4, p = 6, (13, 15, 17). . . OPT-PC, n = 3, K = 4, p = 7, (13, 15, 17). . . OPT-PC, n = 3, K = 4, p = 8, (13, 15, 17). . . OPT-PC, n = 3, K = 5, p = 2, (25, 33, 37). . . OPT-PC, n = 3, K = 5, p = 3, (25, 33, 37). . . OPT-PC, n = 3, K = 5, p = 4, (25, 33, 37). . . OPT-PC, n = 3, K = 5, p = 5, (25, 33, 37). . . OPT-PC, n = 3, K = 5, p = 6, (25, 33, 37). . . OPT-PC, n = 3, K = 5, p = 7, (25, 33, 37). . . OPT-PC, n = 3, K = 5, p = 8, (25, 33, 37). . . OPT-PC, n = 3, K = 6, p = 2, (47, 53, 75). . . OPT-PC, n = 3, K = 6, p = 3, (47, 53, 75). . . OPT-PC, n = 3, K = 6, p = 4, (47, 53, 75). . . OPT-PC, n = 3, K = 6, p = 5, (47, 53, 75). . . OPT-PC, n = 3, K = 6, p = 6, (47, 53, 75). . . OPT-PC, n = 3, K = 6, p = 7, (47, 53, 75). . . OPT-PC, n = 3, K = 6, p = 8, (47, 53, 75). . . OPT-PC, n = 3, K = 7, p = 2, (133, 165, 171). OPT-PC, n = 3, K = 7, p = 3, (133, 165, 171). OPT-PC, n = 3, K = 7, p = 4, (133, 165, 171). OPT-PC, n = 3, K = 7, p = 5, (133, 165, 171). OPT-PC, n = 3, K = 7, p = 6, (133, 165, 171). OPT-PC, n = 3, K = 7, p = 7, (133, 165, 171). OPT-PC, n = 3, K = 7, p = 8, (133, 165, 171). OPT-PC, n = 3, K = 8, p = 2, (225, 331, 367). OPT-PC, n = 3, K = 8, p = 3, (225, 331, 367). OPT-PC, n = 3, K = 8, p = 4, (225, 331, 367). OPT-PC, n = 3, K = 8, p = 5, (225, 331, 367). OPT-PC, n = 3, K = 8, p = 6, (225, 331, 367). OPT-PC, n = 3, K = 8, p = 7, (225, 331, 367). OPT-PC, n = 3, K = 8, p = 8, (225, 331, 367).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 80 . 81 . 81 . 81 . 81 . 82 . 82 . 82 . 83 . 83 . 83 . 84 . 84 . 85 . 85 . 86 . 86 . 87 . 87 . 87 . 88 . 88 . 89 . 89 . 90 . 90 . 90 . 91 . 91 . 92 . 92 . 93 . 93 . 93 . 94 . 94 . 95 . 95 . 96 . 96 . 96 . 97 . 97 . 98 . 98 . 99 . 99 . 99 . 100 . 100 . 101

9

LIST OF TABLES

B.134 B.135 B.136 B.137 B.138 B.139 B.140 B.141 B.142 B.143 B.144 B.145 B.146 B.147 B.148 B.149 B.150 B.151 B.152 B.153 B.154 B.155 B.156 B.157 B.158 B.159 B.160 B.161 B.162 B.163 B.164 B.165 B.166 B.167 B.168 B.169 B.170 B.171 B.172 B.173 B.174 B.175 B.176 B.177 B.178 B.179 B.180 B.181 B.182 B.183 B.184

OPT-PC, n = 3, K = 9, p = 2, (575, 623, 727). . . . . OPT-PC, n = 3, K = 9, p = 3, (575, 623, 727). . . . . OPT-PC, n = 3, K = 9, p = 4, (575, 623, 727). . . . . OPT-PC, n = 3, K = 9, p = 5, (575, 623, 727). . . . . OPT-PC, n = 3, K = 9, p = 6, (575, 623, 727). . . . . OPT-PC, n = 3, K = 9, p = 7, (575, 623, 727). . . . . OPT-PC, n = 3, K = 9, p = 8, (575, 623, 727). . . . . OPT-PC, n = 3, K = 10, p = 2, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 10, p = 3, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 10, p = 4, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 10, p = 5, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 10, p = 6, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 10, p = 7, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 10, p = 8, (1233, 1375, 1671). . . OPT-PC, n = 3, K = 11, p = 2, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 11, p = 3, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 11, p = 4, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 11, p = 5, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 11, p = 6, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 11, p = 7, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 11, p = 8, (2335, 2531, 3477). . . OPT-PC, n = 3, K = 12, p = 2, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 12, p = 3, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 12, p = 4, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 12, p = 5, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 12, p = 6, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 12, p = 7, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 12, p = 8, (5745, 6471, 7553). . . OPT-PC, n = 3, K = 13, p = 2, (13261, 15167, 17451). OPT-PC, n = 3, K = 13, p = 3, (13261, 15167, 17451). OPT-PC, n = 3, K = 13, p = 4, (13261, 15167, 17451). OPT-PC, n = 3, K = 13, p = 5, (13261, 15167, 17451). OPT-PC, n = 3, K = 13, p = 6, (13261, 15167, 17451). OPT-PC, n = 3, K = 13, p = 7, (13261, 15167, 17451). OPT-PC, n = 3, K = 13, p = 8, (13261, 15167, 17451). OPT-PC, n = 4, K = 3, p = 2, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 3, p = 3, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 3, p = 4, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 3, p = 5, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 3, p = 6, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 3, p = 7, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 3, p = 8, (5, 5, 7, 7). . . . . . . . OPT-PC, n = 4, K = 4, p = 2, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 4, p = 3, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 4, p = 4, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 4, p = 5, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 4, p = 6, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 4, p = 7, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 4, p = 8, (13, 15, 15, 17). . . . . OPT-PC, n = 4, K = 5, p = 2, (25, 27, 33, 37). . . . . OPT-PC, n = 4, K = 5, p = 3, (25, 27, 33, 37). . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

101 102 102 102 103 103 104 104 105 105 105 106 106 107 107 108 108 108 109 109 110 110 111 111 111 112 112 113 113 114 114 114 115 115 116 116 117 117 118 119 120 121 122 122 123 123 124 125 126 127 127

10

LIST OF TABLES

B.185 B.186 B.187 B.188 B.189 B.190 B.191 B.192 B.193 B.194 B.195 B.196 B.197 B.198 B.199 B.200 B.201 B.202 B.203 B.204 B.205 B.206 B.207 B.208 B.209 B.210 B.211 B.212 B.213 B.214 B.215 B.216 B.217 B.218 B.219 B.220 B.221 B.222 B.223 B.224 B.225 B.226 B.227 B.228 B.229

OPT-PC, n = 4, K = 5, p = 4, (25, 27, 33, 37). . . . . . OPT-PC, n = 4, K = 5, p = 5, (25, 27, 33, 37). . . . . . OPT-PC, n = 4, K = 5, p = 6, (25, 27, 33, 37). . . . . . OPT-PC, n = 4, K = 5, p = 7, (25, 27, 33, 37). . . . . . OPT-PC, n = 4, K = 5, p = 8, (25, 27, 33, 37). . . . . . OPT-PC, n = 4, K = 6, p = 2, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 6, p = 3, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 6, p = 4, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 6, p = 5, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 6, p = 6, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 6, p = 7, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 6, p = 8, (51, 55, 67, 77). . . . . . OPT-PC, n = 4, K = 7, p = 2, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 7, p = 3, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 7, p = 4, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 7, p = 5, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 7, p = 6, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 7, p = 7, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 7, p = 8, (117, 127, 155, 171). . . . OPT-PC, n = 4, K = 8, p = 2, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 8, p = 3, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 8, p = 4, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 8, p = 5, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 8, p = 6, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 8, p = 7, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 8, p = 8, (231, 273, 327, 375). . . . OPT-PC, n = 4, K = 9, p = 2, (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 9, p = 3 (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 9, p = 4, (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 9, p = 5, (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 9, p = 6, (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 9, p = 7, (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 9, p = 8, (473, 513, 671, 765). . . . OPT-PC, n = 4, K = 10, p = 2, (1173, 1325, 1467, 1751). OPT-PC, n = 4, K = 10, p = 3, (1173, 1325, 1467, 1751). OPT-PC, n = 4, K = 10, p = 4, (1173, 1325, 1467, 1751). OPT-PC, n = 4, K = 10, p = 5, (1173, 1325, 1467, 1751). OPT-PC, n = 4, K = 10, p = 6, (1173, 1325, 1467, 1751). OPT-PC, n = 4, K = 10, p = 7, (1173, 1325, 1467, 1751). OPT-PC, n = 4, K = 11, p = 2, (2565, 2747, 3311, 3723). OPT-PC, n = 4, K = 11, p = 3, (2565, 2747, 3311, 3723). OPT-PC, n = 4, K = 11, p = 4, (2565, 2747, 3311, 3723). OPT-PC, n = 4, K = 11, p = 5, (2565, 2747, 3311, 3723). OPT-PC, n = 4, K = 11, p = 6, (2565, 2747, 3311, 3723). OPT-PC, n = 4, K = 11, p = 7 (2565, 2747, 3311, 3723).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

128 128 129 130 131 132 132 133 133 134 135 136 137 137 138 138 139 140 141 142 142 143 143 144 145 146 147 147 148 148 149 150 151 152 152 153 153 154 155 156 156 157 157 158 159

C.1 C.2 C.3 C.4 C.5

LRO-RCPC, n = 2, K = 3, p = 2, (5, 7). LRO-RCPC, n = 2, K = 3, p = 3, (5, 7). LRO-RCPC, n = 2, K = 3, p = 4, (5, 7). LRO-RCPC, n = 2, K = 3, p = 5, (5, 7). LRO-RCPC, n = 2, K = 3, p = 6, (5, 7).

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

160 160 160 161 161

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

11

LIST OF TABLES

C.6 C.7 C.8 C.9 C.10 C.11 C.12 C.13 C.14 C.15 C.16 C.17 C.18 C.19 C.20 C.21 C.22 C.23 C.24 C.25 C.26 C.27 C.28 C.29 C.30 C.31 C.32 C.33 C.34 C.35 C.36 C.37 C.38 C.39 C.40 C.41 C.42 C.43 C.44 C.45 C.46 C.47 C.48 C.49 C.50 C.51 C.52 C.53 C.54 C.55 C.56

LRO-RCPC, n = 2, K = 3, p = 7, (5, 7). . . . . LRO-RCPC, n = 2, K = 3, p = 8, (5, 7). . . . . LRO-RCPC, n = 2, K = 4, p = 2, (15, 17). . . . LRO-RCPC, n = 2, K = 4, p = 3, (15, 17). . . . LRO-RCPC, n = 2, K = 4, p = 4, (15, 17). . . . LRO-RCPC, n = 2, K = 4, p = 5, (15, 17). . . . LRO-RCPC, n = 2, K = 4, p = 6, (15, 17). . . . LRO-RCPC, n = 2, K = 4, p = 7, (15, 17). . . . LRO-RCPC, n = 2, K = 4, p = 8, (15, 17). . . . LRO-RCPC, n = 2, K = 5, p = 2, (23, 35). . . . LRO-RCPC, n = 2, K = 5, p = 3, (23, 35). . . . LRO-RCPC, n = 2, K = 5, p = 4, (23, 35). . . . LRO-RCPC, n = 2, K = 5, p = 5, (23, 35). . . . LRO-RCPC, n = 2, K = 5, p = 6, (23, 35). . . . LRO-RCPC, n = 2, K = 5, p = 7, (23, 35). . . . LRO-RCPC, n = 2, K = 5, p = 8, (23, 35). . . . LRO-RCPC, n = 2, K = 6, p = 2, (53, 75). . . . LRO-RCPC, n = 2, K = 6, p = 3, (53, 75). . . . LRO-RCPC, n = 2, K = 6, p = 4, (53, 75). . . . LRO-RCPC, n = 2, K = 6, p = 5, (53, 75). . . . LRO-RCPC, n = 2, K = 6, p = 6, (53, 75). . . . LRO-RCPC, n = 2, K = 6, p = 7, (53, 75). . . . LRO-RCPC, n = 2, K = 6, p = 8, (53, 75). . . . LRO-RCPC, n = 2, K = 7, p = 2, (133, 171). . LRO-RCPC, n = 2, K = 7, p = 3, (133, 171). . LRO-RCPC, n = 2, K = 7, p = 4, (133, 171). . LRO-RCPC, n = 2, K = 7, p = 5, (133, 171). . LRO-RCPC, n = 2, K = 7, p = 6, (133, 171). . LRO-RCPC, n = 2, K = 7, p = 7, (133, 171). . LRO-RCPC, n = 2, K = 7, p = 8, (133, 171). . LRO-RCPC, n = 2, K = 8, p = 2, (247, 371). . LRO-RCPC, n = 2, K = 8, p = 3, (247, 371). . LRO-RCPC, n = 2, K = 8, p = 4, (247, 371). . LRO-RCPC, n = 2, K = 8, p = 5, (247, 371). . LRO-RCPC, n = 2, K = 8, p = 6, (247, 371). . LRO-RCPC, n = 2, K = 8, p = 7, (247, 371). . LRO-RCPC, n = 2, K = 8, p = 8, (247, 371). . LRO-RCPC, n = 2, K = 9, p = 2, (561, 753). . LRO-RCPC, n = 2, K = 9, p = 3, (561, 753). . LRO-RCPC, n = 2, K = 9, p = 4, (561, 753). . LRO-RCPC, n = 2, K = 9, p = 5, (561, 753). . LRO-RCPC, n = 2, K = 9, p = 6, (561, 753). . LRO-RCPC, n = 2, K = 9, p = 7, (561, 753). . LRO-RCPC, n = 2, K = 9, p = 8, (561, 753). . LRO-RCPC, n = 2, K = 10, p = 2, (1151, 1753). LRO-RCPC, n = 2, K = 10, p = 3, (1151, 1753). LRO-RCPC, n = 2, K = 10, p = 4, (1151, 1753). LRO-RCPC, n = 2, K = 10, p = 5, (1151, 1753). LRO-RCPC, n = 2, K = 10, p = 6, (1151, 1753). LRO-RCPC, n = 2, K = 10, p = 7, (1151, 1753). LRO-RCPC, n = 2, K = 10, p = 8, (1151, 1753).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

161 162 162 162 162 163 163 163 164 164 164 164 165 165 165 166 166 166 166 167 167 167 168 168 168 168 169 169 169 170 170 170 170 171 171 171 172 172 172 172 173 173 173 174 174 174 174 175 175 175 176

12

LIST OF TABLES

C.57 C.58 C.59 C.60 C.61 C.62 C.63 C.64 C.65 C.66 C.67 C.68 C.69 C.70 C.71 C.72 C.73 C.74 C.75 C.76 C.77 C.78 C.79 C.80 C.81 C.82 C.83 C.84 C.85 C.86 C.87 C.88 C.89 C.90 C.91 C.92 C.93 C.94 C.95 C.96 C.97 C.98 C.99 C.100 C.101 C.102 C.103 C.104 C.105 C.106 C.107

LRO-RCPC, n = 2, K = 11, p = 2, (3345, 3613). LRO-RCPC, n = 2, K = 11, p = 3, (3345, 3613). LRO-RCPC, n = 2, K = 11, p = 4, (3345, 3613). LRO-RCPC, n = 2, K = 11, p = 5, (3345, 3613). LRO-RCPC, n = 2, K = 11, p = 6, (3345, 3613). LRO-RCPC, n = 2, K = 11, p = 7, (3345, 3613). LRO-RCPC, n = 2, K = 11, p = 8, (3345, 3613). LRO-RCPC, n = 2, K = 12, p = 2, (5261, 7173). LRO-RCPC, n = 2, K = 12, p = 3, (5261, 7173). LRO-RCPC, n = 2, K = 12, p = 4, (5261, 7173). LRO-RCPC, n = 2, K = 12, p = 5, (5261, 7173). LRO-RCPC, n = 2, K = 12, p = 6, (5261, 7173). LRO-RCPC, n = 2, K = 12, p = 7, (5261, 7173). LRO-RCPC, n = 2, K = 12, p = 8, (5261, 7173). LRO-RCPC, n = 2, K = 13, p = 2, (12767, 16461). LRO-RCPC, n = 2, K = 13, p = 3, (12767, 16461). LRO-RCPC, n = 2, K = 13, p = 4, (12767, 16461). LRO-RCPC, n = 2, K = 13, p = 5, (12767, 16461). LRO-RCPC, n = 2, K = 13, p = 6, (12767, 16461). LRO-RCPC, n = 2, K = 13, p = 7, (12767, 16461). LRO-RCPC, n = 2, K = 13, p = 8, (12767, 16461). LRO-RCPC, n = 2, K = 14, p = 2, (27251, 37363). LRO-RCPC, n = 2, K = 14, p = 3, (27251, 37363). LRO-RCPC, n = 2, K = 14, p = 4, (27251, 37363). LRO-RCPC, n = 2, K = 14, p = 5, (27251, 37363). LRO-RCPC, n = 2, K = 14, p = 6, (27251, 37363). LRO-RCPC, n = 2, K = 14, p = 7, (27251, 37363). LRO-RCPC, n = 2, K = 14, p = 8, (27251, 37363). LRO-RCPC, n = 2, K = 15, p = 2, (56711, 75063). LRO-RCPC, n = 2, K = 15, p = 3, (56711, 75063). LRO-RCPC, n = 2, K = 15, p = 4, (56711, 75063). LRO-RCPC, n = 2, K = 15, p = 5, (56711, 75063). LRO-RCPC, n = 2, K = 15, p = 6, (56711, 75063). LRO-RCPC, n = 2, K = 15, p = 7, (56711, 75063). LRO-RCPC, n = 2, K = 15, p = 8, (56711, 75063). LRO-RCPC, n = 3, K = 3, p = 2, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 3, p = 3, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 3, p = 4, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 3, p = 5, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 3, p = 6, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 3, p = 7, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 3, p = 8, (5, 7, 7). . . . LRO-RCPC, n = 3, K = 4, p = 2, (13, 15, 17). . . LRO-RCPC, n = 3, K = 4, p = 3, (13, 15, 17). . . LRO-RCPC, n = 3, K = 4, p = 4, (13, 15, 17). . . LRO-RCPC, n = 3, K = 4, p = 5, (13, 15, 17). . . LRO-RCPC, n = 3, K = 4, p = 6, (13, 15, 17). . . LRO-RCPC, n = 3, K = 4, p = 7, (13, 15, 17). . . LRO-RCPC, n = 3, K = 4, p = 8, (13, 15, 17). . . LRO-RCPC, n = 3, K = 5, p = 2, (25, 33, 37). . . LRO-RCPC, n = 3, K = 5, p = 3, (25, 33, 37). . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

176 176 176 177 177 177 178 178 178 178 179 179 179 180 180 180 180 181 181 181 182 182 182 182 183 183 183 184 184 184 184 185 185 185 186 186 186 187 187 188 188 189 189 190 190 190 191 191 192 192 193

13

LIST OF TABLES

C.108 C.109 C.110 C.111 C.112 C.113 C.114 C.115 C.116 C.117 C.118 C.119 C.120 C.121 C.122 C.123 C.124 C.125 C.126 C.127 C.128 C.129 C.130 C.131 C.132 C.133 C.134 C.135 C.136 C.137 C.138 C.139 C.140 C.141 C.142 C.143 C.144 C.145 C.146 C.147 C.148 C.149 C.150 C.151 C.152 C.153 C.154 C.155 C.156 C.157 C.158

LRO-RCPC, n = 3, K = 5, p = 4, (25, 33, 37). . . . . . LRO-RCPC, n = 3, K = 5, p = 5, (25, 33, 37). . . . . . LRO-RCPC, n = 3, K = 5, p = 6, (25, 33, 37). . . . . . LRO-RCPC, n = 3, K = 5, p = 7, (25, 33, 37). . . . . . LRO-RCPC, n = 3, K = 5, p = 8, (25, 33, 37). . . . . . LRO-RCPC, n = 3, K = 6, p = 2, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 6, p = 3, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 6, p = 4, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 6, p = 5, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 6, p = 6, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 6, p = 7, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 6, p = 8, (47, 53, 75). . . . . . LRO-RCPC, n = 3, K = 7, p = 2, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 7, p = 3, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 7, p = 4, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 7, p = 5, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 7, p = 6, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 7, p = 7, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 7, p = 8, (133, 165, 171). . . . LRO-RCPC, n = 3, K = 8, p = 2, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 8, p = 3, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 8, p = 4, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 8, p = 5, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 8, p = 6, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 8, p = 7, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 8, p = 8, (225, 331, 367). . . . LRO-RCPC, n = 3, K = 9, p = 2, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 9, p = 3, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 9, p = 4, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 9, p = 5, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 9, p = 6, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 9, p = 7, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 9, p = 8, (575, 623, 727). . . . LRO-RCPC, n = 3, K = 10, p = 2, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 10, p = 3, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 10, p = 4, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 10, p = 5, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 10, p = 6, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 10, p = 7, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 10, p = 8, (1233, 1375, 1671). LRO-RCPC, n = 3, K = 11, p = 2, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 11, p = 3, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 11, p = 4, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 11, p = 5, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 11, p = 6, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 11, p = 7, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 11, p = 8, (2335, 2531, 3477). LRO-RCPC, n = 3, K = 12, p = 2, (5745, 6471, 7553). LRO-RCPC, n = 3, K = 12, p = 3, (5745, 6471, 7553). LRO-RCPC, n = 3, K = 12, p = 4, (5745, 6471, 7553). LRO-RCPC, n = 3, K = 12, p = 5, (5745, 6471, 7553).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

193 193 194 194 195 195 196 196 196 197 197 198 198 199 199 199 200 200 201 201 202 202 202 203 203 204 204 205 205 205 206 206 207 207 208 208 208 209 209 210 210 211 211 211 212 212 213 213 214 214 215

14

LIST OF TABLES

C.159 C.160 C.161 C.162 C.163 C.164 C.165 C.166 C.167 C.168 C.169 C.170 C.171 C.172 C.173 C.174 C.175 C.176 C.177 C.178 C.179 C.180 C.181 C.182 C.183 C.184 C.185 C.186 C.187 C.188 C.189 C.190 C.191 C.192 C.193 C.194 C.195 C.196 C.197 C.198 C.199 C.200 C.201 C.202 C.203 C.204 C.205 C.206 C.207 C.208 C.209

LRO-RCPC, n = 3, K = 12, p = 6, (5745, 6471, 7553). . LRO-RCPC, n = 3, K = 12, p = 7, (5745, 6471, 7553). . LRO-RCPC, n = 3, K = 12, p = 8, (5745, 6471, 7553). . LRO-RCPC, n = 3, K = 13, p = 2, (13261, 15167, 17451). LRO-RCPC, n = 3, K = 13, p = 3, (13261, 15167, 17451). LRO-RCPC, n = 3, K = 13, p = 4, (13261, 15167, 17451). LRO-RCPC, n = 3, K = 13, p = 5, (13261, 15167, 17451). LRO-RCPC, n = 3, K = 13, p = 6, (13261, 15167, 17451). LRO-RCPC, n = 3, K = 13, p = 7, (13261, 15167, 17451). LRO-RCPC, n = 3, K = 13, p = 8, (13261, 15167, 17451). LRO-RCPC, n = 4, K = 3, p = 2, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 3, p = 3, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 3, p = 4, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 3, p = 5, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 3, p = 6, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 3, p = 7, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 3, p = 8, (5, 5, 7, 7). . . . . . . LRO-RCPC, n = 4, K = 4, p = 2, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 4, p = 3, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 4, p = 4, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 4, p = 5, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 4, p = 6, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 4, p = 7, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 4, p = 8, (13, 15, 15, 17). . . . LRO-RCPC, n = 4, K = 5, p = 2, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 5, p = 3, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 5, p = 4, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 5, p = 5, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 5, p = 6, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 5, p = 7, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 5, p = 8, (25, 27, 33, 37). . . . LRO-RCPC, n = 4, K = 6, p = 2, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 6, p = 3, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 6, p = 4, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 6, p = 5, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 6, p = 6, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 6, p = 7, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 6, p = 8, (51, 55, 67, 77). . . . LRO-RCPC, n = 4, K = 7, p = 2, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 7, p = 3, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 7, p = 4, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 7, p = 5, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 7, p = 6, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 7, p = 7, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 7, p = 8, (117, 127, 155, 171). . LRO-RCPC, n = 4, K = 8, p = 2, (231, 273, 327, 375). . LRO-RCPC, n = 4, K = 8, p = 3, (231, 273, 327, 375). . LRO-RCPC, n = 4, K = 8, p = 4, (231, 273, 327, 375). . LRO-RCPC, n = 4, K = 8, p = 5, (231, 273, 327, 375). . LRO-RCPC, n = 4, K = 8, p = 6, (231, 273, 327, 375). . LRO-RCPC, n = 4, K = 8, p = 7, (231, 273, 327, 375). .

.... .... .... ... ... ... ... ... ... ... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

215 216 217 217 218 218 218 219 219 220 220 221 221 222 223 224 225 226 226 227 227 228 229 230 231 231 232 232 233 234 235 236 236 237 237 238 239 240 241 241 242 242 243 244 245 246 246 247 247 248 249

15

LIST OF TABLES

C.210 C.211 C.212 C.213 C.214 C.215 C.216 C.217 C.218 C.219 C.220 C.221 C.222 C.223 C.224 C.225 C.226 C.227 C.228 C.229 C.230 C.231

LRO-RCPC, n = 4, K = 8, p = 8, (231, 273, 327, 375). . . . LRO-RCPC, n = 4, K = 9, p = 2, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 9, p = 3, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 9, p = 4, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 9, p = 5, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 9, p = 6, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 9, p = 7, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 9, p = 8, (473, 513, 671, 765). . . . LRO-RCPC, n = 4, K = 10, p = 2, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 10, p = 3, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 10, p = 4, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 10, p = 5, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 10, p = 6, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 10, p = 7, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 10, p = 8, (1173, 1325, 1467, 1751). LRO-RCPC, n = 4, K = 11, p = 2, (2565, 2747, 3311, 3723). LRO-RCPC, n = 4, K = 11, p = 3, (2565, 2747, 3311, 3723). LRO-RCPC, n = 4, K = 11, p = 4, (2565, 2747, 3311, 3723). LRO-RCPC, n = 4, K = 11, p = 5, (2565, 2747, 3311, 3723). LRO-RCPC, n = 4, K = 11, p = 6, (2565, 2747, 3311, 3723). LRO-RCPC, n = 4, K = 11, p = 7, (2565, 2747, 3311, 3723). LRO-RCPC, n = 4, K = 11, p = 8, (2565, 2747, 3311, 3723).

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

250 251 251 252 252 253 254 255 256 256 257 257 258 259 260 261 261 262 262 263 264 265

D.1 D.2 D.3 D.4 D.5 D.6 D.7 D.8 D.9 D.10 D.11 D.12 D.13 D.14 D.15 D.16 D.17 D.18 D.19 D.20 D.21 D.22 D.23 D.24 D.25 D.26 D.27 D.28

HRO-RCPC, n = 2, K = 3, p = 2, (5, 7). . HRO-RCPC, n = 2, K = 3, p = 3, (5, 7). . HRO-RCPC, n = 2, K = 3, p = 4, (5, 7). . HRO-RCPC, n = 2, K = 3, p = 5, (5, 7). . HRO-RCPC, n = 2, K = 3, p = 6, (5, 7). . HRO-RCPC, n = 2, K = 3, p = 7, (5, 7). . HRO-RCPC, n = 2, K = 3, p = 8, (5, 7). . HRO-RCPC, n = 2, K = 4, p = 2, (15, 17). HRO-RCPC, n = 2, K = 4, p = 3, (15, 17). HRO-RCPC, n = 2, K = 4, p = 4, (15, 17). HRO-RCPC, n = 2, K = 4, p = 5, (15, 17). HRO-RCPC, n = 2, K = 4, p = 6, (15, 17). HRO-RCPC, n = 2, K = 4, p = 7, (15, 17). HRO-RCPC, n = 2, K = 4, p = 8, (15, 17). HRO-RCPC, n = 2, K = 5, p = 2, (23, 35). HRO-RCPC, n = 2, K = 5, p = 3, (23, 35). HRO-RCPC, n = 2, K = 5, p = 4, (23, 35). HRO-RCPC, n = 2, K = 5, p = 5, (23, 35). HRO-RCPC, n = 2, K = 5, p = 6, (23, 35). HRO-RCPC, n = 2, K = 5, p = 7, (23, 35). HRO-RCPC, n = 2, K = 5, p = 8, (23, 35). HRO-RCPC, n = 2, K = 6, p = 2, (53, 75). HRO-RCPC, n = 2, K = 6, p = 3, (53, 75). HRO-RCPC, n = 2, K = 6, p = 4, (53, 75). HRO-RCPC, n = 2, K = 6, p = 5, (53, 75). HRO-RCPC, n = 2, K = 6, p = 6, (53, 75). HRO-RCPC, n = 2, K = 6, p = 7, (53, 75). HRO-RCPC, n = 2, K = 6, p = 8, (53, 75).

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

266 266 266 267 267 267 268 268 268 268 269 269 269 270 270 270 270 271 271 271 272 272 272 272 273 273 273 274

. . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

LIST OF TABLES

D.29 D.30 D.31 D.32 D.33 D.34 D.35 D.36 D.37 D.38 D.39 D.40 D.41 D.42 D.43 D.44 D.45 D.46 D.47 D.48 D.49 D.50 D.51 D.52 D.53 D.54 D.55 D.56 D.57 D.58 D.59 D.60 D.61 D.62 D.63 D.64 D.65 D.66 D.67 D.68 D.69 D.70 D.71 D.72 D.73 D.74 D.75 D.76 D.77 D.78 D.79

HRO-RCPC, n = 2, K = 7, p = 2, (133, 171). . . . HRO-RCPC, n = 2, K = 7, p = 3, (133, 171). . . . HRO-RCPC, n = 2, K = 7, p = 4, (133, 171). . . . HRO-RCPC, n = 2, K = 7, p = 5, (133, 171). . . . HRO-RCPC, n = 2, K = 7, p = 6, (133, 171). . . . HRO-RCPC, n = 2, K = 7, p = 7, (133, 171). . . . HRO-RCPC, n = 2, K = 7, p = 8, (133, 171). . . . HRO-RCPC, n = 2, K = 8, p = 2, (247, 371). . . . HRO-RCPC, n = 2, K = 8, p = 3, (247, 371). . . . HRO-RCPC, n = 2, K = 8, p = 4, (247, 371). . . . HRO-RCPC, n = 2, K = 8, p = 5, (247, 371). . . . HRO-RCPC, n = 2, K = 8, p = 6, (247, 371). . . . HRO-RCPC, n = 2, K = 8, p = 7, (247, 371). . . . HRO-RCPC, n = 2, K = 8, p = 8, (247, 371). . . . HRO-RCPC, n = 2, K = 9, p = 2, (561, 753). . . . HRO-RCPC, n = 2, K = 9, p = 3, (561, 753). . . . HRO-RCPC, n = 2, K = 9, p = 4, (561, 753). . . . HRO-RCPC, n = 2, K = 9, p = 5, (561, 753). . . . HRO-RCPC, n = 2, K = 9, p = 6, (561, 753). . . . HRO-RCPC, n = 2, K = 9, p = 7, (561, 753). . . . HRO-RCPC, n = 2, K = 9, p = 8, (561, 753). . . . HRO-RCPC, n = 2, K = 10, p = 2, (1151, 1753). . HRO-RCPC, n = 2, K = 10, p = 3, (1151, 1753). . HRO-RCPC, n = 2, K = 10, p = 4, (1151, 1753). . HRO-RCPC, n = 2, K = 10, p = 5, (1151, 1753). . HRO-RCPC, n = 2, K = 10, p = 6, (1151, 1753). . HRO-RCPC, n = 2, K = 10, p = 7, (1151, 1753). . HRO-RCPC, n = 2, K = 10, p = 8, (1151, 1753). . HRO-RCPC, n = 2, K = 11, p = 2, (3345, 3613). . HRO-RCPC, n = 2, K = 11, p = 3, (3345, 3613). . HRO-RCPC, n = 2, K = 11, p = 4, (3345, 3613). . HRO-RCPC, n = 2, K = 11, p = 5, (3345, 3613). . HRO-RCPC, n = 2, K = 11, p = 6, (3345, 3613). . HRO-RCPC, n = 2, K = 11, p = 7, (3345, 3613). . HRO-RCPC, n = 2, K = 11, p = 8, (3345, 3613). . HRO-RCPC, n = 2, K = 12, p = 2, (5261, 7173). . HRO-RCPC, n = 2, K = 12, p = 3, (5261, 7173). . HRO-RCPC, n = 2, K = 12, p = 4, (5261, 7173). . HRO-RCPC, n = 2, K = 12, p = 5, (5261, 7173). . HRO-RCPC, n = 2, K = 12, p = 6, (5261, 7173). . HRO-RCPC, n = 2, K = 12, p = 7, (5261, 7173). . HRO-RCPC, n = 2, K = 12, p = 8, (5261, 7173). . HRO-RCPC, n = 2, K = 13, p = 2, (12767, 16461). HRO-RCPC, n = 2, K = 13, p = 3, (12767, 16461). HRO-RCPC, n = 2, K = 13, p = 4, (12767, 16461). HRO-RCPC, n = 2, K = 13, p = 5, (12767, 16461). HRO-RCPC, n = 2, K = 13, p = 6, (12767, 16461). HRO-RCPC, n = 2, K = 13, p = 7, (12767, 16461). HRO-RCPC, n = 2, K = 13, p = 8, (12767, 16461). HRO-RCPC, n = 2, K = 14, p = 2, (27251, 37363). HRO-RCPC, n = 2, K = 14, p = 3, (27251, 37363).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

274 274 274 275 275 275 276 276 276 276 277 277 277 278 278 278 278 279 279 279 280 280 280 280 281 281 281 282 282 282 282 283 283 283 284 284 284 284 285 285 285 286 286 286 286 287 287 287 288 288 288

17

LIST OF TABLES

D.80 D.81 D.82 D.83 D.84 D.85 D.86 D.87 D.88 D.89 D.90 D.91 D.92 D.93 D.94 D.95 D.96 D.97 D.98 D.99 D.100 D.101 D.102 D.103 D.104 D.105 D.106 D.107 D.108 D.109 D.110 D.111 D.112 D.113 D.114 D.115 D.116 D.117 D.118 D.119 D.120 D.121 D.122 D.123 D.124 D.125 D.126 D.127 D.128 D.129 D.130

HRO-RCPC, n = 2, K = 14, p = 4, (27251, 37363). HRO-RCPC, n = 2, K = 14, p = 5, (27251, 37363). HRO-RCPC, n = 2, K = 14, p = 6, (27251, 37363). HRO-RCPC, n = 2, K = 14, p = 7, (27251, 37363). HRO-RCPC, n = 2, K = 14, p = 8, (27251, 37363). HRO-RCPC, n = 2, K = 15, p = 2, (56711, 75063). HRO-RCPC, n = 2, K = 15, p = 3, (56711, 75063). HRO-RCPC, n = 2, K = 15, p = 4, (56711, 75063). HRO-RCPC, n = 2, K = 15, p = 5, (56711, 75063). HRO-RCPC, n = 2, K = 15, p = 6, (56711, 75063). HRO-RCPC, n = 2, K = 15, p = 7, (56711, 75063). HRO-RCPC, n = 2, K = 15, p = 8, (56711, 75063). HRO-RCPC, n = 3, K = 3, p = 2, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 3, p = 3, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 3, p = 4, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 3, p = 5, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 3, p = 6, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 3, p = 7, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 3, p = 8, (5, 7, 7). . . . . HRO-RCPC, n = 3, K = 4, p = 2, (13, 15, 17). . . HRO-RCPC, n = 3, K = 4, p = 3, (13, 15, 17). . . HRO-RCPC, n = 3, K = 4, p = 4, (13, 15, 17). . . HRO-RCPC, n = 3, K = 4, p = 5, (13, 15, 17). . . HRO-RCPC, n = 3, K = 4, p = 6, (13, 15, 17). . . HRO-RCPC, n = 3, K = 4, p = 7, (13, 15, 17). . . HRO-RCPC, n = 3, K = 4, p = 8, (13, 15, 17). . . HRO-RCPC, n = 3, K = 5, p = 2, (25, 33, 37). . . HRO-RCPC, n = 3, K = 5, p = 3, (25, 33, 37). . . HRO-RCPC, n = 3, K = 5, p = 4, (25, 33, 37). . . HRO-RCPC, n = 3, K = 5, p = 5, (25, 33, 37). . . HRO-RCPC, n = 3, K = 5, p = 6, (25, 33, 37). . . HRO-RCPC, n = 3, K = 5, p = 7, (25, 33, 37). . . HRO-RCPC, n = 3, K = 5, p = 8, (25, 33, 37). . . HRO-RCPC, n = 3, K = 6, p = 2, (47, 53, 75). . . HRO-RCPC, n = 3, K = 6, p = 3, (47, 53, 75). . . HRO-RCPC, n = 3, K = 6, p = 4, (47, 53, 75). . . HRO-RCPC, n = 3, K = 6, p = 5, (47, 53, 75). . . HRO-RCPC, n = 3, K = 6, p = 6, (47, 53, 75). . . HRO-RCPC, n = 3, K = 6, p = 7, (47, 53, 75). . . HRO-RCPC, n = 3, K = 6, p = 8, (47, 53, 75). . . HRO-RCPC, n = 3, K = 7, p = 2, (133, 165, 171). HRO-RCPC, n = 3, K = 7, p = 3, (133, 165, 171). HRO-RCPC, n = 3, K = 7, p = 4, (133, 165, 171). HRO-RCPC, n = 3, K = 7, p = 5, (133, 165, 171). HRO-RCPC, n = 3, K = 7, p = 6, (133, 165, 171). HRO-RCPC, n = 3, K = 7, p = 7, (133, 165, 171). HRO-RCPC, n = 3, K = 7, p = 8, (133, 165, 171). HRO-RCPC, n = 3, K = 8, p = 2, (225, 331, 367). HRO-RCPC, n = 3, K = 8, p = 3, (225, 331, 367). HRO-RCPC, n = 3, K = 8, p = 4, (225, 331, 367). HRO-RCPC, n = 3, K = 8, p = 5, (225, 331, 367).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

288 289 289 289 290 290 290 290 291 291 291 292 292 292 293 293 294 294 295 295 296 296 296 297 297 298 298 299 299 299 300 300 301 301 302 302 302 303 303 304 304 305 305 305 306 306 307 307 308 308 308

18

LIST OF TABLES

D.131 D.132 D.133 D.134 D.135 D.136 D.137 D.138 D.139 D.140 D.141 D.142 D.143 D.144 D.145 D.146 D.147 D.148 D.149 D.150 D.151 D.152 D.153 D.154 D.155 D.156 D.157 D.158 D.159 D.160 D.161 D.162 D.163 D.164 D.165 D.166 D.167 D.168 D.169 D.170 D.171 D.172 D.173 D.174 D.175 D.176 D.177 D.178 D.179 D.180 D.181

HRO-RCPC, n = 3, K = 8, p = 6, (225, 331, 367). . . . . HRO-RCPC, n = 3, K = 8, p = 7, (225, 331, 367). . . . . HRO-RCPC, n = 3, K = 8, p = 8, (225, 331, 367). . . . . HRO-RCPC, n = 3, K = 9, p = 2, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 9, p = 3, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 9, p = 4, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 9, p = 5, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 9, p = 6, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 9, p = 7, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 9, p = 8, (575, 623, 727). . . . . HRO-RCPC, n = 3, K = 10, p = 2, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 10, p = 3, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 10, p = 4, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 10, p = 5, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 10, p = 6, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 10, p = 7, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 10, p = 8, (1233, 1375, 1671). . . HRO-RCPC, n = 3, K = 11, p = 2, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 11, p = 3, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 11, p = 4, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 11, p = 5, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 11, p = 6, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 11, p = 7, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 11, p = 8, (2335, 2531, 3477). . . HRO-RCPC, n = 3, K = 12, p = 2, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 12, p = 3, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 12, p = 4, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 12, p = 5, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 12, p = 6, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 12, p = 7, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 12, p = 8, (5745, 6471, 7553). . . HRO-RCPC, n = 3, K = 13, p = 2, (13261, 15167, 17451). HRO-RCPC, n = 3, K = 13, p = 3, (13261, 15167, 17451). HRO-RCPC, n = 3, K = 13, p = 4, (13261, 15167, 17451). HRO-RCPC, n = 3, K = 13, p = 5, (13261, 15167, 17451). HRO-RCPC, n = 3, K = 13, p = 6, (13261, 15167, 17451). HRO-RCPC, n = 3, K = 13, p = 7, (13261, 15167, 17451). HRO-RCPC, n = 3, K = 13, p = 8, (13261, 15167, 17451). HRO-RCPC, n = 4, K = 3, p = 2, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 3, p = 3, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 3, p = 4, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 3, p = 5, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 3, p = 6, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 3, p = 7, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 3, p = 8, (5, 5, 7, 7). . . . . . . . HRO-RCPC, n = 4, K = 4, p = 2, (13, 15, 15, 17). . . . . HRO-RCPC, n = 4, K = 4, p = 3, (13, 15, 15, 17). . . . . HRO-RCPC, n = 4, K = 4, p = 4, (13, 15, 15, 17). . . . . HRO-RCPC, n = 4, K = 4, p = 5, (13, 15, 15, 17). . . . . HRO-RCPC, n = 4, K = 4, p = 6, (13, 15, 15, 17). . . . . HRO-RCPC, n = 4, K = 4, p = 7, (13, 15, 15, 17). . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

309 309 310 310 311 311 311 312 312 313 313 314 314 314 315 315 316 316 317 317 317 318 318 319 319 320 320 320 321 321 322 322 323 323 323 324 324 325 325 326 326 327 328 329 330 331 331 332 332 333 334

19

LIST OF TABLES

D.182 D.183 D.184 D.185 D.186 D.187 D.188 D.189 D.190 D.191 D.192 D.193 D.194 D.195 D.196 D.197 D.198 D.199 D.200 D.201 D.202 D.203 D.204 D.205 D.206 D.207 D.208 D.209 D.210 D.211 D.212 D.213 D.214 D.215 D.216 D.217 D.218 D.219 D.220 D.221 D.222 D.223 D.224 D.225 D.226 D.227 D.228

HRO-RCPC, n = 4, K = 4, p = 8, (13, 15, 15, 17). . . . . . HRO-RCPC, n = 4, K = 5, p = 2, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 5, p = 3, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 5, p = 4, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 5, p = 5, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 5, p = 6, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 5, p = 7, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 5, p = 8, (25, 27, 33, 37). . . . . . HRO-RCPC, n = 4, K = 6, p = 2, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 6, p = 3, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 6, p = 4, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 6, p = 5, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 6, p = 6, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 6, p = 7, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 6, p = 8, (51, 55, 67, 77). . . . . . HRO-RCPC, n = 4, K = 7, p = 2, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 7, p = 3, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 7, p = 4, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 7, p = 5, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 7, p = 6, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 7, p = 7, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 7, p = 8, (117, 127, 155, 171). . . . HRO-RCPC, n = 4, K = 8, p = 2, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 8, p = 3, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 8, p = 4, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 8, p = 5, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 8, p = 6, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 8, p = 7, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 8, p = 8, (231, 273, 327, 375). . . . HRO-RCPC, n = 4, K = 9, p = 2, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 9, p = 3, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 9, p = 4, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 9, p = 5, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 9, p = 6, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 9, p = 7, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 9, p = 8, (473, 513, 671, 765). . . . HRO-RCPC, n = 4, K = 10, p = 2, (1173, 1325, 1467, 1751). HRO-RCPC, n = 4, K = 10, p = 3, (1173, 1325, 1467, 1751). HRO-RCPC, n = 4, K = 10, p = 4, (1173, 1325, 1467, 1751). HRO-RCPC, n = 4, K = 10, p = 5, (1173, 1325, 1467, 1751). HRO-RCPC, n = 4, K = 10, p = 6, (1173, 1325, 1467, 1751). HRO-RCPC, n = 4, K = 10, p = 7, (1173, 1325, 1467, 1751). HRO-RCPC, n = 4, K = 11, p = 2, (2565, 2747, 3311, 3723). HRO-RCPC, n = 4, K = 11, p = 3, (2565, 2747, 3311, 3723). HRO-RCPC, n = 4, K = 11, p = 4, (2565, 2747, 3311, 3723). HRO-RCPC, n = 4, K = 11, p = 5, (2565, 2747, 3311, 3723). HRO-RCPC, n = 4, K = 11, p = 7, (2565, 2747, 3311, 3723).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

335 336 336 337 337 338 339 340 341 341 342 342 343 344 345 346 346 347 347 348 349 350 351 351 352 352 353 354 355 356 356 357 357 358 359 360 361 361 362 362 363 364 364 365 365 366 368

E.1 Nested MFD codes R = 1=n, K = 3. fg0 ; g1 g = f5; 7g. . . . . . . . . . . . . . 370 E.2 Nested MFD codes R = 1=n, K = 4. fg0 ; g1 ; g2 g = f13; 15; 17g. . . . . . . . . 371 E.3 Nested MFD codes R = 1=n, K = 5. fg0 ; g1 ; : : : ; g4 g = f25; 27; 33; 35; 37g. . . 372

20

LIST OF TABLES

E.4 Nested MFD codes R = 1=n, K = 6. fg0 ; g1 ; : : : ; g10 g = f47; 51; 53; 55; 57; 65; 67; 71; 73; 75; 77g.373 E.5 Nested MFD codes R = 1=n, K = 7. fg0 ; g1 ; : : : ; g13 g = f113, 117, 123, 127, 133, 135, 137, 145, 153, 155, 157, 171, 173, 175g. . . . . . . . . . . . . . . . . 374 E.6 Nested MFD codes R = 1=n, K = 8. fg0 ; g1 ; : : : ; g9 g = f231, 247, 273, 275, 327, 337, 345, 353, 373, 375g. . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 E.7 Nested MFD codes R = 1=n, K = 9. fg0 ; g1 ; : : : ; g17 g = f453, 455, 457, 467, 473, 475, 513, 517, 551, 557, 573, 657, 671, 675, 735, 745, 753, 765g. . . . . . 376 E.8 Nested MFD codes R = 1=n, K = 10. fg0 ; g1 ; : : : ; g25 g = f1133, 1153, 1157, 1165, 1167, 1173, 1175, 1233, 1237, 1247, 1267, 1275, 1325, 1335, 1357, 1371, 1467, 1531, 1537, 1563, 1571, 1625, 1731, 1745, 1751, 1753g. . . . . . . . . . . 377 E.9 Nested MFD codes R = 1=n, K = 11. fg0 ; g1 ; : : : ; g23 g = f2275, 2327, 2337, 2353, 2373, 2467, 2473, 2517, 2565, 2675, 2715, 2747, 3135, 3153, 3271, 3277, 3311, 3345, 3371, 3531, 3653, 3723, 3731, 3745g. . . . . . . . . . . . . . . . . . 378

List of Figures 2.1 Encoder for rate R = 1=4 convolutional code with constraint length K = 7. The generator polynomials are in octal notation: G1 = 117, G2 = 127, G3 = 155 and G4 = 171. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Upper bound on the bit error rate, on an uncorrelated at Rayleigh fading channel for optimum distance spectrum (ODS) and maximum free distance (MFD) codes. In calculating the bounds 20 spectrum terms were used. . . . . 4.1 Approximate upper bounds and simulated results of the bit error probability on a Rayleigh-fading channel for RCPC codes and ODS codes with rate R = 1=3 and 1=2. Constraint length K = 9. . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Required Eb =N0 in dB to obtain the BER 10?6 on Rayleigh-fading and Gaussian channels versus the code rate R. Results are shown for K = 9, n = 4 and puncturing periods p = 2, 4, 8, and 16. . . . . . . . . . . . . . . . . . . . . . . 4.3 Required Eb =N0 in dB to obtain the BER 10?6 on Rayleigh-fading and Gaussian channels versus the code rate R. Results are shown for K = 9, p = 8 and parent code rates R = 1=n, n = 2, 4, 6, and 8. . . . . . . . . . . . . . . . . . 4.4 Required Eb =N0 in dB to obtain the BER 10?6 on Rayleigh-fading and Gaussian channels versus the code rate R. Results are shown for codes obtained by rate compatible puncturing of R = 1=4 parent codes with K = 7 and 9, and p = 8, Low Rate Optimized (LRO-RCPC) and High Rate Optimized (HRO-RCPC) codes, and optimum puncturing (OPT-PC). . . . . . . . . . . 4.5 Required Eb =N0 in dB to obtain the bit error probability 10?6 on Rayleighfading and Gaussian channels versus the code rate R. Results are shown for constraint lengths K equal to 7, 8, 9, and 10. . . . . . . . . . . . . . . . . . .

25 29 37 38 39

40 41

5.1 Encoder for a rate R = 1=n convolutional code with constraint length K = 7. The selector will select which generators to be chosen and how many times each generator output to be repeated according to the speci c code rate. . . 45 5.2 Free distance of nested (white symbols), orthogonal (black) and super-orthogonal (black) codes. Di erent line types are used to separate orthogonal and superorthogonal codes. The same type of symbols represent the same constraint length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

21

Foreword This report summarizes the research performed on multirate convolutional codes at the former Department of Information Theory, now Department of Signals and Systems, Communication Systems Group, Chalmers University of Technology, during 1997. The report is an extended version of - and replaces, Technical Report No. 19 from the Department of Information Theory, Chalmers University of Technology. It is our hope that the extensive collection of code tables provided in this report will be useful for system engineers planning new systems, as well as researchers and development engineers who might also need the tabulated spectra for performance calculation. Some of the work presented in this report has partly been performed in the framework of the project ACTS AC090 FRAMES, which is funded by the European Community. Goteborg, April 1998 Pal Frenger Pal Orten Tony Ottosson Arne Svensson

22

Chapter 1

Introduction Support for variable data rates is a very important feature when designing a wireless communication system. Variable data rate can be obtained for instance by assigning to the user one or several basic subchannels. These subchannels might be for instance frequency bands in a Frequency Division Multiple Access (FDMA) system, time slots in a Time Division Multiple Access (TDMA) system, or parallell channels (or codes) in a Code Division Multiple Access (CDMA) system (called multi-code). Variable spreading factor is a multi-rate scheme that will provide about the same performance as the multi-code scheme for CDMA systems [39, 40]. In all schemes the data rates are a multiple of some basic data rate, R0 . However, to get a ne resolution of data rates this rate needs to be very low. For example, the variability in the data rate from a variable rate speech codec is typically in the order1 of a few kbit/s [8]. For a CDMA system, setting R0 = 1 kbit/s, a 1 Mbit/s service results in 1000 parallel codes in the multicode scheme or a processing-gain which is 1=1000 of that of the lowest rate user. As shown in [38] this would for the multicode scheme result in large envelope variations, lower spectral eciency, and higher power consumption in the mobile terminals. For the multi-processing-gain scheme, the high-rate user would have a very low processing-gain (if not a very wide bandwidth is used), which would imply diculties with acquisition and synchronization, and a low suppression of external interference. Setting R0 to a high value (for example 50 kbit/s) would reduce the number of parallel codes in the multicode scheme (20 for the 1 Mbit/s service) and reduce the span in the processing-gain for the multi-processing-gain scheme (for the 1 Mbit/s rate, 1=20 of the low-rate service). Now, however, the problem is the low data rates. How should we achieve a variable data rate speech service where the data rates are ranging from 1 kbit/s up to maybe 16 kbit/s? The answer is either to use time-division (with other users) which is dicult to administrate if the rates varies quickly, or on/o signaling as described in [40] which has problems with synchronization, EMC and maybe also biological impacts. Furthermore, if R0 is too high the performance will deteriorate due to ISI, and if it is too low the channel will vary much during a symbol, thus complicating detection. Hence, it seems probable that there exists an preferable basic data rate R0 , due to performance, capacity and implementation complexity and cost. Choosing the preferable basic data rate R0 , the multirate schemes can then give the user access to a number of channels each with the rate R0 . These channels may either be physically separate using di erent spreading codes as in the multicode scheme or be one continuous stream as in the multi-processing-gain and multi-modulation scheme. Observe, that the logical channels also can be transmitted on di erent carriers or time-slots, and thus the coding scheme presented in this chapter is also valid for FDMA- and TDMA-based multirate schemes. The speech codec in the IS-95 standard uses the bit rates 8.55 kbit/s, 4 kbit/s, 2 kbit/s and 0.8 kbit/s [16, p. 171]. 1

23

24

CHAPTER 1. INTRODUCTION

Given a basic data rate, and that it is possible to allocate multiples of this rate (logical channels) there is a need of matching the source data rate onto the data rate of these logical channels. There exist two obvious ways of rate matching; (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 eciency. Also, packet transmission based on hybrid automatic repeat request (HARQ) uses variable code rate channel codes [22, 23, 49]. 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 cellular communication system because of the multipath fading nature of the mobile radio channel [41, 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, softdecision 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 [2] exist. However, for turbo codes to perform well a large interleaver is needed, and therefore it may be preferable not to use turbo codes for delay sensitive services. Also, 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 [37]. 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 [33].

Chapter 2

Optimum Distance Spectrum Convolutional Codes 2.1 Introduction Convolutional encoding is based on introduction of dependence between the symbols by performing a convolution on the data bits. When more than one such linear combination (modulo 2) is performed for each input, redundancy is added giving the code its error correcting capability. The basic building blocks of a rate R = 1=n convolutional encoder are a shift register and modulo two adders (or XOR gates), as shown in Figure 2.1. A convolutional encoder is as we can see a rather simple device, giving low complexity transmitters. Despite being simple, convolutional encoding is powerful and has found application in numerous communication systems. The popularity of convolutional codes is also due to the possibility of doing low complexity soft decision decoding with a maximum likelihood decoding algorithm called the Viterbi algorithm. There is no general algebraic method for designing good convolutional codes. One therefore either has to choose codes at random or perform a computer search based on some criterion of goodness of the code. What design criterion to apply depends on the application where the code is to be used and the decoding method. When designing a rate R = 1=n encoder with constraint length K there are a total of 2K n di erent combinations for the generator polynomials, see Figure 2.1. Some of these combinations obviously give bad codes, and some are symmetries or equivalents of other combinations. Nevertheless, there are still many combinations to be exploited when doing the search. Since the number G1 G2

Input

Output G3 G4

Figure 2.1: Encoder for rate R = 1=4 convolutional code with constraint length K = 7. The generator polynomials are in octal notation: G1 = 117, G2 = 127, G3 = 155 and G4 = 171. 25

26

CHAPTER 2. OPTIMUM DISTANCE SPECTRUM CONVOLUTIONAL CODES

of possible encoders increases exponentially with both the constraint length and the number of generator polynomials, the rst attempts to nd good \all purpose" codes were restricted to nding maximum free distance 1 (MFD) codes. An upper bound on the maximum free distance of a rate R = 1=n convolutional code is given by the so called Heller bound2 as (see e.g. [9] or [41, p. 492]) j l?1 2 (K + l ? 1)nk , d ; (2.1) df  min H l1 2l ? 1 where bxc denotes the largest integer less than or equal to x, df is the free distance and K

is the constraint length of the code. It has been shown that this bound can be improved (i.e reduced by one) in some cases when dH is odd ( [34] or [9]). If (2.1) is minimized with l = h and the inequality given by h?1

dH  22h ? 1 (K + h ? 1)n ? 1 + 21?h ;

(2.2)

df  dH ? 1:

(2.3)

o

n

is not satis ed, then dH may be decreased by one such that

By employing the improved Heller upper bound on the free distance of a convolutional code, the search could be terminated once an encoder giving free distance equal to the Heller bound was found. This approach has been taken by several authors presenting MFD convolutional codes [9, 25, 34]. To guarantee maximum free distance, a full search was performed only in the few cases where no code ful lling the Heller bound was obtained. Maximum free distance codes are normally good codes for communication on the Additive White Gaussian Noise (AWGN) channel, and they are often conceived as optimum codes. However, the bit error rate for a coded communication system is not only determined by the free distance of the code. We will develop a better search criterion and present some new encoders found by an exhaustive computer search. Finally our new codes are compared to previously found MFD codes.

2.2 A Performance-based Design Criterion The performance of convolutionally coded communication systems must normally be found by simulations. For a large range of signal-to-noise ratios however, a good estimate of the bit error rate is obtained by using the union upper bound on the bit error probability, given by [41, p. 488]

Pb
d~f or (2) df = d~f and there exists an integer l  0 such that cd = c~d ; for d = df ; df + 1; : : : ; df + l ? 1 and cd < c~d ; for d = df + l. An extensive computer search, using an algorithm similar to that of [5] for calculating the distance spectra, has been performed to obtain optimum distance spectrum codes for the code rates 1=2, 1=3 and 1=4 and low constraint lengths. These codes3 together with the distance 3 ODS codes are also presented by Bocharova and Kudryashov in [3] and by Chang, Hwang and Lin in [6]. These codes were obtained independently of our work, and were not published or known to us at the time of submission of our paper [10]. Bocharova and Kydryashov have only found short constraint length ODS codes, and Chang, Hwang and Lin have optimized for only three spectrum terms. Some of the their codes are thus not optimal.

28

CHAPTER 2. OPTIMUM DISTANCE SPECTRUM CONVOLUTIONAL CODES

spectra cd are presented in Appendix A. The generator polynomials are given in octal form (see [25,41] or Figure 2.1) and K denotes the constraint length. For the cases when the codes published in [25, 34] are optimum distance spectrum codes they are given in the tables and marked by an asterisk (*). Also given in the tables are the ad spectra, where ad is the number of error paths of distance d. These spectra can be used to upper bound the rst-error event probability [41, p. 487], which is useful for non-binary transmission schemes. It is interesting to note that many of the codes found (especially those with low constraint lengths) also have optimum ad spectra (using the superior spectrum de nition with cd replaced by ad ).

2.4 Performance Evaluation The performance of convolutional codes can be obtained by extensive simulations, or approximately by calculating the union upper bound on the bit error probability, given by (2.4) and (2.7). To have a true upper bound in nitely many terms need to be included. By including many terms (12 to 15) one will obtain a very good estimate on the bit error rate for a Rayleigh fading channel at bit error rates below 10?3 . The union upper bound4 on the bit error probability for a perfectly interleaved Rayleigh fading channel is given in Figure 2.2 for some of the codes presented in this report, as well as for the maximum free distance codes [25,34] of the same rates and constraint lengths. As can be seen the optimum distance spectrum codes outperform the maximum free distance codes by up to 0.6 dB. The Optimum Distance Spectrum codes that have been presented should be used rather than MFD codes in mobile radio communications, as well as in systems transmitting on the AWGN channel. We will in the next Chapters use these codes as a basis for deriving code families with many code rates. By optimum puncturing of the ODS codes, codes with almost any code rate and near optimum performance are obtained without increasing decoding complexity (Chapter 3). Furthermore rate-compatible codes are derived by imposing a rate compatibility criterion on the puncturing pattern search in Chapter 4. Finally very low-rate codes are obtained from the ODS codes by adding code polynomials to a rate 1=n encoder (nested code search, see Chapter 5).

Actually an approximation to the union upper bound was calculated since only 20 spectrum terms were used. Comparisons with simulations have shown, however, that this many terms give a very good approximation, see also Chapter 4. 4

29

2.4. PERFORMANCE EVALUATION

0

10

R = 1/2, K = 10, ODS R = 1/2, K = 10, MFD R = 1/4, K = 9, ODS R = 1/4, K = 9, MFD R = 1/4, K = 7, ODS R = 1/4, K = 7, MFD

−2

Bit Error Rate

10

−4

10

−6

10

−8

10

1

2

3

4

5 6 E / N [dB] b

7

8

9

10

0

Figure 2.2: Upper bound on the bit error rate, on an uncorrelated at Rayleigh fading

channel for optimum distance spectrum (ODS) and maximum free distance (MFD) codes. In calculating the bounds 20 spectrum terms were used.

Chapter 3

Optimum Puncturing of ODS Codes for Multiple Rates 3.1 Introduction When decoding convolutional codes of rate R = k=n the complexity the Viterbi decoder increases exponentionally with k and the constraint length. A method for avoiding this complexity dependence on the code rate is to puncture or remove some coded bits at the output of a lower-rate encoder to obtain a higher rate code. Punctured high-rate codes were rst presented by Cain, Clark and Geist in [4] for low constraint lengths and rates 2=3 and 3=4. Cain et. al. showed that the high complexity of decoding high-rate codes was almost entirely circumvented using puncturing. Later Yasuda, Kashiki and Hirata [51] presented punctured codes for all rate (n ? 1)=n codes n = 2; 3; : : : ; 14 and low constraint lengths. Hole [21], and Haccoun and Begin [1, 17] later extended these tables to longer constraint lengths and Haccoun et. al. also listed the weight spectrum of the codes.

3.2 The Puncturing Process High-rate punctured convolutional codes are constructed by puncturing a convolutional code of rate R = 1=n and constraint length1 K , called the parent code. The parent code is an ordinary convolutional code, and it is thus completely speci ed by the encoder generator polynomials [49,50]

Gj (D) = g0j + g1j D + : : : + gKj ?1DK ?1 ;

(3.1)

where

gij 2 f0; 1g; j = 1; 2; : : : ; n: (3.2) The bits to be punctured are described by an n  p puncturing matrix P consisting of zeros and ones. The output from the generator Gj (D) is compared to the appropriate element in the puncturing matrix P. At time instant t the output from each generator Gj (D) is transmitted if

(P)j;t mod p = 1;

(3.3)

and punctured otherwise. The number of columns of P, or the puncturing period p and the rate of the parent code, determines the number of code rates and the rate resolution that can Observe that we de ne the constraint length to be the number of memory cells plus one (other de nitions exist [50, p. 554]). 1

30

31

3.3. SEARCH FOR OPTIMUM PUNCTURING PATTERNS

be obtained. Generally, from a parent code of rate 1=n and puncturing period p, we obtain a family of (n ? 1)p di erent codes with the rates

p ; p ;::: ; p : R = np np ? 1 p+1

(3.4)

3.3 Search for Optimum Puncturing Patterns To obtain the optimum puncturing pattern for a given code rate all possible patterns must in principle be explored. For a parent code of rat 1=n and a puncturing period p there are

np





p+1 possible ways to construct the puncturing pattern for the highest rate R = p=(p + 1). For the i'th highest rate there are 

np p+i



ways of constructing the puncturing pattern. Clearly this means many possible combinations especially for large values of p and n. For each possible pattern the distance spectrum of the code is calculated and the puncturing pattern yielding the superior distance spectrum is chosen.

3.4 Performance Analysis The bit error rate performance of convolutional codes may be found by extensive simulations or approximately by calculating error bounds. If the distance spectrum, that is the number of bit errors associated with a given distance, of the code is known, it is rather straightforward to calculate an union upper bound on the bit error probability. For a rate 1=n code this bound is (see for example [32,41,49,50])

Pb