|
Academic Open Internet Journal |
Volume 15, 2005 |
Optimal choice of interleaver for turbo codes.
By
Shobha Rekh 1, Dr.S.Subha rani 2 ,Dr.A.Shanmugam 3
1Research Scholar, Dept. of Electronics & Communication Engineering,
PSG College of Technology, Peelamedu, Coimbatore-641004, India
E-mail:joe_haron@yahoo.com
2Assistant Professor, Dept. of Electronics & Communication Engineering,
PSG College of Technology, Peelamedu, Coimbatore-641004, India
3Principal,
Bannari Amman Institute of Technology,Coimbatore, India
Turbo codes are the channel coding scheme used in wireless cellular networks as they are able to reach nearer to the Shannon limit. The interleaver used in Turbo codes play a major role in the performance of Turbo codes. Hence it is necessary to design Turbo codes with good interleaver structure. In this paper ,we analyse the performance of Turbo codes for varying interleaver structure and sizes in terms of the bit error rate (BER). The size and type of interleaver plays a major role in the performance of turbo codes. We discuss the various types of interleavers used in Turbo codes and find the most optimal interleaver. The turbo codec is simulated for varying interleaver structures. The channel is subjected to Additive White Gaussian Noise in terms of the Signal to noise ratio(Eb/N0) in db.. The performance graph is plotted between the number of decoding iterations and the bit error rate for various interleavers. An analysis is made for the optimal choice in the size and structure of interleaver.
Index Terms- Interleavers ,Encoder, Iterative decoding, Bit error rate
Turbo codes play a major role in the error channel coding scheme used in wireless cellular networks. Turbo codes emerged in 1993 [1] and have since become a popular area of communications research. It is due to their exceptional performance that turbo codes are being accepted as 3GPP standard in personal communications. In next era of wireless communications, mainly the 4 G applications, there is a need to provide the best Qos (Quality of Service) provisioning. The 4G cellular systems are aimed at supporting various applications like voice, data and multimedia over packet switched networks. Different applications have varied Qos requirements in terms of the data rate , bit error rate (BER),frame size and the packet error rate . For certain type of transmission like text transmission , the packet loss is intolerable while delay is acceptable. But for real time video, there can be an acceptable degradation in the video, but delay in the system cannot be accepted.. Turbo codes is the most adaptable error coding scheme used to adapt to the varying Qos requirement .Hence there is a need to analyse the performance of Turbo codes by varying all the parameters which can be made adaptable. Based on the analysis ,the most suitable parameters are chosen . In this paper we analyse the behaviour of Turbo codes for various interleaver size and structure. The simulation is done for the various noise levels and the graph is plotted against the bit error rate and the signal to noise ratio. The paper is organised as follows, the basics of parallel concatenated coding or Turbo coding is done in I, the Iterative decoding is dealt in section II, the interleaver types and features in section III, the effect of interleaver size is given in section IV. The analysis of the results is done in V along with the conclusion.
The structure of Turbo encoder is shown in Figure.1.A turbo encoder is formed by parallel concatenation of two recursive systematic convolutional (RSC) encoders separated by an interleaver[2]. The encoder structure is called parallel concatenation because the two encoders operate on the same set of input bits
(1)
,rather than one encoding the output of the other. So turbo codes are also called as parallel concatenated convolutional code. The generator matrix of a rate ½ component RSC code can be represented as given in equation 1 where g0(D) and g1(D) are a feedback and feedforward polynomial with degree v ,respectively. In the encoder , the same information sequence is encoded twice but in a different order .The first encoder operates directly on the sequence, denoted by u, of length N. The second encoder operates on the same set of data interleaved in a different fashion.The information is encoded using the Turbo encoder before transmission and, after reception the data is decoded by the Turbo decoder The important characteristics of turbo codes are the small BER achieved even at low Signal to noise ratio (SNR) and the flattening of the error rate curve (i.e.)the error floor at moderate and high values of SNR. The binary input sequence u which has finite duration is fed into the first RSC encoder yielding the redundancy sequence c1 with the same finite duration as u. Sequence u1 which is an interleaved replica of u is put into RSC encoder 2. The output of RSC encoder yields redundancy sequence c2. Both the redundancy sequences c1 and c2 as well as u are punctured and multiplexed to form output sequence b.

Figure 1. Structure of a Turbo Encoder
The constraint length of the encoder is K and memory is v=K-1
The input to the encoder at time k is a bit uk and the corresponding binary output
g1i = 0,1 (2)
g2i = 0,1
(3)
where g1i and g2i are the two encoder generators .
II.ITERATIVE DECODING
There are two main algorithms to decode the data. One of the algorithm is called Soft Output Viterbi Algorithm(SOVA) and the other one is Maximum A Posteriori Algorithm(MAP). The first algorithm finds the most probable output data sequence. The trellis diagram is drawn and the path with the least Hamming distance is found. The MAP algorithm finds the marginal probability that the received bit was a 1 or a 0. Since the bit could occur in many different codewords, the sum of all the probabilities are considered. The decision is made by using the likelihood ratio of the marginal distributions from 1 and 0.The calculation is structured by using the trellis diagram. The decoder examines the states and computes the a posteriori probabilities associated with the state transitions. The loglikelihood ratio of the estimated bit is the division of the probability that uk=1 to the probability that the bit was uk=0
(4)
The MAP algorithm is preferred as it minimises the bit error probability.
The iterative decoding algorithm is done with the MAP algorithm. The iterative MAP turbo decoder is shown in Figure 2.It consists of two component decoders serially concatenated via an interleaver . The first MAP decoder takes as input the received information sequence r0 and the received parity sequence generated by the first encoder r1. The decoder then produces a soft output, which is interleaved and used to produce an improved estimate of the a priori probabilities of the information sequence for the second decoder. The other two inputs to the second MAP decoder are the interleaved received information sequence r3 and the received parity sequence produced by the second encoder r2. The second MAP decoder also produces a soft output, which is used to improve the estimate of the apriori probabilities for the information sequence at the input of the first MAP decoder. The feedback loop is a distinguishing feature of this decoder. After a certain number of iterations, the soft outputs of both MAP decoders stop to produce further performance improvements. Then the last stage of decoding makes a hard decision after deinterleaving.
![]() |
Figure .2.Iterative MAP decoder
III .INTERLEAVERS
Interleaving is a process of rearranging the ordering of a data sequence in a one to one deterministic format. The inverse of this process is called deinterleaving which restores the received sequence to its original order. Interleaving is a practical technique to enhance the error correcting capability of coding. In turbo coding, interleaving is used before the information data is encoded by the second component encoder. The basic role of an interleaver is to construct a long block code from small memory convolutional codes, as long codes can approach the Shannon capacity limit. Secondly, it spreads out burst errors[3],[4]. The interleaver provides scrambled information data to the second component encoder and decorrelates inputs to the two component decoders so that an iterative suboptimum-decoding algorithm based on uncorrelated information exchange between the two component decoders can be applied. The final role of the interleaver is to break low weight input sequences, and hence increase the code free Hamming distance or reduce the number of codewords with small distances in the code distance spectrum.The size and structure of interleavers play a major role in the performance of turbo codes. There are a number of interleavers, which can be implemented.
Random interleaver:
The random interleaver [5] uses a fixed random permutation and maps the input sequence according to the permutation order.
Block interleaver
The block interleaver [5] is the most commonly used interleaver in communication system. It writes in column wise from top to bottom and left to right and reads out row wise from left to right and top to bottom.
Diagonal interleaver
Diagonal interleaver writes in column wise from top to bottom and left to right and reads out diagonally from left to right and top to bottom.
| i |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
| Interleaver(i) |
0 |
6 |
12 |
1 |
7 |
13 |
2 |
8 |
14 |
3 |
9 |
10 |
4 |
5 |
11 |
Table 1. Equivalent index position for original matrix index in diagonal interleaver
Table 1. shows a 3 x 5 matrix positions after the matrix is interleaved
Circular-Shifting interleaver
The permutation P of the circular-shifting interleaver is defined by
P (i) = (ai+s) mod L (5)
satisfying a<L, a is relatively prime to L, and s<l where i is the index, a is the step size, and s is the offset. The following table shows a circular-shifting interleaver with L=8, a=3, and s=0.
| Index |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
| Circular- shift permutation
|
0 |
3 |
6 |
1 |
4 |
7 |
2 |
5 |
Table 2. Equivalent index position for original matrix index in Circular-shifting interleaver
IV.EFFECT OF INTERLEAVER SIZE
The choice of interleaver size for varying SNRs also play a major role in theperformance of Turbo codes.To reduce the error floor that occurs in Turbo codes,the interleaver size is increased..The bit error probability of a Turbo code over an Additive White Gaussian Noise channel is upper bounded by equation 6 where Bd is the error coefficient, dmin is
(6)
the free distance ,R is the code rate and Eb/N0 is the signal to noise ratio. The interleaver can reduce the error coefficients of low weight codewords through a process called Spectral Thinning[6].This distance spectrum results in a reduced bit error probability by a factor 1/N which is the interleaving gain.N is the size of interleaver . At low SNR’s , the interleaver size is the only important factor ,as the code performance is dominated by the interleaver gain.The effects induced by changing the interleaver structure at low SNR region are not significant. At high SNRs , the interleaver structure determines the code performance The interleaver structure affects the mapping of low weight input sequences to the interleaver output,and hence the first several distance spectral lines of the turbo code distance spectrum.This plays an important role in determining the code performance at high SNRs.
The simulation of various interleavers for an image data is given in fig3. From the simulation we find that the random interleavers give the best performance

Figure .3
The size and the type of interleaver structure affects the code performance. In this paper,we have found the interleaver structure which gives the best performance.Random interleavers are found to be the best. The effect of the size of interleaver is analysed mathematically. We find that at low SNRs, the interleaver size can be increased to get a better performance. Depending on the Qos parameters, the interleaver size can be chosen.
In future, more efficient interleaver structures can be designed considering the code structure .We can achieve better results with a code matched interleaver.
REFERENCES:
[1] C. Berrou, A. Glavieux, and P. Thitimajshaima, “Near Shannon limit error-correcting coding and decoding: turbo-codes,” in Proc. IEEE Int. Conf. Commun., May 1993, pp. 1064–1070.
[2] C. Berrou, A. Glavieux ,”Near optimum error correcting coding and decoding: Turbo codes,” IEEE Trans. Communications, vol. 44,No 10 pp. 1261–1271,Oct. 1996.
[3] Robert Garello,Paola Pierleoni and Sergio Benedetto,” Computing the free distance of turbo codes and serially concatenated codes with interleavers : Algorithms and Applications,” IEEE Journal on selected areas in communications,Vol.19 No.5,May 2001
[4]S. Dolinar and D.Divsalar,” Weight distribution of Turbo codes using Random and Non random permutations,”JPL TDA progress report 42-122 August 1995.
[5] Branka Vucetic and Jinhong yuan, “Turbo Codes Principles and Applications,”
Buton: Kluwer Academic Publishers, 2000.
[6] Lance C. Perez, Jan Seghers and Daniel.J.Costello,” A distance spectrum interpretation of Turbo codes,” IEEE Trans. Inform. Theory, Special issue on Coding and Complexity April. 1996.
Technical College - Bourgas,
All rights reserved,
© March, 2000