bsd可以修正吗?
Bsd correction possible?
我正在考虑使用此处描述的 BSD 校验和 wiki BSD 有人知道您是否可以将其用于基本纠错吗?
考虑一个 8 位或 16 位左旋校验和,其中所有消息字节都应该为零,但其中一个有一位错误。校验和将检测到错误,但您会得到与消息[0] = 0x01、消息[1] = 0x02、... 或消息[7] = 0x80 相同的校验和。校验和无法确定这 8 种(或更多)可能的错误情况中的哪一种发生了,因此不能用于纠错。
您至少需要汉明码、BCH 码或 RS 码之类的东西才能更正一位错误。由于您将 CRC 作为标记,如果消息长度(包括 CRC)较短,则单个位校正二进制 BCH 代码与使用作为有限域基础的 "primitive" 多项式的 CRC 基本相同比有限域中可能值的数量。例如,根据 GF(2^4) (GF(16)).
的有限域,一条 15 位的消息将具有 11 个数据位和 4 个 "parity" 位
我正在考虑使用此处描述的 BSD 校验和 wiki BSD 有人知道您是否可以将其用于基本纠错吗?
考虑一个 8 位或 16 位左旋校验和,其中所有消息字节都应该为零,但其中一个有一位错误。校验和将检测到错误,但您会得到与消息[0] = 0x01、消息[1] = 0x02、... 或消息[7] = 0x80 相同的校验和。校验和无法确定这 8 种(或更多)可能的错误情况中的哪一种发生了,因此不能用于纠错。
您至少需要汉明码、BCH 码或 RS 码之类的东西才能更正一位错误。由于您将 CRC 作为标记,如果消息长度(包括 CRC)较短,则单个位校正二进制 BCH 代码与使用作为有限域基础的 "primitive" 多项式的 CRC 基本相同比有限域中可能值的数量。例如,根据 GF(2^4) (GF(16)).
的有限域,一条 15 位的消息将具有 11 个数据位和 4 个 "parity" 位