数据校验——计算机组成原理(二)

数据校验的基本原理

  1. 增加冗余码即校验位
    |有效信息k位|校验信息r位 |
    |-|-|
  2. 码距:同一编码中,任一两个合法编码之间不同二进制数位数相差的最小值。
  3. 码距与纠错能力的关系:检错个数 = 码距 - 1;纠错个数 = int(检错个数/2)
  4. 码距的选择:码距越大,检错纠错能力越强,抗干扰能力越强。数据冗余越大,效率越低,实现越复杂。

几种常见校验码

奇偶校验(r=1)

偶校验奇校验
P=数据位做异或校验位P=数据位做异或后取非
G=P以及数据位做异或G=P以及数据位做异或后取非
G=0正确,否则发生错误同偶校验

奇偶校验的特点:不能检测偶数位错误,无错结论不可靠,无纠错能力,是一种错误检测码。
改进的奇偶校验:双向奇偶校验
应用:在出错比较少且出错不会导致严重后果的地方用,同步传输常用奇校验,异步传输偶校验。

CRC校验(k+r<=2r-1)

校验码的产生:求对有效数据最小的r位,给有效数据后加r位0,取r+1位生成多项式,做模2除法。
常见多项式:

检错过程:传输结果对约定的多项式做模2除法。如果余数为0,表示不发生错误。余数不同,代表的错误不同。

纠错过程:根据余数做循环移位至余数为101,对第一位取非。然后循环移位至余数恢复,则纠错完成。

模2除法(也称为模2加/减法,不产生进位的计算的方法)

1.从被除数与除数位数相同的地方开始上位。
2. 首位为1,上1;首位为0,上0。
3. 减除数,即除去首位做异或

在这里插入图片描述
理论上可以证明循环冗余校验码的检错能力有以下特点:
(1)可检测出所有奇数位错。
(2)可检测出所有双比特的错。
(3)可检测出所有小于、等于校验位长度的突发错(成串出现的特殊差错)。

海明校验

海明编码:设k+r位海明码从左到右依次为第1,2,3……k+r位。
校验码Pi分别位于第2i-1

Hj位的数字j等于小于j的若干个i的(Pi)的和。
分析所有Pi在Hj出现的位置取Hj做异或·。求出校验位的值:
设置指错字Gi:Pi和得到Pi的数据位做异或。都为0则正确。

例子:

海明码特点:指错字都为0不代表一定无错(同偶校验),如P1,b1,P2同时出错,仍为0
不一定能区分一位错和两位错。但可以检测所有的两位错,纠正所有一位错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值