数据通信之差错控制

您所在的位置:网站首页 信道编码类型有哪几种 数据通信之差错控制

数据通信之差错控制

2023-07-24 19:09| 来源: 网络整理| 查看: 265

在理解误码率定义时应注意以下3个问题。

1)误码率是衡量数据传输系统正常工作状态下传输可靠性的参数。

2)对于一个实际的数据传输系统,不能笼统地说误码率越低越好,要根据实际传输要求提出误码率指标;在数据传输速率确定后,误码率越低,传输系统设备越复杂,造价也越高。

3)对于实际数据传输系统,如果传输的不是二进制码元,则要换算成二进制码元来计算。

在实际的数据传输系统中,人们需要一种通信信道进行大量、重复测试,才能求出该信道的平均误码率,或者给出某些特殊情况下的平均误码率。根据测试,目前电话线路在 300 bit/s~2 400 bit/s 传输速率时,平均误码率在10−6~10−4。而通信的平均误码率要求低于10−9。因此,普通通信信道如不采取差错控制技术是不能满足通信要求的。

3、差错的控制

提高数据传输质量的方法有两种。第一种方法是:改善通信线路的性能,使错码出现的概率降低到满足系统要求的程度。但这种方法受经济和技术的限制,达不到理想的效果。第二种方法是:虽然传输中不可避免地会出现某些错码,但可以将其检测出来,并用某种方法纠正检出的错码,以达到提高实际传输质量的目的。第二种方法最为常用的是采用抗干扰编码和纠错编码。目前广泛采用的有奇偶校验码、方块码和循环冗余码等。

(1)奇偶校验

奇偶校验称为字符校验、垂直奇偶校验(Vertical Redundancy Check,VRC)。奇偶校验是以字符为单位的校验方法,是最简单的一种校验方法。在每个字符编码的后面另外增加一个二进制位,该位称为校验位。其主要目的是使整个编码中1的个数成为奇数或偶数。如果使编码中1的个数成为奇数则称为奇校验;反之,则称为偶校验。

例如,字符R的ASCII编码为1010010,后面增加一位进行奇校验10100100(使1的个数为奇数),传送时其中一位出错,如传成了10110100,奇校验就能检查出错误。若传送有两位出错,如10111100,奇校验就不能检查出错误了。在实际传输过程中,偶然一位出错的机会最多,故这种简单的校验方法还是很有用处的。但这种方法只能检测错误,不能纠正错误,不能检测出错在哪一位,故一般只能用于通信要求较低的环境。

(2)方块校验

方块校验又称为报文校验、水平垂直奇偶校验(Level Redundancy Check,LRC)。这种方法是在奇偶校验方法的基础上,在一批字符传送之后,另外增加一个检验字符,该检验字符的编码方法是使每一位纵向代码中1的个数也成为奇数(或偶数)。例如:

采用这种方法之后,不仅可以检验出1位、2位或3位的错误,还可以自动纠正1位出错,使误码率降至原误码率的百分之一到万分之一,纠错效果十分显著,因此方块校验适用于中、低速传输系统和反馈重传系统中。

(3)循环冗余码校验

循环冗余码(Cyclic Redundancy Code,CRC)是使用最广泛并且检错能力很强的一种检验码。CRC的工作方法是在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。该方法不产生奇偶校验码,而是把整个数据块当成一串连续的二进制数据。从代数结构来说,把各位看成是一个多项式的系数,则该数据块就和一个n次的多项式相对应。

例如,信息码110001有6位(从第0位到第5位),表示成多项式M(X)=X 5+X 4+X ,6个多项式的系数分别是1、1、0、0、0、1。

1)生成多项式。在CRC校验时,发送和接收应使用相同的除数多项式G(X),G(X)称为生成多项式。CRC生成多项式由协议规定,目前已有多种生成多项式列入国际标准中,例如:

CRC—12 G(X)=X 12+X 11+X 3+X 2+X+1

CRC—16 G(X)=X 16+X 15+X 2+1

CRC—CCITT G(X)=X 16+X 12+X 5+1

CRC—32 G(X)=X 32+X 26+X 22+X 16+X 12+X 11+X 10+X 8+X 7+X 5+X 4+X 2+X+1

生成的多项式G(X)的结构及验错效果都是经过严格的数学分析与试验之后才确定的。要计算信息码多项式的校验码,生成多项式必须比该多项式短。

2)CRC校验的基本思想和运算规则。循环冗余校验的基本思想是:把要传送的信息码看成是一个多项式M(X)的系数,在发送前,将多项式用生成多项式G(X)来除,将相除结果的余数作为校验码跟在原信息码之后一同发送出去。在接收端,把接收到的含校验码的信息码再用同一个生成多项式来除,如果在传送过程中无差错,则应该除尽,即余数应为0;若除不尽,则说明传输过程中有差错,应要求对方重新发送一次。

CRC校验中求余数的除法运算规则是:多项式以2为模运算,加法不进位,减法不借位。加法和减法两者都与异或运算相同。长除法同二进制运算是一样的,只是做减法时按模2进行,如果减出的值最高位为0,则商为0;如果减出的值最高位为1,则商为1。

3)CRC检验和信息编码的求取方法。设r为生成多项式G(X)的阶。

① 在数据多项式M(X)的后面附加r个“0”,得到一个新的多项式M'(X)。

② 用模2除法求得M'(X)/G(X)的余数。

③ 将该余数直接附加在原数据多项式 M(X)的系数序列的后面,结果即为最后要发送的检验和信息编码多项式T(X)。

下面是一个求数据编码多项式T(X)的例子。

假设准备发送的数据信息码是1101,即M(X)=X 3+X 2+1,生成多项式G(X)=X 4+X+1,计算信息编码多项式T(X)。

这里 M(X)=1101

G(X)=10011

r=4

故信息码附加4个0后形成新的多项式。

M′(X)=11010000

用模2除法求得M′(X)/G(X)的余数的过程为

将余数0100直接附加在M(X)的后面求得要传输的信息编码多项式T(X)=11010100。

采用CRC校验后,其误码率比方块码可再降低1~3个数量级,故在数据通信系统中应用较多。CRC校验用软件实现比较麻烦,而且速度也很慢,但用硬件的移位寄存器和异或门实现CRC编码、译码和检错则简单且快速。返回搜狐,查看更多



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3