汉明码练习

信息处理 信道编码
2022-01-31 23:10:50

我正在准备考试,我偶然发现了这个练习。现在我似乎无法弄清楚。任何人都可以帮助我吗?

练习:

对于 8 位数据字:00111001,校验位为:0111现在如果从内存中读取字并且校验位是 1101,那么数据字是什么?

文本从另一种语言翻译成英语。

我首先进行了检查:

整个字是数据字(8 位)加上校验(4 位)。

在这种情况下: 0 0 1 1 0 1 0 0 1 1 1 1(位置1、2、48上的校验位,右侧位是最低有效位)

然后检查本身:

检查包括从组合字中的数据字中搜索所有值为 1 的位。可以看出,位置3 7 910的值为 1,并非来自支票。这 4 个值被写入二进制并相加。完成后。再次找到支票。(确认此方法有效)

3:0 0 1 1

7:0 1 1 1

9:1 0 0 1

10:1 0 1 0


0 1 1 1

所以这是正确的(只是看看这个方法是否正确)

然后我有另一个检查(1101),但我怎样才能找到数据字?

提前谢谢

1个回答

我是如何做到的:使用原始数据字并填写新的校验位。

001111001101

然后再次获取 1 所在的位置并将该数字转换为二进制:

1:0 0 0 1

3 : 0 0 1 1

4:0 1 0 0

7 : 0 1 1 1

8 : 1 0 0 0

9:1 0 0 1

10:1 0 1 0


1 0 1 0

所以这意味着第 10 位是错误的

由于我没有实际的解决方案,我不知道这是否正确,有点适合我学习如何做到这一点的方式。