1
votes

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!

1
What googling "crc probability of undetected error" is yielding? For me it's 35k results.Eugene Sh.
This is not a programming but a general mathematical question. There are documents detailing CRCs which you should read. Briefly: there is no simple answer.too honest for this site
@Olaf: That's okay. The site tour specifically states that questions about "software algorithms" are on topic. CRCs are widely used in programming, and their algorithm has some properties (error detection rate) that I think can be reasonably discussed in a programming forum like Stack Overflow. @ Darius: This page may interest you. CRCs may detect some errors with a 100% rate (e.g. single bit flips), but in general an 8-bit checksum can only catch up to ~99.6% of all possible errors due to collisions.Cornstalks
@Cornstalks: It is not. You want to read How to Ask. And CRCs are not "software algorithms". Actually they were (and are) implemented in hardware. And we are not a discussion site.too honest for this site
@Olaf: Not all CRCs are implemented in hardware. The ones I've worked with were all implemented in software. And I think you may have read a little too much into my use of "discussion." Asking a question and getting an answer is a form of discussion. I wasn't referring to long back-and-forth conversations that take place on other forums. A better word probably exists, but alas, "discussion" is the first word that came to mind, and I haven't been able to think of a better one.Cornstalks

1 Answers

1
votes

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.