Search code examples
crccrc16

CRC failure quote


I am recently using CRC 8 to check my data for bit errors. My data is 320 bytes long. How high is the probability for not detecting bit errors when using 8-bit CRC with 320 bytes of data?

I honestly couldn't find any information on the failure quote. So far it worked fine, but I'm just curious of how good it will work and if there is a need to go to 16-bit CRC. The polynomial I'm using is 0x07.

Thanks!


Solution

  • The length of the message doesn't matter, so long as it's at least eight bits. Then the probability of a false positive with a large number of errors is 1/256. For a small number of errors the probability of a false positive can be zero. A burst of eight bit errors in a row will always be detected with no false positives.

    In general an n-bit CRC will have a false positive rate of 2-n for more than n errors in the message, which can be any length.