【计组】校验码

1.校验码概述

        校验码就是在原有信息上增加冗余校验扩大码距,从而增加差错纠错的能力

        码距:指两个等长字符串之间对应位置上不同字符的个数。换句话说,码距是用来衡量两个字符串之间的差异程度的指标。

2.奇偶校验码

        通过在编码中增加一位校验位来使编码中 1 的个数为奇数(奇校验)或偶数(偶校验),从而使码距变为 2,奇偶校验可以检测编码中奇数位出错的编码;

  • 奇偶校验码只能检查奇数位错,不能纠错

3.CRC循环冗余校验码*

        广泛应用于数据通信领域和磁介质存储系统中,利用生成多项式为 k 个数据位产生 r 个校验位来进行编码,编码长度为 k+r,校验码位数越多CRC的校验能力就越强,用模2运算来求CRC编码;

  • CRC循环冗余校验码能检多位错,不能纠错
  • 模 2 运算,也称为取余运算,是指将一个整数除以 2,然后返回余数。如果余数为 0,则被除数是偶数;如果余数为 1,则被除数是奇数。

4.海明校验码

        在有效信息位中加入几个校验位形成海明码,使码距比较均匀的拉大,并把海明码的每个二进制位分配到几个奇偶校验组中,当某一位出错后就会引起有关的几个校验位的值发生变化;

        设数据位为 n 位,校验位为 k 位,则 n 与 k 必须满足 2^{k}-1 >= n+k,而且校验位 P_{i} 在 2^{i-1}位置上。

  • 海明码既能检错,也能纠错

  • 采用奇校验则将各校验位的偶校验值取反即可 
  •  
  • 在奇校验中,校验位被设置为使得数据位和校验位中的1的总数为奇数个

  • 在偶校验中,校验位被设置为使得数据位和校验位中的1的总数为偶数个

4.1 海明码检错方式

 

  • 若采用偶校验,则 G_{4}G_{3}G_{2}G_{1} 全为 0 时表示收到的数据无错(奇校验应全为1),若不符合则出错,G_{4}G_{3}G_{2}G_{1} 的十进制值表示发生错误的位置,(如 G_{4}G_{3}G_{2}G_{1} = 1010B = 10 则表明 H_{10} 出错,取反即可纠错)

4.2 例题 

【例题1.6】设数据为 10011100,采用 4 个校验位求其偶校验方式的海明码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值