CRC错误检测和未检测到的错误概率 [英] CRC error detection and undetected error probabilities
问题描述
如果我们有一个大文件,比如说1 PB,能检测到所有错误的最佳CRC是什么? 32位足够吗?
If we have a large file, let 's say 1 Petabyte, what's the best CRC that can detect all the errors? Is 32bits enough?
我还听说未检测到的错误率(数据包或数据块)是= BitR * BER * 0.5 ^ k
,其中K是CRC的FSC。在CRC 32 k中是31
I also heard that undetected error rate (packet or chunk) is= BitR* BER * 0.5^k
which K is the FSC of the CRC. in CRC 32 k is 31
我想知道我们是较大的数据包还是较小的数据包这将如何影响CRC ...从这个等式可以看出,
I want to know if we have bigger packets or smaller ones how this will affect the CRC... from this equation, it is not affecting at all.
推荐答案
足够;取决于您对误报的容忍度。给定CRC或任何其他良好的哈希,不检测到任何一条消息中的错误对于您来说是可以接受的概率?
"Enough" depends on your tolerance for false positives. Given a CRC, or any other good hash, what probability would be acceptable to you of not detecting an error in any one message?
如果您称 p ,然后您需要的CRC或哈希的长度(以位为单位), n 为 n = ceiling(–log 2 (p) )。
If you call that p, then the length of the CRC or hash you need in bits, n is n = ceiling(–log2(p)).
请注意,这并不取决于消息的长度。千字节,兆字节等。除非创建,发送或存储消息的费用影响 p 的程度,否则您会接受的。
Note that this does not depend on the length of message. Kilobytes, Exabytes, whatever. Except to the extent that the expense of creating, sending, or storing the message impacts the p you would find acceptable.
对于特别昂贵的数据或通过不可靠的渠道,您可能需要考虑错误的更正代码,例如Reed-Solomon或BCH代码。
For particularly expensive data or data sent over untrustworthy channels, you may want to consider error correcting codes, such as Reed-Solomon or BCH codes.
这篇关于CRC错误检测和未检测到的错误概率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!