Claims
- 1. A method of encoding data of a data channel, comprising the steps of:
arranging a stream of incoming information bits into a first array of information bits; processing the first array of information bits into a first code of bits, which bits form a plurality of first code words having a minimum distance to neighboring error events; rearranging selected bits of the first code into a second array of bits by intermittent successive rotations of the selected bits of the first code; and generating a second code from the second array of bits to increase the minimum distance to the neighboring error events.
- 2. The method of claim 1, wherein the first code in the step of processing is a first turbo product code (TPC), and the second code in the step of generating is a second TPC generated from the first TPC.
- 3. The method of claim 1, wherein the first array of information bits is processed by column in the step of processing to derive column parity bits that are appended to the information bits, and wherein the first array of information bits is processed by row in the step of processing to a derive row parity bits that are appended to the information bits.
- 4. The method of claim 3, wherein each column of information bits is processed from top to bottom, and each row of information bits is processed from left to right.
- 5. The method of claim 3, wherein columns of both the information bits and the column parity bits associated with a cyclic Hamming code are rearranged in the step of rearranging.
- 6. The method of claim 1, wherein columns of the information bits associated with a cyclic Hamming code are rearranged in the step of rearranging.
- 7. The method of claim 1, wherein the selected bits of the first code that are rearranged in the step of rearranging include columns that comprise both information bits and column parity bits, and which selected bits of columns forming a cyclic Hamming code are rotated successively according to a number of check bits of the Hamming code.
- 8. The method of claim 1, wherein the number of neighboring error events is reduced by generating the second code in the step of generating.
- 9. The method of claim 1, wherein the plurality of first code words are encoded by performing soft input-soft output turbo coding on the first array of information bits in the step of processing.
- 10. The method of claim 1, wherein the first code in the step of processing is an Extended Hamming code.
- 11. The method of claim 1, wherein the second code is generated in the step of generating by performing coding of the second array of information bits and column parity bits generated in the step of processing, in a right-to-left manner to derive corresponding row parity bits.
- 12. The method of claim 1, wherein a pseudo-random interleaver is utilized in the step of rearranging to successively rotate columns of information bits and associated column parity bits, which column parity bits are generated in the step of processing.
- 13. The method of claim 1, wherein the first code in the step of processing comprises an (n+1,k)2 TPC of Extended Hamming code words, which first code has n+1 columns that include the information bits, such that the second array of bits is rearranged in the step of rearranging by rotating k-1 columns in a successively increasing manner with an extra rotation every (n-k)th column.
- 14. The method of claim 13, wherein all weight n+1 code words are eliminated by performing a double rotation every (n-k)th column.
- 15. The method of claim 1, wherein the first code and the second code form a concatenated TPC having a code rate of at least 0.793.
- 16. The method of claim 15, wherein the code rate is achieved utilizing at least sixty-four axis iterations and a {fraction (5/16)} weighting coefficient.
- 17. A method of encoding data of a data channel, comprising the steps of:
arranging a stream of incoming information bits into a first array of information bits; processing the first array of information bits into a first TPC of bits, which first TPC includes a first set of column parity bits and a first set of row parity bits; rearranging the first array of information bits of the first code into a second array of bits in a pseudo-random manner; generating a second set of column parity bits and a second set of row parity bits from the second array of bits; and transmitting the first TPC, the second set of column parity bits, and the second set of row parity bits.
- 18. The method of claim 17, wherein the first TPC includes a first set of C/R parity bits, and a second set of C/R parity bits are generated in the step of generating such that both the first set of C/R parity bits and the second set of C/R parity bits are transmitted in the step of transmitting.
- 19. A method of encoding data of a data channel, comprising the steps of:
arranging a stream of incoming information bits into a first array of k-by-k information bits; processing the first array of information bits into a first code of bits, which first code of bits form an (n+1,k)2 TPC of Extended Hamming code words, and which first code has k columns that include the information bits; rearranging selected bits of the first code into a second array of bits by rotating the k columns of the first code in a successively increasing manner; and generating a second code from the second array of bits by encoding the k leftmost bits of each horizontal code word with a (k+1,k) parity code word.
- 20. The method of claim 19, wherein the k leftmost columns of bits are rotated successively.
- 21. A method of encoding data of a data channel, comprising the steps of:
arranging a stream of incoming information bits into a first array of information bits; processing the first array of information bits into a first code of bits, which first code of bits form an (n+1,k)2 TPC of Extended Hamming code words, and which first code has k columns that include the information bits; rearranging selected bits of the first code into a second array of bits by rotating n columns of the first code in a successively increasing manner; and generating a second code from the second array of bits by encoding the k leftmost bits of each horizontal code word with a (n+1,n) parity code word.
- 22. The method of claim 21, wherein the k leftmost columns of bits are rotated successively in the step of arranging, and the parity code word generated in the step of generating is prepended to the first code.
- 23. The method of claim 21, wherein the first code and the second code form a concatenated TPC having a code rate of at least 0.781.
- 24. A method of encoding data of a data channel, comprising the steps of:
arranging a stream of incoming information bits into a first array of information bits; processing the first array of information bits into a first code of bits, which first code of bits form a (k+1,k)2 TPC of row elements and column elements; rearranging the first code into a second array of bits such that the row elements and the column elements fall along corresponding diagonals; and generating a second code by encoding the second array of bits.
- 25. The method of claim 24, wherein the first code, which is a (64,57)2 TPC, and the second code form a concatenated TPC having a code rate of at least 0.766.
- 26. A method of encoding information of a channel, comprising the steps of:
providing a first code for processing the channel information; outputting processed information from said first code; providing a second code which is generated from said first code by increasing the minimum distance of said first code; and processing said processed information with said second code to reduce the number of error events which occur during processing of said first code, and to arrive at the correct channel information.
- 27. An encoder for encoding information of a channel, comprising:
means for receiving a stream of incoming information bits; means for arranging the stream of incoming information bits into a first array of information bits; means for processing the first array of information bits into a first code of bits, which bits form a plurality of first code words having a minimum distance to neighboring error events; means for rearranging selected bits of the first code into a second array of bits by intermittent successive rotations of the selected bits of the first code; and means for generating a second code from the second array of bits to increase the minimum distance to the neighboring error events.
- 28. The encoder of claim 27, wherein the first code is a first turbo product code (TPC), and the second code is a second TPC generated from the first TPC.
- 29. The encoder of claim 27, wherein the first array of information bits is processed by column to derive column parity bits that are appended to the information bits, and wherein the first array of information bits is processed by row to a derive row parity bits that are appended to the information bits.
- 30. The encoder of claim 29, wherein each column of information bits is processed from top to bottom, and each row of information bits is processed from left to right.
- 31. The encoder of claim 29, wherein columns of both the information bits and the column parity bits associated with a cyclic Hamming code are rearranged.
- 32. The encoder of claim 27, wherein the selected bits of the first code that are rearranged include columns that comprise both information bits and column parity bits, and which selected bits of columns forming a cyclic Hamming code are rotated successively according to a number of check bits of the cyclic Hamming code.
- 33. The encoder of claim 27, wherein the number of neighboring error events is reduced by generating the second code.
- 34. The encoder of claim 27, wherein the plurality of first code words are encoded by performing soft input-soft output turbo coding on the first array of information bits.
- 35. The encoder of claim 27, wherein the second code is generated by performing coding of the second array of information bits and column parity bits in a right-to-left manner to derive corresponding row parity bits.
- 36. The encoder of claim 27, wherein a pseudo-random interleaver is utilized to successively rotate columns of information bits and associated column parity bits, which column parity bits are generated.
- 37. The encoder of claim 27, wherein the first code comprises an (n+1,k)2 TPC of Extended Hamming code words, which first code has n+1 columns that include the information bits, such that the second array of bits is rearranged by rotating k-1columns in a successively increasing manner with an extra rotation every (n-k)th column.
- 38. The encoder of claim 37, wherein all weight n+1 code words are eliminated by performing a double rotation every (n-k)th column.
- 39. The encoder of claim 38, wherein the first code and the second code form a concatenated TPC having a code rate of at least 0.793.
- 40. The encoder of claim 39, wherein the code rate is achieved utilizing at least sixty-four axis iterations and a {fraction (5/16)} weighting coefficient.
Parent Case Info
[0001] This application claims priority under 35 U.S.C. §119(e) from U.S. Provisional Patent application Serial No. 60/279,180 entitled “Concatenated Turbo Product Codes for High Performance Satellite and Terrestrial Communications” and filed Mar. 27, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60279180 |
Mar 2001 |
US |