奇偶效验


奇偶效验

文章插图
奇偶效验【奇偶效验】奇偶监督码是一种检测数据有效性,增加二进制传输系统最小距离的简单和广泛採用的方法 。若数据传输时出现错误,目的设备可通过奇偶监督位得知数据错误 。
基本介绍中文名:奇偶校(jiao)验
工作原理一个二进码字,如果它的码元有奇数个1,就称为具有奇性 。例如,码字“1011010111”有七个1,因此,这个码字具有奇性 。同样,偶性码字具有偶数个1 。注意奇性检测等效于所有码元的模二加,并能够由所有码元的异或运算来确定 。对于一个n位字,奇性由式(8-1)给出:奇性=a0⊕a1⊕a2⊕…⊕an (8-1)很明显,用同样的方式,我们也能够根据每一个码字的零的个数来构成奇偶监督 。单个的奇偶监督码可描述为:给每一个码字加一个监督位,用它来构成奇性或偶性监督 。例如,在图8-2中,对于二进码就是这样做的 。可以看出,附加码元d2,是简单地选来使每个字成为偶性的 。因此,若有一个码元是错的,就可以分辨得出,因为奇偶监督将成为奇性 。在一个典型系统里,在传输以前,由奇偶发生器把奇偶监督位加到每个字中 。原有信息中的数字在接收机中被检测, 如果没有出现正确的奇、偶性,这个信息标定为错误的,这个系统将把错误的字抛掉或者请求重发 。注意,用单个的奇偶监督码仅能检出奇数个码元的错误 。例如考虑图8-4里的奇性监督码 。把奇、偶监督位加到一个 8-4-2-1 BCD码,使之能够进行奇监督(将所有监督位反过来将产生偶监督码) 。可以看到,如果将任何码字里的奇数个码元反过来,那幺将成为偶性码,因而,无效的字是可以分辨出来的 。然而,如果有两个或四个码元反过来,那末奇偶监督将仍然是奇性码,并且这个字被认为是正确的 。只当一个给定的字里同时出现两个错误的机率被忽略不计时,单个的奇偶监督才是有效的,实际上,奇监督码比偶监督码可取,因为它排除了传输全0的情况 。十进数字 4 比特直接二进码 奇性监督位n 8 4 2 10 0 0 0 0 11 0 0 0 1 02 0 0 1 0 03 0 0 1 1 14 0 1 0 0 05 0 1 0 1 16 0 1 1 0 17 0 1 1 1 08 1 0 0 0 09 1 0 0 1 1图8-4 附加奇性监督位的BCD码简单的说,不带奇偶校验的记忆体每个位元组只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程式发生错误 。而奇偶校验就是在每一位元组(8位)之外又增加了一位作为错误检测位 。在某位元组中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据用位标示为1、1、1、0、0、1、0、1,那幺把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数,那幺在校验位定义为1,反之为0 。当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致,从而一定程度上能检测出记忆体错误 。奇偶校验分两种,一种是奇校验和偶校验,例:奇校验中,将原来用7位表示的最低位上加1,如果最终的二进制数中,1的个数是奇数的话就不用加1,反之,加1 。实际套用奇偶监督可以用在数字系统的主要接口设备中 。由于在每个信息中加了多余度,仅当出现错误的机率和错误的危害足够大时,才採用奇偶监督码 。假设以400比特/秒的速率传输四码位信息(100字/秒) 。设由试验数据或适当的计算确定了任何单个码位出现错误的机率为3.1×10-5 。因为,每个字包含四个码位,接收到错字的机率大约为1.25×l0-4,即在100字/秒的传输速率下,平均每80秒错一个字 。加一个奇偶监督位后,每个字需要五个码位,从而,将传输速率降低到80字/秒,能够检测一个错误,并且能指令传送机重发错了的信息以校正信息 。出现两个错误的机率计算如下:如果五个码位是A、B、C、D、E,那幺两个错误可能以下述10种组合出现 。即AB、AC、AD、AEBC、BD、BECD、CEDE出现任何一对的机率是(3.1×10-5)2,或9.6×10-10,因此,在单个字里出现两个错误的机率等于10× 9.6×10-10,或9.6×10-9 。以80字/秒的新的传输速率, 可能以每1.3×10-6秒, 即平均每15天,出现一个未被检出的错误 。因为三个错误能被检测出,四个码位错误的机率与两个错误相比可以忽略不计,因此,我们在这里不考虑任何更多的错误 。局限奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的机率相当低,但奇偶校验却无法检测出双位错误 。