• 沒有找到結果。

2.6.1 差错控制方法

差错控制编码就是对网络中传输的数字信号进行抗干扰编码,目的是为了提高数字通 信系统的容错性和可靠性,它在发送端被传输的信息码元序列中,以一定的编码规则附加 一些校验码元,接收端利用该规则进行相应的译码,译码的结果有可能发现差错或纠正差 错。在差错控制码中,检错码是指能自动发现出现差错的编码,纠错码是指不仅能发现差 错而且能够自动纠正差错的编码。当然,检错和纠错能力是用信息量的冗余和降低系统的 效率为代价来换取的。

我们以传输 3 位二进制码组为例来说明检测纠错的基本原理。3 位二进制码元共有 8 种组合:000,001,010,011,100,101,110,111。假如这 8 种码组都用于传递信息,

在传输过程中若发生一个误码,则一种码组就会错误地变成另一种码组,但接收端却不能 发现错误,因为任何一个码组都是许用码组。但是,如果只选取其中000,011,101,110 作为许用码组来传递消息,则相当于只传递00,01,10,11 这 4 种消息,而第 3 位是附加 的,其作用是保证码组中1 码的个数为偶数。除上述 4 种许用码组以外的另外 4 种码组不 满足这种校验关系,称为禁用码组。在接收时一旦发现这些禁用码组,就表明传输过程中 发生了错误。用这种简单的校验关系可以发现1 或 3 个错误,但不能纠正。如果进一步将 许用码组限制为2 种:000 和 111,那么就可以发现所有 2 个以下的错误。如用来纠错,则 可纠正1 位错误。可见,码组之间的差别与码组的差错控制能力有着至关重要的关系。

在差错控制能力相同的前提下,我们希望找到编码效率尽可能高,同时译码方法尽量

网络监控设备

主站

通信卫星

ODU

ODU

VSAT 小站

VSAT 小站

计算机电话 传真 ODU—室外单元 IDU—室内单元

计算机电话 传真

大型主机 服务器 监视器 摄像机 电话 传真

IDU

IDU

简单的编码方法,这是使差错控制编码实用化的关键技术。在差错控制系统中,常用的差 错控制编码方法主要有三种:前向纠错(FEC)、检错重发(ARQ)和混合纠错(HEC)。

在前向纠错系统中,发送端经编码发出能够纠正错误的码,接收端收到这些码组后,通过 译码能够自动发现并纠正传输过程中的错误。前向纠错方式特别适合于只提供单向信道的 场合,同时也适合一点发送多点接收的广播方式。由于能自动纠错,不要求检错重发,因 而接收信号的时延小,但纠错能力愈强,编译码设备就愈复杂。在检错重发(自动请求重 发)系统中,发送端经编码后发出能够检错的码,接收端收到后进行检验,再通过反向信 道反馈给发送端一个应答信号,发送端收到应答信号后进行分析,如果接收端认为有错,

发送端就把储存在缓冲存储器中的原有码组副本读出后重新传输,直到接收端认为已正确 收到信息为止。混合纠错方式是前向纠错方式和检错重发方式的结合,其内层采用前向纠 错方式,纠正部分差错;外层采用检错重发方式,重传那些虽已检出但未纠正的差错。混 合纠错方式较适合于环路延迟大的高速数据传输系统。

按照信息码元和附加校验码元之间的关系,可以将差错控制编码分为线性编码和非线 性编码。若信息码元与校验码元之间的关系为线性关系,即校验码元是信息码元的线性组 合,则称为线性码;反之,若两者不存在线性关系,则称为非线性码。按照信息码元和校 验码元之间的约束方式可分为分组码和卷积码。在分组码中,编码前先把信息序列分为 k 位一组,然后用一定规则附加m 位校验码元,形成 n = k + m 位的码组。校验码元仅与本 码组的信息码元有关,而与其他码组的信息码元无关。但在卷积码中,码组中的校验码元 不仅与本码组信息码元有关,而且与前面码组的信息码元也有约束关系,就像链条那样一 环扣一环,所以卷积码又称为连环码或链码。

2.6.2 常用的差错控制编码 1.奇偶校验码

奇偶校验码是一种最简单也是最基本的检错码,一维奇偶校验码的编码规则是把信息 码元先分组,在每组最后加一位校验码元,使该码中1 的数目为奇数或偶数,奇数时称为 奇校验码,偶数时称为偶校验码。例如信息码元每两位一组,加一位校验位使码组中1 的 总数为0 或 2,即构成偶校验码。这时许用码组为 000,011,101,110;禁用码组为 001,

010,100,111。接收端译码时,对各码元进行模 2 加运算,其结果应为 0,如果传输过程 中码组任何一位发生了错误,则收到的码组必定不再符合偶校验的条件,因此就能发现错 误。设码组长度为n,记为 an-1an-2an-3…a0,其中前n-1 位为信息位,第 n 位为校验位,则 偶校验时有a0a1…an-1= 0;奇校验时有 a0a1 … an-1=1。不难看出,这种奇偶校验只能发现单 个和奇数个错误,而不能检测出偶数个错误,因此它的检错能力不高,只适用于检测随机 的零星错码。

在上述一维奇偶校验码的基础之上形成了二维奇偶校验码,又称水平垂直奇偶校验码 或方阵码,它的编码规则是先将奇偶校验码的若干码组排列成矩阵,每一码组写成一行,

然后再按列的方向增加第二维校验位,如下所示:

其中a01a02 … a0mm 行奇偶校验码中的 m 个校验位,cn-1cn-2 … c0为按列进行第二次 Hamming 提出的称为海明校验的一种纠错控制方法,它实际上是一种多重奇偶校验,即将 代码按照一定规律组织为若干小组,分组进行奇偶校验,各组的检错信息组成一个指误字,

不仅能检测是否出错,而且在只有一位出错的情况下可指出是哪一位出错,从而将该位自 动纠正。由于奇偶校验码的编码方法简单且实用性很强,所以很多计算机网络数据传输系 统采用了这种编码。

2.循环冗余码

循环冗余码(CRC,Cyclic Redundancy Code)校验(Check)是目前在计算机网络通 信及存储器中应用最广泛的一种校验编码方法,它所约定的校验规则是:让校验码能为某

1110 1011 1100000

10111110 1011 10101011

00100000 010 1110 010 1011

以后将依次为100,011,110,111,101,然后又是 001,呈循环状。这就是“循环码”名 称的由来。

循环冗余校验码的检错能力取决于生成多项式G(x)的选择,但并不是任何一个多项式 都可以作为G(x)。若从检错纠错的目的出发,生成多项式应能满足下列要求:任何一位数 据发生错误时都应使余数不为 0,不同位出错则余数不同,余数代码与出错位序号之间最 好有惟一的对应关系,并满足余数循环规律。在计算机网络通信系统中广泛使用的是下述 三种标准:

CRC-CCITT: G(x)= x16+x12+x5+1 CRC-16 : G(x)= x16+x15+x2+1

CRC-32 : G(x)= x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

相關文件