常用的差错控制方式主要有三种:检错重发(简称ARQ)、前向纠错(简称FEC)和混合纠错(简称HEC)。
检错重发方式中,发送端经编码后发出能够发现错误的码,接收端收到后经检验如果发现传输中有错误,则通过反向信道把这一判断结果反馈给发送端。然后,发送端把前面发出的信息重新传送一次,直到接收端认为已正确地收到信息为止。
常用的检错重发系统有三种,即停发等候重发、返回重发和选择重发。发送端在Tw时间内送出一个码组给接收端,接收端收到后经检测若未发现错误,则发回一个认可信号(ACK)给发送端,发送端收到ACK信号后再发出下一个码组。如果接收端检测出错误,则发回一个否认信号(NAK),发送端收到NAK信号后重发前一个码组,并再次等候ACK或NAK信号。这种工作方式在两个码组之间有停顿时间(Ti),使传输效率受到影响,但由于工作原理简单,在计算机数据通信中仍得到应用。
在这种系统中发送端无停顿地送出一个又一个码组,不再等候ACK信号,但一旦接收端发现错误并发回NAK信号,则发送端从下一个码组开始重发前一段N组信号,N的大小取决于信号传递及处理所带来的延时,这种返回重发系统比停发等候重发系统有很大改进,在很多数据传输系统中得到应用。
这种重发系统也是连续不断地发送信号,接收端检测到错误后发回NAK信号。与返回重发系统不同的是,发送端不是重发前面的所有码组,而是只重发有错误的那一组。显然,这种选择重发系统传输效率最高,但另一方面它的价格也最贵,因为它要求较为复杂得控制,在发送、接收端都要求有数据缓存器。此外,选择重发系统和返回重发系统都需要全双工的链路,而停发等候系统只要求半双工的链路。
前向纠错系统中,发送端经编码发出能够纠正错误的码,接收端收到这些码组后,通过译码能自动发现并纠正传输中的错误。前向纠错方式不需要反馈信道,特别适合于只能提供单向信道的场合。由于能自动纠错,不要去检错重发,因而延时小、实时性好。为了使纠错后获得低误比特率,纠错码应具有较强的纠错能力。但纠错能力愈强,则译码设备愈复杂。前向纠错系统的主要缺点就是设备较复杂。
混合纠错方式是前向纠错方式和检错重发方式的结合。在这种系统中发送端不但有纠正错误的能力,而且对超出纠错能力的错误有检测能力。遇到后一种情况时,通过反馈信道要求发送端重发一遍。混合纠错方式在实时性和译码复杂性方面是前向纠错和检错重发方式折中。