Cyclic Redundancy Check
(Page 1 of 4 )
One thing I have learned during my university years and current life experience is that nothing is perfect. Errors can occur in multiple places. When this happens we need to come up with a solution for the problem. A Cyclic Redundancy Check is the solution for error checking any data transmission.
There are multiple ways to complete a data transmission. The most popular involves the use of twisted copper pairs and the Internet. This uses analog data transmission. and problems can occur, caused by magnetic interfaces, connection errors and many other things.
The newest technology involves the use of optics, with interoffice fiber trunks that transmit digital codes. This assures a really low error rate; however, considering that this technology is still quite expensive, it will probably be a long time before we switch to this all over the world.
Then again, there is the wireless data connection so popular today with the rise of notebooks. This relies solely on analog data transmission, and many other frequencies can occur at the same time we transmit our data. This will lead, of course, to corrupted data.
Due to this, we need to come up with some error correction and detection methods. The error correction part calls for a whole lot of effort and resources. Therefore, it is only recommended for use in places where transmitting another package of the initial data implies heavy penalties or (just as easily) could be corrupted. This is the case with a wireless connection. I will deal with this in a future article.
Nevertheless, the error detection part is more straightforward and can be implemented in hardware effortlessly with the help of some linear feedback shift registers. As a result, most of the protocols used today implement this at a hardware level. I will present this too; however, before we reach that point, you need to learn the idea behind the classic algorithm.
Next: Error detecting codes >>
More C# Articles
More By Gabor Bernat