汉明校验码
首先放个图,为汉明码中信息位N与校验位K的位数关系: 2^(K-1)>=N+K+1 码距:一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。 以汉明校验码中的偶校验为例,若汉明码最高位号为m,最低位号为1,即有Hm、Hm-1、Hm-2···H2、H1。 一、 编码规则为: ⑴每个校验位Pi在汉明码中被分到位号2^(i-1)的位置上,其余各位为信息位。 ⑵汉明码的每一位Hi有多个校验位校验,其关系式是 被校验的每一位位号等于校验它的各校验位的位号之和 。 ⑶在增大码距时,应使所有编码的码距尽量均匀的增大,以保证对所有代码的检测能力平衡的提高。 二、 校验规则为: ⑴当S5~S1为00000时,表明无错。 ⑵当S5~S1中仅有一位不为0时,表明是某一校验位出错或者是3位汉明码同时出错。由于3位同时出错的情况很少,故通常认为是某一位出错,出错位是该Si对应的Pi位。 ⑶当S5~S1中有2位不为0时,表明是两位汉明码同时出错,此时只能发现错误,但无法确定出错位置。 ⑷当S5~S1中有3位不为0时,表明1位信息位出错或3位汉明码同时出错,由于3位同时出错的情况很少,故通常认为是某一位信息位出错。出错位的位号由S5~ S1 的4位代码值指明,此时不仅能检查出一位错,而且能够准确的定位