Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Interleaver for Turbo decoder

Not open for further replies.


Full Member level 5
Feb 11, 2006
Reaction score
Trophy points
Activity points
Hi everyone...i want to know where i could find a good interleaver...i dont have much idea about the interleaver... as far i know an interleaver is one which scramble the data in time domain...and a the performance of the decoder largely relies on the interleaver...please some one tell me where i could find out about a good interleaver which has maximum distance between its input data... i.e maximum randomisation...

interleaver do not scramble the data. scrambler or randomizer is a different module that is carried out to reduce PAPR of a signal, whereas interleaving is carried out to make the code word appear as random ( because shanon has stated in his channel capacity theorem that a code word that is random will attain maximum channel capacity. and choosing a random code word is practically impossible as it adversely impacts the design of encoder and decoder) so in order introduce randomness on code word yet maintaininga strucuture that makes decoder design less complex we do interleaving.
in interleaving we change the bit/symbol position in a particular manner.
there are good number of interleavers like block interleaver, pseudo random interleaver, circular-shifting interelaver, semi-random interelaver, odd-even interelvaer,optimal(near optimal interleafver).
selection of interelaver solely depends on the knwoledge of encoder u r using which direclt points to the code wieght and error correction and error detection capabilities of the encoder.

In my opion, it is OK to say that interleaver is to "scramble" data in time domain. Maybe scrambler has some other meanings. I have to admit that I have a limited knowledge about this. However, many coding scholars do use "scramble" to discribe interleaver.

Now, let me share with u my understanding about interleaver. Interleaver is a critical component for turbo code design, whether in a parallel or serial concatenation form. The other key components are obviously the component encoders. Up to now, there are already many kinds of interleaver design methods, which can be roughly categorized into two classes.
1) The first is random methods, such as some psuedo-random interleavers. S interleaver is a random like interleaver, which could provide rather good performance.
2) The second class can be referred to as algebraic ones, such as block interleaver as mentioned by rmreddy and linear interleavers. As for linear interleaver we only need two parameters to specify an interleaver, i.e., the paramenters a and b in PI(i) = a * i + b, where i is the original time index and PI(i) is the index after the interleave operation. It is obivous that algrebraic interleaver is of intresting since they admit analytical designs and simple, practical hardware implementation. The main corcern of algebraic interleaver is its performance.

Recently, I learned that Takeshita devised an algebraic interleaver which performs very good. For more details, plz refer to his paper in IEEE Trans. IT 2005. The title is as follows.
Interleavers for Turbo Codes Using Permutation Polynomials Over Integer Rings

good luck!
Not open for further replies.

Part and Inventory Search

Welcome to