海明码校验(纠错,容错)校验计算公式与在线计算器
待校验位宽(占用字节数)
已校验位宽(占用字节数)
检验码(hex)(位宽)
待校验类型
已校验类型
位校验方式
结果高位补0
输出分组

CTRL+A :选中全部,CTRL+C:复制,CTRL+V:粘贴。 使用必读本站支持微信扫码登录了除了计算器还有这些功能可用

分类: 校验计算 标签:海明码校验纠错容错 工具ID:141 阅读:11835 收藏

输入2进制或16进制的数据,点击正向计算或反向计算,可求出海明码校验数据或原数据。

【注意】

  • 输入数据要与选择的数据类型一致,2进制(bin)或16进制(hex)。
  • 左侧补0,是为了使输出数据组成为整数字节。
  • 2进制每4位用空格隔开是为了读取方便,当输入数据有空格时,不影响计算结果。

【海明码简介】

海明码是由Richard Hanming于1950年提出的,它具有一位纠错能力。当已校验数据的任一位发生错误,都不影响解码出来的数据。

【海明码的计算方法】
设欲检测的二进制代码为n位,为使其具有纠错能力,需要添加k位检测位,组成n+k位的代码。为了能准确对错误定位以及指出代码没错,新添加的检测位数k应满足:2k ≥ n+k+1
由此关系可求得不同代码长度n所需要检测位的位数k。
海明码的编码规则如下:

设k个校验位为Pk,Pk-1,·····,P1, n个数据位为 Dn-1,Dn-2,·····,D1,D0,对应的海明码为Hn+k,Hn+k-1,······,H1,那么

(1)Pi在海明码的第2i-1位置,比如P1,21-1=1,所以在H1的位置。

(2)海明码中的任何一位都是由若干个校验位来校验的。其对应关系如下:被校验的海明位的下标等于所有参与校验该为的校验位的下标之和,而校验位由自身校验。比如H12,下标为12,等于8+4,所以是海明码的第8、第4位校验位来检测的。

举例

对于8位的数据位,进行海明校验需要4个校验位(2k ≥ n+k+1,24 ≥ 8+4+1)。令数据位为D7,D6,D5,D4,D3,D2,D1,D0,校验位为P4,P3,P2,P1,形成的海明码为H12,H11,····,H1,则编码过程如下:

(1)确定D与P在海明码中的位置

H12H11H10H9H8H7H6H5H4H3H2H1
D7D6D5D4P4D3D2D1P3D0P2P1

(2)计算校验位

这里主要讲一种简易的计算校验位的方法:

第一个校验位P1是位于H1的位置,它检验的位置是H1,H3,H5,H7,H9,H11,也就是读一位,隔一位,···

第二个校验位P2是位于H2的位置,它检验的位置是H2,H3,H6,H7,H10,H11,也就是读两位,隔两位,···

第三个校验位P3是位于H4的位置,它检验的位置是H4,H5,H6,H7,H12,也就是读四位,隔四位,···

第四个校验位P4是位于H8的位置,它检验的位置是H8,H9,H10,H11,H12,也就是读八位,隔八位,···

以此类推,就可以轻易得知,第n位校验位校验的海明位是,从自身开始,读2n-1位,隔2n-1位,·····,直到读到尽头。

知道校验位后 ,对校验位对应的数据进行异或运算(默认是偶校验),即:

P1=D0⊕D1⊕D3⊕D4⊕D6

P2=D0⊕D2⊕D3⊕D5⊕D6

P3=D1⊕D2⊕D3⊕D7

P4=D4⊕D5⊕D6⊕D7

若采用奇校验,则将各校验位的偶校验值取反即可。

(3)检验错误。对使用海明码的数据进行校验差错检测很简单,根据上面的方法,我们可以很轻易得知每个校验位负责检测的海明位校验码(P4-P1)和原数据,当求出的原数据再次进行校验得到新校验数据(NP4-NP1),然后进行以下运算:

G4=NP4⊕P4

G3=NP3⊕P3

G2=NP2⊕P2

G1=NP1⊕P1

当结果(G4-G1)全为0是表示数据没有错误,否则即出现了错误。当发生错误时,将G4G3G2G1的值转化为十进制即可知道发生错误的位置,如G4G3G2G1=0110,即表示H6这个位置的数据发生了错误,只要将其取反即可纠正。



 

最新搜索: 触发 达西方程 科学计数法 join 最大允许 钢管标准取 计算公式 镀锌薄钢板 长方形四棱台体积 等额 外心坐标 1011 111 圆柱体容积 (1 x)(100x 预付年金求终值 RC滤波器计算公式 拉脱 导线 载流量 载流量 421 报价 减速时间 海拔大气压 求和 7249397325 1437年4月25日 j矩阵乘法 VS 圆形风管弯头面积计算 空心圆 Owen公 c55 yplu 高斯函数 -196 阴历计算 序贯 有源 175800 (2-x-y)^2 221.24D 3915 39.75 -1029 MSE 维修保养 -2x ^2 + 200309 巴特沃兹 0.047 275/875 风管厚度 运放积分 d033542c9b 0.16666 株距 Developmen 单核细胞 间距 花纹钢板 回归方程 动脉血氧含 网速 0x16 聊斋志异 流量和压力 sin105 b9fa 偶校验 F=BqV 高速ADC 8*8 1双数值表示为 10功能码 建筑给排水 数组所有元 风管风速 男性肾小球滤过率 补码乘法 米哈游 分组 光伏电缆 链轮 -3.400000e mw 6/7 矩形展开面积 最大功率 电机电流计 40 25 50 南双线 比热容换算 110°12′34 匀变速直线 圆柱卧式计

对此计算器不满意或未找到合适的计算器?本网站免费订制专用计算器…… 报错/建议 讨论专区

相关推荐