3.7 数据校验码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.7 数据校验码
任何一种编码都由许多码字构成,任意两个码字之间会有n位代码不同,n称为它们之间的距离,这些n
值中.最小的就是该编码的码距.
例如,用四位二进制表示16种状态,则16种编码都用到了,此时码距为1。
若用四个二进制位表示8个状态,就可以只用其中的8种编码,而把另8种编码作为非法编码,此时码距为2。
计算机学院
z000 0
z001 1
z010 1
z011 0
z100 1
z101 0
z110 0
z111 1
计算机学院
3.7.1 奇偶校验
奇偶校验码的原理是在每组代码中增加一个冗余位,使合法编码的最小码距由1增加到2。
(1) 校验码的构成规则
偶校验:每个码字(包括校验位)中1的数目为偶数。
比如1101011 的偶校验码为1101011 1
奇校验:每个码字(包括校验位)中1的数目为奇数。
比如1101011 的奇校验码为1101011 0
计算机学院
(2) 校验位的形成
设有效信息为D7D6D5D4D3D2D1D0,则:
偶校验:在发送端求校验位P= D7⊕D6⊕D5⊕D4⊕D3⊕D2⊕D1⊕D0奇校验:在发送端求校验位P= D7⊕D6⊕D5⊕D4⊕D3⊕D2⊕D1⊕D0校验电路如图所示。
计算机学院
(3)校验原理
偶校验在接受端求P’= D7⊕D6⊕D5⊕D4⊕D3⊕D2⊕D1⊕D0⊕P
奇校验在接受端求P’= D7⊕D6⊕D5⊕D4⊕D3⊕D2⊕D1⊕D0⊕P
若P’=0,则无错;若P’=1,则有错。
校验电路如图所示
计算机学院
发送端
接
收
端
P
P’
计算机学院
(4)局限性
奇偶校验码能发现数据代码中奇数个位出错情况,并且
不能纠正错误,常用于对存储器数据的检查或者传输数
据的检查。
3.7.2 海明码校验
海明校验的基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶测试。
计算机学院
例求信息码01101110的海明校验码,画出能指出和纠正一位出错位的海明校验逻辑电路。
①确定海明校验位的位数
设R为校验位的位数,则整个码字的位数应满足不等式:
N=K+R≤2R-1
设R=3,则23-1=7,N=8+3=11,不等式不满足;
设R=4,则24-1=15,N=8+4=12,不等式满足。
所以R最小取4。
②确定校验位的位置:位号(1~12)为2的权值的那些位,即:20、
21、22、23的位置作为校验位,记作P1、P2、P3、P4,余下的为
有效信息位。即:
12 11 10 9 8 7 6 5 4 3 2 1
D 7D
6
D
5
D
4
P4 D
3
D
2
D
1
P3D
P2 P1
计算机学院
③分组:有4个校验位,将12位分4组,第i位由校验位的位号之和
等于i的那些校验位所校验。如表所示,如:第11位D
由P1(位
6号为1)、P2(位号为2)、P4(位号为8)所校验,因为1+2+8=11。
校验H12 H11 H10 H9H8 H7 H6H5H4H3H2H1
位的D7D6D5D4P4 D3D2 D1 P3D0 P2 P1
位号0 1 1 0 1 1 1 0
第一组(P1) 1√√√√√√第二组(P2) 2√√√√√√
第三组(P3) 4√√√√√
第四组(P4) 8√√√√√
计算机学院
④校验位的形成
P1=第一组中的所有位(除P1外)求异或=
D 6⊕D
4
⊕D
3
⊕D
1
⊕D
=1⊕0⊕1⊕1⊕0=1
P2=第二组中的所有位(除P2外)求异或=
D 6⊕D
5
⊕D
3
⊕D
2
⊕D
= 1⊕1⊕1⊕1⊕0=0
P3=第三组中的所有位(除P3外)求异或=
D 7⊕D
3
⊕D
2
⊕D
1
= 0⊕1⊕1⊕1=1
P4=第四组中的所有位(除P4外)求异或=
D 7⊕D
6
⊕D
5
⊕D
4
= 0⊕1⊕1⊕0=0
计算机学院
为了能检测两个错误,增加一位校验P5,放在最高位。
P5 = D
7⊕D
6
⊕D
5
⊕D
4
⊕D
3
⊕D
2
⊕
D 1⊕D
⊕P1⊕P2⊕P3⊕P4
= 0⊕1⊕1⊕0⊕1⊕1⊕1⊕0⊕1⊕0⊕1⊕0 = 1
【例题答案】信息码0110 1110的海明校验码为:
1 0110 0111100 1
计算机学院
计算机学院
(2)校验原理
在接收端分别求S 1、S 2、S 3、S 4、S 5。
S 1 = P1⊕D 6⊕D 4⊕D 3⊕D 1⊕D 0
S 2 = P2⊕D 6⊕D 5⊕D 3⊕D 2⊕D 0
S 3 = P3⊕D 7⊕D 3⊕D 2⊕D 1
S 4 = P4⊕D 7⊕D 6⊕D 5⊕D 4
S 5 = P5⊕D 7⊕D 6⊕D 5⊕D 4⊕D 3⊕D 2⊕
D 1⊕D 0⊕P1⊕P2⊕P3⊕P4