集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1336|回复: 3

汉明码校验错误实例

[复制链接]
fpga_feixiang 发表于 2020-5-21 11:56:05 | 显示全部楼层 |阅读模式
我们以上面的编码为例,假设我们现在收到的编码为001101001,我们可以发现汉明码的第8位与原来的汉明码001101011不同,那我们怎么找出这个第8位的错误编码呢?

算法很简单,我们只要在算汉明码校验位的算法的上再算一遍,就得到了汉明码的校验方法,比如计算001101001对应的2^k位。
1,3,5,7,9进行异或,得到0

2,3,6,7进行异或,得到0

4,5,6,7进行异或,得到0

8,9进行异或,得到1

我们把上述结果反着排列,得到1000,即十进制的8,根据汉明码的校验规则,编码出错的地方即在第8位,我们把第8位的0换成1,即可得原来的编码001101011。

上述的例子是出现在2^k的校验位上的,如果出现在非2^k位上,得到的结果也是一样的,比如:
假设收到的编码为001100011,即第6位出了错误,我们根据规则
1,3,5,7,9进行异或,得到0

2,3,6,7进行异或,得到1

4,5,6,7进行异或,得到1

8,9进行异或,得到0

我们把上述结果反着排列,得到0110,即十进制的6,根据汉明码的校验规则,编码出错的地方即在第6位,我们把第6位的0换成1,即可得原来的编码001101011。
大鹏 发表于 2020-5-26 18:16:08 | 显示全部楼层
汉明码校验错误实例
zxopenhl 发表于 2020-5-27 15:47:31 | 显示全部楼层
汉明码校验错误实例
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 05:43 , Processed in 0.062135 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表