Turbo code interleaver with near optimal performance
A method of interleaving blocks of indexed data of varying length is disclosed. The method includes the steps of: providing a set of basic Interleavers comprising a family of one or more permutations of the indexed data and having a variable length; selecting one of the basic Interleavers based upon a desired Interleaver length L; and adapting the selected basic Interleaver to produce an Interleaver having the desired Interleaver length L.
1. A method of interleaving information bits in an encoder, the method comprising:
selecting a basic interleaver comprising indices according to a size of the information bits to be input to the basic interleaver; and
interleaving the information bits using the selected basic interleaver,
wherein a size of the selected basic interleaver is the same or larger than the size of the information bits to be input to the basic interleaver and the basic interleaver generates an output index according to a two-dimensional permutation of an input index.
2. The method of claim 1 , wherein the basic interleaver is selected from a plurality of basic interleavers.
3. The method of claim 1 , further comprising discarding at least one bit output from the basic interleaver.
4. The method of claim 1 , further comprising encoding the information bits using the encoder after interleaving.
5. The method of claim 1 , wherein the size of the basic interleaver is 2 m , where m is 5, 6 ,7, 8, 9, 10 or 11.
6. The method of claim 1 , wherein interleaving the information bits comprises performing intra-row and inter-row permutations of the information bits.
7. The method of claim 6 , wherein interleaving the information bits further comprises performing intra-row permutations of the information bits and then performing inter-row permutations of the information bits.
8. The method of claim 6 , wherein interleaving the information bits further comprises filling the information bits in the interleaver row-by-row before performing intra-row and inter-row permutation.
9. The method of claim 8 , wherein interleaving the information bits further comprises reading the contents of the interleaver after the intra-row and inter-row permutations.
10. A method of interleaving information bits in an encoder, the method comprising:
selecting a basic interleaver comprising indices according to a size of the information bits to be input to the basic interleaver, wherein a size of the selected basic interleaver is the same or larger than the size of the information bits to be input to the basic interleaver;
interleaving the information bits using the selected basic interleaver; and
deleting at least one interleaving index when a size of the selected basic interleaver is larger than the size of the information bits to be input to the basic interleaver.
11. The method of claim 10 , wherein the size of the basic interleaver is 2 m , where m is 5, 6, 7, 8, 9, 10 or 11.
12. The method of claim 10 , further comprising deleting at least one interleaving index larger than the size of the information bits.