我正在使用wiki BSD所述的BSD校验和,有人知道您是否可以将其用于基本错误纠正吗?
最佳答案
考虑一个8位或16位的左旋转校验和,其中所有消息字节均假定为零,但其中一个具有单个位错误。校验和将检测到错误,但是对于message [0] = 0x01或message [1] = 0x02,...或message [7] = 0x80,您将获得相同的校验和。校验和无法确定这8个(或更多)可能的错误情况中的哪一个发生了,因此不能用于纠错。
您至少需要像汉明码,BCH码或RS码之类的东西,才能纠正更多的位错误。由于您将CRC作为标签,因此,如果消息长度(包括CRC)短于1个字节,则纠正二进制BCH码的比特与使用“原始”多项式(作为有限字段基础)的CRC相同。有限字段中可能值的数量。例如,基于GF(2 ^ 4)(GF(16))的有限字段,一条15位消息将具有11个数据位和4个“奇偶校验”位。
关于error-handling - BSD校正可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53871823/