Error handling Bsd修正是否可能?

Error handling Bsd修正是否可能?,error-handling,crc,bsd,Error Handling,Crc,Bsd,我正在研究如何使用这里介绍的BSD校验和。有人知道您是否可以使用它进行基本的错误纠正吗 考虑8位或16位左旋转校验和,其中所有消息字节都应为零,但其中一个字节有一个位错误。校验和将检测错误,但对于消息[0]=0x01或消息[1]=0x02,…,您将得到相同的校验和,或消息[7]=0x80。校验和无法确定这8个或更多可能发生的错误情况中的哪一个,因此无法用于错误更正 您至少需要像汉明码、BCH码或RS码这样的代码才能纠正一个或多个位错误。由于您将CRC作为标记,因此,如果包含CRC的消息长度小于有

我正在研究如何使用这里介绍的BSD校验和。有人知道您是否可以使用它进行基本的错误纠正吗

考虑8位或16位左旋转校验和,其中所有消息字节都应为零,但其中一个字节有一个位错误。校验和将检测错误,但对于消息[0]=0x01或消息[1]=0x02,…,您将得到相同的校验和,或消息[7]=0x80。校验和无法确定这8个或更多可能发生的错误情况中的哪一个,因此无法用于错误更正


您至少需要像汉明码、BCH码或RS码这样的代码才能纠正一个或多个位错误。由于您将CRC作为标记,因此,如果包含CRC的消息长度小于有限字段中可能值的数量,则使用作为有限字段基础的原始多项式的单位校正二进制BCH代码本质上与CRC相同。例如,一条15位消息将有11个数据位和4个奇偶校验位,基于GF2^4 GF16的有限域。

谢谢,这是完全有意义的。我必须更多地研究它们,看看我是否可以将它们用于我的目的。我有18个数据位和4个用于CRC,至少有2位错误检测,可能还希望有一点错误纠正。@ChrisJames-4位CRC只能检测所有2位错误最多11个数据位,在这种情况下,仅当4位CRC基于5位基本多项式时:x^4+x+1或x^4+x^3+1。假设您有12个数据位和4个CRC位,那么位[0]和位[15]中有错误的消息将指示良好的CRC,即使是2位错误。@ChrisJames-对于18位数据和4位CRC,未检测到2位错误的几率很低,22位中有2位错误的231个案例中只有6个案例将指示良好的CRC,约2.6%。