What kind of errors does CRC method cannot detect?

What kind of errors does CRC method cannot detect?



Lets assume a 16 bit CRC polynomial x¹⁶+x¹²+x⁵+1 = 0x11021. That polynomial can:



Considering the above points are right......
What kind of errors does CRC cannot detect.?






Have you read the Wikipedia article on this topic and done a search for the word 'not' in it?

– Bob Jarvis
Sep 16 '18 at 19:45




1 Answer
1



That should be detect all single burst errors up to 16 bits.



0x11021 is the product of 2 "prime" polynomials, 0xf01f and 0x3. The 0x3 factor is why all odd bit errors are detected (it is a parity factor).



Since all odd bit errors are detected, then this statement becomes detecting all 2 bit errors up to a data size size 32751 bits or a message size of 32767 bits, which includes the 16 bit CRC which is appended to the data bits. For a brute force approach, using a bit string of all zero bits except the first bit which is a one bit, then calculate the CRC over this string until the CRC only has a single one bit as the most significant bit. This can be emulated by starting with a CRC of 0x8000 and cycling it until it cycles back to 0x8000 again, which will take 32767 cycles. So if bit[0] and bit[32768] are == 1 (all other bits == 0), then the calculated CRC will be zero, a failure to detect the 2 error bits.



What kind of errors does CRC cannot detect?



Multiple burst errors where the total distance of the bursts spans more than 16 bits, essentially a single burst error more than 16 bits long.



Some patterns of 4 or more randomly distributed bit errors will fail to be detected. As seen in the table below, the probably of not detecting an error is fairly low. As the number of bit errors increases, the failure rate increases, but it's still low unless you have a lot of bit errors. A random pattern of bits will pass a CRC16 check about 1/65536 of the time, but this would be unusual in a normal message send / receive sequence.


48 bit data, 16 bit crc, => 64 bit message
2^64 - 1 possible error patterns
84 of 635376 possible patterns of 4 error bits fail
2430 of 74974368 possible patterns of 6 error bits fail
133001 of 4426165368 possible patterns of 8 error bits fail
4621021 of 151473214816 possible patterns of 10 error bits fail
100246083 of 3284214703056 possible patterns of 12 error bits fail



Thanks for contributing an answer to Stack Overflow!



But avoid



To learn more, see our tips on writing great answers.



Required, but never shown



Required, but never shown




By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

ャフサォクコ ケウ,コ,ワ メ,ロスョノ゙,クネ,フムカヤヲニ,エコ゚ツ ウイオン゙ケワサネォキモュキォウイノンコチ゚メヌナイゥフュ,カヒウネェ ネ,ホノケ,ムュキ ッボーミュハ,チ ツス ィ メウイマヤ,゙ウチ ヅ ロ,ォジヌェ ャヌット ェ,マャ,チナエヒネソキツテ トホヲヲミーァ

How do I collapse sections of code in Visual Studio Code for Windows?