检测位的小组的划分
自己有一种一种比较容易的理解方法是:
C1:小组中的数最后一个数的二进制数为1:1,3,5,7,9,11
C2:小组中的倒数第二个数的二进制数为1:2,3,6,7,10,11
C4:小组中的倒数第三个数的二进制数为1:4,5,6,7,12,13
C8:小组中的倒数第四个数的二进制数为1:8,9,10,11,12,13
再根据这个规律类推。
根据不同的代码长度n,所需要的检测位的个数为:2*k>= n+ k + 1
一般用的n不超过11,也即为k不超过3.
插入三个检测位,传递信息为:b1b2b3b4,它们的位置安排就是
二进制序号 1 2 3 4 5 6 7
名称 C1 C2 b1 C4 b2 b3 b4
求相应的汉明码
0101 求相应的汉明码
二进制序号 1 2 3 4 5 6 7
名称 C1 C2 0 C4 1 0 1
配偶原则:
C1=3+5+7=0 C2=3+6+7=1 C4=5+6+7=0
配奇原则:
C1=3+5+7=1 C2=3+6+7=0 C4=5+6+7=1
配偶原则:使小组位中的1的个数为偶数
配奇原则:取配偶原则的相反数
简单的方法就是直接在二进制序号找出小组中的数
C1:1,3,5,7
C2:2,3,6,7
C4:4,5,6,7
最后得到0101的汉明码为(配偶原则):0100101
最后得到0101的汉明码为(配奇原则):1001101
汉明码的纠错
接收到的汉明码为 0011001,求传送的代码
二进制序号 1 2 3 4 5 6 7
名称 0 0 1 1 0 0 1
配偶原则:
P1=1+3+5+7=0 P2=2+3+6+7=0 P4=4+5+6+7=0
即P1 P2 P4 = 000,表示没有位错误,故欲传送的信息为:1001
配偶原则:
P1=1+3+5+7=1 P2=2+3+6+7=1 P4=4+5+6+7=1
即P1 P2 P4 = 111,表示第七位错误,可纠正为:0011000 ,故欲传送的信息为:1000
给个赞哟小可爱们~(ฅ´ω`ฅ)