Turbo code interleaver with near optimal performance
First Claim
Patent Images
1. A method for constructing an interleaver for interleaving blocks of indexed data having indices, the blocks having a varying length, the method comprising:
- determining at least one value based on a desired interleaver size; and
utilizing the determined at least one value to construct an interleaver comprising one or more permutations of the indexed data, wherein constructing the interleaver comprises;
determining a first index according to the at least one value;
comparing the first index to a desired range of the interleaver size, andconstructing the interleaver using the first index if the first index is within the desired range and constructing the interleaver using a second index selected according to the at least one value if the first index is outside the desired range.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
33 Claims
-
1. A method for constructing an interleaver for interleaving blocks of indexed data having indices, the blocks having a varying length, the method comprising:
-
determining at least one value based on a desired interleaver size; and utilizing the determined at least one value to construct an interleaver comprising one or more permutations of the indexed data, wherein constructing the interleaver comprises; determining a first index according to the at least one value; comparing the first index to a desired range of the interleaver size, and constructing the interleaver using the first index if the first index is within the desired range and constructing the interleaver using a second index selected according to the at least one value if the first index is outside the desired range. - View Dependent Claims (2, 3)
-
-
4. A method for constructing an interleaver for interleaving blocks of indexed data having indices, the method comprising:
-
determining at least one value based on a desired interleaver size; utilizing the determined at least one value to construct an interleaver comprising one or more permutations of the indexed data; providing a turbo encoder comprising at least two connected constituent encoders; and interleaving the blocks of indexed data with the turbo encoder.
-
-
5. A method of interleaving blocks of indexed data having indices, the blocks having a varying length, the method including the steps of:
-
providing a set of basic interleavers comprising a family of one or more permutations of the indexed data X(t) 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, wherein the step of adapting the selected basic interleaver includes deleting indexed data having indices higher than the desired interleaver length L. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A system for interleaving and turbo encoding blocks of indexed data, having indices, the blocks having a varying length, the system comprising:
-
a parallel concatenation of two or more constituent encoders for recursive convolutional codes; and an interleaver device coupled to the parallel concatenation of the two or more constituent encoders, wherein the interleaver device defines a set of basic interleavers comprising a family of one or more permutations of the indexed data X(t) and having a variable length, and wherein the interleaver device is configured to; select one of the basic interleavers based upon a desired interleaver length L; and adapt the selected basic interleaver to produce an interleaver having the desired interleaver length L by deleting indexed data having indices higher than the desired interleaver length L.
-
-
12. A method of interleaving blocks of indexed data having indices, the blocks having a varying length, the method including the steps of:
-
providing a set of basic interleavers comprising a family of one or more permutations of the indexed data X(t) 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, wherein the step of adapting the selected basic interleaver includes deleting indexed data having indices higher than the desired interleaver length L, wherein the family of basic interleavers consists of “
two-dimensional permutations” and
the method further comprises the steps of;computing the “
two-dimensional permutations”
, including the steps of;writing the indexed data into an interleaver matrix having one or more rows R in each of two dimensions; permuting the indexed data in the one or more rows in at least one of the two dimensions, to produce constituent permutations, said constituent permutations possibly being different from one row to another row in each of the two dimensions; and reading out the indexed data from the interleaver matrix. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system for interleaving and turbo encoding blocks of indexed data, having indices, the blocks having a varying length, the system comprising:
-
a parallel concatenation of two or more constituent encoders for recursive convolutional codes; and an interleaver device coupled to the parallel concatenation of the two or more constituent encoders, wherein the interleaver device defines a set of basic interleavers comprising a family of one or more permutations of the indexed data X(t) and having a variable length, and wherein the interleaver device is configured to; select one of the basic interleavers based upon a desired interleaver length L; and adapt the selected basic interleaver to produce an interleaver having the desired interleaver length L by deleting indexed data having indices higher than the desired interleaver length L, wherein the family of basic interleavers consists of “
two-dimensional permutations”
, and wherein the interleaver device is further configured to;compute the “
two-dimensional permutations”
, including;writing the indexed data into an interleaver matrix having one or more rows R in each of two dimensions; permuting the indexed data in the one or more rows in at least one of the two dimensions, to produce constituent permutations, said constituent permutations possibly being different from one row to another row in each of the two dimensions; and reading out the indexed data from the interleaver matrix.
-
-
18. A method of interleaving blocks of indexed data having indices, the blocks having a varying length, the method including the steps of:
-
providing a set of basic interleavers comprising one or more permutations of the indexed data, each having a variable length; selecting one of the basic interleavers based upon a desired interleaver length L, wherein the selected interleaver has the shortest length which is greater than or equal to the desired interleaver length; and adapting the selected basic interleaver to produce a new interleaver having the desired interleaver length L, wherein the selected basic interleaver defines mappings, each of which is of a position of indexed data to a new mapped position, and wherein a mapping of the selected basic interleaver is retained if the position of indexed data in the selected basic interleaver is less than L and the mapping is rejected if the position of indexed data in the selected basic interleaver is not less than L. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for interleaving and turbo encoding blocks of indexed data, having indices, the blocks having a varying length, the system comprising:
-
a parallel concatenation of two or more constituent encoders for recursive convolutional codes; and an interleaver device coupled to the parallel concatenation of the two or more constituent encoders, for performing the steps of; accessing stored descriptions of basic interleavers, the basic interleavers comprising a family of one or more permutations of the indexed data and each having a variable length; identifying a group of the basic interleavers having a length greater than or equal to a desired interleaver length L; selecting one of the basic interleavers having a length which is smallest among the group of the basic interleaves, the selected interleaver having the shortest length which is greater than or equal to the desired interleaver length; and adapting the selected one of the basic interleavers to produce a new interleaver having the desired interleaver length L, wherein the selected basic interleaver defines mappings of a position of indexed data to a new position, wherein for each mapping, the mapping of the selected basic interleaver is retained if the indexed position in the selected basic interleaver is less than L, otherwise the mapping is rejected.
-
-
27. A method of interleaving blocks of indexed data having indices, the blocks having a varying length, the method comprising:
-
providing a set of basic interleavers comprising a family of one or more permutations of the indexed data, each of the basic interleavers having a variable length; selecting one of the basic interleavers, I2m, having a size 2m based upon a desired interleaver length L, such that 2m−
1<
L<
2m; andadapting the selected one of the basic interleavers to produce an interleaver, IL, having the desired interleaver length L, wherein adapting the selected one of the basic interleavers comprises for j=0 to 2L−
1 and i=0 to 2L−
1;setting IL−
1(i) if I2m −
1(j); andrejecting IL−
1(i) if I2m −
1(j)≧
L. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
Specification