Error Correction
Error correction validates the integrity of the data and is frequently used with compression to verify that the compression process did not corrupt the data. The impact of a single-bit error can distort substantial amounts of compressed data—instead of just impacting a single bit, it might distort two or more bytes, which, in turn, might require the retransmission of even more data. When you consider the overhead of asynchronous communications—the start and stop bits require two extra bits per eight-bit byte, or 20 percent of the final bit stream data rate—the added overhead that would result from errors involving compressed data only serves to further reduce the actual throughput. Detection, and correction when applicable, of errors as quickly as possible can reduce the amount of data that needs to be retransmitted and, thus, improve total throughput. The error correction process relies on a checksum value that validates the data. A simple example of this checksum looks like the following: 21 + 9 + 6 + 17 + 8 + 29 + 4 + 27 = 121 It is reasonably certain that the calculation on the left side of the equal sign is accurate because it does equal the value on the right side. However, it would also be possible for the 21 to be a 22 and for the 9 to be an 8, which also yields an answer of 121. Error correction works on the same premise as this equation; however, most error correction algorithms work to allow for multiple errors and other distortions. Many error correction processes block the binary data and divide that value by a fixed value. This value is then added to the block of data and is transmitted with the user data. On the opposite end of the transmission, the checksum is calculated against the binary value of the data and the division of the same fixed value. If they match the data block, the result is considered true and forwarded. If the values do not match, the data is discarded.
279 times read
|
|
|
Did you enjoy this article?
(total 0 votes)
|