第03章 3.7 数据校验码.ppt

第03章 3.7 数据校验码

★ 校验码 ● 将有效代码和增加的校验位一起,按约定的 校验规律进行编码而获得。 ★ 码距:指任意两个合法码之间至少有几个 二进制位不相同。 ★ 开销最小,能发现数据中一位出错的情况。 ★ 例如 设某数据为 奇校验码为: 偶校验码为: ★ 逻辑实现:多采用并行奇偶统计方法。 ★ 实质:是一种多重奇偶校验。 (1)分成几组?增加多少校验位? 设待编信息k位,分为r组,每组增加一个 校验位,则r位校验位构成一个r位的指误字。 (2)分组方法? 设4位待编信息A4A3A2A1,增加3位校验位 P3P2P1,构成一个3位的指误字G3G2G1。 (3)编码(以偶校验为例)? ★ 校验规则:让校验码能被某一约定代码除尽。 ● 若能除尽,表明代码无错; ● 若除不尽,余数将指明出错位置。 ★ 模2运算:以按位模2相加为基础, 运算时不考虑进位和借位。 ● 模2加减(异或) 0±0=0 0±1=1 1±0=1 1±1=0 ● 模2乘(用模2加求和) 例如: 1 0 1 0 × 1 0 1 1 0 1 0 0 0 0 0 + 1 0 1 0 1 0 0 0 1 0 ● 模2除(用模2减求余数) ~ 每求1位商使部分余数减少1位。 上商原则:部分余数的首位为1,商取1; 部分余数的首位为0,商取0。 当部分余数位数小于除数位数时,该余数为最后余数。 例如: 1 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 设:被除数M(x):k位待编信息 除数G(x):r+1位? 余数R(x):r位校验位 商Q(x) (1) CRC码的编码方法 (2) CRC码的译码与纠错 (7,4)循环码的出错模式(生成多项式G(x)=1011) (3) 生成多项式G(x) */27 3.7 数据校验码 ● 是一种常用的带有发现错误或带有自动改错 能力的数据编码方法。 ● 实现原理: 加进一些冗余码,使合法编码出现某些错误时,就 成为非法编码。这样,就可通过检测编码的合法性 来达到发现错误的目的。 ● 若码距为1,则发生错误时仍是合法码,无查错能力。 ● 一般来说,合理增大码距,就能提高发现错误的能力, 但码使用的二进制位数变多,增加了数据存储的容量 或数据传送的数量。 ● 在确定与使用数据校验码时,通常要考虑在不过多增 加硬件开销的情况下,尽可能发现或改正更多的错误。 ★ 例:有一个4位编码的全部码字为:a.0000 b.0011 c.1100,问此编码的码距是 多少?说明理由。 解:因为:d(a,b)=2 d(a,c)=2 d(b,c)=4 编码的码距为代码码距的最小值, 所以:此编码的码距为2。 一、奇偶校验码 ★ 实现原理:使码距由1增加到2。 若编码中有一个二进制位出错(由1变成0,或由0变成1),这个码都将成为非法编码。 ★ 实现方法 为一个字节补充一个二进制位(校验位),设置该校验位的值为0或1,使字节的8位和该校验位中含有“1”值的总个数为奇数(奇校验)或偶数(偶校验)。 ★ 缺点 ● 只能发现奇数位错,但不能确定是哪一位。 ● 因一位出错的几率大,故有实用价值。 110110001 010110001 编 码 译 码 二、海明校验码(广泛采用) ★ 实现原理: ● 将代码按一定的规律组织为若干组,分组 进行奇偶校验。 ● 各组的检错信息构成一个指误字,不但可以 发现出错,还能指出是哪一位出错,为自动 纠错提供依据。 ★ r位校验位能表示2r种状态: ● 用全

文档评论(0)

1亿VIP精品文档

相关文档