You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CRC突发错误检测性能的矛盾表述:两种还是三种检测概率?

CRC突发错误检测概率:两种表述的正确性与计算方法

一、两种表述都正确,只是适用场景不同

  • 英文维基的结论是n位CRC的通用规律:所有长度≤n位的单突发错误可100%检测;长度超过n位的单突发错误,检测率为1 - 2^-n。这是数学推导的通用上限结论。
  • 德文维基是针对CRC-16的具体场景做了细化:
    • 长度≤16位的突发错误:100%检测,和通用结论完全一致。
    • 17位突发错误:检测概率≈0.99997,其实就是1 - 1/2^16的近似值(精确值约0.99996948)。
    • ≥18位突发错误:检测概率≈0.99998,这是因为标准CRC-16采用的是本原多项式,这类多项式的特性会让长突发错误的漏检概率略低于1/2^16,因此检测概率略高于通用公式的结果。

二、检测概率的计算逻辑

1. 长度≤n位的单突发错误

这类错误的错误多项式可以表示为E(x) = x^k + 1(k≤n-1,对应突发长度k+1位)。由于CRC生成多项式G(x)的次数为n,且常数项为1(不含x因子),E(x)和G(x)必然互质,无法被G(x)整除,因此CRC校验一定会报错,实现100%检测。

2. 长度为n+1位的单突发错误(以CRC-16的17位突发为例)

这类错误的多项式是E(x) = x^16 + 1。只有当G(x)能整除x^16 + 1时,错误才会被漏检。但标准CRC-16的生成多项式(比如CRC-16-CCITT的x^16 + x^12 + x^5 + 1)都不满足这个条件,因此漏检概率为1/2^16,检测概率就是1 - 1/2^16 ≈ 0.99997。

3. 长度>n+1位的单突发错误

对于长度m>n+1的突发错误,漏检的前提是错误多项式E(x)能被G(x)整除。当G(x)是本原多项式时,它整除x^k - 1的最小k值是2^n - 1(即本原多项式的周期),而实际数据块长度通常远小于这个值(比如CRC-16的周期是65535),因此这类漏检情况几乎不会出现,实际漏检概率略低于1/2^16,对应的检测概率就略高于1 - 1/2^16,这就是德文维基中≥18位突发错误检测概率≈0.99998的原因。

内容的提问来源于stack exchange,提问作者Silicomancer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:28:01