Performance of Turbo Codes with Matrix Interleavers Maan A. Kousa
Performance of Turbo Codes with Matrix Interleavers Maan A. Kousa
Performance of Turbo Codes with Matrix Interleavers Maan A. Kousa
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PERFORMANCE OF TURBO CODES WITH MATRIX<br />
INTERLEAVERS<br />
<strong>Maan</strong> A. <strong>Kousa</strong>*<br />
Department <strong>of</strong> Electrical Engineering<br />
King Fahd University <strong>of</strong> Petroleum and Minerals<br />
Dhahran, Saudi Arabia<br />
: ﺔﺻﻼﺨﻟا<br />
ﺪﻨﻋ ﺮـهﺎﺒﻟا<br />
ﺎﻬﺋادأ<br />
ﺐﺒﺴﺑ<br />
ﻦﻴﺜﺣﺎﺒﻟا ﻦﻣ ﺮﻴﺜﻜﻟا مﺎﻤﺘها ﻰﻠﻋ ًاﺮﺧﺆﻣ ﻮﺑﺮﺘﻟا<br />
تاﺮﻔﻴﺷ تذﻮﺤﺘﺳا ﺪﻘﻟ<br />
ﻢﻈﻌﻣ ضﺮﺘﻔﺗو . تاﺮﻔﻴﺸﻟا<br />
ﻩﺬه ﻢﻴﻤﺼﺗ ﻦﻣ ًﺎﻣﺎه ًاءﺰﺟ ﺮﺜﻌﺒﻤﻟا ﺮﺒﺘﻌﻳو .( SNR)<br />
ـﻟ ﺔﻀﻔﺨﻨﻤﻟا ﻢﻴﻘﻟا<br />
ماﺪﺨﺘﺳﺎﺑ ﻮﺑﺮﺗ تاﺮﻔﻴﺷ ءادأ<br />
سرﺪﻨﻓ ﺚﺤﺒﻟا اﺬه ﻲﻓ ﺎﻣأ<br />
،ﺔﻴﺋاﻮﺸﻋ تاﺮﺜﻌﺒﻣ لﺎﺠﻤﻟا اﺬه ﻲﻓ ثﺎﺤﺑﻷا<br />
لﻮﻃ ﺮﻴﺛﺄﺗو ،ﺔﻴﻔﺼﻟا ةﺮﺜﻌﺒﻤﻟا دﺎﻌﺑأ<br />
ﻢﻴﻤﺼﺗ ﻞﺜﻣ ،ﺎﻬﺋادﺄﺑ<br />
ﺔﻘﻠﻌﺘﻤﻟا ﻞﻣاﻮﻌﻟا ﻦﻣ ﺪﻳﺪﻌﻟاو<br />
،ﺔّﻴﻔﺻ<br />
تاﺮﺜﻌﺒﻣ<br />
ﻞﺧﺪﻤﻟا ﻦﻴﺑ ةﺮﺜﻌﺒﻤﻟا لدﺎﺒﺗ ﺮﻴﺛﺄﺗو ،ﺮﻴﻔﺸﺘﻟا ﻚﻓ تارود دﺪﻋو ةﺮﺜﻌﺒﻤﻟا ﻦﻴﺑ ﻞﻋﺎﻔﺘﻟاو ،ةﺮﺜﻌﺒﻤﻟا<br />
. جﺮﺨﻤﻟاو<br />
لاﻮﻃﻸﻟ<br />
ﺔﻴﺋاﻮﺸﻌﻟا تاﺮﺜﻌﺒﻤﻠﻟ<br />
ﺔﺴﻓﺎﻨﻣ نﻮﻜﺗ نأ<br />
ﻦﻜﻤﻳ<br />
ﺔﻴﻔﺼﻟا تاﺮﺜﻌﺒﻤﻟا نأ<br />
ةﺎآﺎﺤﻤﻟا ﺞﺋﺎﺘﻧ<br />
∗<br />
Address for correspondence:<br />
KFUPM Box 470<br />
King Fahd University <strong>of</strong> Petroleum and Minerals<br />
Dhahran, 31261 Saudi Arabia<br />
E-mail: makousa@kfupm.edu.sa<br />
ﺮﻬﻈﺗو<br />
. ةﺮﻴﺼﻘﻟا<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
October 2003 The Arabian Journal for Science and Engineering, Volume 28, Number 2B 211
212<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
ABSTRACT<br />
Recently, turbo codes have attracted many researchers because <strong>of</strong> the codes<br />
astonishing performance at low BER. The interleaver is an important part in the<br />
design <strong>of</strong> a turbo code. Most <strong>of</strong> the work done on turbo codes assumes random<br />
interleaving. In this paper, we study the performance <strong>of</strong> turbo codes <strong>with</strong> matrix<br />
interleaving. Various issues related to the code performance are investigated.<br />
These include the design <strong>of</strong> the relative dimensions <strong>of</strong> the matrix interleaver, the<br />
effect <strong>of</strong> the interleaver length, the interaction between the interleaver and the<br />
number <strong>of</strong> decoding iterations, and the effect <strong>of</strong> interchanging the interleaver.<br />
Simulation results show that matrix interleavers can be very competitive to<br />
random interleavers for short frame lengths.<br />
The Arabian Journal for Science and Engineering, Volume 28, Number 2B October 2003
PERFORMANCE OF TURBO CODES WITH MATRIX INTERLEAVERS<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
1. INTRODUCTION<br />
<strong>Turbo</strong> code (TC) is the name given to parallel concatenation <strong>with</strong> interleaving [1]. Simplified schematics <strong>of</strong> the turbo<br />
encoder and decoder are shown in Figure 1. There are two convolutional encoders in parallel, which are usually taken to<br />
be identical. Information bits are interleaved before being fed to the second encoder. The codeword in a turbo code<br />
consists <strong>of</strong> a frame <strong>of</strong> input bits (X0) followed by the parity check bits from the first encoder (X1) then the parity bits from<br />
the second encoder (X2). Padding is used to append the proper sequence <strong>of</strong> bits in order to force all the encoders at the<br />
end <strong>of</strong> the frame to the all-zero state.<br />
Information<br />
Received<br />
Sequence<br />
source<br />
DEMUX/<br />
INSERT<br />
Padding<br />
Interleaver<br />
Enc 1<br />
Enc 2<br />
The decoder works in an iterative way. The first decoder will decode the sequence and pass the hard decision together<br />
<strong>with</strong> a reliability estimate <strong>of</strong> this decision to the next decoder after proper interleaving. The second decoder will utilize<br />
the reliability estimates produced by the first encoder, and thus will have extra information for decoding. After a certain<br />
number <strong>of</strong> iterations is executed, a hard decision is made and the estimated sequence is delivered to the user. Several<br />
decoding algorithms have been proposed. In this work, we opt for the Normalized SOVA (S<strong>of</strong>t Output Viterbi<br />
October 2003 The Arabian Journal for Science and Engineering, Volume 28, Number 2B 213<br />
X0<br />
X1<br />
X2<br />
Figure 1a. Basic turbo encoder structure<br />
(Interleaver) -1<br />
Decoder 1 Interleaver<br />
Decoder 2<br />
Figure 1b. Basic turbo decoder structure<br />
Puncturing<br />
&<br />
Parallel/Serial<br />
MUX<br />
(Interleaver) -1<br />
to the<br />
channel<br />
X2 X1 X0<br />
Estimated<br />
Sequence
214<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
Algorithm) decoder <strong>of</strong> [10]. It was shown that SOVA approaches maximum likelihood (ML) decoding for large number<br />
<strong>of</strong> decoding iterations [3].<br />
The interleaver is the most critical part in the design <strong>of</strong> a turbo code, and has thus attracted many researchers [2–8].<br />
The original paper on turbo codes [7] assumed a random interleaver. The authors in [3] introduced the notation <strong>of</strong> the<br />
uniform interleaver, which was then adopted by other researchers.<br />
Conventionally, interleaving is used to spread out the errors occurring in bursts like those exhibited in fading<br />
channels [9]. In this regard, matrix interleaving, where bits are fed in a matrix row by row and read out column by<br />
column, is usually implemented. For turbo codes, the interleaver does other functions. At the encoder, the interleaver is<br />
used to feed the encoders <strong>with</strong> different permutations <strong>of</strong> the information sequence so that the generated parity sequences<br />
can be assumed independent. At the decoder, both the interleaver and the deinterleaver are used to randomize the<br />
symbols after every decoding step, thus making the iterative decoding more efficient.<br />
In this paper, we attempt to provide an in-depth study on the performance <strong>of</strong> turbo codes <strong>with</strong> matrix interleavers.<br />
The channel is assumed to be AWGN. In Section 2 the design <strong>of</strong> the dimensions <strong>of</strong> the matrix interleaver is considered.<br />
The effects <strong>of</strong> some interleaver-related issues are presented and explained in Section 3. These include interleaver length,<br />
number <strong>of</strong> decoding iterations, and interleaver/deinterleaver. Conclusions are drawn in Section 4.<br />
2. MATRIX INTERLEAVERS<br />
Most <strong>of</strong> the work on TCs is based on random interleavers. In random interleavers, the mapping is performed pseudorandomly.<br />
In [3] it was shown that large-frame random interleavers perform equally well on the average, independent to<br />
a large extent <strong>of</strong> the particular mapping used.<br />
BER<br />
1.E+00<br />
1.E-01<br />
1.E-02<br />
1.E-03<br />
1.E-04<br />
1.E-05<br />
0 0.5 1<br />
Eb/N0 1.5 2 2.5 3<br />
(16,12) matrix (32,6) matrix (2,96) matrix (1,196) no-inter uniform<br />
Figure 2. <strong>Performance</strong> <strong>of</strong> matrix interleavers for different values <strong>of</strong> m and n (i=6, k=192)<br />
Benedetto et al. [3] introduced the notion <strong>of</strong> uniform interleaver to simplify the analysis <strong>of</strong> the code weight<br />
distribution. A uniform interleaver <strong>of</strong> length k is a probabilistic device that maps a given input word <strong>of</strong> weight w into all<br />
k<br />
k<br />
distinct C w permutations <strong>of</strong> it <strong>with</strong> equal probability <strong>of</strong> 1 / Cw<br />
. The uniform interleaver is an abstract interleaver, but<br />
can be approximately realized by changing the interleaver map randomly at every frame. The performance <strong>of</strong> the<br />
The Arabian Journal for Science and Engineering, Volume 28, Number 2B October 2003
<strong>Maan</strong> A. <strong>Kousa</strong><br />
uniform interleaver was found to be very close to that <strong>of</strong> the random interleaver. Therefore, only the uniform interleaver<br />
is used here as a reference for comparing the matrix interleaver.<br />
For the matrix interleaver, the information stream is written row by row in a matrix <strong>of</strong> n rows and m columns and<br />
read out column by column. The column size n is called the depth and the row size m is the span. Such an interleaver is<br />
completely defined by n and m and is thus refereed to as (n,m) matrix interleaver. At the deinterleaver, information is<br />
written column-wise and read out row-wise.<br />
The capability <strong>of</strong> burst error scattering for the matrix interleaver depends on the values <strong>of</strong> n and m. Since both the<br />
interleaver and the deinterleaver are utilized iteratively at the decoder, it is anticipated that the optimum design is where<br />
m and n are both large and comparable in value.<br />
To test this conjecture, consider an interleaver <strong>of</strong> size 192 symbols. This size can be arranged in (192,1), (96,2),<br />
(32,6), or (16,12) matrices. Figure 2 shows the performance <strong>of</strong> the code under these matrices. It is depicted from the<br />
figure that the performance improves as the matrix dimensions approaches that <strong>of</strong> a square. The figure also shows that<br />
the (16,12) matrix interleaver slightly outperforms that <strong>of</strong> the uniform interleaver <strong>of</strong> the same frame length.<br />
3. STUDY ISSUES<br />
In this Section, some issues related to the matrix interleaver are studied. These issues include the interleaver length,<br />
the effect <strong>of</strong> the number <strong>of</strong> iterations, and the effect <strong>of</strong> interchanging the interleaver and the deinterleaver.<br />
3.1. Interleaver Length<br />
Figure 3 shows the performance <strong>of</strong> TC as a function <strong>of</strong> interleaver length for the uniform and matrix interleavers. It is<br />
seen that the BER decreases sharply <strong>with</strong> increasing k for a certain range <strong>of</strong> k and saturates at large values <strong>of</strong> k. The trend<br />
<strong>of</strong> the curves is close to that <strong>of</strong> 1/k. This trend was observed in [3] for the uniform interleaver.<br />
BER<br />
1.E-01<br />
1.E-02<br />
1.E-03<br />
1.E-04<br />
1.E-05<br />
Frame Length k<br />
0 200 400 600 800 1000 1200<br />
Uniform Random <strong>Matrix</strong><br />
Figure 3. Effects increasing the frame size k on the code performance (i=6, E b/N 0=2 dB)<br />
October 2003 The Arabian Journal for Science and Engineering, Volume 28, Number 2B 215
216<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
The figure shows that the performance <strong>of</strong> the matrix interleaver is comparable to, and slightly better than, that <strong>of</strong><br />
uniform interleaver for short and medium sizes (k
BER<br />
1.E+00<br />
1.E-01<br />
1.E-02<br />
1.E-03<br />
1.E-04<br />
1.E-05<br />
3.3. Interleaving (I) / Deinterleaving (I -1 )<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
0 0.5 1<br />
Eb/N0 1.5 2 2.5 3<br />
(96,2) matrix (1) (96,2) matrix (6) (32,6) matrix (1)<br />
(32,6) matrix (6) (16,12) matrix (1) (16,12) matrix (6)<br />
Figure 5. Effect <strong>of</strong> the number <strong>of</strong> iterations for different degrees <strong>of</strong> scattering<br />
In the papers surveyed, the researchers attempt to design the interleaver by considering its effect on the encoding<br />
process. However, it should be recalled that both the interleaver and the deinterleaver play a significant role in the<br />
decoding process.<br />
Burst errors may be available at the output <strong>of</strong> decoder 1 or decoder 2 due to the memory correlation inherent in<br />
convolutional codes. Therefore, it is desirable to have large spreading effect for both the interleaver and the deinterleaver<br />
in order to randomize the errors and hence improve the chance <strong>of</strong> being corrected in the next iteration. Unfortunately, the<br />
spread <strong>of</strong> interleaver and the deinterleaver are inversely related.<br />
The similarity <strong>of</strong> the roles played by interleaver (I) and the deinterleaver (I -1 ) at the decoder suggests that designing a<br />
code <strong>with</strong> I -1 as the interleaver should not affect the overall performance. This is strongly supported by Figure 6 where<br />
the performance <strong>of</strong> TC under two configurations <strong>of</strong> matrix interleavers <strong>with</strong> I and I -1 interchanged are shown.<br />
Our observation that I and I -1 can be interchanged <strong>with</strong>out any significant effect on the code performance can be proved<br />
by the following argument. Consider the decoder first. The iterative decoding is depicted in Figure 7a. The similar role<br />
played by I and I -1 is quite evident. It is apparent that, for i iterations, the final output sequence would have been<br />
processed by I and I -1 for i+1 and i times respectively. For i reasonably large (i=6) the two boxes can be interchanged.<br />
October 2003 The Arabian Journal for Science and Engineering, Volume 28, Number 2B 217
218<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
BER<br />
1.E+00<br />
1.E-01<br />
1.E-02<br />
1.E-03<br />
1.E-04<br />
1.E-05<br />
0 0.5 1<br />
E b /N 0<br />
1.5 2 2.5 3<br />
(16,12) matrix (12,16) matrix (2,96) matrix (96,2) matrix<br />
Figure 6. Code performance under interchanging I & I -1<br />
Next, let us consider the encoder. Figure 7b is obtained by replacing I in Figure 1 <strong>with</strong> I -1 . We will show that this change<br />
has almost no effect on the encoding process. Figure 7c is identical to Figure 7b and is obtained by adding I -1 and I at the<br />
front <strong>of</strong> the encoder. Distributing I over the three branches leads to Figure 7d. Note that I -1 at the front <strong>of</strong> the encoder and<br />
I in the systematic branch do not modify the performance since they are external to the encoding process. As a result, the<br />
TC in Figure 7d yields the same performance as that in Figure 1.<br />
4. CONCLUSION<br />
<strong>Matrix</strong> interleavers are commonly used in digital communication systems to randomize burst errors. This paper shows<br />
that the application <strong>of</strong> matrix interleavers to turbo codes provides a performance comparable to, and slightly better than,<br />
that <strong>of</strong> random interleavers for short frame lengths. This result is very significant as many communication systems<br />
necessitate the use <strong>of</strong> short frames to keep the delay time at an acceptable level.<br />
We also showed that the matrix interleaver yields the best performance when its dimensions approach those <strong>of</strong> a square.<br />
The effect <strong>of</strong> the number <strong>of</strong> decoding iterations and interchanging the interleaver and deinterleaver were simulated and<br />
discussed.<br />
The Arabian Journal for Science and Engineering, Volume 28, Number 2B October 2003
(a)<br />
(b)<br />
(c)<br />
(d)<br />
Info.<br />
Info.<br />
Info.<br />
I -1 I<br />
Enc 1<br />
Enc 2<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
Figure 7. (a) Decoder I, I -1 loop; (b) <strong>Turbo</strong> encoder (<strong>with</strong> interleaver I -1 ); (c) I and I -1 are added to (b); (d) Similarity <strong>of</strong> (b) to the<br />
turbo encoder <strong>with</strong> (I) as the interleaver<br />
I -1<br />
Decoder 1 I<br />
October 2003 The Arabian Journal for Science and Engineering, Volume 28, Number 2B 219<br />
I -1<br />
I -1<br />
I<br />
Decoder 2<br />
I -1 I<br />
Enc 1<br />
Enc 2<br />
Enc 1<br />
Enc 2
220<br />
<strong>Maan</strong> A. <strong>Kousa</strong><br />
ACKNOWLEDGMENT<br />
The author would like to thank KFUPM for supporting this research.<br />
REFERENCES<br />
[1] C. Berrou and A. Glavieux,: “Near Optimum Error Correcting Coding and Decoding: <strong>Turbo</strong>-<strong>Codes</strong>”, IEEE Transactions on<br />
Communications, 44 (1996), pp. 1261–1271.<br />
[2] Gerard Battail, “A Conceptual Framework for Understanding <strong>Turbo</strong> <strong>Codes</strong>,” IEEE Journal on Selected Areas in<br />
Communications, 16 (2), (1998), pp. 245–254.<br />
[3] Sergio Benedetto and Guido Montorsi, “Unveiling <strong>Turbo</strong>-<strong>Codes</strong>: Some Results on Parallel Concatenated Coding Schemes,”<br />
IEEE Transactions on Information Theory, 42, (2), (1996), pp. 409–428.<br />
[4] A. K. Khandani, “Design <strong>of</strong> <strong>Turbo</strong>-Code Interleaver using Hungarian Method,” Electronics Letters, 34 (1) (1998), pp.<br />
63–65.<br />
[5] W. J. Blackert, E. K. Hall, and S. G. Wilson, “<strong>Turbo</strong> Code Termination and Interleaver Conditions,” Electronic Letters, 31<br />
(24), (1995), pp. 2082–2084.<br />
[6] P. Jung and M. Nabhan, “Dependence <strong>of</strong> the Error <strong>Performance</strong> <strong>of</strong> <strong>Turbo</strong>-<strong>Codes</strong> on the Interleaver Structure in Short Frame<br />
Transmission Systems,” Electronics Letters, 30 (4) (1994), pp. 287–288.<br />
[7] C. Berrou, A. Glavieux, and P. Thitimajhima, “Near Shannon Limit Error Correcting Coding and Decoding : <strong>Turbo</strong>-<strong>Codes</strong>,”<br />
Proc. <strong>of</strong> ICC 93, Geneva, May (1993), pp. 1064–1070.<br />
[8] S. Dolinar and D. Divsalar, “Weight Distribution for <strong>Turbo</strong> <strong>Codes</strong> using Random and Nonrandom Permutations,” TDA<br />
Progress Report 42-122 , Augest (1995), pp. 56–65.<br />
[9] K. Andrew, C. Heegrad, and D. Kozen, “A Theory <strong>of</strong> <strong>Interleavers</strong>,” Technical report 97-1634, Computer Science<br />
Department, Cornell University, June, (1997).<br />
[10] L. Papke and P. Robertson, “Improved Decoding <strong>with</strong> the SOVA in a Parallel Concatenated (<strong>Turbo</strong> Code) Scheme,” IEEE<br />
Int. Conference on Communications ICC ’96, 1996, pp. 102–106.<br />
Paper Received 4 September 2000; Revised 15 December 2002; Accepted 21 May 2003.<br />
The Arabian Journal for Science and Engineering, Volume 28, Number 2B October 2003