CRC error detection computes the remainder of a polynomial division of a generator polynomial into a message. The remainder, which is usually 16 or 32 bits, is then appended to the message. When another remainder is computed, a nonzero value indicates an error. Depending on the generator polynomial's size, the process can fail in several ways, however. It is very difficult to determine how effective a given CRC will be at detecting errors.
The probability p that a completely random (bad) message will be incorrectly accepted as valid (not detected as a CRC error), is completely a function of the code rate: p = 2-r = 2-(n - k). Where
Use of the CRC technique for error correction normally requires the ability to send retransmission requests back to the data source.
Comments:
Oops, you are right. I hope it's fixed now. Thank you.
David A Cary Says:
16-bit CRC routine (isochronous) for the polynomial 0x8005
Scott Dattalo, Dave Dribin (2002-08-24)
http://www.piclist.com/techref/postbot.asp?by=time&id=piclist\2002\08\24\233838a&tgt=post
A quick guide to CRC: With example calcuation of CRC 16 by Pierre Desrochers
See also:
Code: