1

当数据传输被篡改 1 位或 2 位时,接收方能自动纠正吗?

4

2 回答 2

6

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

在这里阅读更多

于 2011-02-24T01:45:23.573 回答
0

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

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

于 2011-03-29T18:51:09.507 回答