IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005 101 Interleavers for Turbo Codes Using Over Integer Rings Jing Sun, Student Member, IEEE, and Oscar Y. Takeshita, Member, IEEE

Abstract—In this paper, a class of deterministic interleavers for code. Further improvements to the S-random interleaver have turbo codes (TCs) based on permutation polynomials over is been presented in [3], [4]. In [3], an iterative decoding suitability introduced. The main of this class of interleavers (IDS) criterion is used to design two-step S-random interleavers. is that they can be algebraically designed to fit a given compo- nent code. Moreover, since the interleaver can be generated by a In [4], multiple error events are considered. These improved in- few simple computations, storage of the interleaver tables can be terleavers have a better performance than S-random interleavers, avoided. By using the permutation -based interleavers, especially for short frame sizes. the design of the interleavers reduces to the selection of the coeffi- TCs using random interleavers require an interleaver table to cients of the polynomials. It is observed that the performance of the be stored both in the encoder and the decoder. This is not de- TCs using these permutation polynomial-based interleavers is usu- ally dominated by a subset of input weight P error events. The sirable in some applications, especially when the frame size is minimum distance and its multiplicity (or the first few spectrum large or many different interleavers have to be stored [7]. De- lines) of this subset are used as design criterion to select good per- terministic interleavers can avoid interleaver tables since inter- mutation polynomials. A simple method to enumerate these error leaving and de-interleaving can be performed algorithmically. events for small is presented. The simplest deterministic interleavers are block interleavers Searches for good interleavers are performed. The decoding per- formance of these interleavers is close to S-random interleavers for [8] and linear interleavers [6]. For some component codes long frame sizes. For short frame sizes, the new interleavers out- and very short frame sizes, block and linear interleavers, with perform S-random interleavers. properly chosen parameters, perform better than random inter- Index Terms—Integer , interleaver, permutation polyno- leavers. However, for medium to long frame sizes, they have a mial, turbo codes (TCs), weight spectrum. high error floor [6] and random interleavers are still better. In [6], quadratic interleavers have been introduced. Quadratic interleavers are a class of deterministic interleavers based on a I. INTRODUCTION quadratic congruence. For , it can be shown that TYPICAL turbo code (TC) [1] is constructed by parallel A concatenating two convolutional codes via an interleaver. The design of the interleaver is critical to the performance of the TC, particularly for short frame sizes. Interleavers for TCs have been extensively studied in [2]–[6]. They can in general be sep- is a permutation of for odd . Then the arated into two classes: random interleavers and deterministic quadratic interleaver is defined as interleavers. The basic random interleavers permute the information bits in a pseudorandom manner. It was demonstrated in [1] that near- Shannon limit performance can be achieved with these inter- which means that the data in position is interleaved to position leavers for large frame sizes. The S-random interleaver pro- , for all . The quadratic interleavers perform well. posed in [2] is an improvement to the random interleaver. The Even though they are not as good as S-random interleavers, it S-random interleaver is a pseudorandom interleaver with the re- is claimed in [6] that they achieve the average performance of striction that any two input positions within distance cannot random interleavers. Due to this characteristic, in the simula- be permuted to two output positions within distance . Under tions in Section V, in addition to S-random interleavers, we will this restriction, certain short error events in one component code compare our proposed interleavers to quadratic interleavers in- will not be mapped to short error events in the other component stead of the average of many randomly generated interleavers. Recently, some other deterministic interleavers have been proposed. In [9], dithered relative prime (DRP) interleavers are Manuscript received August 20, 2003; revised July 21, 2004. This work was supported by the National Science Foundation under Grants CCR-00752219 used. A good minimum distance property can be achieved for and ANI-9809018. short frame size cases by carefully selecting the parameters J. Sun was with the Electrical and Computer Engineering Department, the of the interleaving process. In [10], monomial interleavers are Ohio State University, Columbus OH 43210 USA. He is now with Qualcomm, San Diego, CA 92121 USA (e-mail: [email protected]). used, which are based on a special permutation polynomial O. Y. Takeshita are with the Electrical and Computer Engineering De- in the form of over a finite field. This class of interleavers partment, the Ohio State University, Columbus OH 43210 USA (e-mail: can also achieve a similar performance as random interleavers. [email protected]). Communicated by Ø. Ytrehus, Associate Editor for Coding Techniques. However, since the permutation polynomials are over a finite Digital Object Identifier 10.1109/TIT.2004.839478 field, the frame size can only be a power of a prime.

0018-9448/$20.00 © 2005 IEEE 102 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

In this paper, we will propose another class of deterministic Theorem 2.1. However, since in many of our design examples interleavers. These interleavers are based on permutation poly- we use , we keep Theorem 2.1 for its simplicity. nomials over the modulo , . By carefully For general , we also have a necessary and sufficient con- selecting the coefficients of the polynomial, we can achieve dition for a polynomial to be a permutation polynomial, which a performance close to, or in some cases, even better than is summarized in the following theorem. S-random interleavers. Theorem 2.3: For any , where ’s are dis- It has been observed that a subset of error events with input tinct prime numbers, is a permutation polynomial modulo weight , being a small positive integer, usually dominates if and only if is also a permutation polynomial modulo the performance, at least when the frame size is not very short. , . The parameter selection of the permutation polynomial is based Proof: First we prove the necessity. on the minimum distance or the first few spectrum lines of this Let be a permutation polynomial over . For any subset. For small , we present a simple method to find these error events. This helps to reduce the complexity of searching for good permutation polynomial-based interleavers given the component code. The paper is organized as follows. In Section II, we briefly review permutation polynomials over . Interleavers based on permutation polynomials are introduced in Section III. The minimum distance and the spectrum based analysis are given in So . Section IV. Simulation results are shown in Section V, and fi- Assume that is not a permutation polynomial over . nally, we draw our conclusions in Section VI. Then there exist , such that

II. PERMUTATION POLYNOMIALS OVER Then Given an integer , a polynomial

So a total of numbers are mapped to . This where and are nonnegative integers, is said to be a permutation polynomial over when permutes cannot be true since is a permutation polynomial modulo . In this paper, all the summations and mul- and it can map exactly numbers to . tiplications are modulo unless explicitly stated. We further Next, we prove the sufficiency. Let and be coprime. define the formal derivative of the polynomial to be a poly- Let be a permutation polynomial both modulo and nomial such that . Assume that is not a permutation polynomial modulo . Then there exist and such that (1) and .Define , and , . Since For the special case that , the necessary and sufficient ,wehave condition for a polynomial to be a permutation polynomial is and . Since is a permutation shown in [11]. It is repeated in the following theorem. polynomial modulo and , we must have and . By the Chinese Remainder Theorem Theorem 2.1: Let [13], this implies that , which contradicts be a polynomial with integer coefficients. is a permutation the assumption. Thus, is also a permutation polynomial polynomial over the integer ring if and only if 1) is odd, modulo . 2) is even, and 3) is even. Using this theorem, checking whether a polynomial is a per- For the more general case , where is any prime mutation polynomial modulo reduces to checking the poly- number, the necessary and sufficient condition is derived in [12]. nomial modulo each factor of . Theorem 2.2: is a permutation polynomial over the in- For , we can use Theorem 2.1 to check if the polyno- teger ring if and only if is a permutation polynomial mial is a permutation polynomial, which is a simple test on the over and modulo for all integers . coefficients. For general , we must use Theorem 2.2, which cannot be done by simply looking at the coefficients. In the fol- For example, let and . Then lowing, we will derive some simple check criteria for some sub- , , and , which im- classes of permutation polynomials. plies that is a permutation polynomial over . The If we limit the polynomials to be of second degree, we have formal derivative of is , which the following corollary. is a nonzero constant for all in . Thus, Theorem 2.2 is sat- isfied and is a permutation polynomial over . Corollary 2.4: A second degree polynomial of the form It can be easily verified that when , the necessary is a permutation polynomial over if and and sufficient condition in Theorem 2.2 reduces to the form in only if and . SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 103

Proof: When , this corollary is a special case of orders in each dimension. Given with base and order , Theorem 2.1. So we only need to consider the case that for two numbers and , their orders are and , respectively. . In order to prove the corollary, we only need to check the Basically, the comparison for the th elements in and is conditions in Theorem 2.2. based on the result of comparison of and modulo . Let be a permutation polynomial over , then from More precisely, we define if both of them are not the second condition in Theorem 2.2, the formal derivative less than . Otherwise, define the ordering of and modulo for all . Let , by their numerical ordering. the second condition implies that . Assume Based on the comparisons of orders in each dimension, we , then is coprime to and permutes can define comparisons of orders. We define if . This implies that there exists a certain such that for all .Wedefine if and for at least one , which contradicts the condition. Thus, . , . Other comparisons like , , and On the other hand, if both and are similarly defined. Note that by the above definition, are satisfied, then can be reduced to modulo the order is a partial ordered set. does not imply , which is a permutation polynomial. The formal derivative . We further define strictly less than , denoted by . The conditions for Theorem 2.2 are satisfied , to be the case that for all . Strictly greater than and is a permutation polynomial over . is similarly defined. Another class of permutation polynomials over can be We also define some operations on orders. The summation “generated” using permutation polynomial over and subtraction of orders are defined to be element-wise. How- , where is a prime number. This is summarized in the ever, since orders must be nonnegative, subtraction following corollary. is only defined when . Other operations like and are also defined to be element-wise. Corollary 2.5: If is a permutation polynomial Orders of numbers have some useful properties. over for prime ,define , where , then is a permutation Property 2.9: If , then . polynomial over . Property 2.10: If divides , let , then . Proof: Since is a permutation polynomial over for prime , we must have . Since Property 2.11: Let , then . , then and The proofs for these properties are simple. Furthermore, is a permutation polynomial over . The formal derivative when ,if , then . This result is not as trivial as the previous ones and we will give a simple proof. Let and . By the definition of order, and are coprime to all ’s. Since Then . Both of the two conditions in Theorem 2.2 are satisfied. To simplify the notations in the paper, we need to introduce some definitions. Definition 2.6 (Base): For ,wedefine the base of to be the vector . (2) Definition 2.7 (Order of ): For ,wedefine the order of to be the vector . and is positive for all . Since is coprime to all ’s, the term With respect to , for any given number , we can write it in the form , where the ’s are the elements in and is coprime to for any . Definition 2.8 (Order of With Respect to ): We can define the order of (with respect to )by is also coprime to all ’s. Thus, we can observe from (2) that . . The elements of any order vectors must be nonnegative. We also define to be . For example, if III. PERMUTATION POLYNOMIAL-BASED INTERLEAVERS , then and .If An interleaver needs to permute the numbers in , then and . This is exactly what a permutation .If , then and polynomial can do. For example, when , polynomial . In this paper, by default, the orders satisfies the conditions in Theorem 2.1 of all numbers are with respect to . and is a permutation polynomial over . If we interleave Since our computations are modulo , we need to define a to , then the sequence will be special comparison of orders. First, we define the comparison of interleaved to . 104 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

Fig. 1. Different interleavers of length PST. (a) Random, (b) S-random, Fig. 2. @xY QA for different interleavers of length PST. (a) Random, (c) quadratic, (d) permutation polynomial based, € @xAaVx CQx. (b) S-random, (c) quadratic, (d) permutation polynomial based, € @xAa Vx CQx.

In general, if a polynomial is a permutation polynomial in the second component code. The distance between and over , then an interleaver based on this permutation polyno- is denoted by mial can be defined as

If we fix , we can plot with respect to . Weare interested in points where and are close to each other. When In Fig. 1, plots of some interleavers are shown. In these we talk about points near , we mean points close to plots, the -axis is the input bit position and the -axis is the the line from both above and below (near the top of the plot). output bit position. Comparing random and S-random inter- For , the distance ’s for interleavers in Fig. 1 leavers (Fig. 1(a) and (b)), it can be observed that the points are shown in Fig. 2. Fig. 2(a)–(d) is for random, S-random, in S-random interleaver are distributed more uniformly in the quadratic, and permutation polynomial-based interleavers, re- plane. This property can help to avoid short error events in one spectively. The plots for random and quadratic interleaver are component code to be interleaved to short error events in the very similar and look random. At first glance, the plot for the other component code. Fig. 1(c) is for the quadratic interleaver. S-random interleaver is also similar to Fig. 2(a) and (c). But after It resembles the random interleaver in the way that we can a closer look, one can notice that there are no points near the also observe irregularity in the density of points in the plane. line. This is because for this S-random interleaver Fig. 1(d) corresponds to an interleaver generated by the permu- with , since , for all .For tation polynomial . The density of points in a permutation polynomial-based interleaver, the is very the plane is also not uniform. This characteristic is similar to regular. All the points are uniformly located along a few equally random and quadratic interleavers. We can also observe that separated horizontal lines. Similar to the S-random interleaver, there are some periodic patterns in the plot. This regularity does if the coefficients in are carefully chosen, there are no not necessarily imply a bad performance, which can be better points near the line. The remaining problem is how explained by considering the input weight error events. to select good coefficients. This is discussed in Section IV. An input weight error event is defined as an error event with two information bits in error. Each input weight error event of a TC corresponds to one input weight error event in each of IV. PERMUTATION POLYNOMIALS SEARCH the two component codes. We know that in TCs using random Interleavers based on different permutation polynomials have interleavers, input weight error events decide the effective free different performances. We are interested in finding the best per- distance and further decide the performance of the code in the mutation polynomial for a given component code and a given error floor region (high signal-to-noise ratio (SNR) [14]. For frame size. For a fixed frame size , the only variables are the permutation polynomial-based interleavers, this type of error degrees and the coefficients of the permutation polynomials. events is also an important factor. An input weight error event In this paper, we will focus on second-degree polynomials in the first component code can be represented by . . The first reason for this selection is (The pair indicates the locations of the two ’s in the error event.) to have the lowest possible complexity. A first-degree polyno- These two positions will be interleaved to and mial (linear interleavers) is the simplest one SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 105 among all permutation polynomials. However, as shown in [6], linear interleavers have very bad input weight error event char- acteristics, causing a high error floor at medium to long frame size cases. This leaves the second-degree polynomial the next in the chain. Another reason to consider second-degree poly- nomials is their relatively easy analysis. This will be shown in Sections IV-A–C. Fig. 3. Input weight Pm error events. Notice that the constant term just corresponds to a cyclic rotation in the interleaved sequence. It does not appear in the equal probability [14]. Using the uniform interleaver model, conditions for to be a permutation polynomial and it does for very high-SNR region, the decoding performance has been not affect the performance of the concatenated system if we dis- shown to be dominated by input weight error events. The min- regard boundary effects. Therefore, we can simply let it be zero imum distance associated with input weight error events is and consider polynomials of the form . called effective free distance [2] and has been used as a de- In this section, we will use the minimum distance (or the first sign criterion to select component codes to have a good error few spectrum lines) of a subset of error events of the TC as a floor performance. criterion to select the coefficients of the polynomials. Namely, we will only consider some error events with an input weight Permutation polynomial-based interleavers are not random. . Although these error events do not cover all possible error In some sense, they cannot be well approximated by a uniform events, due to the structure of the permutation polynomial-based interleaver. So considering the effective free distance may not interleavers, these error events have high multiplicity and the be enough. For example, for a linear permutation polynomial performance of the TC is usually dominated by them, especially , by carefully selecting the parameter , the effec- when the frame size is not very short. The benefit of limiting tive free distance can be designed to be very large. However, as to this subset is that these error events are relatively easy to be analyzed in [6], for a certain type of input weight error events, found and counted. The minimum distance for the limited set is the corresponding Hamming distance is small. Furthermore, the usually close to the real minimum distance and can be used as number of these input weight error events is proportional to an upper bound. We can also find the true minimum distance or the length of the frame, and cannot be controlled by selecting . the first few spectrum lines of the TC using the method in [15]. At least for a medium to high channel SNR, the performance is However, the complexity of doing this is relatively high. dominated by these input weight error events. In this paper, we assume that for each of the component con- We can think of the permutation polynomial-based in- volutional codes, a tail-biting trellis [16] is used. The end of terleavers as generalizations to the linear interleavers. It is the trellis is directly connected to the start of the trellis and no observed that the most frequent error events are of input weight flushing bits are used. For tail-biting trellises, a cyclic shift of an where , just like in the linear case. However, error event in one component code is also an error event. Fur- the number of these error events can be controlled by selecting thermore, it is possible that an error event starts near the end of the parameters and . Given the component codes, we can the trellis and wraps over to the head of the trellis. Due to this find parameters pairs with a good performance. phenomenon, we say that the error events are modulo . A typical input weight error event is shown in Fig. 3. The tail-biting assumption is used to simplify our analysis. This error event is composed of input weight error events By using this assumption, we can ignore any boundary effects (represented by dashed line segments) in each component code due to termination, which helps in finding and counting the error and these error events are interconnected via the interleaver events we are interested in. Unfortunately, since we are using (solid lines). In the figure, the th input weight error event in systematic recursive convolutional codes as component codes, the first component code begins at and has length . a tail-biting trellis does not always exist [17]. Some form of The th input weight error event in the second component termination has to be used. Some modulo error events will code has length . Each input weight error event can be broken by termination and the termination itself may intro- be represented by a pair of integers indicating the starting duce some extra error events. If we still find and count the error and ending positions in the corresponding trellis. Since we events modulo , some error will be introduced. However, the use the same systematic recursive convolutional code for both proportion of the modulo error events broken by termina- component codes, all ’s and ’s are multiples of the cycle tion is very small and the low-weight error events introduced length of the convolutional code. Here, the cycle length by the termination are usually of low multiplicities. Therefore, is defined as the cycle of the output of the encoder when the when the frame size is not very short, the modulo error events input sequence is . For example, for the recursive dominate the performance. We can still count the error events convolutional code with generating polynomial (from modulo and ignore the error introduced in the weight spec- now on, we will use the simple octal notation, for this trum estimation. example), with the previously mentioned input, the output sequence is . There is a cycle of A. Input Weight Error Events in the output and the cycle length . The cycle Long random interleavers can be approximated by uniform length equals the length of the shortest input weight error interleavers, which is a probabilistic device that interleaves a event minus .Wedefine error pattern to be the length given input position to any possible output positions with an vector . 106 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

For this input weight error event, we have two ends). Then the weight of the output with the input is . The total output weight for the error event is (3.1) (3.2) (7) (3.3) which contains the weight in both recursive component codes . . ( or ) and the weight of the sys- (3. ) tematic bits . For other component codes, only the term is different. (3. ) When some of the first-order error events overlap, the cor- (3. ) responding Hamming distance is smaller than computed using For such an input weight error event to be formed, all these (7) and can only be computed when all , , and are known. equations need to be satisfied. There are a total of vari- However, when is small, the number of such error events is ables in these equations. Among these variables, the ’s small and can be ignored for the same reason that we ignore the take value from to and both ’s and ’s are multiples boundary effect. In the following part of the paper, we will just of the cycle length . We will only consider ’s and ’stobe use (7) to compute the Hamming distance of an error pattern. small multiples of since large values are associated with large B. Search for Good Interleavers Using Effective Free Distance Hamming distances. To simplify the process of finding the error event, we will Although for deterministic interleavers, large does not convert (3) to a form that is easier to analyze. This is done by guarantee a good performance, small is usually associated computing . Using (3) and after some with a bad performance. We can use as a simple criterion to manipulations, we have rule out bad permutation polynomials. In this subsection, we are interested in constructing inter- leavers that do not map a short input weight error event in one component code to another short input weight error event (4) in the other component code. For random interleavers and quadratic interleavers, we have or simply no control over the input weight error events. We can at best state that the probability for such error events to appear goes to zero as the interleaver size goes to infinity. For S-random inter- leavers, by definition, input weight error events with length less than in both component codes can be avoided. Typically, (5) an S-random interleaver with can be found with reasonable complexity [2]. Of course, (5) by itself is not a necessary and sufficient condition When , an S-random interleaver will map to for such an input weight error event to appear. It needs to where . But for a given component code, there be combined with any out of equations in (3). This set are input weight error events only for some values of , namely, of equations will be used in the rest of the paper to check for an those that are multiples of the cycle length. Thus, in this sense, input weight error event. some of the ability of S-random interleaver is wasted. Using a Given an error pattern, if the first-order error events do permutation polynomial-based interleaver, we can select coeffi- not overlap, the Hamming distance of the error event can be cients such that we only avoid input weight error events tai- uniquely decided. This can be better explained by an example. lored for a given component code. In this way, we may break Assume the component code is the recursive code. The even larger input weight error events. cycle length is . Since all ’s and ’s are multiples of Let us restrict ourselves to polynomials of the form , they are in the common form of . Let the input be . . By Corollary 2.4, is a permutation Then the output is polynomial if none of the elements in vector (order of )is zero, and the vector (order of ) is an all-zero vector. Let be the length of the input weight error event in the first component code. Then must be a multiple of the cycle length . Let the order of be . Then the length of input weight error event in the other component code minus is (8) The coefficient of is , which, by Property 2.9, has (6) order .For , the first which is the summation of shifted versions of the output se- term of (8) is where . Each of quence with an input . The weight of the output sequence these values is taken times. If we plot this term with respect of the input is . (It does not include the ’satthe to ,wehave horizontal lines. The last two terms in (8) SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 107 are not related to . So they provide an offset to the horizontal TABLE I v ˜ aIT — lines. This justifies the plot of in the form of Fig. 2(d). COMPARISON OF FOR WITH DIFFERENT . TC WITH SaU OR UaS COMPONENT CODE To avoid short input weight error events, when is a small multiple of , we prefer all that are also multiple of to be far away from zero. In order to achieve this, we require the vector to be relatively large, so that there are fewer hor- izontal lines in the plot and we will be able to select the coefficients to move the far away from zero. Since When is not a factor of , the above is sufficient for the is relatively large, we are only interested in the first line of proof. When is a factor of , from the previous proof, without either above or below zero. Their distances to zero can loss of generality, we can assume . Let be represented by . Then

(9) Given , , and ,wedefine , where and are multiples of , and use it as a criterion to select (12) good interleavers. For a given component code, can be com- and . This finishes our proof. puted from . However, in the search for permutation poly- nomial-based interleaver based on comparing effective free dis- For a given and a fixed , according to the previous two tances, the cycle length is the only information we need to know lemmas, we can calculate and select good parameters. about the component code. For example, for the code, the cycle length is .For Before doing a search for good and , it is useful to limit the code, the cycle length is .For , , their ranges. This can be achieved by using the following two and .Ifwefix , which corresponds to , lemmas. the search results are shown in Table I. Lemma 4.1: For input weight error event analysis, if we For a frame size of , simulation results for TCs with write as , we can assume . component code and component code are shown in Figs. 4 Proof: From the assumption, is coprime to . By (9), and 5, respectively. The orderings of the performance are the for permutation polynomial , (9) becomes same as given by the criterion. Once is fixed, it seems that the effective free distance is a simple way to select good and for the permutation poly- For another permutation polynomial , (9) nomial. However, the effective free distance alone does not pro- becomes vide enough information to select . For example, it can be seen from (9) that the larger the , the better the opportunity to se- lect a good to achieve larger effective free distances. But from Compute computer simulations, it can be observed that the best perfor- mance of the permutation polynomial increases with up to a (10) certain degree. Then it starts to decrease. In order to explain this If is a factor of , since is coprime to , is odd and and find more accurate ways to select the parameters, we need is even. Then the right-hand side of (10) has an order to investigate higher input weight error events. at least .If is not a factor of , the right-hand side of (10) has an order at least and the computation C. Higher Input Weight Error Events is modulo . In both these cases We know that input weight error events are important for permutation polynomial-based interleavers. In order to find the minimum distance of this subset of error events, we need This implies that and have the same input weight to check these error events for small . (Large is usually error events, only their locations are different. From this point associated with large Hamming distance as shown in (7).) of view, these two polynomials are equivalent. As mentioned in the previous sections, for an input weight Lemma 4.2: For input weight error event analysis, given error event, among the variables ( , , and for , we only need to consider such that . ) that describe the error event, of them are in- Proof: We will use the result of Lemma 4.1 and let dependent. One way to find the error event is first to fix the error . pattern and then enumerate .Given Let . Then can be written as the error pattern and , all other can be computed using any .Wehave out of equations in (3). Finally, these values can be applied to the unused equation in (3) or (4) to verify if they form a valid error event. (11) Since permutation polynomial-based interleavers are highly which implies that . structured, we show next that it is not necessary to enumerate 108 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

Fig. 4. TC with SaU component code. Frame size IHPR. Second degree permutation polynomial-based interleaver (fix ˜ aIT, different —).

Fig. 5. TC with UaS component code. Frame size IHPR. Second degree permutation polynomial-based interleaver (fix ˜ aIT, different —). all from to . On the contrary, checking the range When from to is enough. Assume we have an error event as shown in Fig. 3. Each equation in (3) has the form (15) (13) and the interleaved points in the second component code also In the first component code, if we cyclicly shift all endpoints form a valid input weight error event. The smallest that of the first-order error events by any number , we still have a satisfies is . To summarize, valid input weight error event under the tail-biting assump- the input weight error events have a cyclic structure. If we tion. On the other side of the interleaver, after the cyclic shift, cyclicly shift all endpoints of the error event in the first (13) becomes component code by multiples of , we will still have a valid input weight error event for the entire TC. Thus, in searching for error events, it is sufficient to enumerate all from to . When is small, this method (14) is efficient. SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 109

For large frame sizes, is usually large, making Now we have the tool to find the relationship between and it time-consuming to enumerate . It is interesting to directly when we know . This is summarized in the solve for given the error pattern .In following theorem. order to do this, we prefer to write the constraints of the input Theorem 4.5: For given , , and ,if , weight error event with the given error pattern into a single then equation. In Section IV-A, an input weight error event is defined by (5) and equations in (3). Since we fix and , there are nonlinear equations and variables .How- (17) ever, in order to solve directly, we would like to transform these equations to a single equation with only one variable, . In other words, we need to apply equations in (3) to We provide a sketch for a proof of this theorem. For the pa- (5) and cancel , . In order to do this, we need to rameters given, we can compute all for . be able to solve the following problem: given , , , and ,if From Corollary 4.4, we know is a constant. Then we can , write as a function of . recursively compute , , etc., using their def- Before proceeding, we need some more definitions. Given a initions. All these computations are a summation of a series. permutation polynomial and a fixed ,define Finally, we can compute for all . Then by the definition a sequence such that of , . If we define when , then (17) can be written as

(18)

. Since is always an integer, will always be integer . (16) valued. However, it may not be a polynomial of . This is be- Then recursively define , cause may not be an integer. Since we do not know much , , etc. Note that all and about polynomials with fractional coefficients, it is preferred to are a function of , , and . somehow transform to an integer valued polynomial. We have the following theorem. Given ,define . can be written as Theorem 4.3: Given , , and , has the same order for all . If the order of is denoted as , then and for , which implies that Each term of is in the form of . Since , for all is also an integer and it is either equal to or coprime to . The order of is always a zero vector. Then the product is also an integer and it is either or is coprime to .Ifwe The proof for this theorem is given in the Appendix. multiply by , then we have . Since Since the order of is strictly increasing with respect to , it will eventually be larger than .If is the largest number such that , then . By the def- inition of , is a constant for all ’s. This result is summarized in the following corollary. it has a factor of and is an integer and Corollary 4.4: For given , , and ,if is the largest its order is . Next consider for . number such that , then is a constant Since for all . Note that is a function of , , , and . When the param- eters are not clear from the context, we will explicitly write (19) as a function, such as . If the in Corollary 4.4 is found, for all , . As we have shown previously, both Furthermore, if for all , the is known, all can be computed for all using the definitions of . and For example, , , etc. For the simplicity of the expressions, we will use to represent when the context is clear. When needs to be are integers. Then for is also an integer. Its specified, we will use the notation . order is still . 110 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

Using this result, it can be easily seen that is a Collecting terms with respect to , it becomes polynomial of with integer coefficients. This property will be used in the following parts. 1) Finding the Error Event by Solving Equations: Using Theorem 4.5, given an input weight error pattern , searching for error events (24) with the error pattern can be transformed into solving a poly- nomial equation. This is a polynomial of with possibly fractional coefficients. An error event can be formed if (4) holds. Applying the result For , we can find the in Corollary 4.4. Then multiply (24) of Theorem 4.5 to the first equations in (3), we have by . From the analysis in the previous part, the result is a polynomial with integer coefficients in the form of (25) where

. . (20) Applying (20) in (4), in general, we have a polynomial equation of . For a general polynomial equation, the complexity to find the solutions or even find the number of solutions is high [13]. (26) However, we have simpler methods to deal with polynomials associated with input weight error events for small .In and are integers and is a polynomial of . Further- this subsection, we will only consider and . more, since is either or is coprime to , multiplying by The input weight error pattern is the simplest case. Here will not change the solutions for (24). (20) is not used and (4) reduces to Now, let us check the order of terms in (26). We have shown that the order of is for .If (21) we expand the third term of to a polynomial of , all the This is a linear polynomial of in the form coefficients should have an order at least .If , . Since all the elements in (22) are positive, is strictly less than the order of the orders of all We know that (22) has a solution if and only if .If terms in . By Corollary 2.5, the polynomial of formed this condition is satisfied, we can divide (22) by . The result by is a permutation polynomial modulo . is a first-degree permutation polynomial modulo and In order to apply Corollary 2.5 to case, we require that there is a unique solution. If is the solution modulo , (27) all for any are solutions to (22) modulo . Then, for (22), there are exactly solutions. In most cases, Since we are interested in small Hamming distance error events, we are only interested in the Hamming distance of the error and are usually small, which implies that is also event and the multiplicity for such a Hamming distance. It is small. The above condition is usually satisfied. not necessary to find out the exact location of the error event. Given an error pattern , first we need to verify So instead of solving (22), what we need to do is just check that (27) holds. (In our search, we have never observed a case if . If true, then we add the multiplicity of to when this does not hold). Then similar to the input weight the corresponding spectrum line. The Hamming distance of the case, we only need to check if for the error pattern. error event is directly decided by its error pattern using (7). If it is true, error events with this error pattern exist. If we Equation (4) is more complex for the cases. How- are only interested in the spectrum, we do not need to solve the ever, we can show that, under some mild conditions, at least for equation and only and need to be computed for and , (4) can still be transformed to a permuta- the error pattern. tion polynomial when (20) is applied. For larger , we conjec- For the input weight error event, we can use the same pro- ture that the same is also true. Here, we do not consider larger cedure as for the input weight error event analysis. Equation cases in our minimum distance computation for they usually (4) will be finally reduced to the same form as in (25). Similar correspond to larger Hamming distances. We will satisfy our- to the input weight case, a factor needs to be multiplied to selves by proving the cases for input weights and . the equation to transform it into a polynomial with integer co- For the input weight case, using (20), (4) becomes efficients. Here . Then in (25)

and the coefficients of have orders at least equal to (23) SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 111

The condition to apply Corollary 2.5 is that where , and the coefficients of have higher order than . We are still interested in the (28) error pattern that every is a solution. We discovered that the error patterns of the form This is usually the case when ’s are small. Then are critical. (Since we require is a permutation polynomial modulo . As in the input and to avoid some double counting, many other weight case, we can compare and to see if error events critical error patterns are equivalent to this one). The error with such an error pattern exist and find the multiplicities of the pattern that corresponds to the smallest Hamming distance is error events. If one is only interested in the spectrum, there is no when and . need to solve the equation and only , , , For this error pattern, we have . need to be computed for the given error pattern. Then and reduce to 2) Upper Bounds on : From input weight error event (32) analysis, we have the result that, given , the larger the , the (33) larger the flexibility we have to choose good interleavers and the better the performance. But from simulations, we can observe In order to proceed, we need two lemmas. that the best possible performance for permutation polynomial Lemma 4.6: has order . interleaver grows with up to a certain value. Then the perfor- Proof: Let and , where mance degrades again. We can use Theorem 4.5 to find some . By the definition of , we know simple upper bounds for . and .Define , then . Since a) Upper bound on from input weight error events: ,wehave We start from (25). When , assuming condition (27) holds, then when , if a solution of exists for (25), (34) an error event exists for the given error pattern starting at the . Rewriting it as a polynomial of ,wehave One special case is that, for some error pattern, every from (35) to is a solution. This will lead to a spectrum line with high multiplicity, which may dominate the performance even if which is a permutation polynomial of and the solution for it is not the minimum distance. Let us consider and has the same order as the term . The order of ,or , . Then and in (26) become is known by Theorem 4.3 to be . Thus, has an order and , respectively. It is easy to see that . . All coefficients in have a larger order than .If Lemma 4.7: has an order at least (which contains the case that some elements in are . larger than the corresponding elements in numerically), then Proof: Assume we have , , , and such that (25) becomes an all-zero polynomial. Trivially, every possible (36) is a solution to the polynomial. This special case places an upper bound for such that we (37) require that has at least one element larger than the corre- (38) sponding element in . (39) An interesting special case exceeding this upper bound is Then and .Define , which implies that . The permutation and . Then polynomial reduces to a linear interleaver. Now the error event . Applying this in (37) and (39), we have can be described as

(29) (40) It is easy to see that when and , (29) trivially This is a permutation polynomial of . From the previous holds. Obviously, every is a solution. This is exactly why lemma, we know has an order . Then in the a linear interleaver has many input weight error events and constant term in (40), both and have an order cannot work well at medium to long frame sizes. and the other terms have higher orders. So the b) Upper bound on from input weight error events: order of is at least . Stronger results may exist For the input weight error event case, we also start from (25). but this is sufficient for our current purpose. Assuming the condition (28) holds, then Now we return to (32). The order of and can be found using the above two lemmas. is at least and is at least . When each element in is not larger than the corresponding element in , both and are zero modulo and all ’s are solutions to the (30) equation. This can serve as another upper bound for . This upper bound in is not stringent. If the error pattern (31) corresponds to a large enough Hamming distance, then even 112 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005 though the multiplicity is high, the effect in the performance TABLE II can be low. As shown in (7), the Hamming distance of the error BEST PERMUTATION POLYNOMIALS FOR DIFFERENT COMPONENT CODES.FRAME SIZE PST event is . For example, for the recursive code, . The Hamming distance is . For the recursive code, , the Hamming distance is and for the recursive code, and the Hamming distance is . Sometimes, for a code with a large cycle length, this upper bound on can be relaxed. 3) Range of and to Search: In order to search for good second-degree permutation polynomials for the interleaver, we need to select the range of and to be searched. It is shown in The inequalities (43) and (45) are used to guarantee that the or- Lemmas 4.1 and 4.2 that, for input weight error events, if ders of and are dominated by and , respec- is fixed, we can pick and consider from to . tively, when and . In the following analysis, we Unfortunately, for general error events, we only have a similar assume that these conditions are satisfied. result for the range of . When , applying this to (26), we have Theorem 4.8: For second-degree permutation polynomial- based interleavers, we only need to consider in the range be- tween and . and Proof: Consider and . Assume we have an error event of input weight for the code using based interleaver. The positions of Then .If , the errors are at in the first component code . If (45) holds, . and in the second component code. In both these cases, and no solution exists for (25). Consider the code based on . Assume there are errors at The same result can be derived for (41). in the first component code. Then When and (43) holds, . Let us compute

is a shift of by . Thus, the same error event can be found in a code using both interleavers. The only (46) difference is that the error positions are cyclicly shifted to the The two terms in (46) have orders at least left by in the first component code and by in the second and , respectively. They are both higher than component code. The spectrums of the two codes are the same. the . Since the difference between and has higher order than , . Thus, we proved that can For input weight error events, in general, we have to search be limited to the ranges in Lemma 4.1 when conditions in (43) all and all for given . This is tedious. However, and (45) hold. it can be shown that under some conditions, we can still use the For input weight error patterns, a similar sufficient condi- limited ranges of given in Lemma 4.1. More precisely, we only tion can be derived. However, the form of the sufficient condi- need to consider . This is equivalent to showing tion becomes very complex and will therefore be omitted. that, under some conditions, if we replace by , the same error Although not all input weight and error patterns satisfy pattern exists in both cases with the same multiplicity. these sufficient conditions, it seems that most of the error pat- If we replace by in (25), it becomes terns that correspond to the first few spectrum lines do. Further- (41) more, in our permutation polynomial search, it can be observed that extending to more general and usually cannot generate Since ’s are functions of and ,in and , will significantly better permutation polynomials. Therefore, in our be used instead of . However, and have the search for the polynomials using input weight error events same order. spectrum, we will only consider and . Showing that the same error pattern exists in both cases, it is equivalent to showing that (25) and (41) have the same number V. R ESULTS of solutions for the error pattern. This is further equivalent to show that and . One sufficient Given the frame size and the component code, our search condition for this to happen is both for good permutation polynomial-based interleavers is basically an enumeration of and for the polynomial. First we need to or (42) enumerate . From the analysis in Section IV, should be (43) relatively large but bounded by some constraints due to some and special input weight and error events. Once we fix ,we let and enumerate all the is in the range specified in or (44) Theorem 4.8. In this section, we will present some examples for (45) the polynomial search for different component codes. SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 113

Fig. 6. TC with UaS code. Frame size PST.

Fig. 7. TC with SaU code. Frame size PST.

We consider six different systematic recursive component In all these simulations, the permutation polynomial-based codes shown in the first column of Table II. Their corresponding interleavers perform better than quadratic interleavers, which cycle lengths are from to , respectively. In this section, we have a similar performance as the average of random inter- will only consider frame sizes . Then and all leavers. Comparing to S-random interleaver, the permutation the orders are scalars. polynomial-based interleavers also have a better performance For the frame size , the best permutation poly- for both bit-error rate and frame-error rate. nomials found for the TC using these component codes are We also find the best permutation polynomial-based inter- shown in Table II. The corresponding minimum distance of leavers for TC with recursive component codes at frame the input weight error events and its multiplicity are also sizes and . They are based on polynomials shown. Computer simulation results comparing with S-random and , respectively. The simu- interleaver and quadratic interleaver are shown in Figs. 6–11. lation results are shown in Figs. 12 and 13. For very long frame 114 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

Fig. 8. TC with QUaPI code. Frame size PST.

Fig. 9. TC with PIaQU code. Frame size PST. sizes, the performance of permutation polynomial-based inter- first few spectrum lines) of an important subset of error events, leavers are not as good as the S-random interleavers but much which can be used to well approximate the real minimum dis- better than quadratic interleavers. tance. Based on the approximated minimum distance, a limited search for good interleavers has been performed. The new in- terleaver is compared with the S-random interleaver and the VI. CONCLUSION quadratic interleaver. For short frame sizes, good interleavers In this paper, we introduced permutation polynomial-based that outperform the S-random interleavers have been found. For interleavers for TCs. This is a class of deterministic interleavers, long frame sizes, the permutation polynomial-based interleavers and the interleaving (de-interleaving) can be done using a simple have a performance close to the S-random interleavers. The new arithmetic computation instead of a table lookup. Given the pa- interleavers outperform quadratic interleavers (which are known rameters of the generator polynomial for the interleaver, we can to have a similar performance as random interleavers) for all use polynomial solving to find the minimum distance (or the frame sizes. SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 115

Fig. 10. TC with QUaPS code. Frame size PST.

Fig. 11. TC with PQaQS code. Frame size PST.

APPENDIX PROOF OF THEOREM 4.3 which implies In this appendix, we prove Theorem 4.3. Induction is exten- sively used in the proof. for (48) Theorem 4.3 claims that, for fixed , , and These can be proved by using induction on . 1) has the same order for all , As the first step of the induction, we need to show that 2) , and has an order and has an order .By 3) definition for (47) 116 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

Fig. 12. TC with SaU code. Frame size IHPR.

Fig. 13. TC with SaU code. Frame size ITQVR.

Then by (51), the order of is . From the (49) definition of ,wehave we have (52)

(50) As has an order and has an order , which is strictly larger than , must also have order . Applying this to ,we By alternately using (51) and (52), we can show that all have have an order and all have an order . (51) Next, we need to find the order of using the order of . which is a permutation polynomial of and has the Starting from (51), we can define same order as . Since and is a permutation polynomial, the order of is . SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 117 and using , , By regarding (53) as a second-degree polynomial of , , we can inductively show that it is easy to see that all are permutation polynomials and has the form of has the same order as the term . Before finding the orders of all ’s, we need to derive a compact expression for . From (51), . We can use (56) to inductively compute . For example (53) (57) where is a term that contains ,but not , and ’s are integers defined for and . . For convenience, for all other and ,wedefine . (58) . We can verify that (51) satisfies (53) with . It can be observed that For ,wehave (59)

where forms a matrix. If we define , (59) can be written in a matrix form

(60)

Inductively, we can show that when and for other and ,ifwedefine and if

(61)

It can be verified that and satisfy (59). Applying (59) in (56)

(54) where , and

for (55)

It can be verified that . The term in (54) satisfies

(56)

It contains , but not . Thus, we proved that (53) is true for all . (62) 118 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 1, JANUARY 2005

(64)

otherwise.

where ’s are matrices for .Define to for . By (48), the first be a vector such that term has an order

Then The term in the form of has an order

which is strictly larger than the order of the first term. Thus, the order of the first term in (59) is the order of , which is

(65)

(63) This concludes our proof.

More precisely, see (64) at the top of the page. It is straight- ACKNOWLEDGMENT forward to check that (61) satisfies (64). So we proved that The authors would like to thank Prof. Michael P. Fitz from satisfies (59). the University of California at Los Angles for his active involve- Now we can find the order of all ’s. Note that at this ment in the research covered in this paper. They would also like step of the induction, the orders of to thank the anonymous reviewers for their helpful suggestions. are known and satisfy (47) and (48). We claim that the order of is decided by the first term REFERENCES of (59), . From the previous step in the induction, [1] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit we know error-correcting coding and decoding: Turbo-codes,” in Proc. Int. Conf. Communications, Geneve, Switzerland, May 1993, pp. 1064–1070. [2] D. Divsalar and F. Pollara, “Turbo codes for PCS applications,” in Proc. Int. Conf. Communications, Seattle, WA, Jun. 1995. [3] H. R. Sadjadpour, N. J. A. Sloane, M. Salehi, and G. Nebe, “Interleaver design for turbo codes,” IEEE J. Select. Areas Commun., vol. 19, no. 4, Then the first term of (59) has an order pp. 831–837, May 2001. . It is enough to show that all other terms have larger order. [4] C. Fragouli and R. D. Wesel, “Semi-random interleaver design criteria,” in Proc. GLOBECOM’99, 1999, pp. 2352–2356. Consider the th column of , the first nonzero element is [5] F. Daneshgaran and M. Mondin, “Design of interleavers for turbo codes: .For Iterative interleaver growth algorithms of polynomial complexity,” IEEE Trans. Inf. Theory, vol. 45, no. 5, pp. 1845–1859, Sep. 1999. [6] O. Y. Takeshita and D. J. Costello, Jr, “New deterministic interleaver designs for turbo codes,” IEEE Trans. Inf. Theory, vol. 46, no. 6, pp. 1988–2006, Sep. 2000. [7] Recommendations for Space Data System Standards. Telemetry Channel Coding, Consultative Committee for Space Data Systems Std. CCSDS is an integer. This implies that is a multiple of and 101.0-B-4. Blue Book, May 1999. . Also, since and , we know [8] L. Perez, J. Seghers, and D. Costello, “A distance spectrum interpre- tation of turbo codes,” IEEE Trans. Inf. Theory, vol. 42, no. 6, pp. the order of and by the previous steps of the induction 1698–1709, Nov. 1996. and for . Combining these two results, [9] S. Crozier and P. Guinand, “Distance upper bounds and true minimum distance results for turbo-codes designed with DRP interleavers,” we can see that in (59) the order of term in Proc. 3rd Int. Symp. Turbo Codes, Brest, France, Sep. 2003, pp. is strictly larger than the order of for 169–172. [10] C. J. Corrada-Bravo and I. Rubio, “Deterministic interleavers for turbo . Then, in order to find the order of , we only codes with random-like performance and simple implementation,” in need to consider the first term in (59) and terms in the form Proc. 3rd Int. Symp. Turbo Codes, Brest, France, Sep. 2003. SUN AND TAKESHITA: INTERLEAVERS FOR TURBO CODES USING PERMUTATION POLYNOMIALS OVER INTEGER RINGS 119

[11] R. L. Rivest, “Permutation polynomials modulo P ,” Finite Fields Their [15] R. Garello, P. Pierleoni, and S. Benedetto, “Computing the free distance Applic., vol. 7, pp. 287–292, 2001. of turbo codes and serially concatenated codes with interleavers: Algo- [12] G. H. Hardy and E. M. Wright, An Introduction to the Theory of Num- rithm and applications,” IEEE J. Select. Areas Commun., vol. 19, pp. bers. Oxford, U.K.: Clarendon, 1975. 800–812, May 2001. [13] W. W. Adams and L. J. Goldstein, Introduction to Number Theory. En- [16] H. H. Ma and J. K. Wolf, “On tail biting convolutional codes,” IEEE glewood Cliffs, NJ: Prentice-Hall, 1976. Trans. Commun., vol. COM-34, no. 2, pp. 104–111, Feb. 1986. [14] S. Benedetto and G. Montorsi, “Unveiling turbo codes: Some results on [17] P. Stahl, J. B. Anderson, and R. Johannesson, “A note on tailbiting codes parallel concatenated coding schemes,” IEEE Trans. Inf. Theory, vol. 42, and their feedback encoders,” IEEE Trans. Inf. Theory, vol. 48, no. 2, pp. no. 2, pp. 409–429, Mar. 1996. 529–534, Feb. 2002.