数据传输过程中差错产生的原因与性质

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
突发差错:冲击噪声
外界的因素,持续时间短,突发性 传输中产生差错的主要原因 突发长度:突发差错发生的第一个码元到有错的最后一个
码元间所有码元的个数。比如4800bps信道上的10ms的冲击 噪声的突发长度为48比特
第4章 数据
差错检测与校正:基本概念 链路层
误码率:衡量物理信道的质量
rp1, j I1 j I 2 j I pj j 1,2,...,q
rp1,q1 rp1,1 rp1,2 rp1,q
r1,q1 r2,q1 rp,q1
信息位
I11
I12
···
I1q
r1,q+1

I21
I22
···
I2q
被除多项式为:
K(x)x4= x10+x8+x4
(相当于10100010000)
CRC的例子(2)
第4章 数据 链路层
1 00111 1 10111 10100010000
10111 11010 10111
11010 10111
11010 10111
11010 10111
1101
多项式除法后得到冗余码为1101,所以相应的数 据发送序列为1010001 1101
b3 0 0 0 1 0 0 1 1
b4 0 0 1 0 0 0 0 0
b5 1 1 1 1 1 1 1 0
b6 0 0 0 0 0 0 0 0
b7 1 1 1 1 1 1 1 0
check 0 1 0 1 0 0 0 1
海明码
第4章 数据 链路层
1. 海明码
(1)海明距离及意义
两个码字中不同的位数的个数称为海明距离,简称
者某一列有奇数个差错
部分纠错功能:
可以纠正1比特错
信息块中恰好只有某一行和某一列有奇数位错时,可确 定为该行和该列的交叉处
第4章 数据
水平垂直奇校验的例子 链路层
字符1 字符2 字符3 字符4 字符5 字符6 字符7
校验 字符
b1 1 1 1 1 1 1 1 0
b2 0 1 1 0 0 0 1 0
第4章 数据 链路层
垂直奇偶校验
编码效率: 能力:
R p p 1
检测出每列(段)中所有奇数(1、3…)个错
突发错误的漏检率为50%!! 在发送和接收的过程中进行编解码
水平奇偶校验:降低突发错误的漏检率
对各个信息段的相应位横向进行编码
第4章 数据 链路层
水平奇偶校验
I11 I12
··· I1q
r1
偶校验: ri Ii1 Ii2 Iiq i 1,2,..., p

I21 I22
··· I2q
r2

2
··· ···
··· ···
奇校验: ri Ii1 Ii2 Iiq 1 i 1,2,..., p
顺 序

编码效率:
R q q 1
0 10 0 00
CRC的检错能力(1)
第4章 数据 链路层
如果传输过程中出现差错:差错模式E(x)=发送码
字和接收码字的半加,其中1的位置对应变化了信 息位的位置。
x r K (x) G(x) Q(x) R(x),记为x r K (x) / G(x) R(x) 无错时:
T (x) x r K (x) R(x) G(x) Q(x) R(x) R(x) G(x) Q(x),即T (x) / G(x) 0 有错时:
10110011 11010010
01100001
10110011 11010010
01100001
R(x)作为冗余码,加在原传送数据后面:
T(x)= XrK(x) +R(x)= G(x) *商+R(x) + R(x)= G(x) *商,构成发送 序列。
接收方收到后,将接收序列用同样的生成多项式去除
K(x)=x6+x4+1
选定除式G(x) , 被选作除式的多项式称为生成多项式,
以下三个多项式已成为国际标准
CRC-12: G(x)=x12 +x11 +x3 + x2 + x + 1
CRC-16: G(x)=x16 +x15 + x2 + 1
CRC-CCITT: G(x)=x16 +x12 + x5 + 1
r2 q+1

2

··· ···
··· ···

Ip1
Ip2
···
Ipq
rp q+1
rp+1,1 rp+1,2 ··· 水平奇偶校验
rp+1,q
rp+1,q+1 冗余位
编码效率 R pq
( p 1)(q 1)
第4章 数据 链路层
水平垂直奇偶校验能力
检测出:
所有3位或3位以下的错误、奇数位错 突发长度小于等于p+1的突发差错 很大一部分偶数位错:差错分布以致于某一行或
采用纠错码,无需反向信道,无需重发,但编码 效率低,纠错设备复杂
第4章 数据
常用的简单差错控制编码 链路层
奇偶校验码:增加冗余位使得码字中‘1’的个数为奇
数或者偶数,检错码 垂直奇偶校验 水平奇偶校验
I11 I12
···
I1q

I21 I22
···
I2q

2
信息位

···
··· ···
最主要的作用是链通路层过一
些数据链路层协议(即

链路控制规程),在不太
为什么需要数据链路层可?靠的物理链路上实现
物理层未解决的问题:可靠的数据传输.
位流传输过程中不可避免会出现差错(电磁干 扰,线路问题)
数据收发之间的速率匹配问题(不同设备处理速 度不同)
第4章 数据
差错检测与校正:基本概念 链路层
最终的 海明码
码字 0 0 1 0 0 1 1 1 0 1 0
1,2,4,8是校验位! 其余位是信息位.
为什么此 处是1?
采用偶 检验哦!
(8) (9)(10)(11) 1 01 0
(1) (3)(5)(7)(9)(11) 0 1 01 0 0
奇数个1
偶数个1
循环冗余码
第4章 数据 链路层
纠错码的编码效率较低,差错控制经
第4章 数据 链路层
由上图可看出,海明码的信息余量很大,因而编号效率低.
例:根据海明编码方法,对ASCII字符Z(二进制编码是1011010),
形成11位码字,要求简单地写出编码过程.并说明在传输过程中,
有一位错的情况下,如何能够检查出是哪一位是错的?
解: m=7,n =11,r =4 编号: 1=1,2=2,3=1+2,4=4,5=1+4,6=2+4,7=1+2+4,8=8,9=1+8,
能力:
各段同一位上的奇数个错
Ip1 Ip2
··· Ipq
rp
信息位 水平奇偶校验
冗余位
长度小于等于p的突发差错
编码和检测相比垂直校验而言实现要复杂一些
第4章 数据 链路层
水平垂直奇偶校验
偶校验:
ri,q1 Ii1 I i2 I iq
i 1,2,...,p
T(x)/G(x)。若余式为零,则表示无差错;否则,说明传输过程中 出现了错误。
CRC的例子(1)
ຫໍສະໝຸດ Baidu第4章 数据 链路层
要发送的二进制数序列为“1010001”,7
位的数据序列对应6次多项式:
K(x)=x6+x4+1
选定的生成多项式为:
G(x)=x4 +x2 +x+ 1 (最高次数为4,相当于10111)
位(1号位,2号位,4号位,8号位等)是校验位,其余的位
填入m 位数据(2 r ≧n+1).
②每个校验位的取值应使得包括自己在内的一些位的集 合符合规定的奇偶性.(主要用于奇偶性校验)
1 2 3 4 5 6 7 8 9 10 11 12
校验位
海明码
第4章 数据 链路层
③为了知道编号为K的数据位对哪些检测
10=2+8,11=1+2+8 于是有: (1) (3)+(5)+(7)+(9)+(11)
(2) (3)+(6)+(7)+(10)+(11)
检测位
(4) (5)+(6)+(7)
被检测位: 数据位
(8) (9)+(10)+(11)
海明码
第4章 数据 链路层
编码 1 2 3 4 5 6 7 8 9 10 11
(T(x) E(x))/G(x) T(x)/G(x) E(x)/G(x) E(x)/G(x)
H距离
1 0 0 0 1 0 0 1 H=3 10110001
求H距离的方法主要有:异或运算 海明距离的意义是:假如两个码字具有海明距离d ,
则需要d 个位差错才能将其中一个码字转换成另
一个.
海明码
第4章 数据 链路层
(2)海明码算法
①将码字数内的位从最左边开始按顺序依次编号,第1位
是1号,第2位是2号, ……第n位是n号.编号为2的幂的
位有影响,将编号K 改写成2的幂的和
(如:11=1+2+8, 29=1+4+8+16),1个位只 由扩展式中所示编号的位检测(编号为 11的位,只能由1,2,8 检测位检测)
④由于在每个校验位的形成表达式中,除 自身编号外,其余都是信息位的编号,因 此只要信息位是确定的,校验位也可以 唯一地确定.
海明码
什么是差错?
在通信中接收端收到的二进制数位(码元)和发送
端实际发送的数据不一致。
差错检测与校正:把差错控制在允许的范围内。
第4章 数据
差错检测与校正:基本概念 链路层
有两种不同的差错:
随机差错:随机热噪声
随机热噪声是信道固有的、持续存在的 码元的差错是独立的,和前后的码元无关 信噪比
常采用检错码+ARQ。循环冗余码CRC (Cyclic Redundancy Code )是计 算机网络中使用最为广泛的检错码, 又称为多项式码。
第4章 数据
CRC的工作原理(1) 链路层
将要发送的二进制数序列看成是只有0和1两个系数的一个
多项式。n位的数据序列对应n-1次多项式。如:二进制数 序列为“1010001”,7位的数据序列对应6次多项式:
CRC-32
G(x)= x32+x26+x23+x22+x16+x12+x11+ x10
+x8+x7+x5+x4 + x2+x+1
第4章 数据
CRC的工作原理(2) 链路层
将K(x)乘以 G(x)的最高幂次作为被除式, G(x)作多项式除式
XrK(x)=G(x)*商+R(x)(相应系数相除) 。除法采用“加法不进位, 减法不借位”的规则,即相当于异或操作
本章学习要求
第4章 数据 链路层
了解:数据传输过程中差错产生的原因与性质。 掌握:数据链路层差错控制方法、循环冗余码编码
原理。 掌握:数据链路层的功能。 掌握:停等协议、滑动窗口协议的工作原理。 掌握:面向比特型数据链路层协议实例— HDLC。 了解:Internet中的数据链路层协议。
第4章 数据
G
R0
输入 R0 R1 00
111
001
10 0 011 01 0 01 0 11 0
R1
R2 R3 G 00 1 01 1 10 1 10 1 11 0 11 1 01 1 11
R2
R3
信息输入端 1000101
11 0 10 1
10 0 00 0 10 0 输出:1101
1 11 0 10 1 00
发生差错的码元数 Pe 接收的总码元数
常常用10 的负若干次方来表示
差错控制编码:信息位(k)+冗余位(r)
检错码和纠错码
检错码:自动发现差错 纠错码:不仅能发现差错而且能够自动纠正
编码效率R:码字中信息位所占的比例 R=k/(k+r) 漏检率:信息位出错但是接收者无法了解到的概率
CRC硬件实现
第4章 数据 链路层
G( x)

xr

g r 1
xr1

...
g2 x2

g1x
1
g1 R0
g2 R1
gr-1 Rr-1
信息输入端
CRC校验可以由软件或硬件来实现,现多采用超大规模 集成电路芯片以硬件方式实现。
CRC硬件实现
G(x) x4 x2 x 1
第4章 数据 链路层
第4章 数据
差错检测与校正:基本概念 链路层
差错控制:ARQ和FEC
ARQ:Automatic Request for Repeat
接收方检测错误,通知发送方重传 双向信道,发送方缓存发送的数据
FEC:Forward Error Correction
接收方不仅可以检测错误,而且知道错误的位置, 从而改正错误

水平垂直奇偶校验
Ip1 Ip2
···
Ipq
垂直奇偶校验:
r1 r2
···
rq
垂直奇偶校验
冗余位
发送的信息块分成定长为p位的若干段(一列)。
每段增加一个(奇偶校验)冗余位ri : 偶校验: ri I1i I2i I pi i 1,2,..., q
奇校验: ri I1i I2i I pi 1 i 1,2,..., q
相关文档
最新文档