首页 百科知识 差错检测技术

差错检测技术

时间:2022-10-01 百科知识 版权反馈
【摘要】:显然,在通信过程中产生的传输差错,是由热噪声的随机差错与冲击噪声的突发差错共同构成的。其中,检错码的工作原理如下:通过在每一个发送的数据帧中包含一些冗余信息(校验位),让接收方在收到该数据帧后可以检测出其中是否发生了错误,若检测出错误,则可请求发送方重传该数据帧。

数据通信的差错程度通常是以“误码率”来定义的,它是指二进制比特在数据传输系统中被传错的概率,它在数值上近似地等于Pe=Ne/N,其中,N为传输的二进制比特总数,Ne为被传错的比特数。

通信信道的噪声分为两类:热噪声和冲击噪声。其中,热噪声引起的差错是随机差错,而冲击噪声引起的差错是突发差错。显然,在通信过程中产生的传输差错,是由热噪声的随机差错与冲击噪声的突发差错共同构成的。在数据链路层中,发现差错的方法是接收方通过检查专门的差错编码(称为检错码,Error Detecting Code)来进行确定的。其中,检错码的工作原理如下:通过在每一个发送的数据帧中包含一些冗余信息(校验位),让接收方在收到该数据帧后可以检测出其中是否发生了错误,若检测出错误,则可请求发送方重传该数据帧。目前,最具代表性的检错码方法为CRC(Cyclic Redundancy Check,循环冗余校验码),其基本思想如下:

(1)将待传输的数据帧看作是系数为0或1的一个多项式,因此,一个m位的数据帧可以看作是一个m−1次多项式M (x)的系数列表,显然,多项式M (x)的阶为m−1,共有m项,从xm−1到x0

(2)当使用多项式编码时,发送方和接收方必须事先商定生成一个多项式G(x),生成多项式G(x)的最高和最低位必须为1,而且G(x)的阶必须要低于M (x)的阶。

(3)假设多项式G(x)的阶为r,则在该数据帧的低位端添加上r个0位,使得该数据帧变成一个包含m+r位的新帧,显然,该新帧中的前m位为原数据帧中的m个数据位,后r位称作校验位,假定该新帧所对应的多项式为xr·M (x)。

(4)利用模2除法,用对应于G(x)的位串去除对应于xr·M (x)的位串。

(5)利用模2减法,从对应于xr·M (x)的位串中减去余数(总会小于等于r位),所得到的结果就是将被实际传输的带校验位的帧,假设其对应的多项式为T(x)。

(6)显然,T(x)可被G(x)除尽(模2)。故接收方可用如下方法判定传输过程是否发生错误:当接收方收到带校验位的帧后,将用G(x)去除该帧对应的多项式T(x),若有余数,则表明传输过程中发生了错误。

例如:当数据帧为“1101011011”,生成多项式G(x)=x4+x+1时,计算校验位的过程如下:

由于G(x)的阶为4,首先,在数据帧“1101011011”的低位端添加上4个0位,得到“11010110110000”。然后,如图3.1所示,利用模2除法,用对应于G(x)的位串“10011”去除“11010110110000”,得到余数“1110”。最后,利用模2减法,用“11010110110000” 减去余数“1110”,即可得到实际传输的带校验位的帧为“11010110111110”。

若该带校验位的帧在传输过程发生了突发差错,使得接收方实际收到的帧为“11010110111111”,则因“11010110111111”对应的项式T(x)无法被生成的多项式G(x)整除,接收方由此可知帧在传输过程中发生了错误。

图3.1 基于模2除法计算校验位的过程示意

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

我要反馈