数据校验

定义:带有某些发现某些错误或自动改错能力的数据编码方法。 原理:加进一些冗余码,使合法数据编码出现某些错误时,就变成非法编码。 码距:根据任意两个合法码之间至少有几个二进制位不相同而确定,仅有一位不同,称其为码距为1. 目的:在不过多增加硬件开销的情况下,尽可能发现或改正更多的错误。

奇偶校验: 特点:开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查,或ASCII字符传送过程中的检查。 实现原理:使码距由1增加到2,若编码中有一个二进制位的值出错了,这个码都讲成为非法编码。在一个数据上增加一个数据校验位,使字节和该校验位含有1 的个数为奇数或偶数。 例如:数据 0000 0000 奇校验:1 0000 0000 偶校验 0 0000 0000 海明校验码: 实现原理:在数据中加入几个校验位,并把数据的每一个二进制位分配在几个机奇偶校验组中,当某一位出错后,就会引起有关的几个校验组的值发生改变。 规律: 1.校验位于数据位之后为m,每个校验位Pi在海明码中被分在位号2^(i-1)的位置,其余各位为数据位,并按从低到高逐位依次排列分配各数据位。 2.海明码的每一位Hi由多个校验位校验关系式被较校验的每一位位号要等于校验它的哥校验位的位号之和。 例如:1010 1111 采用偶校验编码后1010 0100 1111

CRC校验 定义:K位信息码之后拼接r位校验码。 在磁介质和计算机之间通信方面广泛应用(串行传送) 生成:用多项式除以生成多项式G(x)所得的余数作为校验位。 冗余位r位,生成多项式为r+1位 译码与纠错: 将收到的循环校验码用约定的生成多项式G(x)去除如码字无误则余数为0,如果某一位出错,则余数不为0,不同数位出错余数不同,且余数与出错为对应关系不变,只与码制和生成多项式有关。 关于生成多项式: 任何一位发生错误都应该使余数不为0;不同位发生错误应当使余数不同;对余数继续做模2除,应使余数循环。 例如:1101 0110 11 G(x)=x^4+x+1 编码后1101 0110 1111 10

posted @ 2012-11-10 17:13  玉减香销  阅读(223)  评论(0编辑  收藏  举报