crc可以检出奇数个错误_检查CRC多项式的错误检测能力

bd96500e110b49cbb3cd949968f18be7.png

I tried to find out how to calculate the error detection capabilities of arbitrary CRC polynomials.

I know that there are various error detection capabilities that may (or may not) apply to an arbitrary polynomial:

Detection of a single bit error:

All CRCs can do this since this only requires a CRC width >= 1.

Detection of burst errors:

All CRCs can detect burst errors up to a size that equals their width.

Detection of odd numbers of bit errors:

CRC with polynomials with an even number of terms (which means an even number of 1-bits in the full binary polynomial) can do this.

Detection of random bit errors (depending from frame size):

I have a ready-to-use C algorithm that allows calculating the maximum frame size for given HD and poylnomial. I didn't understood it completely but it works.

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

detect all single bit errors (data size independent).

detect all burst errors up to 16 bit width (data size independent).

detect all odd numbers of bit errors (since it has 4 polynomial terms; data size independent).

detect 3 bit errors (HD4) up to 32571 bit data size.

Is the above correct?

Are there additional CRC error detection capabilities? If yes, how can I check (without deep math knowledge) if an arbitrary CRC polynomial supports them?

解决方案

This paper by Koopman and Chakravarty looks at several measures of CRC performance, describing the measures and the results for many polynomials. In short, the definition of a "good" polynomial depends on the length of the message it is being applied to, which varies by application. The main measures are the Hamming distance, which is the minimum number of bits in the message that you would have to change to get back to the same CRC, and the performance at a prescribed low bit error rate.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值