CRC是否具有以下功能

时间:2011-02-24 01:40:24

标签: checksum crc

当数据传输被篡改1位或2位时,接收器能否自动校正?

2 个答案:

答案 0 :(得分:6)

不,CRC是一个错误检测代码,而不是纠错码。

了解更多here

答案 1 :(得分:0)

CRC主要用作错误检测代码。但是,如果总位数(包括CRC中的位数)小于CRC的周期,则可以通过计算校正子(xor计算和接收的CRC)来校正单位错误。如果单独翻转,每个位将产生唯一的综合症。可以迭代CRC算法以找到与每个比特相关联的综合症;如果找到与每个位相关的校正子,可以将其翻转并纠正单个位错误。

但是,这样做的一个主要危险是CRC对拒绝虚假数据的作用要小得多。如果在具有15个字节数据的数据包上使用8位CRC,则256个随机数据包中只有一个会通过有效性,但是通过翻转单个位可以“纠正”所有随机数据包的一半。