概括地说,传输中的差错都是由于噪声引起的。噪声有两大类:一类是信道中所固定的、持续存在的随机热噪声;另一类是由于外界特定个的短暂原因所造成的冲击噪声。前者可以通过提高信噪比来减少或避免干扰,而后者不可能靠提高信号幅度来避免干扰造成的差错,是产生差错的重要原因。
通常利用编码技术进行差错控制,主要由两类:自动重传请求(Automatic Retransmission Request,ARQ)和前向纠错(Forward Error Correction,FEC)。在ARQ方式中,接收端差错时,就设法通知发送端重发,直到接收到正确的码字为止。在FEC方式中,接受端不但能发现差错,而且能确定二进制数码的错误位置,从而加以纠正。因此,差错控制又可以分为检错编码(Error-Detecting Code)和纠错编码(Error-Correcting Code)。
3.3.1 检错编码
检错编码都是采用冗余编码技术,其核心思想是在有效数据(信息位)被发送前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。接受端根据收到码字是否符合原规则,从而判断是否出错。常见的检错编码有奇偶检验码和循环冗余码。
1.奇偶检验码