首页 理论教育 简洁高效的差错控制技术

简洁高效的差错控制技术

时间:2023-06-30 理论教育 版权反馈
【摘要】:冲击噪声呈突发状,由其引起的差错称为突发差错。在将数据信息向信道发送前,先按某种关系附加一定的冗余位,构成一个码字后再发送,这个过程称为差错控制编码过程。差错控制编码可分为检错码和纠错码。

简洁高效的差错控制技术

1.差错的产生原因及控制方法

差错控制技术是指在数据通信过程中能发现或纠正差错,把差错限制在尽可能小的允许范围内的技术和方法。

信号物理信道中传输时,线路本身的电气特性将造成随机噪声、信号幅度的衰减、频率和相位的畸变,电器信号在线路上产生反射造成的回音效应、相邻线路的串扰以及各种外界因素(如闪电、强电磁场等),都会造成信号失真。在数据通信中,将会使接收到的二进制数位和发送端实际发送的二进制数位不一致,从而造成由0 变成1 或者由1 变成0 的差错。

传输中的差错主要由噪声引起。噪声分两大类: 一类是信道固有的、持续存在的随机热噪声;另一类是由外界特定的短暂原因造成的冲击噪声。热噪声引起的差错称为随机差错,它所引起某位码元的差错是孤立的,与前后码元没关系。它导致的随机差错通常较少。冲击噪声呈突发状,由其引起的差错称为突发差错。冲击噪声的幅度可能非常大,所造成的差错无法通过提高幅度来避免,它是传输中产生差错的主要原因。冲击噪声虽然持续时间较短,但在一定的数据传输速率条件下,会影响到一串码元。

最常用的差错控制方法是差错控制编码。在将数据信息向信道发送前,先按某种关系附加一定的冗余位,构成一个码字后再发送,这个过程称为差错控制编码过程。接收端收到该码字后,检查信息位和附加冗余位之间的关系,以检查传输过程中是否有差错发生,这个过程称为检验过程。差错控制编码可分为检错码和纠错码。检错码的功能是发现差错编码;纠错码不仅能发现差错,而且能自动纠正差错编码。差错控制方法分为两类: 一类是自动请求重发,当接收端发现错误时,就设法通知发送端重发,直到收到正确的码字为止,这种方式只适用验错码;另一类是前向纠错码,这种方式在接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正,这种方式必须使用纠错码。

2.奇偶校验

奇偶校验是最常用的检错方法,其原理是在N 位的ASCII 码后增加一位,使码字中“l”的个数为奇数(称为奇校验)或偶数(称为偶校验)。经过传输后,如果其中一位(或者奇数个位)出错,则接收端按同样的规则就能发现错误。这种方法简单实用,可以防止少量的随机性错误。

为了能检测突发性的出错位串,可以使用检查和的办法。这种方法把数据块中的每字节当作一个二进制整数,在发送过程中按模256 相加,数据块发送完后,把得到的和作为校验字节发送出去。接收端在接收过程中进行同样的加法,数据块加完后,用得到的校验和与接收到的校验和比较,从而检验是否出错。奇偶校验法简单、易于实现、编码效果高,但并不是一种十分安全可靠的检错方法,如果有偶数个数据在传输中同时出错,则接收端无法检测出差错数据,所以其检错概率为50%。对于低速传输来说,奇偶校验法是一种令人满意的检错方法。通常,偶校验常用于异步传输或低速传输,而奇校验常用于同步传输。(www.xing528.com)

3.海明码

美国数学家、计算机学家海明(Hamming)于1950年提出了用冗余数据位来检测和纠正代码差错的理论和方法,指出可以在数据代码上添加若干冗余位组成码字,一个码字变成另一个码字时,必须改变(1 变0,或0 变1)的最小位数为码字之间的海明距离。例如,7位ASCII 码增加一位奇偶位成为8 位的码字,这128 个8 位的码字之间的海明距离是2。

按照海明的理论,如果任意两个码字之间的海明距离是d,则所有小于等于d-1 位处的错误都可以检查出来,所有少于d/2 位的错误都可以纠正。一个自然的推论是,对某种长度的错误串,要纠正它就要用比检测它多一倍的冗余位。

4.循环冗余校验码

现在计算机网络中广泛应用的差错检测技术是基于循环冗余校验(Cyclic Redundancy Check,CRC)。循环冗余校验码也称为多项式编码,因为能把要发的比特串看作系数是0 和1 的一个多项式,对比特串的操作被解释为多项式算数。循环冗余检测编码是在网卡中进行的。

循环冗余校验码(CRC)的基本原理: 在K 位信息码后拼接R 位的校验码,整个编码的长度为N 位,因此,这种编码也称为(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K =R 的多项式G(x)。根据G(x),可以生成K 位信息的校验码,将G(x)称为这个CRC 码的生成多项式。

校验码的生成过程: 假设发送信息用信息多项式C(x)表示,则将C(x)左移R 位可表示成C(x)×xR,这样C(x)的右边就会空出R 位,这就是校验码的位置。将C(x)×xR除以生成多项式G(x),得到的余数就是校验码。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈