Claims
- 1. 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.
- 2. The apparatus according to claim 1, wherein said plurality of portions have a predetermined size, wherein said predetermined size is at least one bit.
- 3. The apparatus according to claim 1, wherein said processor is an application specific integrated circuit (ASIC).
- 4. The apparatus according to claim 1, further comprising a de-interleaver, wherein said de-interleaver deinterleaves said plurality of portions indexed by said plurality of rows in accordance with said permuted sequence i1(n1)=α1{circumflex over ( )}(n1)mod(P1).
- 5. The apparatus according to claim 1, further comprising a de-interleaver, wherein said de-interleaver deinterleaves said plurality of portions indexed by said plurality of columns in accordance with said permuted sequence i2(n2)=2{circumflex over ( )}(n2)mod(P2).
- 6. 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.
- 7. The apparatus according to claim 6, wherein said plurality of portions have a predetermined size, wherein said predetermined size is at least one bit.
- 8. The apparatus according to claim 6, wherein said processor is an application specific integrated circuit (ASIC).
- 9. The apparatus according to claim 6, further comprising a de-interleaver, wherein said de-interleaver deinterleaves said plurality of portions in accordance with said permuted sequence.
- 10. 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.
- 11. The method according to claim 10, wherein said plurality of portions have a predetermined size, wherein said predetermined size is at least one bit.
- 12. The method according to claim 10, wherein said permuting is accomplished by using an application specific integrated circuit (ASIC).
- 13. The method according to claim 10, wherein said permuting is accomplished by using a microprocessor.
- 14. The method according to claim 10, wherein said permuting is accomplished by using software.
- 15. The method according to claim 10, further comprising deinterleaving said plurality of portions indexed by said plurality of rows in accordance with said permuted sequence i1(n1)=α1{circumflex over ( )}(n1)mod(P1).
- 16. The method according to claim 10, further comprising deinterleaving said plurality of portions indexed by said plurality of columns in accordance with said permuted sequence i2(n2)=α2{circumflex over ( )}(n2)mod(P2).
- 17. 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.
- 18. The method according to claim 17, wherein said plurality of portions have a predetermined size, wherein said predetermined size is at least one bit.
- 19. The method according to claim 17, wherein said permuting is accomplished by using an application specific integrated circuit (ASIC).
- 20. The method according to claim 17, wherein said permuting is accomplished by using a microprocessor.
- 21. The method according to claim 17, wherein said permuting is accomplished by using software.
- 22. 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.
- 23. The apparatus according to claim 22, wherein said plurality of portions have a predetermined size, wherein said predetermined size is at least one bit.
- 24. The apparatus according to claim 22, wherein said means for permuting is accomplished by using an application specific integrated circuit (ASIC).
- 25. The apparatus according to claim 22, wherein said means for permuting is accomplished by using a microprocessor.
- 26. The method according to claim 22, wherein said means for permuting is accomplished by using software.
- 27. The method according to claim 22, further comprising de-interleaver means for deinterleaving said plurality of portions indexed by said plurality of rows in accordance with said permuted sequence i1(n1)=α1{circumflex over ( )}(n1)mod(P1).
- 28. The method according to claim 22, further comprising de-interleaver means for deinterleaving said plurality of portions indexed by said plurality of columns in accordance with said permuted sequence i2(n2)=α2{circumflex over ( )}(n2)mod(P2).
- 29. 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.
- 30. The apparatus according to claim 29, wherein said plurality of portions have a predetermined size, wherein said predetermined size is at least one bit.
- 31. The apparatus according to claim 29, wherein said means for permuting is accomplished using an application specific integrated circuit (ASIC).
- 32. The apparatus according to claim 29, wherein said means for permuting is accomplished using a microprocessor.
- 33. The apparatus according to claim 29, wherein said permuting is accomplished using software.
- 34. The method according to claim 29, further comprising de-interleaver means for deinterleaving said plurality of portions in accordance with said permuted sequence.
REFERENCE TO COPENDING PATENT APPLICATION
This is a utility patent application claiming priority from provisional application Serial No. 60/095,085 filed on Aug. 3, 1998.
US Referenced Citations (7)
Foreign Referenced Citations (5)
Number |
Date |
Country |
0 235 477 |
Sep 1987 |
EP |
0 511 141 |
Oct 1992 |
EP |
0 627 821 |
Dec 1994 |
EP |
WO 9705702 |
Feb 1997 |
WO |
WO 9816930 |
Apr 1998 |
WO |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/095085 |
Aug 1998 |
US |