常用的检错码 - 奇偶校验码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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