文章目录
-
- 1.汉明码校验码
- 2.汉明码分组方式(把哪些位置的码分配到同一组中)
- 3.汉明码的组成
-
-
- 汉明码的组成需添几位检测位(分成几组)
- 检测位的位置
- 检测位的取值
- 例题
-
- 4.汉明码的纠错过程
-
-
- 例题
-
- 5.汉明编码的最小距离、汉明距离
-
-
- 例子
-
1.汉明码校验码

如果采用汉明码编码的话,我们在接收方对每一组代码进行检测,都会得到一个检测位。我们把这些检测位按照组号进行排序,得到的二进制编码,它的十进制值就是出错的位置。 (示例在图中右上角)
2.汉明码分组方式(把哪些位置的码分配到同一组中)
每一组所包含的“码”的特征是什么?这便是汉明码的编码规则。
- 第一组 XXXX1
- 第二组 XXX1X
- 第三组 XX1XX
- 第四组 X1XXX
- 第五组 1XXXX
规则便是每组的数字按序排好,从右向左,第一组第一个位置为1,第二组第二个位置为1,…

不同组会含有相同位置的数。如果说某组中排列出的某个二进制数,第一和第二位均为1,则该 位置(该二进制数对应的位置) 是第一组第二组共有,…
每组独有的位置就是1(00001)、2(00010)、4(00100)、8(01000)这样的位置。
正是因为我们采用这种方式编码,采用偶校验方式的话,我们将每组汉明编码进行检验得出的测试位(检测位)有序地排序,得到的值就是出错代码的位置
得到的测试位有序排序则为 “P5 P4 P3 P2 P1”
如果第一组的码有问题,P1位置则为1。如果第三组的码也有问题,P3位置则为1。其他组的码都没问题,则此时测试位的有序排序为 00101,对应低5个位置出问题了。
3.汉明码的组成
三要素:
- 汉明码的组成需添几位检测位(分成几组)
- 检测位的位置
- 检测位的取值
汉明码的组成需添几位检测位(分成几组)
2的k次方 >= n + k + 1
传输的信息位为n位,检测位为k位
检测位的位置
2的i次方(i = 0, 1, 2, 3 …)
检测位的取值
和奇校验还是偶校验有关

例题
T1
T2 
4.汉明码的纠错过程
正是因为我们采用这种方式编码,采用偶校验方式的话,我们将每组汉明编码进行检验得出的测试位(检测位)有序地排序,得到的值就是出错代码的位置
得到的测试位有序排序则为 “P4 P2 P1”
P1对应的是第一组数据得到的检测位,P2对应第二组,P4对应第三组
如果第一组的码有问题,P1位置则为1。如果第三组的码也有问题,P2位置则为1。其他组的码都没问题,则此时测试位的有序排序为 011,对应低3个位置出问题了。
(汉明码检测位采用异或门实现的具体原因:汉明码偶校验,为什么采用异或门实现)
例题
T1 
T2

5.汉明编码的最小距离、汉明距离
汉明编码的最小距离、汉明距离
例子
举例:为什么(7,4) 汉明码可以检测最多 2 位错误,但是不能纠正
