Interleavers for turbo code
AssigneeNortel Networks Limited
InventorsJian Cui, Tong Wen, Rui Wang, Mikhail Bakulin, Alexander Shloma, Vitally Kreyndelin, Yuri Shinakov
Life of this patent
Estimating the term…
Abstract
Systems and methods for interleaving codes includes a processor that acts on a data frame received and stored in a memory. The processor separates portions of the data frame and permutes the portions, achieving maximum data scattering by using equations based on number theory.
Claims34
An apparatus for interleaving a plurality of portions of a data frame having a predetermined size, comprising:
- a memory configured to receive and store said data frame indexed by a plurality of rows having a predetermined row size and a plurality of columns having a predetermined column size, wherein the product of said predetermined row size and said predetermined column size equals said predetermined size of said data frame;
- a processor coupled to said memory for separating said data frame into said plurality of portions and for generating a permuted sequence of said plurality of portions indexed by said plurality of rows in accordance with i1(n1)=α1{circumflex over ( )}(n1)mod(P1), wherein P1 is a prime number greater than said predetermined row size, wherein n1 is an integer in the range of 1 through and including P1−1, and wherein α1 is a root of P1 which enables i1(n1) to be a unique number between 1 and said predetermined row size;
- and
- said processor configured to generate a permuted sequence of said plurality of portions indexed by said plurality of columns in accordance with i2(n2)=α2{circumflex over ( )}(n2)mod(P2), wherein P2 is a prime number greater than said predetermined column size, wherein n2 is an integer in the range of 1 through and including P2−1, and wherein α2 is a root of P2 which enables i2(n2) to be a unique number between 1 and said predetermined column size, whereby portions of said data frame are interleaved.
An apparatus for interleaving a plurality of portions of a data frame having a predetermined size, comprising:
- a memory configured to receive and store said data frame;
- and
- a processor coupled to said memory for separating said data frame into said plurality of portions and for generating a permuted sequence of said plurality of portions in accordance with i(n)=αnmod(P), wherein P is a prime number greater than said predetermined size of said data frame, wherein n is an integer in the range of 1 through and including P−1, and wherein α is a root of P which enables i(n) to be a unique number between 1 and said predetermined size of said data frame, whereby portions of said data frame are interleaved.
A method for interleaving a plurality of portions of a data frame having a predetermined size, comprising:
- receiving and storing said data frame;
- indexing said data frame by a plurality of rows having a predetermined row size and a plurality of columns having a predetermined column size, wherein the product of said predetermined row size and said predetermined column size equals said predetermined size of said data frame;
- separating said data frame into said plurality of portions;
- permuting said plurality of portions indexed by said plurality of rows in accordance with i1(n1)=α1{circumflex over ( )}(n1)mod(P1), wherein P1 is a prime number greater than said predetermined row size, wherein n1 is an integer in the range of 1 through and including P1−1, and wherein α1 is a root of P1 which enables i1(n1) to be a unique number between 1 and said predetermined row size;
- and
- permuting said plurality of portions indexed by said plurality of columns in accordance with i2(n2)=α2{circumflex over ( )}(n2)mod(P2) wherein P2 is a prime number greater than said predetermined column size, wherein n2 is an integer in the range of 1 through and including P2−1 and wherein α2 is a root of P2 which enables i2(n2) to be a unique number between 1 and said predetermined column size, whereby portions of said data frame are interleaved.
A method for interleaving a plurality of portions of a data frame having a predetermined size, comprising:
- receiving and storing said data frame;
- separating said data frame into said plurality portions;
- permuting said plurality of portions in accordance with i(n)=αnmod(P), wherein P is a prime number greater than said predetermined size of said data frame, wherein n is an integer in the range of 1 through and including P−1, and wherein α is a root of P which enables i(n) to be a unique number between 1 and said predetermined size of said data frame.
An apparatus for interleaving a plurality of portions of a data frame having a predetermined size, comprising:
- means for receiving and storing said data frame;
- means for indexing said data frame by a plurality of rows having a predetermined row size and a plurality of columns having a predetermined column size, wherein the product of said predetermined row size and said predetermined column size equals said predetermined size of said data frame;
- means for separating said data frame into said plurality of portions;
- means for permuting said plurality of portions indexed by said plurality of rows in accordance with i1(n1)=α1{circumflex over ( )}(n1)mod(P1), wherein P1 is a prime number greater than said predetermined row size, wherein n1 is an integer in the range of 1 through and including P1−1 and wherein α1 is a root of P1 which enables i1(n1) to be a unique number between 1 and said predetermined row size;
- and
- means for permuting said plurality of portions indexed by said plurality of columns in accordance with i2(n2)=α2{circumflex over ( )}(n2)mod(P2), wherein P2 is a prime number greater than said predetermined column size, wherein n2 is an integer in the range of 1 through and including P2−1, and wherein α2 is a root of P2 which enables i2(n2) to be a unique number between 1 and said predetermined column size.
An apparatus for interleaving a plurality of portions of a data frame having a predetermined size, comprising:
- means for receiving and storing said data frame;
- means for separating said data frame into said plurality portions;
- and
- means for permuting said plurality of portions in accordance with i(n)=αnmod(P), wherein P is a prime number greater than said predetermined size of said data frame, wherein n is an integer in the range of 1 through and including P−1, and wherein α is a root of P which enables i(n) to be a unique number between 1 and said predetermined size.
Dependencies are inferred from the claim text.