Concatenated turbo product codes for high performance satellite and terrestrial communications
AssigneeEfficient Channel Coding, Inc.
InventorWilliam H. Thesling III
Life of this patent
Estimating the term…
Abstract
Architecture for enhancing the encoding/decoding of information of a channel. A stream of incoming information bits are arranged into a first array of information bits. The first array of information bits are processed into a first code of bits, which bits form a plurality of first code words having a minimum distance to neighboring error events. Selected bits of the first code are rearranged into a second array of bits by intermittent successive rotations of the selected bits of the first code. A second code is then generated from the second array of bits to increase the minimum distance to the neighboring error events.
Claims40
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.