8.3 Detection and Control of Errors
339
Example 8.11 The CRC-32 given in Table 8.3 has a degree of 32. Thus it will detect
all burst errors affecting an odd number of bits, all burst errors with a length less than
or equal to 32, and from Eq. (8.29) more than 99.99% of burst errors with a length
of 32 or more.
8.3.4 Using Redundant Bits for Error Correction
Error correction may be done by the use of redundancy in the data stream. With this
method, extra bits are introduced into the raw data stream at the transmitter on a
regular and logical basis and are extracted at the receiver. These digits themselves
convey no information but allow the receiver to detect and correct a certain percentage
of errors in the information-bearing bits. The degree of error-free transmission that
can be achieved depends on the amount of redundancy introduced. Note: The data
rate that includes this redundancy must be less than or equal to the channel capacity.
The method of introducing redundant bits into the information stream at the transmitter for error-reducing purposes is called forward error correction (FEC). Typically
the amount of added redundancy is small, so the FEC scheme does not use up much
additional bandwidth and thus remains efficient. The most popular error-correcting
codes are cyclic codes, such as Reed-Solomon (RS) codes. These codes add a redundant set of r symbols to blocks of k data symbols, with each symbol being s bits
long, for example, s = 8. The codes are designated by the notation (n, k) where n
equals the number of original information symbols k plus the number of redundant
symbols r. For a given symbol size s, the maximum length of a Reed-Solomon code
word is n = 2
s
− 1.
Example 8.12 The (255,239) Reed-Solomon code with s = 8 (one byte) is used in
high-speed undersea optical fiber links. This means that r = n − k = 255 − 239 =
16 redundant bytes are sent for every block of 239 information bytes. The code is
quite efficient, because the 16 redundant bytes add less than 7 percent of overhead
to the information stream.
A Reed-Solomon decoder can correct up to t symbol errors, where 2t = n − k. For
example, the (255,239) RS code can correct up to 8 errors in a block of 239 bytes.
One symbol error occurs when one or more bits in a symbol are wrong. Thus the
number of bits that are corrected depends on the distribution of the errors. If each
incorrect byte contains only one bit error, then the (255,239) RS code will correct
8 bit errors. At the other extreme, if all the bits in each of the 8 incorrect bytes are
corrupted, then the (255,239) code will correct 8 × 8 = 64 bit errors. Thus, a key
feature of RS codes is their ability to correct burst errors, where a sequence of bytes
is received incorrectly.
Another advantage of a Reed-Solomon code is that it allows transmission at a
lower power level to achieve the same BER that would result without encoding. The
resulting power saving is called the coding gain. The (255,239) RS code provides
339
Example 8.11 The CRC-32 given in Table 8.3 has a degree of 32. Thus it will detect
all burst errors affecting an odd number of bits, all burst errors with a length less than
or equal to 32, and from Eq. (8.29) more than 99.99% of burst errors with a length
of 32 or more.
8.3.4 Using Redundant Bits for Error Correction
Error correction may be done by the use of redundancy in the data stream. With this
method, extra bits are introduced into the raw data stream at the transmitter on a
regular and logical basis and are extracted at the receiver. These digits themselves
convey no information but allow the receiver to detect and correct a certain percentage
of errors in the information-bearing bits. The degree of error-free transmission that
can be achieved depends on the amount of redundancy introduced. Note: The data
rate that includes this redundancy must be less than or equal to the channel capacity.
The method of introducing redundant bits into the information stream at the transmitter for error-reducing purposes is called forward error correction (FEC). Typically
the amount of added redundancy is small, so the FEC scheme does not use up much
additional bandwidth and thus remains efficient. The most popular error-correcting
codes are cyclic codes, such as Reed-Solomon (RS) codes. These codes add a redundant set of r symbols to blocks of k data symbols, with each symbol being s bits
long, for example, s = 8. The codes are designated by the notation (n, k) where n
equals the number of original information symbols k plus the number of redundant
symbols r. For a given symbol size s, the maximum length of a Reed-Solomon code
word is n = 2
s
− 1.
Example 8.12 The (255,239) Reed-Solomon code with s = 8 (one byte) is used in
high-speed undersea optical fiber links. This means that r = n − k = 255 − 239 =
16 redundant bytes are sent for every block of 239 information bytes. The code is
quite efficient, because the 16 redundant bytes add less than 7 percent of overhead
to the information stream.
A Reed-Solomon decoder can correct up to t symbol errors, where 2t = n − k. For
example, the (255,239) RS code can correct up to 8 errors in a block of 239 bytes.
One symbol error occurs when one or more bits in a symbol are wrong. Thus the
number of bits that are corrected depends on the distribution of the errors. If each
incorrect byte contains only one bit error, then the (255,239) RS code will correct
8 bit errors. At the other extreme, if all the bits in each of the 8 incorrect bytes are
corrupted, then the (255,239) code will correct 8 × 8 = 64 bit errors. Thus, a key
feature of RS codes is their ability to correct burst errors, where a sequence of bytes
is received incorrectly.
Another advantage of a Reed-Solomon code is that it allows transmission at a
lower power level to achieve the same BER that would result without encoding. The
resulting power saving is called the coding gain. The (255,239) RS code provides
