差错控制编码(也称为纠错编码)是在发送的信息码元中增加一些多余的码元(监督码元),这些监督码元与信息码元之间存在某种数学约束关系。接收端利用这种关系来发现或纠正传输过程中产生的错码,从而提高传输的可靠性。差错控制编码是以降低传输的有效性为代价来换取提高传输的可靠性。信道编码差错控制的主要机制为以下三种:
检错重发(ARQ)
原理:发送端发送能够发现错误的码,接收端收到后经检验如果发现传输中有错误,则通过反向信道把这一判断结果反馈给发送端。发送端根据反馈结果重新发送出错的信息,直到接收端认为已正确地收到信息为止。
特点:需要双向信道,通信效率较低,但编译码较为简单,编码效率高。适用于对实时性要求不高但对数据可靠性要求较高的场合。
前向纠错(FEC)
原理:发送端发送能够纠正错误的码,接收端收到这些码组后,通过译码能自动发现并纠正传输中的错误。
特点:不需要反馈信道,特别适合于只能提供单向信道的场合。实时性好,但编译码设备复杂,编码效率低。适用于信道质量较差、对传输时延要求较严格的场合。
混合纠错(HEC)
原理:结合了检错重发和前向纠错两种方式。发送端不但有纠正错误的能力,而且对超出纠错能力的错误有检测能力。遇到后一种情况时,通过反馈信道要求发送端重发一遍。
特点:在实时性和译码复杂性方面是前向纠错和检错重发方式的折中。