数据通信系统的基本任务是高效、无差错地传输和处理数据信息,数据通信系统的各个组成部分都有出错的可能。由于通信设备能够实现高可靠性,一般认为数据通信错误主要来自数据传输通道。当数据被长距离传输时,它经常受到各种干扰,导致接收的数据信号中的错误和数据信号序列中的错误。在实践中,随机误差和突发误差通常同时存在。
1.错误控制方法错误控制是指检测和纠正传输数据信号的错误。实践中常用的差错控制方法主要有以下几种
(1)自动检错重传(ARQ)这种方式是发送方按照编码规则在待发送的信号码后附加冗余码,然后发送出去。接收端对接收到的信号序列进行检错,判断是否有误码,并将判断结果通过反馈信道发送回发送端。如果判断有错误码,发送方重新发送原始数据,直到接收方认为没有错误;如果判断没有误码,发送方可以继续发送下一个新数据。
前向纠错(FEC)这种方式下,发送方将冗余码按照一定的编码规则添加到待发送的信号符号中,从而形成纠错码。接收端按照一定的解码规则对附加的冗余码元进行转换,并检测信号中是否存在误码。如果有错误代码,它会自动确定错误代码的位置并进行纠正。这种方法物理实现简单,不需要反馈信道,适用于实时通信系统,但解码器一般比较复杂。
(3)混合纠错混合纠错方法是前向纠错和自动检错重传的结合。发送方发送具有检测和纠错能力的符号,接收方将要求发送方通过反馈信道重新发送信息。混合纠错方法结合了ARQ和前向纠错的优点,但未能克服各自的缺点,因此在实际应用中受到限制。
(4)无编码的差错控制无编码的差错控制是指不需要对传输的信号符号进行编码,而是在传输方法中加入冗余措施来减少传输差错。
2.检错码常见的检错码包括奇偶校验码和循环冗余校验(CRC)码等。奇偶校验码应用广泛,因为它只需要一个校验位编码,效率高。
奇偶校验码是一种基于字符的校验方法。一个字符一般由8位组成,低7位是信息字符的ASCII码,最高位是奇偶校验位,可以是“0”,也可以是“1”。原理是:使全码中“1”的个数为奇数或偶数。如果“1”的个数是奇数,则称为奇数校验;如果“1”的个数是偶数,则称为偶数校验。
奇偶校验的原理是:如果采用奇数校验,发送方发送一个字符码(包括校验码),则“1”的个数必须是奇数,接收方要统计“1”的个数。如果“1”的个数是偶数,那一定意味着传输过程中出现了错误。显然,如果出现奇数位错误,接收器可以发现它,但如果出现偶数位错误,接收器无法发现它。