通信原理—差错控制编码基本理论

  • 格式:doc
  • 大小:86.00 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

差错控制概述

1. 差错的概念

所谓差错,就是在通信接收端收到的数据与发送端实际发出的

数据出现不一致的现象。

2. 差错类型

通信信道的噪声分为热噪声和冲击噪声两种。由这两种噪声分

别产生两种类型的差错,随机差错和突发差错。

热噪声是由传输介质导体的电子热运动产生的,它的特点是:

时刻存在,幅度较小且强度与频率无关,但频谱很宽,是一类随机

噪声。由热噪声引起的差错称随机差错。此类差错的特点是:差错

是孤立的,在计算机网络应用中是极个别的。

与热噪声相比,冲击噪声幅度较大,是引起传输差错的主要原

因。冲击噪声的持续时间要比数据传输中的每比特发送时间要长,

因而冲击噪声会引起相邻多个数据位出错。冲击噪声引起的传输差

错称为突发差错。常见的突发错是由冲击噪声(如电源开关的跳火、

外界强电磁场的变换等)引起,它的特点是:差错呈突发状,影响

一批连续的bit(突发长度)。计算机网络中的差错主要是突发差错。

通信过程中产生的传输差错,是由随机差错和突发差错共同构

成的。

3. 误码率

数据传输过程中可用误码率Pe来衡量信道数据传输的质量,误码率是指二进制码元在数据传输系统中出现差错的概率,可用下式表达:

4. 差错控制

差错控制是指在数据通信过程中能发现或纠正差错,将差错限

制在尽可能小的允许范围内。

差错检测是通过差错控制编码来实现的;而差错纠正是通过差错控制方法来实现的。

差错控制编码

差错控制编码的原理是:发送方对准备传输的数据进行抗干扰编码,即按某种算法附加上一定的冗余位,构成一个码字后再发送。接收方收到数据后进行校验,即检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生。差错控制编码分检错码和纠错码两种,检错码是能自动发现差错的编码,纠错码是不仅能发现差错而且能自动纠正差错的编码。

衡量编码性能好坏的一个重要参数是编码效率R:

其中,n表示码字的位长,k表示数据信息的位长,r表示冗余位的位长。

计算机网络中常用的差错控制编码是奇偶校验码和循环冗余码。

1. 奇偶校验码

奇偶校验码是一种最简单的检错码。

原理:通过增加冗余位来使得码字中"1"的个数保持为奇数(奇校验)或偶数(偶校验)。例如,偶校验:110101000,011011011在实际使用时,奇偶校验可分为以下三种方式。

(1) 垂直奇偶校验

原理:将要发送的整个数据分为定长p位的q段,每段的后面按"1"的个数为奇数或偶数的规律加上一位奇偶位:

编码效率:R = P/(P+1)

检错能力:能检出每列中的所有奇数个错,但检不出偶数个错。对突发错,漏检率约为50%

(2) 水平奇偶校验

原理:将要发送的整个数据分为定长p位的q段,对各个数据段的相应位横向进行编码,产生一个奇偶校验冗余位:

编码效率:R = Q/(Q+1)

检错能力:能检出每行中的所有奇数个错,但检不出偶数个错。对突发长度≤P的突发错都能检出。

(3) 水平垂直奇偶校验

原理:能同时进行水平和垂直奇偶校验:

编码效率:R = PQ / (P+1)(Q+1)

检错能力:能检出所有3位或3位以下的错误,能检出所有奇数个错和很大一部分偶数个错,并对突发长度≤P+1的突发错都能检出。

2. 循环冗余码

循环冗余码又称CRC码(Cyclic Redundancy Code),简称循环码。CRC码检错能力强,且容易实现,是目前最广泛的检错码编码方法之一。在计算机网络中,CRC被广泛采用。

CRC是一种检错码,其编码过程涉及多项式知识。多项式和比特串有一定的对应关系,例如,比特串10010101110可被解释成

发送端的编码步骤:

(1) 将要发送的二进制数据(k位比特序列),对应一个(k-1)阶多项式K(x);再选取一个收发双方预先约定的r阶生成码多项式

G(x)

(2) 在原数据尾添加r个0,即,x r K(x)。

(3) 进行x r K(x)/G(x),求得余数R(x)。R(x)即为校验序列.

(4) 用R(x)替代x r K(x)最后的r个0(即x r K(x) - R(x)),得到待传送的CRC码多项式(数据位加校验位)T(x)。

[说明] CRC码字的总长(传送位)为n = k+r位,对应一个(n-1)阶多项式T(x)。

接收端的检验

(1) 接收端收到的CRC码多项式T'(x)

(2) 校验:进行T'(x)/G(x),求得余数。

(3) 若余数为0,则正确(即,T'(x) / G(x) = K(x));若余数不为0,则出错。

[注意] 发送方和接收方使用的G(x)要一致。

G(x)的各种标准

G(x)有各种标准,目前广泛使用的主要有以下四种:

CRC12=

CRC16=(IBM公司)

CRC16=(CCITT)

CRC32=

结论

根据CRC性质,若适当选取G(x),使其含有(x+1)因子,常数项不为0,且周期大于n,则由此G(x)作为生成多项式产生的CRC码,可检测出:所有双位错、所有奇数位错、所有突发长度小于等于r

的突发错、(1-2-(r-1))的突发长度等于r+1的突发错以及(1-2-r)的突发长度大于r+1的突发错。

循环冗余码的产生与码字正确性检验例子。

例1.已知:信息码:110011 信息多项式:K(X)=X5+X4+X+1

生成码:11001 生成多项式:G(X)=X4+X3+1(r=4) 求:循环冗余码和码字。