Claims
- 1. A method of performing error correction comprising:
encoding a stream of data using concatenated reed-solomon and turbo-code error correcting codes; communicating said encoded data over a transmission system; and decoding said encoded data using said reed-solomon and turbo-code error correcting codes and three levels of decoding.
- 2. The method of claim 1, wherein said transmission system is a long-haul transmission system.
- 3. The method of claim 2, wherein said long-haul transmission system communicates said encoded data at least 600 kilometers.
- 4. The method of claim 1, wherein said encoding comprises:
packing said stream of data into a first frame of first blocks; generating said reed-solomon error correcting code for each of said first blocks; appending check symbols of said reed-solomon code to said first blocks to create a second frame of second blocks; packing said second frame of said blocks into a third frame of third blocks; and generating said turbo-code error correcting code using said third blocks to create a fourth frame.
- 5. The method of claim 4, wherein said packing said frame of second blocks into a third frame of third blocks comprises interleaving said second blocks into said third blocks.
- 6. The method of claim 5, wherein said decoding comprises:
recovering check bits of said turbo-code error correcting code and said third blocks from said fourth frame; correcting errors for said third blocks using said turbo-code error correcting code check bits; unpacking said second blocks from said third blocks; recovering said reed-solomon error correcting code check symbols and said first blocks from said second blocks; correcting errors for said first blocks using said reed-solomon error correcting code check symbols; appending said reed-solomon error correcting code check symbols to said corrected first blocks to create a fifth frame of fifth blocks; packing said fifth frame of fifth blocks into a sixth frame of sixth blocks; correcting errors for said sixth blocks using said turbo-code error correcting code; unpacking said fifth blocks from said corrected sixth blocks; and removing said reed-solomon error correcting code check symbols from said fifth blocks.
- 7. The method of claim 6, wherein said unpacking said second blocks from said third blocks comprises deinterleaving said third blocks into said second blocks.
- 8. The method of claim 6, wherein said packing said fifth frame comprises interleaving said fifth blocks into said sixth blocks.
- 9. The method of claim 6, wherein said unpacking said fifth blocks comprises deinterleaving said corrected sixth blocks into said fifth blocks.
- 10. The method of claim 1, wherein said reed-solomon error correcting code is an x/207 reed-solomon error correcting code.
- 11. The method of claim 1, wherein said reed-solomon error correcting code is (255/247) code and said turbo-code is a (64,57) TPC code.
- 12. The method of claim 1, wherein said turbo-code is one of a group comprising turbo convolutional codes and turbo product codes.
- 13. A machine-readable medium whose contents cause a computer system to perform forward error correcting, comprising:
encoding a stream of data using concatenated reed-solomon and turbo-code error correcting codes; communicating said encoded data over a transmission system; and decoding said encoded data using said reed-solomon and turbo-code error correcting codes and three levels of decoding.
- 14. The machine-readable medium of claim 13, wherein said transmission system is a long-haul transmission system.
- 15. The machine-readable medium of claim 14, wherein said long-haul transmission system communicates said encoded data at least 600 kilometers.
- 16. The machine-readable medium of claim 13, wherein said encoding comprises:
packing said stream of data into a first frame of first blocks; generating said reed-solomon error correcting code for each of said first blocks; appending check symbols of said reed-solomon code to said first blocks to create a second frame of second blocks; packing said second frame of second blocks into a third frame of third blocks; and generating said turbo-code error correcting code using said third blocks to create a fourth frame.
- 17. The machine-readable medium of claim 16, wherein said packing said second frame of second blocks into a third frame of third blocks comprises interleaving said second blocks into said third blocks.
- 18. The machine-readable medium of claim 17, wherein said decoding comprises:
recovering said turbo-code error correcting code and said third blocks from said fourth frame; correcting errors for said third blocks using said turbo-code error correcting code; unpacking said second blocks from said third blocks; recovering said reed-solomon error correcting code check symbols and said first blocks from said second blocks; correcting errors for said first blocks using said reed-solomon error correcting code check symbols; appending said reed-solomon error correcting code check symbols to said corrected first blocks to create a fifth frame of fifth blocks; packing said fifth frame of fifth blocks into a sixth frame of sixth blocks; correcting errors for said sixth blocks using said turbo-code error correcting code; unpacking said fifth blocks from said corrected sixth blocks; and removing said reed-solomon error correcting code check symbols from said fifth blocks.
- 19. The machine-readable medium of claim 18, wherein said unpacking said second blocks from said third blocks comprises deinterleaving said third blocks into said second blocks.
- 20. The machine-readable medium of claim 18, wherein said packing said fifth frame comprises interleaving said fifth blocks into said sixth blocks.
- 21. The machine-readable medium of claim 18, wherein said unpacking said fifth blocks comprises deinterleaving said corrected sixth blocks into said fifth blocks.
- 22. The machine-readable medium of claim 13, wherein said reed-solomon error correcting code is an x/207 reed-solomon error correcting code.
- 23. The machine-readable medium of claim 13, wherein said reed-solomon error correcting code is (255/247) code and said turbo-code is a (64,57) TPC code.
- 24. The machine-readable medium of claim 13, wherein said turbo code is one of a group comprising turbo convolutional codes and turbo product codes.
- 25. An apparatus to perform forward error correction, comprising:
a transceiver to receive an encoded stream of data from a transmission system, wherein said encoded stream of data was encoded using concatenated reed-solomon and turbo-code error correcting codes; and A forward error correction decoder to decode said received stream of data using said concatenated reed-solomon and turbo-code error correcting codes and three levels of decoding.
- 26. The apparatus of claim 25, wherein said forward error correction decoder comprises:
a first decoder to perform first level decoding on said encoded stream of data; a first deinterleaver to deinterleave said encoded stream of data; a second decoder to perform second level decoding on said deinterleaved encoded stream of data; an interleaver to interleave said second level decoded stream of data; a third decoder to perform third level decoding on said interleaved stream of data; and a second deinterleaver to deinterleave said third level decoded stream of data.
- 27. The apparatus of claim 26, wherein said third level decoding of said forward error correction decoder provides a coding gain of approximately 0.45 decibels.
- 28. A system to perform forward error correction, comprising;
a forward error correction encoder to encode a data stream using concatenated reed-solomon and turbo-code error correcting codes; a communications network to communicate said encoded data stream; and a forward error correction decoder to decode said encoded data stream using said concatenated reed-solomon and turbo-code error correcting codes and three levels of decoding.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation-in-part of co-pending U.S. patent application Ser. No. 09/589,215 filed Jun. 7, 2000, U.S. patent application Ser. No. 09/587,741 filed Jun. 5, 2000 and U.S. patent application Ser. No. 09/993,082 filed Nov. 14, 2001, the teachings of which applications are incorporated herein by reference.
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
09589215 |
Jun 2000 |
US |
Child |
10105598 |
Mar 2002 |
US |
Parent |
09587741 |
Jun 2000 |
US |
Child |
10105598 |
Mar 2002 |
US |
Parent |
09993082 |
Nov 2001 |
US |
Child |
10105598 |
Mar 2002 |
US |