汉明编码的校验,个人学习笔记
根据汉明编码的纠正 首先了解汉明码的组成,设欲检测的二进制代码为n位,需要添加k位检测位,组成n+k位的代码 他们的关系是 2^k>=n+k+1 代码长度n与检测位数k的关系 n k 1 2 2~4 3 5~11 4 12~26 5 确定K位后,设n+k位二进制代码从左向右的顺序依次位1,2,3,4,5,……n+k位 (1)将k位的检测位记作Ci(i=1,2,4,8,16……),分别安插在n+k位二进制代码的1,2,4,8位上。 (2)C1即二进制代码中第一位为1的,如1,11,101,111,1001,1011等(1,3,5,7,9,……) C2即二进制代码中第二位为1的,如10,11,110,111,1010,1011等(2,3,6,7,10,11) C4即二进制代码中第三位为1的,如100,101,111,1100,1101等(4,5,6,7,12,……) C8即二进制代码中第四位为1的,如1000,1001,1011,1111等(8,9,10,11,12,……) (3) 实际C1就是安排在n+k位二进制代码的第1位上,C2是第2位,C4是第4位,C8是第8位,以此类推 在配奇/配偶时,C1=第1,3,5,7,9位相加 C2=第2,3,5,7,9位相加以此类推 安插顺序如下,例如欲检测的代码为4位,则需要安插3位检测位,计算方法为2^k>=n+k+1, 即2 ^k>=k+4