A code-matched interleaver design for turbo codes - Semantic Scholar

Report 2 Downloads 128 Views
926

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 6, JUNE 2002

A Code-Matched Interleaver Design for Turbo Codes Wen Feng, Member, IEEE, Jinhong Yuan, Associate Member, IEEE, and Branka S. Vucetic, Senior Member, IEEE

Abstract—A code-matched interleaver design for turbo codes in which a particular interleaver is constructed to match the code weight distribution is proposed. The design method is based on the code distance spectrum. The low weight paths in the code trellis which give large contributions to the error probability in the signal-to-noise ratio region of interest for practical communication systems are eliminated so that they do not appear in the overall code trellis after interleaving. The proposed interleaver improves the code error performance at moderate to high signal-to-noise ratio and considerably increases the asymptotic slope of the error probability curves. Index Terms—Distance spectrum, interleaver design, relative contribution integral, turbo codes.

I. INTRODUCTION

I

NTERLEAVING is a process of rearranging the ordering of a symbol sequence. It has been widely used in conjuction with error control coding for channels that exhibit bursty error characteristics and in concatenated codes, particularly in the turbo codes proposed in [1] and [2]. The interleaver in turbo codes is used to permute the input bits such that the constituent encoders are operating on the same set of input bits, but in different order. The basic role of the interleaver is to construct a long random code. The interleaver provides “scrambled” information data to the second constituent encoder and decorrelates the inputs to the two decoders, so that an iterative suboptimum decoding algorithm based on “uncorrelated” information exchange between the two constituent decoders can be applied. Moreover, the interleaving process changes the weight distribution of turbo codes. There are a number of interleavers that have been used in combination with turbo codes. A block interleaver formats the input data in a matrix of rows and columns such that the in. The input data are written along the terleaver size is rows of the matrix and then read out along the columns [3]. The “simile” interleaver proposed in [4] is a type of block interleaver which terminates both constituent encoders in the same state. The pseudorandom interleaver is a variation of the block interleaver in which the data is written sequentially and read out in a pseudorandom order [5]. The -random interleaver proposed Paper approved by P. Hoeher, the Editor for Coding and Communication Theory of the IEEE Communications Society. Manuscript received January 9, 1999; revised December 15, 2000 and June 25, 2001. W. Feng is with Telstra Research Laboratories, Telstra Corporation, NSW 1100, Australia (e-mail: [email protected]). J. Yuan is with the School of Electrical Engineering and Telecommunications, The University of New South Wales, Sydney, NSW 2052, Australia (e-mail: [email protected]). B. S. Vucetic is with the School of Electrical and Information Engineering, The University of Sydney, Sydney, NSW 2006, Australia (e-mail: [email protected]). Publisher Item Identifier S 0090-6778(02)05551-4.

in [6] is an improved version of the pseudo-random interleaver. The -random interleaver can “spread” low weight input patterns to generate higher weight codewords, hence can achieve better performance compared to pseudorandom interleavers. In a convolutional interleaver, the data is multiplexed into and out of a fixed number of shift registers [7]–[9]. An example of a convolutional interleaver is described in [9]. A class of algebraic interleavers that permute a sequence of bits with nearly the same statistical distribution as a randomly chosen interleaver is presented in [10]. A prime interleaver is proposed in [11]. The proposed interleaver is based on block interleaving and can make turbo code generate codewords with a good Hamming weight. It is known that the asymptotic turbo code error performance is dominated by the code free distance. Due to the relatively small free distance of turbo codes, the bit error probability curve is almost flat in this region. This is often referred to as the “error floor” [12]. The bit error rate upper bounds presented in [13] can be used in estimating the “error floor.” Following the performance analysis of turbo codes [12], [14], [15], the effect of the interleaver on the code distance spectrum is attracting a lot of interest. An interleaver can be designed to break low weight input sequence patterns, which produce low weight parity-check sequences at the output of one of the constituent encoders, so that the input sequences to the other constituent encoder will generate high weight parity-check sequences. Recently, some work has been done in the interleaver design based on weight distribution of turbo codes. In [16], turbo code design is combined with interleaver design. Code design is used to improve performance at low signal-to-noise ratios (SNRs) and interleaver design is used to improve the code performance at high SNRs. In [17], the interleaver is designed in such a way that at least one encoder output has a relatively high weight whenever the other encoder has a low weight output. The input information sequences with weights 2, 3, and 4 are considered in the interleaver design. The proposed design method is only suitable for short interleaver sizes since its complexity increases rapidly as the interleaver size grows. In [18], a large number of interleavers are constructed and then the best interleaver within them is selected to avoid the worst input sequences combination. A gain of 0.1– 0.2 dB relative to a pseudorandom interleaver is observed at a bit error rate (BER) below 10 . An interleaver design based on the minimization of a function related to the output bit error probability was proposed in [19] and about 0.4-dB gain is achieved relative to a random interleaver at a BER 10 . All these interleavers only show an improved ). coding gain at low BER (e.g., It is pointed out in [16] that at low SNR, the interleaver size is the main factor that affects the code performance. However, at medium to high SNR, the error performance is determined by the first several spectral lines, so both interleaver size and

0090-6778/02$17.00 © 2002 IEEE

FENG et al.: CODE-MATCHED INTERLEAVER DESIGN FOR TURBO CODES

927

interleaver structure are important. Hence, it is possible to design interleavers which can reduce the effect of low weight distance spectral lines on the error performance and effectively improve performance at medium to high SNR and reduce the “error floor.” In this paper, we present a code matched interleaver design method which is based on the analysis of the code performance and distance spectrum. In this approach, the distance spectrum of a particular turbo code is calculated first and then the influence of different spectral lines on the BER performance is estimated. Next, various spectral lines are weighted according to their contributions to the performance. Finally, a number of most significant spectral lines which have large contribution to the performance are eliminated resulting in a higher coding gain for a constant interleaver size. The code matched interleaver offers a superior performance at a SNR range corresponding to the BER below 10 . The remainder of the paper is organized as follows. In Section II, an effective method to calculate the distance spectrum of turbo codes is described. The distance spectrum of turbo codes with a uniform interleaver [14] is calculated and the analysis of the BER performance is given. Section III presents the interleaver design criteria based on the BER performance analysis and code distance spectrum. Section IV describes an effective method to construct a code matched interleaver. The design rules can be used for any turbo code and interleaver size. Section V presents the simulation results and the analysis of the proposed interleaver, and the conclusions are given in Section VI.

in (1) can be calculated by the fast algorithm described below. The uniform interleaver proposed in [14] is used in the calculation. The encoding process of convolutional codes can be represented by a trellis diagram. Let us denote by the total number of states in the code trellis. We define the state input-redundancy weight enumerating function (SIRWEF) of the equivalent block code of the turbo code with interleaver length as (2) is the number of paths in the trellis entering where with information weight and parity-check state at time and are dummy variables. Assuming that the enweight , coding process starts at state 0 at time 0 and terminates at state 0 at time , then the input-redundancy weight enumerating function (IRWEF) of the equivalent block code is [14] (3) denotes the number of codewords generated by where an input information sequence of Hamming weight whose parity-check bits have Hamming weight . Let us denote the SIRWEF of two constituent convolutional and , respectively. codes by code, the SIRWEF of the first constituent code For a rate can be represented as (4)

II. CODE PERFORMANCE ANALYSIS A rate turbo code with memory , where is the information sequence length and is the encoded sequence length, which consists of two convolutional codes with an interleaver length , can be represented by an equivalent block code, if the trellis termination is used to drive the constituent encoders to the all zero state. It is possible to drive both constituent encoders to terminate in the all state by the dual tail-biting proposed in [20]–[22]. However, the trellis termination does not affect the interleaver design. The bit error probability of an equivalent block code decoded by a maximum-likelihood algorithm over an additive white Gaussian noise (AWGN) channel can be upper-bounded by a union bound [16]

where and are the information weight and the parity-check , is the number of paths with inweight, respectively. formation weight and parity-check weight entering state at time . For each time , can be calculated recursively as follows: (5) where and are the states in the trellis, is the time instant, is the input symbol that causes the state transition from to at time , and can be obtained as (6)

(1) is the signal-to-noise ratio per where is the code rate, is the minimum Hamming distance, is information bit, the error coefficient which is equal to the average number of bit errors caused by the transition between the all-zero codeword ). The function is and codewords of weight ( defined as

The set of all pairs of ( ) represents the turbo code distance spectrum. It determines the contribution of the codewords with the same weight to the bit error probability.

where is the information weight of the paths entering state at time , is the parity-check weight of those paths at time , is the weight of the input information symbol that and is the weight of causes the state transition the parity-check symbol of the codeword generated by the state . For a turbo code with an interleaver of size transition , the SIRWEF can be computed recursively from (5). The derivation of the SIRWEF for the second constituent is the same as the derivation of . The code IRWEF of turbo codes in (3) can be obtained from the SIRWEF of the two constituent codes as (7)

928

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 6, JUNE 2002

(a)

(b)

(c)

(d)

Fig. 1. Relative contribution of the various distance spectral lines to the overall BER performance for various interleaver size 8, 9 , 10, 11, 12, 13, 14 for the 1/3 rate code with the generator matrix G [1; (1 + D )=(1 + D + D )].

=

The error coefficient of the turbo code can be computed then as (8)

N , and codeword weights = 7, d

where . Its relative contribution to the total BER can be represented as (10)

From the code distance spectrum, we can obtain the contribution of each spectral line to the BER performance. The contribution of a spectral line with distance to the overall BER, , can be written as denoted by (9)

Then the contribution of the spectral line in an SNR range is obtained as (11)

FENG et al.: CODE-MATCHED INTERLEAVER DESIGN FOR TURBO CODES

TABLE I RELATIVE CONTRIBUTION INTEGRAL F

929

few low weight spectral lines determine the code performance. For the interleaver design, it is important to identify the input sequences which generate the codewords corresponding to these significant spectral lines. Table II lists all these input sequences. In Table II, the input weight is the weight of the input sequences and the parity-check weight is the weight of the corresponding parity-check sequences of one constituent code. For example, if a weight-4 input sequence generates a weight-2 parity-check sequence at the first encoder and a weight-6 parity-check sequence at the second encoder, it will generate a codeword with a total Hamming weight of 12 ( ); if a weight-4 input sequence generates weight-4 parity-check sequences in both encoders, it will generate a codeword with total Hamming weight ). As shown in Table I, the strongest of 12 as well ( contributions in performance at medium to high SNR (2–8 dB) come from codewords with weights 10, 7, and 12. From Table II, these codewords are generated by the input patterns with weight 2, 3, 4, 6, and 8. The contribution from codewords with weight 9 is the next strongest, but much weaker. They are generated by weight-3 and weight-5 input patterns. Codewords with weight-8 can only come from input weight-4 patterns, and the contribution is even smaller. Obviously, the code performance can be improved by eliminating the codewords that have considerable error contributions to the performance. This can be done by disallowing the input patterns that generate these codewords. An interleaver design method based on this approach is presented in the next section.

(%)

III. CODE MATCHED INTERLEAVER DESIGN

where is called contribution integral and and are specican be further normalized as fied SNR values. (12) is called the relative contribution integral. The relwhere accurately represents the relaative contribution integral tive contribution of each spectral line in a SNR range. It will be used as the criterion to determine the contribution of each spectral line in a SNR region. Fig. 1 shows the relative contribution of low weight spectral lines to the total BER performance for a rate 1/3, 4 state turbo code with generator matrix and an interleaver size of 64, 256, 512 and 1024 bits. The relative contribution integral for this code in the SNR range of 0–2 dB and 2–8 dB, interleaver size of 1024 bits is shown in Table I. From Table I, it is clear that at low SNR (0–2 dB), a large number of medium weight spectral lines determine the code performance. The influence of low weight spectral lines can be ignored. No individual spectral line is significant to the performance. However, at a medium to high SNR range (2–8 dB), a

From the previous code performance analysis, the design criteria of a code matched interleaver can be formulated as follows. 1) Eliminate low-weight codewords with significant contributions to the error performance. 2) Reduce the number of other low-weight codewords which could not be eliminated. The elimination of a specific codeword can be done by breaking up the input pattern that generates that codeword. be a binary sequence at Let , the input of the interleaver with length , where . The interleaver permutes the binary sequence to a binary sequence , where , . The output sequence has all the elements of but in a different order. There is a one-to-one correbetween each element of and . Let us spondence . The interleaver can then define a set as : be defined by a one-to-one index mapping function , . We define a mapping condition set, denoted by , as a set of all conditions that need to be satisfied simultaneously in the interleaving process. The mapping condition set can be constructed from the proposed code matched interleaver design criteria. In order to get an insight into the construction of the mapping condition set , let us consider an example of the turbo code with two identical half rate constituent codes with generator matrix , where is the feedback polynomial. Assume that the first encoder receives the input sequence and generates the output pair ( ), while the second encoder

930

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 6, JUNE 2002

TABLE II INPUT SEQUENCES WHICH GENERATE SIGNIFICANT LOW WEIGHT CODEWORDS

takes the interleaved input sequence and generates the output ). and are the parity-check sequences genpair ( erated by the first and the second encoders, respectively. The length of the input sequences is equal to the interleaver size . and , by Let us denote by the input weight of the weight of and by the weight of . The overall weight of the generated codeword is given by (13)

input to the second encoder, polynomial form as

can be represented in the

where

and is the time delay, . Let us denote by the minimum weight of the parity-check sequence generated by an weight-2 input pattern. Then the parity-check weight of the weight-2 input patterns is given by (14)

A weight-2 input sequence that generates a finite weight codeword can be represented by a polynomial

and . The overall weight of the where generated codeword can be calculated from (13) and (14) as: (15) where , and is the minimum distance between two “1”s in the weight-2 input pattern that generates the finite . The weight codeword and is the time delay,

Let us denote by and input sequence, where

the positions of “1”s in the weight-2 , by the positions

FENG et al.: CODE-MATCHED INTERLEAVER DESIGN FOR TURBO CODES

931

Fig. 2. A weight-2 input sequence is mapped to a sequence with the same pattern.

of “1”s in the interleaved input sequence, where . If an interleaver mapping function meets the following condition and

(16)

this interleaver will map the input sequence to another weight-2 input sequence that generates a finite weight parity-check sequence, as illustrated in Fig. 2. Both encoders generate finite weight parity-check sequences which is detrimental to the overall code error performance. The resulting codeword will have a finite weight given by (15). In order to avoid this type of mapping, the mapping condition set should satisfy the following conditions: whenever (17) However, only those input patterns that generate low weight codewords with large contributions to the performance need to be eliminated in the interleaver design. Let us denote by the maximum weight of the codewords generated by the weight- input patterns that should be eliminated by for a specific code can be interleaving. The value of determined by the relative contribution integral of Section II. For the weight-2 input patterns, we only focus on the patterns . From that generate codewords with weight no larger than (15), we have

Each randomly selected integer is compared to the previously selected integers. If the absolute value of the difference between the current selected integer and any of the previous selected integers is smaller than , then the current selected integer is rejected. An interleaver with the -random constraint can either break a short weight-3 input pattern with lengths up to or expand it to a longer one with lengths more than . These longer input patterns will produce higher weight codewords [23]. This holds for other higher weight input patterns that generate codewords consisting of a single error event, where an single error event is defined as a path in the trellis that diverges from the all-zero state and then remerges with the all-zero state within a finite number of branches. In general, for all input patterns that generate a single error event, an -random interleaver or excan either break the input patterns with length up to pand these input patterns into longer error patterns with lengths for any constituent code, where is more than the weight of the input patterns. Now we will focus on the higher weight input patterns that generate compound error events. A compound error event is defined as a concatenation of two or more single error events. Let us consider weight-4 input sequences that generate compound error events consisting of two single error events, which are generated by two weight-2 input patterns. The weight-4 input sequences can be represented by a polynomial

(18)

where

, and and are time delays with . The input to the second encoder, , can be represented in the polynomial form as

(19)

where

which is equivalent to

In the case of the weight-3 input patterns that generate low weight codewords, the mapping from one weight-3 input pattern to another weight-3 input pattern that generate low weight codewords is not easy to make. Nevertheless, a similar method described above can be used to break those patterns. Another method that can be used to break these patterns is the -random constraint. The -random constraint is defined as follows [6].

, and and are time delays with . The overall weight of the generated codeword can be calculated from (13) and (14) as

(20) and Let us denote by , , weight-4 input sequence, where

the position of “1”s in the and and

932

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 6, JUNE 2002

Fig. 3. A weight-4 input sequence is mapped to another weight-4 input sequence.

. Let us denote by and the positions of “1”s in the interleaved input sequence, where and . If an interleaver mapping function meets the following conditions and

In order to avoid this type of mapping, the following condition should be added to

and whenever and

and or

or and and and

this interleaver will map the input sequence to another weight-4 sequence that includes two weight-2 input patterns, which generate finite weight parity-check sequences, as shown in Fig. 3. Both encoders generate finite weight parity-check sequences. The resulting codeword will have a finite weight given by (20).

whenever and

(21)

As in the case of weight-2 input patterns, only those weight-4 input patterns that generate low weight codewords, which have

FENG et al.: CODE-MATCHED INTERLEAVER DESIGN FOR TURBO CODES

large contributions to the error performance, need to be eliminated. Therefore, only the weight-4 input patterns that genare considerate codewords with weight no larger than ered. From (20), we have

which is equivalent to (22) on code error The effect of input patterns with weight performance is small and they can be typically broken by the -random constraint [23]. Therefore, these input patterns are not important and do not need to be considered in the interleaver design, provided the conditions of breaking weight-2, weight-3, and weight-4 input patterns are satisfied. From the above discussion, we can conclude that the proposed interleaver mapping condition set can be constructed by combining conditions (17), (19), (21), (22) and the -random constraint. The final interleaver mapping set includes the following conditions: whenever 1) and ; and 2) whenever and and ; or and whenever and and ; where is a design parameter which is an 3) is selected to enable one to break integer. The value of the weight- input patterns that generate a single error . event with a weight smaller than or equal to The three conditions in should be satisfied simultaneously. To illustrate how condition set is applied in a particular interleaver design, let us design a code matched interleaver for the 4 state turbo code described in Section II. From Table I, the codewords that should be eliminated are those with weights 7, 9, 10, 11, 12, 13, 14, 16, 18, and 20. From Table II, the codewords with weights 7, 9, 11 and 13 are generated by input patterns with weights 3, 5, 7, and 9. The codewords with weights 10, 12, 14, 16, 18 and 20 are generated by input patterns with weights 2, 4, 6, 8, 10 and 12. As mentioned before, in the interleaver design we consider the input patterns with weight no larger than 4, so and . For this particular code, the weight-2 input pattern that generates the minimum weight parity-check sequence is

It generates the parity-check sequence

Therefore , set for this code is 1) and

. The interleaver mapping condition whenever ;

933

2)

and whenever and and ; or and whenever and and ; (For this particular code, 12 is the minimum 3) value of for breaking the weight-3 and weight-4 input patterns that generate a single error event with weight smaller than or equal to 20).

IV. A METHOD

CONSTRUCT A CODE MATCHED INTERLEAVER

TO

In this section we present an efficient algorithm for interleaver design. The flowchart of the algorithm is shown in Fig. 4. Let us denote by the interleaver size and by the th inand . is the terleaver output, where iteration number and is set to 1 initially. is the maximum . The algorithm number of iterations. Select is described as follows. 1) The first interleaver output is a random integer selected . from the set , where and 2) is an integer randomly selected from the set [ ]. 3) Check if satisfies the mapping condition set . If yes, save the selected integer as an interleaver output. Increase by 1 and go to Step 2). If not, reject and increase its value by 1. repeat Step 2) and 3) until a that satisfies 4) If is obtained; if assume and go to Step 5). 5) Check if satisfies the mapping condition set . If yes, save the selected integer as an interleaver output. Increase by 1 and go to Step 2). If not, reject and increase its value by 1. repeat Step 5) until a that satisfies is 6) If , reject and go to Step 7). obtained; if 7) Move the first saved interleaver output to the position of the current interleaver output . Pick up any of the remaining unused integers from set and place it in the position of the first interleaver output. Check whether both the first and the current interleaver outputs, and , respectively, satisfy the mapping condition set . If they and as the corresponding interleaver outdo, save puts and increase by 1. Repeat Step 7). If they do not satisfy , swap and . Then swap and and check whether they both satisfy . If they do, save them as the corresponding interleaver outputs and increase by 1. Repeat Step 7). If they do not satisfy , swap and . Conuntil tinue to swap and , where we get the condition set satisfied. Then increase by 1 and repeat Step 7). If cannot be satisfied by this operation, move to Step 8). 8) Reset to 1 and go to Step 1). After iterations from Step 1) to Step 8), if not all interleaver outputs are obtained, reduce by 1, reset to 1 and restart the process from Step 1). is the maximum number of iterations from Step 1) . to Step 8) and

934

Fig. 4.

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 6, JUNE 2002

Flowchart of the algorithm.

FENG et al.: CODE-MATCHED INTERLEAVER DESIGN FOR TURBO CODES

935

9) The process is repeated until all interleaver outputs are obtained. As an example, let us construct a code matched interleaver . To simplify the description, the mapping with size , is set to one. In the decondition set is chosen as sign process described above, Step 1) to Step 6) are straightforward. In this example, after Step 6), 13 interleaver outputs are are obtained and two integers from set left unselected. The obtained interleaver outputs are:

The two unselected integers are 9 and 11. As the 13th interleaver output is 10, neither of them can be selected as 14th interleaver output, since they do not satisfy the mapping condition set ( and ). Therefore Step 7) is performed as follows. Step 7) Select 9 and put it in the first position and the first interleaver output 15 in the 14th position. Both 9 and 15 satisfy . Thus we obtain the following 14 interleaver outputs

There is still one integer left unselected, which is 11. Repeat Step 7) to find a suitable interleaver output to be swapped with and place 9 to the 15th pothis integer. Again, start from sition and 11 to the first position. As 9 does not satisfy , swap 9 and 11. Then place 11 to the second position and 4 to the 15th position. Now both of them satisfy and the final interleaver outputs are

Fig. 5. BER performance of the 4 state turbo code for random, S -random and code matched interleavers with interleaver size of 1024 and 4096 bits.

By using the above procedure an interleaver can be designed for any turbo code. V. PERFORMANCE OF TURBO CODES WITH CODE MATCHED INTERLEAVERS Code matched interleavers are designed for a number of turbo codes following the described method. The performance is compared to random and -random interleavers [6] for interleaver sizes of 1024 and 4096 bits. For interleaver sizes of 1024 and 4096 bits, the minimum interleaver distance is chosen to be 22 and 42, respectively, for the -random interleaver. For the code matched interleavers, was set to 17 for the 4 and the 16 state codes and to 20 for the 8 state code for the interleaver size of 1024 bits, while for the interleaver size of 4096 bits, was 35. The code performance is determined by simulations. Both the bit error rate and the frame error rate (FER) were calculated. In the simulations, two identical systematic convolutional codes are employed as constituent codes and only the first encoder is forced to terminate at the all zero state. The number of iterations in the decoder is selected to be 8 for an interleaver size and 18 for . The maximum a posteof riori probability (MAP) [24] algorithm is used in the decoder, assuming an additive white Guassian noise (AWGN) channel. Figs. 5 and 6 show the BER and the FER of the rate 1/3, 4–state turbo code with the generator matrix and the interleaver sizes of 1024 and 4096,

Fig. 6. FER performance of the 4 state turbo code for random, S -random and code matched interleavers with interleaver size of 1024 and 4096 bits.

respectively. The union bound calculated from (1) for bits is also shown in Fig. 5. As Fig. 5 indicates, a 0.5-dB and 0.2 dB for gain is obtained at a BER 10 for relative to a random interleaver; larger gains are oband , respectained at the BER below 10 for tively. In Fig. 6, a more significant gain is obtained relative to the FER performance. A 0.4-dB gain can be observed at FER 10 for and 0.5 dB for relative to a random interleaver. Fig. 6 shows that, for the FER performance, the code

936

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 6, JUNE 2002

Fig. 7. BER performance of the 8-state turbo code for random, S -random and code matched interleavers with the interleaver size of 1024 bits.

Fig. 9. BER performance of the 16 state turbo code for random, S -random and code matched interleavers with the interleaver size of 1024 bits.

Fig. 8. FER performance of the 8-state turbo code for random, S -random and code matched interleavers with the interleaver size of 1024 bits.

Fig. 10. FER performance of the 16-state turbo code for random, S -random and code matched interleavers with the interleaver size of 1024 bits.

matched interleaver gain increases by increasing the interleaver size. The reason for this phenomenon is that for large interleaver sizes, the code performance is determined by the first several spectral lines. For a very large interleaver, the first several spectral lines are determined solely by weight-2 input sequences. With increasing interleaver size, the relative contribution of low weight spectral lines increases. As these spectral lines are easily

eliminated by the interleaver design, the performance of code matched interleavers increases with the interleaver size relative to the random and random interleavers. Figs. 7 and 8 show the BER and FER performance for the rate 1/3, 8-state code with the generator matrix . Figs. 9 and 10 show the BER and FER performance for the 16 state turbo code with generator matrix

FENG et al.: CODE-MATCHED INTERLEAVER DESIGN FOR TURBO CODES

. The interleaver size is 1024 bits for both codes. From the simulation results, it is clear that the code matched interleavers improve the code performance in the SNR region where most real communication system operate, corresponding to the BER of 10 –10 . For the 8 state code, there is a 0.2 dB gain at the BER of 10 while the “error floor” is reduced from 10 to below 10 . A 0.3-dB gain is obtained at the FER of 10 . For the 16-state turbo code, the code matched interleaver gains about 0.4 dB at the BER of 10 , and the “error floor” is reduced from 10 to below 10 . A 0.3-dB gain is obtained at the FER of 10 . VI. CONCLUSIONS A code matched interleaver design method for turbo codes is presented. The design is based on the performance analysis of turbo codes and manipulation of their weight distribution by interleaver mapping functions. The spectral lines, which have large contributions to the bit error probability in the range of 10 –10 , are eliminated by the interleaver and the number of other low weight codewords are reduced. As a result, the bit error rate and frame error rate performance of turbo codes are improved, and the “error floor” is reduced considerably. REFERENCES [1] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo-codes(1),” in Proc. ICC’93, May 1993, pp. 1064–1070. [2] J. Lodge, R. Young, P. Hoeher, and J. Hagenauer, “Separable MAP ‘filters’ for the decoding of product and concatenated codes,” in Proc. ICC’93, May 1993, pp. 1740–1745. [3] G. C. Clark, Jr. and J. B. Cain, Error Correction Coding for Digital Communications. New York: Plenum, 1981. [4] A. S. Barbulescu and S. S. Pietrobon, “Terminating the trellis of turbo codes in the same state,” Electron. Lett., vol. 31, pp. 22–23, 1995. [5] I. Richer, “A sample interleaver for use with viterbi decoding,” IEEE Trans. Commun., vol. 26, pp. 406–408, Mar. 1978. [6] D. Divsalar and F. Pollara, “Turbo codes for PCS applications,” in Proc. ICC’95, Seattle, WA, June 1995. [7] J. L. Ramsey, “Realization of optimum interleavers,” IEEE Trans. Inform. Theory, vol. 16, pp. 338–345, May 1970. [8] G. D. Forney, Jr., “Burst correcting codes for the classic bursty channel,” IEEE Trans. Commun., vol. 19, pp. 772–781, Oct. 1971. [9] E. K. Hall and S. G. Wilson, “Convolutional interleavers for stream oriented parallel concatenated convolutional codes,” in Proc. ISIT’98, Aug. 1998, p. 33. [10] O. Y. Takeshita and D. J. Costello, Jr., “New classes of algebraic interleavers for turbo codes,” in Proc. ISIT’98, Aug. 1998, p. 419. [11] A. Shibutani, H. Suda, and F. Adachi, “Complexity reduction of turbo decoding,” in Proc. IEEE VTC99—Fall, Amsterdam, The Netherlands, Sept. 1999, pp. 1570–1574. [12] L. C. Perez, J. Seghers, and D. J. Costello, Jr., “A distance spectrum interpretation of turbo codes,” IEEE Trans. Inform. Theory, vol. 42, pp. 1698–1709, Nov. 1996. [13] D. Divsalar, S. Dolinar, F. Pollara, and R. McEliece, “Transfer function bounds on the performance of turbo codes,” TDA Progress Rep., vol. 42-122, pp. 44–55, 1995. [14] S. Benedetto and G. Montorsi, “Unveiling turbo codes: Some results on parallel concatenated coding schemes,” IEEE Trans. Inform. Theory, vol. 42, pp. 409–428, Mar. 1996. [15] , “Design of parallel concatenated convolutional codes,” IEEE Trans. Commun., vol. 44, pp. 591–600, May 1996.

937

[16] J. Yuan, B. Vucetic, and W. Feng, “Combined turbo codes and interleaver design,” IEEE Trans. Commun., vol. 47, pp. 484–487, Apr. 1999. [17] J. Hokfelt and T. Maseng, “Methodical interleaver design for turbo codes,” in Proc. Int. Symp. on Turbo Codes and Related Topics, Brest, France, Sept. 1997, pp. 212–215. [18] J. D. Andersen, “Interleaver design for turbo coding,” in Proc. Int. Symp. on Turbo Codes and Related Topics, Brest, France, Sept. 1997, pp. 154–156. [19] F. Daneshgaran and M. Mondin, “Design of interleaver for turbo codes based on a cost function,” in Proc. Int. Symp. on Turbo Codes & Related Topics, Brest, France, Sept. 1997, pp. 255–258. [20] S. Crozier, P. Guinand, J. Lodge, and A. Hunt, “Construction and performance of new tail biting turbo codes,” in 6th Int. Workshop on Digital Signal Processing Techniques for Space Applications (DSP’98), Estec, Noordwijk, The Netherlands, Sept. 1998, paper 1.3. [21] S. Crozier, J. Lodge, P. Guinand, and A. Hunt, “Performance of turbo codes with relative prime and golden interleaving strategies,” in Sixth Int. Mobile Satellite Conf. (IMSC’99), Ottawa, Canada, June 1999, pp. 268–275. [22] C. Berrou et al., “Candidate channel turbo coding for DVB-RCS,” in DVB-RCS057, 5th Meeting, Geneva, Switzerland, June 1999. [23] B. Vucetic and J. Yuan, Turbo Codes: Principles and Applications. New York: Kluwer Academic, 2000, pp. 211–213. [24] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Trans. Inform. Theory, vol. 20, pp. 284–287, 1974.

Wen Feng (M’95) received the B.E. degree in electrical engineering from the Chongqi Institute of Architecture, China, in 1990 and Ph.D. degree in electrical and information engineering from the University of Sydney, Australia, in 2001. From 1996 to 1998, she was a Research Assistant with the School of Electrical and Information Engineering, University of Sydney. She joined Telstra Research Laboratories in 1999, where she is currently a Technology Specialist. Her research interests include wireless communications, wireless LAN and error control coding, and e-commerce.

Jinhong Yuan (S’96–A’97) received the B.E. and Ph.D. degrees in electrical engineering from Beijing Institute of Technology, China, in 1991 and 1996, respectively. From 1997 to 1999, he was a Research Fellow with School of Electrical and Information Engineering at the University of Sydney, Australia. In 2000, he joined School of Electrical Engineering and Telecommunications at the University of New South Wales, Sydney, Australia. His research interests include wireless communications, communications theory, error control coding and digital modulation.

Branka Vucetic (M’83–SM’00) joined the University of Sydney in 1986, where she is currently Professor in Telecommunications at the School of Electrical and Information Engineering and the Director of the Telecommunications Laboratory. Her research interests include error control coding, wireless communications and multiuser detection.