Multi-dimensional irregular array codes and methods for forward error correction, and apparatuses and systems employing such codes and methods
View Patent ↗Methods, apparatuses, and systems for encoding information symbols comprising loading information symbols into a data array with n (1) rows and n (2) columns, wherein each column has k i (1) information symbols, and wherein k (1) is an array that has at least two different values, encoding each column with a code C i (1) from a family of nested codes C (1) , wherein C (1) includes two different nested codes, and encoding each row with a code C (2) .
1. A method for encoding information symbols comprising:
loading information symbols into a data array with n (1) rows and n (2) columns, wherein each column has k i (1) information symbols, and wherein k (1) is an array that has at least two different values;
encoding each column with a code C i (1) from a family of nested codes C (1) , wherein C (1) includes two different nested codes; and
encoding each row with a code C (2) .
2. The method of claim 1 , wherein the codes in the family of codes C (1) are selected from the group consisting of BCH codes, Reed-Solomon codes, and Reed-Muller codes.
3. A method for encoding data comprising:
loading information symbols into an m-dimensional array, wherein m is a positive integer ≧2, and wherein a first dimension has a vector of k i (1) information symbols, where k (1) is an array that has at least two different values, and a second dimension has a vector of fixed number k (2) information symbols;
encoding each vector of the first dimension with a code C i (1) from a family of nested codes C (1) , wherein C (1) includes two different nested codes; and
encoding each vector of the second dimension with a code C (2) .
4. The method of claim 3 , wherein the codes in the family of codes C (1) are selected from the group consisting of BCH codes, Reed-Solomon codes, and Reed-Muller codes.
5. The method of claim 3 , wherein the codes in the family of codes C (1) are BCH codes and Reed-Solomon codes.
6. Information stored in a data storage medium which, when executed by a processor, cause the processor to perform the steps of:
loading information symbols into a data array with n (1) rows and n (2) columns, wherein each column has k i (1) information symbols, and wherein k (1) is an array that has at least two different values;
encoding each column with a code C i (1) from a family of nested codes C (1) , wherein C (1) includes two different nested codes; and
encoding each row with a code C (2) .
7. The information of claim 6 , wherein the codes in the family of codes C (1) are selected from the group consisting of BCH codes, Reed-Solomon codes, and Reed-Muller codes.
8. The information of claim 6 , wherein the codes in the family of codes C (1) are BCH codes and Reed-Solomon codes.
9. An information encoder comprising:
a first input for receiving information symbols;
a second input for receiving an irregular array code;
a processor coupled to the first and second inputs that places the information symbols in a data array and that applies the irregular array code to produce encoded information symbols; and
an output for outputting the encoded information symbols;
wherein the irregular array code includes a first code family C 1 including nested codes C i (1) , wherein nested codes C i (1) encode the columns of the data array, and wherein the first code family C 1 includes at least two different nested codes and a second code family C 2 including a single code C (2) , wherein code C (2) encodes the rows of the data array.
10. The information encoder of claim 9 , wherein the encoder is implemented on an integrated circuit.
11. The information encoder of claim 9 , wherein the encoder is implemented on a general purpose computer.
12. The information encoder of claim 9 , wherein the codes in the family of codes C (1) are selected from the group consisting of BCH codes, Reed-Solomon codes, and Reed-Muller codes.
13. The information encoder of claim 9 , wherein the codes in the family of codes C (1) are BCH codes and Reed-Solomon codes.
14. A communication system comprising:
a forward error correction encoder with an input receiving information symbols and an output producing encoded data, wherein the forward error correction encoder:
loads information symbols into an array with n (1) rows and n (2) columns, wherein each column has k i (1) information symbols, and wherein k (1) is an array that has at least two different values;
encodes each column with a code C i (1) from a family of nested codes C (1) , wherein C (1) includes two different nested codes; and
encodes each row with a code C (2) ;
a communication medium;
a transmitter with an input connected to the output of the forward error correction encoder and an output connected to the communication medium, wherein the transmitter transmits the encoded data through the communication medium;
a receiver with an input connected to the communication medium and an output, wherein the receiver receives the encoded data from the communication medium; and
a forward error correction decoder with an input connected to the output of the receiver, wherein the decoder decodes the encoded data into information symbols.
15. The communication system of claim 14 , wherein the forward error correction encoder is part of the transmitter.
16. The communication system of claim 14 , wherein the forward error correction decoder is part of the receiver.
17. The communication system of claim 14 where in the communication medium is selected from the group consisting of an electrical medium, an optical medium, a storage medium, or a free space medium.
18. The communication system of claim 14 , wherein the codes in the family of codes C (1) are selected from the group consisting of BCH codes, Reed-Solomon codes, and Reed-Muller codes.
19. The communication system of claim 14 , wherein the codes in the family of codes C (1) are BCH codes and Reed-Solomon codes.