校验码

循环冗余校验

创建一个输送方和接受方共同持有的多项式
如:a(x) = x5+x4+x1+x0 = 110011
假设有报文D内容为 D = 10100110

1)判断多项式有多少位,本文中有6位,则将报文左移5位
2)将报文模2除1与多项式,再将模2除的余商追加到左移后的报文中(替换左移产生的4位),示例中结果为1010011011000
3)输送方将数据传送给接受方
4)接受方将接受到的数据模2除与共同持有的多项式,若能整除则数据无误
5)接受的数据从最低位开始删去多项式位数-1位就可以提取到想要的数据

海明码校验

在数据位间插入校验位,再根据奇偶校验判断数据正误

  1. 假定校验位有k位,数据位有n位,则海明码有n+k位,且满足表达式2k-1>=n+k
  2. 校验码Pi在海明码中2i-1位置,剩余位置由数据为按顺序一一占据
H1H2H3H4H5H6H7H8H9H10H11H12
P1P2D1P3D2D3D4D5D6D7P4D8
  1. 确定校验关系
海明码海明码下标校验位组
H1(P1)1P1
H2(P2)2P2
H3(D1)3=1+2P1,P2
H4(P3)4P3
H5(D2)5=1+4P1,P4
H6(D3)6=2+4P2,P4
H7(D4)7=1+2+4
H8(P4)8P4
H9(D5)9=1+8
H10(D6)10=2+8
H11(D7)11=1+2+8
H12(D8)12=4+8

其中P1 = D1^D2^D4^D5^D7
P2—P4参上

  1. 由上述对应关系获得校验组

G1 = P1^D1^D2^D4^D5^D72
G2 = P2^D1^D3^D4^D6^D7
G3 = P3^D2^D3^D4^D8
G4 = P4^D5^D6^D7^D8

  1. 判断G1G2G3G4的值是否全为1(偶校验)或全为0(奇校验)

  1. 模2除运算示例(在最后面那里的就是余商)模2除法 ↩︎

  2. ^异或运算,相同则0不同则1 ↩︎

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值