Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306506
  • 博文数量: 56
  • 博客积分: 2346
  • 博客等级: 大尉
  • 技术积分: 661
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-25 13:28
文章分类
文章存档

2011年(14)

2010年(42)

分类: 系统运维

2010-01-28 20:38:10

                             奇偶校验   
 
 
    奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。采用奇校验(或偶校验后),可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误(编码中的1变为0或0变为1),则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。

   奇偶监督码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。例如,单个的奇偶监督将使码的最小距离由一增加到二。

 一个二进码字,如果它的码元有奇数个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 比特直接二进码 奇性监督位
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码

奇偶监督可以用在数字系统的主要接口设备中。由于在每个信息中加了多余度,仅当出现错误的概率和错误的危害足够大时,才采用奇偶监督码。

为了说明奇偶监督码的应用,考虑下例。假设以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天,出现一个未被检出的错误。因为三个错误能被检测出,四个码位错误的概率与两个错误相比可以忽略不计,因此,我们在这里不考虑任何更多的错误。

阅读(1429) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-07-18 13:29:21

谢谢