海明码是一种多重奇偶检错码,具有检错和纠错的功能。海明码的全部码字由原来的信息和附加的奇偶校验位组成。奇偶校验位和信息位赋值在传输码字的特定位置上。 数据冗余:在一个数据集合中重复的数据称为数据冗余。
冗余位是指在数据传输过程中添加的一些额外的位,用来检测和纠正错误。它被用来确保信息在传输过程中不会发生丢失或改变。冗余位可以提高数据传输的可靠性,保证数据的完整性和准确性。
海明码的原理是将数据分成若干个块,每个块包含一定数量的数据位和冗余位。冗余位的数量取决于数据位的数量,通常是2的幂次方。在传输数据时,海明码会将数据块和冗余位一起发送。接收方会对接收到的数据进行校验,如果发现错误,就会使用冗余位来纠正错误。
海明码有三个重要性质:
①假设 数据位为n位,校验位有k位,则海明码有n+k位,且n和k需满足2*-12n+k等式(可以用2*-1>n简化计算)。如:当n=8 时则k=4;当n=16时,则k=5。
②用符号D代表数据位,P代表校验位,H代表海明码,则P;=H2-1,也就是说第1个校验位在海明码的第2i-1个位置上。当确定好校验位在海明码的位置之后,剩下的位置则由数据位进行填充。
③每一位海明码都会被校验到,其中,被校验的海明码它的下标等于参与校验的所有检验码
下标之和,而校验位由自身校验。
码距(海明距离,hamming distance)
同一编码规则下的两码字间对应位置上不同二进制位的个数。
1101111
码距为2
1101010
编码的码距为其中任意两码字间的最小码距。