奇偶校验码和海明码

奇偶校验码

例题:
假定下列字符码中最后一位是奇偶校验码,但没有数据错误,采用奇校验码的字符码是( )
A.11001111
B:11101100
C:11100111
D:11000101
奇偶校验码用于并行码的检错。原理是:在k位数据码之外增加1位校验位,使k+1位码字中取值为1的位数总保持在偶数(偶校验)或奇数(奇校验)。
A:有6位1,偶校验
B:有5位1,奇校验
C:有6位1,偶校验
D:有4位1,偶校验
所以,采取奇校验的是B

海明码

例:
某个海明码的排列方式,D9D8D7D6D5D4P4D3D2D1P3D0P2P1,数据位D8的由____进行校验。

  • 首先,认识数据位和校验位;
    海明码的编码规则:PkPk-1…P1,k个校验位。Dn-1Dn-2…D0n个数据位。
    产生的海明码Hk+nHk+n-1…H1
    将例题代入,可以得到

|H14| H13|H12 | H11|H10|H9|H8|H7|H6|H5|H4|H3|H2|H1|
|–|–|–|–|–|–|–|–|–|–|–|–|–|–|–|–|–|
| D9 |D8|D7| D6|D5|D4|P4|D3|D2|D1|P3|D0|P2|P1|

  • 第二步确定校验关系
海明码下标校验位组对应关系P4P3P2P1
H1(P1)1P10001
H2(P2)2P20010
H3(D0)3=1+2D10011
H4(P3)4P30100
H5(D1)5=1+4D10101
H6(D2)6=2+4D20110
H7(D3)7=1+2+4D30111
H8(P4)8P41000
H9(D4)9=1+8D41001
H10(D5)10=2+8D51010
H11(D6)11=1+2+8D61011
H12(D7)12=4+8D71100
H13(D8)13=1+4+8D81101
H14(D9 )14=2+4+8D91110
  • 第三步,确定校验位的取值,从上面的表中可以得到P4P3P2P1参与校验的位
    P1校验:P1,D0,D1,D3,D4,D6,D8
    P2校验:P2,D0,D2,D3,D5,D6,D9
    P3校验:P3,D1,D2,D3,D7,D8,D9
    P4校验:P4,D4,D5,D6,D7,D8,D9
    若使用偶校验:
    P1=D0⊕D1⊕D3⊕D4⊕D6⊕D8
    P2=D0⊕D2⊕D3⊕D5⊕D6⊕D9
    P3=D1⊕D2⊕D3⊕D7⊕D8⊕D9
    P4=D4⊕D5⊕D6⊕D7⊕D8⊕D9
    奇校验便是偶校验得到后的结果取反。

所以,题目的答案就是:P1P3P4

海明码的检测错误

按照上述第三步的描述下,
G1=P1⊕D0⊕D1⊕D3⊕D4⊕D6⊕D8
G2=P2⊕D0⊕D2⊕D3⊕D5⊕D6⊕D9
G3=P3⊕D1⊕D2⊕D3⊕D7⊕D8⊕D9
G4=P4⊕D4⊕D5⊕D6⊕D7⊕D8⊕D9
若偶校验:G1~G4全为0
若奇校验:G1~G4全为1
例如:当G1G2G3G4=0101,从上述表中找到P1P3对应H5的匹配项及D1出错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值