我正在使用wiki BSD所述的BSD校验和,有人知道您是否可以将其用于基本错误纠正吗?
答案 0 :(得分:0)
考虑一个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个“奇偶校验”位。