常用的检错码 - 奇偶校验码

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

3.2差错控制

3.2.2常用的检错码- 奇偶校验码

奇偶校验码是一种简单的检错码,奇偶校验码分为奇校验码和偶校验码,两者原理相同。它通过增加冗余位来使得码字中“1”的个数保持奇数或偶数。

•无论是奇校验码还是偶校验码,其监督位只有一位;

•假设信息为为I1, I2, …, I n,对于偶校验码,校验位R可以表示为:

R =I

1 ⊕I

2

⊕Λ⊕I

n

•假设信息为为I1, I2, …, I n,对于奇校验码,校验位R可以表示为:

R =I

1 ⊕I

2

⊕Λ⊕I

n

⊕1

•无论是奇校验码还是偶校验码,都只能检测出奇数个错码,而

不能检测偶数个错码。

4

4

讨论: 从检错能力、编码效率和代价等方面来评价垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验

3.2 差错控制

3.2.2 常用的检错码 - 奇偶校验码 奇偶校验在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种。

5

3.2.2常用的检错码–定比码

所谓定比码,即每个码字中“1”的个数与“0”的个数之比保持恒定,

故又名等比码或恒比码。

•当码字长一定,每个码字所含“1”的数目都相同,“0”的数目也

都相同。

•由于若n位码字中“1”的个数恒定为m,还可称为“n中取m”码

定比码(n中取m)的编码效率为:

log C m

R = 2 n

n

定比码能检测出全部奇数位错以及部分偶数位错。实际上,除了码

字中“1”变成“0”和“0”变成“1”成对出现的差错外,所有其它差

错都能被检测出来

6

4

代码“1011011”对应的多项式为x 6 + x 4 + x 3 +1

多项式“x 5 + x 4 + x 2 + x”所对应的代码为“110110” 3.2.2 常用的检错码 – 循环冗余检验 循环冗余码(Cyclic Redundancy Code ,简称CRC )是无线通信中用得最广泛的检错码,又被称为多项式码。 二进制序列多项式:任何一个由m 个二进制位组成的代码序列都可以和一个只含有0和1两个系数的m-1阶多项式建立一一对应的关系。 CRC 有关的多项式:

• 信息位多项式、冗余位多项式、码字多项式、和生成多项式

信息位1010001:K (x ) = x 6 + x 4 + 1

冗余位1101:R (x ) = x 3 + x 2 + 1;

码字10100011101: T (x ) = x 10 + x 8 + x 4 + x 3 + x 2 + 1

7

3.2.2常用的检错码–循环冗余检验

CRC校验在发送端编码和接收端校验时都利用一事先约定的生成多

项式G(x)来进行。

•G(x)的最高项为x r,其中,r为冗余位的长度;

•在发送方,利用G(x)对x r K(x)做模2除生成冗余位;

•在接受方利用G(x)对收到的码字多项式T(x)做模2除来检测错误•当码字有错误发生时,被生成多项式做除后应该使余数不为0。

•G(x) 的最高位和最低位必须为1。

8

3.2.2 常用的检错码–循环冗余检验

设生成多项式G(x) = x4 + x2 + x + 1,现

(1)待传输的信息位为1010001,试计算相应的CRC码;

(2)原码字为10100011101,由于噪声的干扰,在接收端变

成了10100011011,请问能否被检出?

解(1):

K(x) = x6 + x4 + 1;

G(x) = x4 + x2 + x + 1,r = 4

x4 • K(x) = x10 + x8 + x4

由除法来求余式R(x)的具体计算过程如右图所示

得到CRC码为:1101

加上CRC码的码字为:10100011101

9

4

3.2.2 常用的检错码–循环冗余检验

设生成多项式G(x) = x4 + x2 + x + 1,现

(1)待传输的信息位为1010001,试计算相应的CRC码;

(2)原码字为10100011101,由于噪声的干扰,在接收端变

成了10100011011,请问能否被检出?

解(2):

原码字为10100011101,由于噪声的干扰,在接收端变成了10100011011,这相当于在码字上半加了差错模式

00000000110。

差错模式对应的多项式记为E(x)= x2 + x

接收端收到的就不再是T(x),而是T(x)+ E(x)

(T(x)+ E(x)) / G(x) = T(x) / G(x) + E(x) / G(x) = E(x) / G(x)

若E(x) / G(x)不等于0,则这种差错就能够被检测出来。

5

3.2.2常用的检错码–循环冗余检验对于CRC而言,生成多项式G(x)直接影响到其校验性能。研究表明,生成多项式与检错能力之间存在以下关系:

•若G(x)含有(x+1)的因子,则能检测出所有奇数位错。

•若G(x)中不含有x的因子,或者换句话说,G(x)中含有常数项1,

那么能检测出所有突发长度b≤r的突发错

•若G(x)中不含有x的因子,而且对任何0< e ≤ n–1的e,除不尽x e

+1,则能检测出所有的双错

•若G(x)中不含有x的因子,则对突发长度为r + 1的突发错误的漏检率为2-(r-1)

•若G(x)中不含有x的因子,则对突发长度b > r+1的突发错误的漏检率为2-r

Wireless and Mobile Networks Technology Zhenzhou Tang @ Wenzhou University 5 1

相关文档
最新文档