我有一个假设情况,需要发送数据单元,每个单元有一千字节。失败率很低,但如果出现错误,则更可能是几位连续出错而不是单个位出错。
起初我想使用校验和,但显然它可能会漏掉大于一个位的位错误。奇偶校验也行不通,所以CRC可能是最好的选择。
使用循环冗余校验在一千字节上是否有效?还是有其他更好的方法?
起初我想使用校验和,但显然它可能会漏掉大于一个位的位错误。奇偶校验也行不通,所以CRC可能是最好的选择。
使用循环冗余校验在一千字节上是否有效?还是有其他更好的方法?
使用CRC是很正常的。我不确定你所说的“效率”是什么意思,但我认为有时会在硬件上实现CRC(例如在以太网卡上)。否则,您可能会找到“优化”的实现(使用查找表)。
你的磁盘扇区有多大?可能至少为512字节。CRC是硬件级磁盘ECC的历史悠久的方案。
标准的CRC多项式算法对于少量位错误非常有效。精确度在数学上是可计算的。在硬件中执行CRC也非常高效,相对较少的门和移位寄存器可以即时完成工作。