欢迎光临
我们一直在努力

汉明码详解

文章目录

    • 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 位错误,但是不能纠正

赞(0)
未经允许不得转载:171主机测评 » 汉明码详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址