Claims
- 1. A method for decoding product codes, the method comprising the steps of:
decoding a row of symbols in a product code; and decoding a column of symbols in a product code while decoding the rows of symbols in the product code.
- 2. The method of claim 1, wherein the symbols include at least one of real numbered values, real numbered voltage values, bit values, and byte values.
- 3. The method of claim 1, wherein the product codes include symbols encoded with error correcting codes formatted in a matrix of rows and columns.
- 4. The method of claim 1, further including the step of determining the reliability of the row symbols and the column symbols based at least in part on real number valued information received from the symbols.
- 5. The method of claim 4, further including the step of passing the reliability determinations of the row symbols to decode a next column of symbols while passing the reliability determinations of the column symbols to decode a next row of symbols.
- 6. The method of claim 4, further including the step of using the reliability determinations of the row symbols to decode a next column of symbols while using the reliability determinations of the column symbols to decode a next row of symbols.
- 7. The method of claim 4, wherein the step of determining the reliability includes the step of calculating a result for the log likelihood ratio according to at least one of equations Λ(dj)≈[(|R−{circumflex over (D)}|2−|R−D|2)/4](2dj−1) and Λ(dj)=[(R·D−R·{circumflex over (D)})/2](2dj−1) for dj ε{0,1}, wherein R includes a received noisy sequence, D includes a decided codeword after decoding, and {circumflex over (D)} includes a candidate codeword.
- 8. The method of claim 1, wherein the step of decoding includes at least one of error detecting and error correcting.
- 9. The method of claim 1, wherein the steps of decoding occur for multiple iterations.
- 10. A method for decoding product codes, the method comprising the steps of:
determining the reliability of row symbols and column symbols for a decoded row and a decoded column based at least in part on real number valued information received from the symbols; and passing the reliability determinations of the row symbols to decode a next column of symbols at a time corresponding to passing the reliability determinations of the column symbols to decode a next row of symbols, wherein the row and column decoding occur substantially simultaneously.
- 11. The method of claim 10, wherein the symbols include at least one of real numbered values, real numbered voltage values, bit values, and byte values.
- 12. The method of claim 10, wherein the product codes include symbols encoded with error correcting codes formatted in a matrix of rows and columns.
- 13. The method of claim 10, wherein the steps of determining and passing occur for multiple iterations.
- 14. The method of claim 10, wherein the step of determining the reliability includes the step of calculating a result for the log likelihood ratio according to at least one of equations Λ(dj)≈[(|R−{circumflex over (D)}|2−|R−D|2)/4](2dj−1) and Λ(dj)=[(R·D−R·{circumflex over (D)})/2](2dj−1) for dj ε{0,1}, wherein R includes a received noisy sequence, D includes a decided codeword after decoding, and {circumflex over (D)} includes a candidate codeword.
- 15. The method of claim 10, wherein the step of passing the reliability determinations of the row symbols and the column symbols occurs substantially simultaneously.
- 16. A method for decoding product codes, the method comprising the steps of:
decoding a row of symbols while decoding a column of symbols in a product code; determining the reliability of the row symbols and the column symbols based at least in part on real number valued information received from the symbols; passing the reliability determinations of the row symbols to decode a next column of symbols at a time corresponding to passing the reliability determinations of the column symbols to decode a next row of symbols; and decoding the next row of symbols using the reliability determinations of the column symbols while decoding the next column of symbols using the reliability determinations of the row symbols.
- 17. The method of claim 16, wherein the symbols include at least one of real numbered values, real numbered voltage values, bit values, and byte values.
- 18. The method of claim 16, wherein the product codes include symbols encoded with error correcting codes formatted in a matrix of rows and columns.
- 19. The method of claim 16, wherein the step of decoding includes at least one of error correcting and error detecting.
- 20. The method of claim 16, wherein the steps of decoding, determining, passing, and decoding occur for multiple iterations.
- 21. The method of claim 16, wherein the step of determining the reliability includes the step of calculating a result for the log likelihood ratio according to at least one of equations Λ(dj)≈[(|R−{circumflex over (D)}|2−|R−D|2)/4](2dj−1) and Λ(dj)=[(R·D−R·{circumflex over (D)})/2](2dj−1) for dj ε{0,1}, wherein R includes a received noisy sequence, D includes a decided codeword after decoding, and {circumflex over (D)} includes a candidate codeword.
- 22. The method of claim 16, wherein the step of passing the reliability determinations includes passing the reliability determinations of the row symbols to decode a next column of symbols substantially simultaneously with passing the reliability determinations of the column symbols.
- 23. A method for decoding product codes, the method comprising the steps of:
receiving symbols encoded with first parity information and second parity information; and decoding the symbols using the first parity information while decoding the symbols using the second parity information.
- 24. A method for decoding product codes, the method comprising the steps of:
determining the reliability of symbols that were encoded using first parity information and second parity information, wherein the determination is based at least in part on real number valued information received from the symbols; and passing the reliability determinations, made while decoding the symbols using the first parity information, to use in decoding the symbols using the second parity information, while substantially simultaneously passing the reliability determinations made, while decoding the symbols using the second parity information, to use in decoding the symbols using the first parity information.
- 25. A system for decoding product codes, the system comprising:
logic configured to decode a row of symbols in a product code, wherein the logic is further configured to decode a column of symbols in a product code while decoding the rows of symbols in the product code.
- 26. The system of claim 25, wherein the symbols include at least one of real numbered values, real numbered voltage values, bit values, and byte values.
- 27. The system of claim 25, wherein the product codes include symbols encoded with error correcting codes formatted in a matrix of rows and columns.
- 28. The system of claim 25, wherein the logic is further configured to determine the reliability of the row symbols and the column symbols based at least in part on real number valued information received from the symbols.
- 29. The system of claim 28, wherein the logic is further configured to use the reliability determinations of the row symbols to decode a next column of symbols while passing the reliability determinations of the column symbols to decode a next row of symbols.
- 30. The system of claim 28, wherein the logic is further configured to use the reliability determinations of the row symbols to decode a next column of symbols while using the reliability determinations of the column symbols to decode a next row of symbols.
- 31. The system of claim 28, wherein the logic is further configured to determine the reliability by calculating a result for the log likelihood ratio according to at least one of equations Λ(dj)≈[(|R−{circumflex over (D)}|2−|R−D|2)/4](2dj−1) and Λ(dj)=[(R·D−R·{circumflex over (D)})/2](2dj−1) for dj ε{0,1}, wherein R includes a received noisy sequence, D includes a decided codeword after decoding, and {circumflex over (D)} includes a candidate codeword.
- 32. The system of claim 25, wherein the logic is further configured to perform at least one of error correction and error detection of the product code.
- 33. The system of claim 25, wherein the logic is further configured to decode for multiple iterations.
- 34. The system of claim 25, wherein the logic is included in at least one of a discrete logic circuit having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having combinational logic gates, a programmable gate array, and a field programmable gate array.
- 35. The system of claim 25, wherein the logic includes software with parallel decoding functionality.
- 36. The system of claim 25, wherein the logic includes a row decoder and a column decoder.
- 37. The system of claim 25, wherein the logic is included in a computer readable medium.
- 38. The system of claim 25, further including at least one of a processor, memory, and a threshold device that communicates with the logic in providing decoding functionality.
- 39. The system of claim 38, wherein the processor and the logic are located in separate devices.
- 40. The system of claim 38, wherein the processor and the logic are located in the same device.
- 41. A system for decoding product codes, the system comprising:
logic configured to decode a row of symbols while decoding a column of symbols in a product code, wherein the logic is further configured to determine the reliability of the row symbols and the column symbols based at least in part on real number valued information received from the symbols, wherein the logic is further configured to pass the reliability determinations of the row symbols to decode a next column of symbols at a time corresponding to passing the reliability determinations of the column symbols to decode a next row of symbols, wherein the logic is further configured to decode the next row of symbols using the reliability determinations of the column symbols while decoding the next column of symbols using the reliability determinations of the row symbols.
- 42. The system of claim 41, wherein the symbols include at least one of real numbered values, real numbered voltage values, bit values, and byte values.
- 43. The system of claim 41, wherein the product codes include symbols encoded with error correcting codes formatted in a matrix of rows and columns.
- 44. The system of claim 41, wherein the logic is further configured to perform at least one of error correction and error detection of the product codes.
- 45. The system of claim 41, wherein the logic is further configured to decode, determine, pass, and decode for multiple iterations.
- 46. The system of claim 41, wherein the logic is further configured to pass the reliability information to a row decoder substantially simultaneously to passing the reliability information to a column decoder.
- 47. The system of claim 41, wherein the logic is included in at least one of a discrete logic circuit having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having combinational logic gates, a programmable gate array, and a field programmable gate array.
- 48. The system of claim 41, wherein the logic includes software with parallel decoding functionality.
- 49. The system of claim 41, wherein the logic includes a row decoder and a column decoder.
- 50. The system of claim 41, wherein the logic is included in a computer readable medium.
- 51. The system of claim 41, wherein the logic is further configured to determine the reliability by calculating a result for the log likelihood ratio according to at least one of equations Λ(dj)≈[(|R−{circumflex over (D)}|2−|R−D|2)/4](2dj−1) and Λ(dj)=[(R·D−R·{circumflex over (D)})/2](2dj−1) for dj ε{0,1}, wherein R includes a received noisy sequence, D includes a decided codeword after decoding, and {circumflex over (D)} includes a candidate codeword.
- 52. The system of claim 41, wherein the logic is further configured to substantially simultaneously pass the reliability determinations of the row symbols and the column symbols.
- 53. The system of claim 41, further including at least one of a processor, memory, and a threshold device that communicates with the logic in providing decoding functionality.
- 54. The system of claim 53, wherein the processor and the logic are located in separate devices.
- 55. The system of claim 53, wherein the processor and the logic are located in the same device.
- 56. A system for decoding product codes, the system comprising:
logic configured to pass reliability determinations of row symbols to decode a next column of symbols, wherein at a time corresponding to passing the reliability determinations of the row symbols the logic is further configured to pass reliability determinations of column symbols to decode a next row of symbols, wherein the row and the column decoding occur substantially simultaneously, wherein the reliability determinations are based at least in part on real number valued information received from the symbols.
- 57. The system of claim 56, wherein the symbols include at least one of real numbered values, real numbered voltage values, bit values, and byte values.
- 58. The system of claim 56, wherein the product codes include symbols encoded with error correcting codes formatted in a matrix of rows and columns.
- 59. The system of claim 56, wherein the logic is further configured to pass the reliability determinations for multiple iterations.
- 60. The system of claim 56, wherein the logic is included in at least one of a discrete logic circuit having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having combinational logic gates, a programmable gate array, and a field programmable gate array.
- 61. The system of claim 56, wherein the logic includes software with parallel decoding functionality.
- 62. The system of claim 56, wherein the logic includes a row decoder and a column decoder.
- 63. The system of claim 56, wherein the logic is included in a computer readable medium.
- 64. The system of claim 56, wherein the logic is further configured to determine the reliability by calculating a result for the log likelihood ratio according to at least one of equations Λ(dj)≈[(|R−{circumflex over (D)}|2−|R−D|2)/4](2dj−1) and Λ(dj)=[(R·D−R·{circumflex over (D)})/2](2dj−1) for dj ε{0,1}, wherein R includes a received noisy sequence, D includes a decided codeword after decoding, and {circumflex over (D)} includes a candidate codeword.
- 65. The system of claim 56, wherein the logic is further configured to substantially simultaneously pass the reliability determinations of the row symbols and the column symbols.
- 66. The system of claim 56, further including at least one of a processor, memory, and a threshold device that communicates with the logic in providing decoding functionality.
- 67. The system of claim 66, wherein the processor and the logic are located in separate devices.
- 68. The system of claim 66, wherein the processor and the logic are located in the same device.
- 69. A system for decoding product codes, the system comprising:
logic configured to receive symbols encoded with first parity information and second parity information, wherein the logic is further configured to decode the symbols using the first parity information while decoding the symbols using the second parity information.
- 70. A system for decoding product codes, the system comprising:
logic configured to pass reliability determinations, made while decoding symbols using first parity information, to use in decoding the symbols using second parity information, while substantially simultaneously passing the reliability determinations made, while decoding the symbols using the second parity information, to use in decoding the symbols using the first parity information, wherein the reliability determinations are based at least in part on real number valued information received from the symbols.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to copending U.S. provisional application entitled, “A PARALLEL DECODER FOR LOW LATENCY DECODING OF TURBO PRODUCT CODES,” having ser. No. 60/333,257, filed Nov. 14, 2001, which is entirely incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60333257 |
Nov 2001 |
US |