数据通信系统的基本任务是高效而无差错地传输和处理数据信息,数据通信系统的各个组成部分都不可避免地具有存在差错的可能性。由于通信设备部分可以达到较高的可靠性,因此一般认为数据通信的差错主要来自于数据传输信道。数据信号经过远距离的传输往往会受到各种干扰,导致接收到的数据信号出现差错,引起数据信号序列的错误。在实际中随机性的错误和突发性的错误通常是同时存在的。以下简要介绍差错控制的常用方式和编码。
1.差错控制方式
所谓差错控制,是指对传输的数据信号进行检测错误和纠正错误。实际中常用的差错控制方式主要有以下4种。
(1)自动检错重传(ARQ)
在这种方式中,发送端按编码规则对拟发送的信号码附加冗余码后,再发送出去;接收端对收到的信号序列进行差错检测,判断有无错码,并通过反馈信道把判断结果送回到发送端。若判断有错码,发送端就重新发送原来的数据,直到接收端认为无错为止;若判断为无错码,发送端就可以继续传送下一个新的数据。
(2)前向纠错(FEC)
在这种方式中,发送端按照一定的编码规则对拟发送的信号码元附加冗余码,构成纠错码。接收端将附加冗余码元按照一定的译码规则进行变换,检测信号中有无错码,若有错,自动确定错码位置,并加以纠正。该方式物理实现简单,无需反馈信道,适用于实时通信系统,但译码器一般比较复杂。
(3)混合纠错(HEC)
混合纠错方式是前向纠错与自动检错重传两种方式的综合。发送端发送具有检测和纠错能力的码元,接收端对所接收的码组中的差错个数在纠错的能力范围内能够自动进行纠错,否则接收端将通过反馈信道要求发送端重新发送该信息。混合纠错方式综合了ARQ和FEC的优点,却未能克服它们各自的缺点,因而在实际应用中受到了一定的限制。(www.daowen.com)
(4)不用编码的差错控制
不用编码的差错控制是指不需对传送的信号码元进行信号编码,而在传输方法中附加冗余措施来减少传输中的差错。
2.常用的几种检错码
(1)奇偶校验(Parity Check)码
它是以字符为单位的校验方法。一个字符一般由8位组成,低7位是信息字符的ASCII代码,最高位是奇偶校验位,该位可以是1或者0。其原则是使整个编码中“1”的个数为奇数或偶数,若“1”的个数为奇数就称为“奇校验”,若“1”的个数为偶数的就称为“偶校验”。
奇偶校验的原理是若采用奇校验,发送端发送一个字符编码(含有校验码),若“1”的个数一定为奇数,在接收端对“1”的个数进行统计,如果统计的结果“1”的个数是偶数,那一定意味着在传输的过程中有一位发生了差错。显然,若发生了奇数个差错接收端都可以发现,但若发生了偶数个差错接收端就无法查出。由于奇偶校验码只需附加一位奇偶校验位编码,效率较高,因而得到了广泛的应用。
(2)循环冗余校验(Cycle Redundancy Check,CRC)码
对于一个由“0”和“1”组成的二进制码元序列都可以用一个二进制多项式来表示,例如;1101001可以表示成l×x6+1×x5+0×x4+1×x3+0×x2+0×x1+1×x0,一般地说,n位二进制码元序列可以用n-1阶多项式表示。由于多项式间的运算是其对应系数按模2进行运算,因此两个二进制多项式相减就等于两个二进制多项式相加。采用CRC码时,通常在信息长度为k位的二进制序列之后,附加上r(r=n-k)位监督位,组成一个码长为n的循环码。每个循环码都可以有它自己的生成多项式g(x)(规定生成多项式g(x)的最高位和最低位的系数必须为1),由于任意一个循环码的码字c(x)都是生成多项式的倍式,因此c(x)被g(x)除后余式必为零。利用上述的原理就可以进行循环码的编码,即从信息多项式m(x)求得循环码的码字c(x)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。