计算机组成原理:海明校验

在上图中,对绿色的7比特数据进行海明校验,需要添加紫色的4比特校验位,总共是蓝色的11比特。紫色的校验位pi分布于蓝色的hi的1, 2, 4, 8, 16, 32, 64位,是2i-1位。绿色的数据位bi分布于剩下的位。

在下图中,b1位于h3,3=2+1

b2位于h5,5=4+1

......

b7位于h11,11=8+2+1

然后竖着看,p4上边有3个8,分别对应b5, b6, b7,p4的值等于这三位的偶校验的结果。

......

p1上边有5个1,p1的值等于对b1, b2, b4, b5, b7的偶校验的结果。

算出p4p3p2p1后,按上图的位置代入hi,校验完成。

然后,接收方拿到hi,计算gi,计算方法看下图。g4上边有3个8和1个p4,3个8对应b5, b6, b7,g4的值等于对b5, b6, b7, p4求偶校验的结果。

......

计算了g4g3g2g1后,发现它的值等于0000,这表示没有错误。若值为1001,即十进制的9,这表明h9出错。

以上是不出错,或只有1比特出错的情况。实际上,当同时有多个比特出错时,即使G=0000,也不能保证不出错;G=1001,不能保证一定是h9出错了。

实践中,用11比特hi,再加上1比特偶校验位,来增强校验效果。

相关推荐
鱼跃鹰飞22 分钟前
Leetcode1891:割绳子
数据结构·算法
️停云️22 分钟前
【滑动窗口与双指针】不定长滑动窗口
c++·算法·leetcode·剪枝·哈希
码农小韩1 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
wen__xvn2 小时前
第 34 场 蓝桥·算法入门赛·百校联赛
算法
ASD125478acx2 小时前
超声心动图心脏自动检测YOLO11-NetBifPN算法实现与优化
算法
无限进步_3 小时前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
星辞树3 小时前
揭秘阿里 DIN:当深度学习遇上“千物千面”
算法
刘立军3 小时前
如何选择FAISS的索引类型
人工智能·算法·架构
小芒果_013 小时前
整理归并排序
c++·算法·排序算法·信息学奥赛
牛三金3 小时前
匿踪查询沿革-Private Information Retrieval(PIR)
算法·安全