-
差错控制概述
1.
差错的概念
所谓差错,就是在通信接收端收到的数据与发送端实际
发出的
数据出现不一致的现象。
2.
差错类型
< br>通信信道的噪声分为热噪声和冲击噪声两种。由这两种噪声分
别产生两种类型的差
错,随机差错和突发差错。
热噪声是由传输介质导体的电子热运动产生的,它的特点是:
时刻存在,幅度较小且强
度与频率无关,但频谱很宽,是一类随机
噪声。由热噪声引起的差错称随机差错。此类差
错的特点是:差错
是孤立的,在计算机网络应用中是极个别的。
与热噪声相比,冲击噪声幅度较大,是引起传输差错的
主要原
因。冲击噪声的持续时间要比数据传输中的每比特发送时间要长,
因而冲击噪声会引起相邻多个数据位出错。冲击噪声引起的传输差
错称为突发差
错。常见的突发错是由冲击噪声(如电源开关的跳火、
外界强电磁场的变换等)引起,它
的特点是:差错呈突发状,影响
一批连续的
bit
(突发长度)
。
计算机网络中的差错主要是突发差错
。
通信过程中产生的传输差
错,是由随机差错和突发差错共同构
成的。
3.
误码率
数据传输过程中可用误码率
Pe
来衡量信道数据传输的质量,
误
码率是指二进制码元在数据传输系统中出现差错的概率,可用下式
表达:
4.
差错控制
< br>差错控制是指在数据通信过程中能发现或纠正差错,将差错限
制在尽可能小的允许
范围内。
差错检测是通过差
错控制编码来实现的;而差错纠正是通过差
错控制方法来实现的。
差错控制编码
差错控制编码的原理是:
发送方对准备传输的数据进行抗干扰
编码,即按某种算法附加上一定的
冗余位,构成一个码字后再发送。
接收方收到数据后进行校验,即检查信息位和附加的冗
余位之间的
关系,以检查传输过程中是否有差错发生。差错控制编码分检错码
和纠错码两种,检错码是能自动发现差错的编码,纠错码是不仅能
发现差错
而且能自动纠正差错的编码。
衡量编码性能好坏的一个重要参
数是编码效率
R
:
其中,
n
表示码字的位长,
k
表示数据信息的位长,
r
表示冗余
位的位长。
计算机网络中常用的差错控制编码是奇偶校验码和循环
冗余
码。
1.
奇偶校验码
奇偶校验码是一种最简单的检错码。
原理:通过增加冗余位来使得码字中
的
个数保持为奇数(奇
校验)或偶数(偶校验)。例如,偶校验:
11010100
0
,
0110110
1
1
在实际使用时,奇偶校验可分为以下三种方式。
(1)
垂直奇偶校验
原理:将要发送的整个数据分为定长
< br>p
位的
q
段,每段的后面
按
的个数为奇数或偶数的规律加上一位奇偶位
:
编码效率:
R = P/
(
P+1
)
p>
检错能力:能检出每列中的所有奇数个错,但检不出偶数个错。
对突
发错,漏检率约为
50%
(2)
水平奇偶校验
原理:将要发送的整个数据分为定长
p
位的
q
段,对各个数据
段的相应位横向进行编码,产
生一个奇偶校验冗余位:
编码效率:
R = Q/
(
Q+1
)
p>
检错能力:能检出每行中的所有奇数个错,但检不出偶数个错。
对突
发长度≤P
的突发错都能检出。
(3)
水平垂直奇偶校验
原理:能同时进行水平和垂直奇偶校验:
编码效率:
R = PQ / (P+1)(Q+1)
检错能力:能检出所有
3
p>
位或
3
位以下的错误,能检出所有奇
数个错和很大一部分偶数个错,
并对突发长度≤P+1
的突发错都能检
出。
2.
循环冗余码
循环冗余码又称
CRC
码(
C
yclic Redundancy Code
),简称循
环码
。
CRC
码检错能力强,且容易实现,是目前最广泛的检错码编
码
方法之一。在计算机网络中,
CRC
被广泛采用。
CRC
是一种
检错码,
其编码过程涉及
多项式知识
。
多项式和比特
串有一定的对应关系,例如,比特串
1
可被解释成
发送端的编码步骤
:
(1)
将要发送的二进制数据(
k
位比特序列),对应一个(
k-1
)
阶多项式
K(x)
;再选取一个收
发双方预先约定的
r
阶生成码多项式
G
(x)
(2)
在原数据尾添加
r
个
0
,即,
x
r
K(x)
。
< br>
(3)
进行
x
p>
r
K(x)/G(x)
,求得余数
R(x)
。
R(x)
即
为校验序列
.
(4)
用<
/p>
R(x)
替代
x
r
K(x)
最后的
r
< br>个
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
,则出错。
[
注意
]
发送方和接收方使用的
p>
G(x)
要一致。
G(x)
的各种标准
G(x)
有各种标准,目前广泛使用的主要有以下四种:
CRC12=
CRC16=
CRC16=
CRC32=
结论
根据
CRC
< br>性质
,若适当选取
G(x)
,<
/p>
使其含有
(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)
求:循环冗余码和码字。
(
IBM
公司)
<
/p>
(
CCITT
)
解:<
/p>
1)(X5+X4+X+1)*X4
的积是
X9+X8+X5+X4
对应的码是
110011000
0
。
2)
积/
G(X)(
按模二算法
)
。
由计算结果知冗余码是
1001
,码字就是
1100111001
。
1 0 0 0 0
1←Q(X)
G(x)→1
1 0 0 1 )1 1 0 0 1 1
0 0 0
0←F(X)*Xr
1 1 0 0 1
,
1 0 0 0 0
1 1 0 0 1
1 0 0
1←R(X)(冗余码
)
例
2.
已知:接收码字
:1100111
001
多项
式
:T(X)=X9+X
8+X5+X4+X3+1
生成码
:
11001
生成多项
式
:G(X)=X4+X3+1(r=4)
求:码字的正确性。若正确,则指出冗余码和信息码。
解:
1)
用字码除以生成码,余数为
0
,所以码
字正确。
1 0 0 0 0
1←Q(X)
G(x)→1
1 0 0 1
)1 1 0 0 1 1 1 0 0
1←F(X)*Xr+
R(x)
1 1 0 0 1
,
1 1 0 0 1
1 1 0 0 1
0←S(X)(余数
)
2)
因
r=
4
,所以冗余码是:
11001
,信息
码是
:110011
-
-
-
-
-
-
-
-
-
上一篇:亡灵岛(牛津书虫中英文双版本)
下一篇:《哈利波特与混血王子》精讲笔记