首页 理论教育 差错控制技术概述

差错控制技术概述

时间:2023-06-24 理论教育 版权反馈
【摘要】:采用信道编码,即差错控制编码,可将误比特率进一步降低,保证系统信息传输的可靠性。奇偶校验虽然有一定的差错控制能力,但不是特别安全可靠。同时,这种差错控制方法只能检查错误,并不能纠正错误。目前在数据链路层广泛使用了CRC的检测技术。表5.21010对应的汉明校验码表5.3四位信息码对应的汉明校验码在接收方,也可以根据这三个校验方程对接收到的信息进行同样的测试。

差错控制技术概述

在实际的信道上传输数字信号时,不可避免地会发生错误。采用信道编码,即差错控制编码,可将误比特率进一步降低,保证系统信息传输的可靠性

常见的差错控制方法有:奇偶校验、循环冗余校验、汉明校验码

1.奇偶校验

奇偶校验是一种最简单的差错控制方法。它是在待发送的数据后面加入一位冗余码,进行差错检测。如果加入冗余码的数据中“1”的个数为偶数,这种校验方法为偶校验;反之,如果冗余码的数据中“1”的个数为奇数,这种校验方法为奇校验。例如:信息码元如果是1011100,所以,奇校验码为10111001,偶校验码为10111000。

奇偶校验虽然有一定的差错控制能力,但不是特别安全可靠。这种差错控制方法只能检查一位数据的错误。如果有偶数个数据位在传输过程中出错,接收端将无法鉴别。同时,这种差错控制方法只能检查错误,并不能纠正错误。但是,根据统计,在低速率通信系统中,发送数据中出现1个比特错误的概率大于95%,因此,这种差错控制方法在低速率通信系统中非常有效。

2.循环冗余校验

循环冗余校验(Cyclical Redundancy Check),就是在每个数据块(称之为帧)中加入一个FCS(Frame Check Sequence,帧检查序列)。FCS包含了帧的详细信息,专门用于发送/接收装置比较帧的正确与否。如果数据有误,则再次发送。

循环冗余校验(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,就表示有差错发生。目前在数据链路层广泛使用了CRC的检测技术。

原理:循环冗余校验码就是在K位的信息码后面加上R位的监督码元,整个码长度为N位,(N,K)码一个重要的特点就是整个编码的长度为N位,其中信息字段就是K位,所以校验字段(也叫作监督码元)的长度就是R=N-K位。

例1 假设使用的生成多项式是G(X)=X3+X2+1,6位的原始报文为101001,求编码后的报文。

解 将生成多项式G(X)=X3+X2+1转换成对应的二进制除数1101。

除数为4位,校验码为3位。

R为校验码位数,R为3位,要把原始报文C(X)左移3(R)位变成101001 000,用生成多项式对应的二进制数对左移3位后的原始报文进行模2除(高位对齐),具体过程如下:

根据上述计算过程,得到循环冗余校验码即为余数001,所以编码后的报文为原始报文加上循环冗余校验码,即101001001。

3.汉明校验码

汉明码是一种多重(复式)奇偶检错系统。它将信息用逻辑形式编码,以便能够检错和纠错。用在汉明码中的全部传输码字是由原来的信息和附加的奇偶校验位组成的。每一个这种奇偶位被编在传输码字的特定位置上。

校验位P1,P2,P3,P4,…被安排在20,21,22,23,…的位置上。m=4,k=3时,信息位和校验位分布如表5.1所示。(www.xing528.com)

表5.1 信息位和校验位分布

例2 若四位信息码为1010,求汉明码码字。

解 3=20+21,5=22+20,6=22+21,7=22+21+20

由上式可知,3,5,7的生成式中均包含20。校验位P1的位置为20,所以P1由B3,B5,B7的数据生成。P2的位置为21,所以P2由B3,B6,B7的数据生成。P3的位置为22,所以P3由B5,B6,B7的数据生成。具体生成式如下:

P1=B3⊕B5⊕B7=D1⊕D2⊕D4

P2=B3⊕B6⊕B7=D1⊕D3⊕D4

P3=B5⊕B6⊕B7=D2⊕D3⊕D4

若四位信息码为1010,利用这三个公式可以求得三个校验位P1,P2,P3的值,具体如表5.2所示。对D1~D4的16种取值对应的汉明码如表5.3所示。

表5.2 1010对应的汉明校验码

表5.3 四位信息码对应的汉明校验码

在接收方,也可以根据这三个校验方程对接收到的信息进行同样的测试。

S1=B1⊕B3⊕B5⊕B7=0

S2=B2⊕B3⊕B6⊕B7=0

S3=B4⊕B5⊕B5⊕B7=0

若上面三个式子都成立,说明接收到的数据是正确的;如果不成立,说明接收到的数据有错。例如,如果第三位数据反了,则S1=1,S2=1,S3=0(式子中不含有B3),这样有S3、S2、S1构成的二进制数为011,则错误的位置由二进制数011指出,011B=3,说明第3位出错。对于一般码距为3的汉明码,可以发现2位,或者纠正1位错。

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

我要反馈