百密之下,还需补疏
数据在信道中“行驶”,免不了要受到一些干扰与减损,致使接收端错误接收。正如在运货过程中,破损、散包和掉包是可能发生的。对待这样的问题该怎么办?通常采用两种办法:
第一种办法,选择好的通信信道,改善通信线路的电气性能。我们知道,路面情况越好,运输过程中造成货物破损的程度和机会就越小。显然,要想降低传输中的误码率,应尽量选择通频带宽、衰耗和干扰影响小的信道。
第二种办法,在通信线路上,每经过一个环节,如发送端到交换中心(节点)、节点到节点……设法步步检查错误,随时发现,随时采取措施,对错误进行控制,不要等到错误到达终点再从头返回进行纠正。就好像在运货过程中需随时清点货物一样。
为便于各节点发现错误并自动纠正错误,较为有效的办法就是对传输的衰减进行抗干扰编码。即在传送的衰减码元之后再按一定规则增加一些“多余”的码元,这多余的码元称为“冗余码”。发送时,数据码元和冗余码一起发出,接收端按数据码元和冗余码元之间的关系(规则)查找数据是否出现错误或者能部分地纠正错误。如果出现错误,就要采取一定的措施。显然,冗余一词对数据来讲具有多余的含义,但对检错来讲可是按“法”检测的依据,相当于运货时要附带运货清单,以便检查、核对之用。
一眼便知对错--奇偶校验
奇偶校验是最简单而常用的一种检测码。奇偶校验是以字符为单位的一种校验方法。一个字符由8位组成,其中低七位是数据信息码,高一位是冗余校验位。设信息字符为“1010110”,它有四个“1”。在确定冗余码时,可采用两种办法:一是补入一位代码后,使其“1”的总个数为奇数,称为“奇校验”;二是补入一位代码后,使其“1”的总个数为偶数,称为“偶校验”。
这种检测方法只能检出“1”或“0”有奇数个错误,不能发现偶数个错误。如两个“1”变成“0”、两个“0”变成“1”或一个“1”变成“0”加上一个“0”变成“1”,这就鉴别不出来。但这类方法所用冗余码数较少,此为优点。
加减乘除得到的循环冗余校验
循环冗余校验码(CRC)是一种比较复杂的方法。它事先要确定一个生成多项式,如g(X)=X16+X12+X5+1,用它去除m位的信息多项式m(X),所得到的结果就是循环冗余校验码并放在信息位的后面一起发送。接收时,先将传送来的码用相同的生成多项式g(X)去除,若能除尽,则传输无误;否则,出错。
循环冗余校验码由于具有良好的代数结构,计算机中易于实现,编码器简单,检错能力强,故在微机通信中广泛使用。
[上一页]
|