奇偶监督码是一种检测数据有效性,增加二进制传输系统最小距离的简单和广泛采用的方法。若数据传输时出现错误,目的设备概得可通过奇偶监督位得知数据错误。
- 中文名称 奇偶效验
- 用途 检测数据有效性
工作原理
一保输数缩再啊封治置哥个二进码字,如果它的码元有奇数个1,就称为具有奇性。例如,码字"101时式纪拿皮伯植衣此较1010111"有七个1来自,因此,这个码字具有奇性。360百科同样,偶性码字具有偶数个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 1
0 0 0 0 0 1
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 0
8 1 0 0 0 0
9 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、AE
BC、BD、BE
CD、CE
DE
出现任何一对的概率是(3.1×10-5)2,或9.6×10-10,因此,在单个字里出现两个错误的概率等于10× 9.6×10-10,或9.6×10-9。以80字/秒的新的传输速率, 可能以每1.3×10-6秒, 即平均每15天,出现一个未被检出的错误。因为三个错误能被检测出,四个码位错误的概率与两个错误相比可以忽略不计,因此,我们在这里不考虑任何更多的错误。
局限
探田妈拿血标限 奇偶校验只能检孔齐川名级造查永测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误。