对奇偶校验码的理解

合集下载

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

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

3.2差错控制3.2.2常用的检错码- 奇偶校验码奇偶校验码是一种简单的检错码,奇偶校验码分为奇校验码和偶校验码,两者原理相同。

它通过增加冗余位来使得码字中“1”的个数保持奇数或偶数。

•无论是奇校验码还是偶校验码,其监督位只有一位;•假设信息为为I1, I2, …, I n,对于偶校验码,校验位R可以表示为:R =I1 ⊕I2⊕Λ⊕In•假设信息为为I1, I2, …, I n,对于奇校验码,校验位R可以表示为:R =I1 ⊕I2⊕Λ⊕In⊕1•无论是奇校验码还是偶校验码,都只能检测出奇数个错码,而不能检测偶数个错码。

44讨论: 从检错能力、编码效率和代价等方面来评价垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验3.2 差错控制3.2.2 常用的检错码 - 奇偶校验码 奇偶校验在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种。

53.2.2常用的检错码–定比码所谓定比码,即每个码字中“1”的个数与“0”的个数之比保持恒定,故又名等比码或恒比码。

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

•由于若n位码字中“1”的个数恒定为m,还可称为“n中取m”码定比码(n中取m)的编码效率为:log C mR = 2 nn定比码能检测出全部奇数位错以及部分偶数位错。

实际上,除了码字中“1”变成“0”和“0”变成“1”成对出现的差错外,所有其它差错都能被检测出来64代码“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)

奇偶校验码、海明校验码和循环冗余校验码(CRC)

奇偶校验码、海明校验码和循环冗余校验码(CRC)奇偶校验码是 奇校验码 和 偶校验码 的统称.它们都是通过在要校验的编码上加⼀位校验位组成.如果是 奇校验 加上校验位后,编码中1的个数为 奇数个如果是 偶校验 加上校验位后,编码中1的个数为 偶数个⽔平奇偶校验是将若⼲字符组成⼀个信息块,对该信息块的字符中对应的位分别进⾏奇偶校验,下表给出了⽔平奇偶校验⽰例。

例:原编码 奇校验 偶校验0000 0000 1 0000 00010 0010 0 0010 11100 1100 1 1100 01010 1010 1 1010 0如果发⽣ 奇数 个位传输出错,那么编码中1的个数就会发⽣变化.从⽽校验出错误. 要求从新传输数据.⽬前应⽤的 奇偶校验码 有3种.⽔平奇偶校验码对每⼀个数据的编码添加校验位,使信息位与校验位处于同⼀⾏.垂直奇偶校验码把数据分成若⼲组,⼀组数据排成⼀⾏,再加⼀⾏校验码.针对每⼀⾏列采⽤ 奇校验 或 偶校验例: 有32位数据10100101 00110110 11001100 10101011垂直奇校验 垂直偶校验数据 10100101 1010010100110110 0011011011001100 1100110010101011 10101011校验为00001011 11110100⽔平垂直奇偶校验码就是同时⽤⽔平校验和垂直校验例:奇校验 奇⽔平 偶校验 偶⽔平数据 10100101 1 10100101 000110110 1 00110110 011001100 1 11001100 010101011 0 10101011 1校验 00001011 0 11110100 1然后是 海明校验码海明码也是利⽤奇偶性来校验数据的.它是⼀种多重奇偶校验检错系统,它通过在数据位之间插⼊k个校验位,来扩⼤码距,从⽽实现检错和纠错.设原来数据有n位,要加⼊k位校验码.怎么确定k的⼤⼩呢?k个校验位可以有pow(2,k) (代表2的k次⽅) 个编码,其中有⼀个代表是否出错.剩下pow(2,k)-1个编码则⽤来表⽰到底是哪⼀位出错.因为n个数据位和k个校验位都可能出错所以k满⾜ pow(2,k)-1 >= n+k设 k个校验码为 P1,P2…Pk, n个数据位为D0,D1…Dn产⽣的海明码为 H1,H2…H(n+k)如有8个数据位,根据pow(2,k)-1 >= n+k可以知道k最⼩是4那么得到的海明码是H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1然后怎么知道Pi校验哪个位呢.⾃⼰可以列个校验关系表海明码 下标 校验位组H1(P1) 1 P1H2(P2) 2 P2H3(D0) 1+2 P1,P2H4(P3) 4 P3H5(D1) 1+4 P1,P2H6(D2) 2+4 P2,P3H7(D3) 1+2+4 P1,P2,P3H8(P4) 8 P4H9(D4) 1+8 P1,P4H10(D5) 2+8 P2,P4H11(D6) 1+2+8 P1,P2,P4H12(D7) 4+8 P3,P4从表中可以看出P1校验 P1,D0,D1,D3,D4,D6P2校验 P2,D0,D2,D3,D5,D6P3校验 P3,D1,D2,D3,D7P4校验 P4,D4,D5,D6,D7其实上表很有规律很容易记要知道海明码Hi由哪些校验组校验可以把i化成 ⼆进制数 数中哪些位k是1,就有哪些Pk校验如H7 7=0111 所以由P1,P2,P3H11 11=1011 所以由P1,P2,P4H3 3=0011 所以由P1,P2那看看Pi的值怎么确定如果使⽤偶校验,则P1=D0 xor D1 xor D3 xor D4 xor D6P2=D0 xor D2 xor D3 xor D5 xor D6P3=D1 xor D2 xor D3 xor D7P4=D4 xor D5 xor D6 xor D7其中xor是异或运算奇校验的话把偶校验的值取反即可.那怎么校验错误呢.其实也很简单. 先做下⾯运算.G1 = P1 xor D0 xor D1 xor D3 xor D4 xor D6G2 = P2 xor D0 xor D2 xor D3 xor D5 xor D6G3 = P3 xor D1 xor D2 xor D3 xor D7G4 = P4 xor D4 xor D5 xor D6 xor D7如果⽤偶校验那么 G4G3G2G1 全为0是表⽰⽆错误(奇校验全为1)当不全为0表⽰有错 G4G3G2G1 的⼗进制值代表出错的位.如 G4G3G2G1 =1010 表⽰H10(D5)出错了.把它求反就可以纠正错误了.下⾯举⼀个⽐较完全的例⼦:设数据为01101001,试⽤4个校验位求其偶校验⽅式的海明码.传输后数据为011101001101,是否有错?P1=D0 xor D1 xor D3 xor D4 xor D6=1 xor 0 xor 1 xor 0 xor 1=1P2=D0 xor D2 xor D3 xor D5 xor D6=1 xor 0 xor 1 xor 1 xor 1=0P3=D1 xor D2 xor D3 xor D7=0 xor 0 xor 1 xor 0=1P4=D4 xor D5 xor D6 xor D7=0 xor 1 xor 1 xor 0=0所以得到的海明码为0 1 1 0 0 1 0 0 1 1 0 1传输后为011101001101G1 = P1 xor D0 xor D1 xor D3 xor D4 xor D6=1G2 = P2 xor D0 xor D2 xor D3 xor D5 xor D6=0G3 = P3 xor D1 xor D2 xor D3 xor D7=0G4 = P4 xor D4 xor D5 xor D6 xor D7=1所以1001代表9即H9出错了,对它求反011001001101 和我们算的⼀样.由此可见 海明码 不但有检错还有纠错能⼒下⾯说下最后⼀种 CRC即 循环冗余校验码CRC码利⽤⽣成多项式为k个数据位产⽣r个校验位进⾏编码,其编码长度为n=k+r所以⼜称 (n,k)码. CRC码⼴泛应⽤于数据通信领域和磁介质存储系统中.CRC理论⾮常复杂,⼀般书就给个例题,讲讲⽅法.现在简单介绍下它的原理:在k位信息码后接r位校验码,对于⼀个给定的(n,k)码可以证明(数学⾼⼿⾃⼰琢磨证明过程)存在⼀个最⾼次幂为 n-k=r 的多项式g(x)根据g(x)可以⽣成k位信息的校验码,g(x)被称为 ⽣成多项式⽤C(x)=C(k-1)C(k-2)…C0表⽰k个信息位把C(x)左移r位,就是相当于 C(x)*pow(2,r)给校验位空出r个位来了.给定⼀个 ⽣成多项式g(x),可以求出⼀个校验位表达式r(x)C(x)*pow(2,r) / g(x) = q(x) + r(x)/g(x)⽤C(x)*pow(2,r)去除⽣成多项式g(x)商为q(x)余数是r(x)所以有C(x)*pow(2,r) = q(x)*g(x) + r(x)C(x)*pow(2,r) + r(x)就是所求的n位CRC码,由上式可以看出它是⽣成多项式g(x)的倍式.所以如果⽤得到的n位CRC码去除g(x)如果余数是0,就证明数据正确.否则可以根据余数知道 出错位 .在CRC运算过程中,四则运算采⽤ mod 2运算(后⾯介绍),即不考虑进位和借位.所以上式等价于C(x)*pow(2,r) + r(x) = q(x)*g(x)继续前先说下基本概念吧.1.多项式和⼆进制编码x的最⾼次幂位对应⼆进制数的最⾼位.以下各位对应多项式的各幂次.有此幂次项为1,⽆为0. x的最⾼幂次为r时, 对应的⼆进制数有r+1位例如g(x)=pow(x,4) + pow(x,3) + x + 1对应⼆进制编码是 110112.⽣成多项式是发送⽅和接受⽅的⼀个约定,也是⼀个⼆进制数,在整个传输过程中,这个数不会变.在发送⽅,利⽤ ⽣成多项式 对信息多项式做 模2运算 ⽣成校验码.在接受⽅利⽤ ⽣成多项式 对收到的 编码多项式 做 模2运算 校验和纠错.⽣成多项式应满⾜:a.⽣成多项式的最⾼位和最低位必须为1b.当信息任何⼀位发⽣错误时,被⽣成多项式模2运算后应该使余数不为0c.不同位发⽣错误时,应该使余数不同.d.对余数继续做模2除,应使余数循环.⽣成多项式很复杂不过不⽤我们⽣成下⾯给出⼀些常⽤的⽣成多项式表N K 码距d G(x)多项式 G(x)7 4 3 x3+x+1 10117 4 3 x3+x2+1 11017 3 4 x4+x3+x2+1 111017 3 4 x4+x2+x+1 1011115 11 3 x4+x+1 1001115 7 5 x8+x7+x6+x4+1 11101000131 26 3 x5+x2+1 10010131 21 5 x10+x9+x8+x6+x5+x3+1 1110110100163 57 3 x6+x+1 100001163 51 5 x12+x10+x5+x4+x2+1 10100001101011041 1024 x16+x15+x2+1 110000000000001013.模2运算a.加减法法则0 +/- 0 = 00 +/- 1 = 11 +/- 0 = 11 +/- 1 = 0注意:没有进位和借位b.乘法法则利⽤模2加求部分积之和,没有进位c.除法法则利⽤模2减求部分余数没有借位每商1位则部分余数减1位余数最⾼位是1就商1,不是就商0当部分余数的位数⼩于余数时,该余数就是最后余数.例 11101011)1100000101111101011101010110010(每商1位则部分余数减1位,所以前两个0写出)0000010(当部分余数的位数⼩于余数时,该余数就是最后余数)最后商是1110余数是010好了说了那么多没⽤的理论.下⾯讲下CRC的实际应⽤例: 给定的⽣成多项式g(x)=1011, ⽤(7,4)CRC码对C(x)=1010进⾏编码.由题⽬可以知道下列的信息:C(x)=1010,n=7,k=4,r=3,g(x)=1011C(x)*pow(2,3)=1010000C(x)*pow(2,3) / g(x) = 1001 + 011/1011所以r(x)=011所以要求的编码为1010011例2: 上题中,数据传输后变为1000011,试⽤纠错机制纠错.1000011 / g(x) = 1011 + 110/1011不能整除,所以出错了. 因为余数是110查1011出错位表可以知道是第5位出错.对其求反即可.循环冗余校验码CRC(Cyclic Redundancy Code)采⽤⼀种多项式的编码⽅法。

计算机网络 检错码与纠错码

计算机网络  检错码与纠错码

计算机网络检错码与纠错码在通信系统中广泛应用的差错控制技术是差错控制编码技术。

而差错控制编码包括检错码和纠错码两种,其中检错码是为传输的数据信号增加冗余码,以便发现数据信号中的错码,但不能纠正错码;纠错码是为传输的数据信号增加冗余码,以便发现数据信号中的错码,并自动纠正这些错码。

下面介绍几种检错码和纠错码的校验方法。

1.奇偶校验码奇偶校验码是一种最简单的无纠错能力的检错码,其编码规则是先将数据代码分组,例如,将ASCⅡ码中的一个字符或若干个字符分为一组。

在各组数据后面附加一位校验位,使该数据连校验位在内的码元中1的个数恒为偶数则为偶校验,恒为奇数则为奇校验。

奇偶校验无纠错能力,它只能检测出码元中的任意奇数个错误,若有偶数个错误必定漏检。

由于奇偶校验码容易实现,所以当信道干扰较弱,并且数据码长较短时,使用奇偶校验码效果很好,在计算机网络的数据传输中经常使用该检错码。

根据数据代码的分组方法,奇偶校验码可以分为水平奇偶校验、垂直奇偶校验和垂直水平奇偶校验。

●水平奇偶校验如表3-1所示,在水平奇偶校验中,把数据先以适当的长度划分成小组,并把码元按表中所示的顺序一列一列地排列起来,然后对水平方向的码元进行奇偶校验,得到一列校验位,附加在其他各列之后,最后按行的顺序进行传输。

水平奇偶校验能查出水平方向上奇数个错误和不大于数据代码长度的突发错误,无纠错能力,但产生校验码及校验逻辑相对复杂。

表3-1 水平奇偶校验●垂直奇偶校验如表3-2所示,在垂直奇偶校验中,把数据先以适当的长度划分成小组,并把码元按表中所示的顺序一列一列地排列起来,然后对垂直方向的码元进行奇偶校验,得到一行校验位,附加在其他各行之后,然后按列的顺序进行传输。

垂直奇偶校验能够查出列上的奇数个错误,只能查处50%的突发错误,无纠错能力,但产生校验码及校验逻辑相对简单。

表3-2 垂直奇偶校验●垂直水平奇偶校验垂直水平奇偶校验是在水平奇偶校验和垂直奇偶校验的基础上,把两者结合起来对码元进行校验,如表3-3所示。

校验码

校验码

©安徽科技学院
2015-4-30
第6 页
海明纠错码
2.确定校验码位置
上一步我们确定了对应信息中要插入的校验码位数, 但这还不够,因为这些校验码不是直接附加在信息码 的前面、后面或中间的,而是分开插入到不同的位置 。但不用担心,校验码的位置很容易确定的,那就是 校验码必须是在2n次方位置,如第1、2、4、8、16 、32,……位(对应20、21、22、23、24、25,……, 是从最左边的位数起的),这样一来就知道了信息码 的分布位置,也就是非2n次方位置,如第3、5、6、7 、9、10、11、12、13,……位(是从最左边的位数 起的)。
©安徽科技学院
2015-4-30
第9 页
海明纠错码
3. 确定校验码
p2(第2个校验位,也是整个码字的第2位)的校验规则是: 从当前位数起,连续校验2位,然后跳过2位,再连续校验2 位,再跳过2位,……。这样就可得出p2校验码位可以校验的 码字位包括:第2位(也就是p2本身)、第3位,第6位、第7 位,第10位、第11位,第14位、第15位,……。 p3(第3个校验位,也是整个码字的第4位)的校验规则是: 从当前位数起,连续校验4位,然后跳过4位,再连续校验4 位,再跳过4位,……。这样就可得出p4校验码位可以校验的 码字位包括:第4位(也就是p4本身)、第5位、第6位、第7 位,第12位、第13位、第14位、第15位,第20位、第21位、 第22位、第23位,……。
©安徽科技学院
2015-4-30
第7 页
海明纠错码
2.确定校验码位置
举一个例子,假设现有一个8位信息码,即b1、b2 、b3、b4、b5、b6、b7、b8,由1得知,它需要插入 4位校验码,即p1、p2、p3、p4,也就是整个经过编 码后的数据码(称之为“码字”)共有12位。根据以 上介绍的校验码位置分布规则可以得出,这12位编码 后的数据就是p1、p2、b1、p3、b2、b3、b4、p4 、b5、b6、b7、b8。

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

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

常用的检错码-奇偶校验码3.2差错控制3.2.2常用的检错码- 奇偶校验码奇偶校验码是一种简单的检错码,奇偶校验码分为奇校验码和偶校验码,两者原理相同。

它通过增加冗余位来使得码字中“1”的个数保持奇数或偶数。

无论是奇校验码还是偶校验码,其监督位只有一位;假设信息为为I1, I2, …, I n,对于偶校验码,校验位R可以表示为:R =I1 ⊕I2⊕Λ⊕In假设信息为为I1, I2, …, I n,对于奇校验码,校验位R可以表示为:R =I1 ⊕I2⊕Λ⊕In⊕1无论是奇校验码还是偶校验码,都只能检测出奇数个错码,而不能检测偶数个错码。

44讨论:从检错能力、编码效率和代价等方面来评价垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验3.2 差错控制3.2.2 常用的检错码 - 奇偶校验码奇偶校验在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种。

53.2.2常用的检错码–定比码所谓定比码,即每个码字中“1”的个数与“0”的个数之比保持恒定,故又名等比码或恒比码。

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

由于若n位码字中“1”的个数恒定为m,还可称为“n中取m”码定比码(n中取m)的编码效率为:log C mR = ?2 nn定比码能检测出全部奇数位错以及部分偶数位错。

实际上,除了码字中“1”变成“0”和“0”变成“1”成对出现的差错外,所有其它差错都能被检测出来64代码“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(精)

奇偶校验码,海明码,循环冗余CRC(精)

1、奇偶校验码二进制数据经过传送、存取等环节,会发生误码(1变成0或0变成1),这就有如何发现及纠正误码的问题。

所有解决此类问题的方法就是在原始数据(数码位)基础上增加几位校验(冗余)位。

一、码距一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。

如图1所示的一个编码系统,用三个bit来表示八个不同信息中。

在这个系统中,两个码字之间不同的bit数从1到3不等,但最小值为1,故这个系统的码距为1。

如果任何码字中一位或多位被颠倒了,结果这个码字就不能与其它有效信息区分开。

例如,如果传送信息001,而被误收为011,因011仍是表中的合法码字,接收机仍将认为011是正确的信息。

然而,如果用四个二进数字来编8个码字,那么在码字间的最小距离可以增加到2,如图图 1图 2注意,图8-2的8个码字相互间最少有两bit因此,如果任何信息的一个数位被颠倒,码字,接收机能检查出来。

例如信息是1001,误收为1011接收机知道发生了一个差错,因为1011不是一个码字(表中没有)。

然而,差错不能被纠正。

的,正确码字可以是1001,1111,0011或1010能确定原来到底是这4个码字中的那一个。

也可看到,这个系统中,偶数个(2或4)差错也无法发现。

为了使一个系统能检查和纠正一个差错,必须至少是“3”。

最小距离为3时,或能纠正一个错,或能检二个错,但不能同时纠一个错和检二个错。

错和检错能力的进一步提高需要进一步增加码字间的最小距离。

图8-3的表概括了最小距离为1至7的码的纠错和检错能力。

图3 码距越大,纠错能力越强,但数据冗余也越大,即编码效率低了。

所以,选择码距要取决于特定系统的参数。

数字系统的设计者必须考虑信息发生差错的概率和该系统能容许的最小差错率等因素。

要有专门的研究来解决这些问题。

二、奇偶校验奇偶校验码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。

奇偶校验概念的深入理解

奇偶校验概念的深入理解

奇偶校验概念的深入理解奇偶校验这个概念在逻辑设计里面经常会用到,但有的人对奇偶校验的理解很混乱。

奇偶校验是对数据传输正确性的一种校验方法。

在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。

奇偶校验位 (Parity)是指或者奇数或甚至对一个数字的性质。

奇偶校验通常用在数据通信中来保证数据的有效性。

每个设备必须决定是否它将被用为偶校验,奇校验,或非校验。

发送设备添加1s在每个它发送的每条串上或决定这个数是偶数或奇数。

然后,它添加一个额外的位,叫做校验位,到这个串上。

如果偶校验在使用,校验位将这些位置为偶数;如果奇校验在使用,校验位将这些位置为奇数。

例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5个"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误。

奇偶校验就是接收方用来验证发送方在传输过程中所传数据是否由于某些原因造成破坏。

具体方法如下:奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。

偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。

大家一定会问,如何计算奇偶性呢,在计算机内有一种特殊的运算它遵守下面的规则:1+1=0; 1+0=1; 0+1=1; 0+0=0;我们把传送过来的1100111000逐位相加就会得到一个1,应该注意的的,如果在传送中1100111000变成为0000111000,通过上面的运算也将得到1,接收方就会认为传送的数据是正确的,这个判断正确与否的过程称为校验。

奇偶校验码解题步骤

奇偶校验码解题步骤

奇偶校验码解题步骤
奇偶校验码是一种用于检测数据传输或存储中错误的方法。


通常用于计算机系统中,以确保数据的准确性。

下面是解题步骤:
1. 首先,确定数据位和校验位的数量。

通常情况下,数据位是
指实际传输的数据,而校验位是用来存储奇偶校验结果的位。

2. 确定是奇校验还是偶校验。

在奇校验中,校验位被设置为确
保数据位和校验位中1的总数为奇数;而在偶校验中,校验位被设
置为确保数据位和校验位中1的总数为偶数。

3. 将数据位转换为二进制形式。

这意味着将每个数据位转换为
包含0和1的序列。

4. 对每个数据位计算其二进制形式中1的个数。

如果是奇校验,则需要确保1的个数为奇数,如果是偶校验,则需要确保1的个数
为偶数。

5. 根据计算结果设置校验位。

如果使用奇校验,校验位被设置
为确保数据位和校验位中1的总数为奇数;如果使用偶校验,校验
位被设置为确保数据位和校验位中1的总数为偶数。

6. 将数据位和校验位组合成一个完整的数据包。

7. 在接收端,重新计算数据位和校验位的奇偶性,并与接收到的校验位进行比较。

如果不匹配,则表示数据传输中发生了错误。

这些是奇偶校验码的解题步骤,通过这些步骤可以有效地检测数据传输或存储中的错误。

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

对奇偶校验码的理解
一个二进制数位串C7 C6 C5 C4 C3C2 C1若将各位进行模2加,其和为1,则此二进制数位串是奇性串;若将各位进行模2加,其和为0,则此二进制数位串是偶性串;此时的奇偶性表示了这个二进制位串自身固有的性质:奇性,说明此二进制数位串共有奇数个1,例如1101101有5个1,呈奇性;偶性,说明此二进制数位串共有偶数个1或者没1例如1101100有4个1,例如0000000没有1,呈偶性。

二进制数位串在传输中由于热噪声和冲击噪声可能产生差错。

怎么控制差错呢?最常用的差错控制方法是差错控制编码。

数据信息位在向信道发送之前,先按某种关系附加上一定的冗余位,构成一个码字后再发送,这个过程称为差错控制编码过程。

接收端收到该码字后,检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生,这个过程称为检查过程。

根据这个原理,发送方采取给二进制位串C7 C6 C5 C4 C3C2 C1加一位冗余位C0以供校验。

C0产生方法有两种如下:
C0= C7○+C6○+C5○+C4○+C3○+C2○+C1(第一种方法)
C0= C7○+C6○+C5○+C4○+C3○+C2○+C1○+1 (第二种方法)○+是模2加符号。

用第一种方法产生的C0称偶校验码,用第二种方法产生的C0称奇校验码。

通过C0的产生过程,可以发现C0与二进制数位串C7 C6 C5 C4 C3C2 C1的关系:
在第一种方法之下,
当二进制数位串C7 C6 C5 C4 C3C2 C1呈奇性时,C0亦呈奇性——即C0取1值。

这时把C0编入二进制数位串C7C6C5C4C3C2C1后的新二进制数位串C7 C6 C5 C4 C3C2 C1 C0按各位模2加就是C7○+ C6○+C5○+C4○+C3○+C2○+C1○+C0=0
当二进制数位串C7 C6 C5 C4 C3C2 C1呈偶性时,C0亦呈偶性——即C0取0值。

这时把C0编入二进制数位串C7C6C5C4C3C2C1后的新二进制数位串C7 C6 C5 C4 C3C2 C1 C0按各位模2加就是C7○+ C6○+C5○+C4○+C3○+C2○+C1○+C0=0
在第二种方法之下,
当二进制位数串C7 C6 C5 C4 C3C2 C1呈奇性时,C0反呈偶性——即C0取0值。

这时把C0编入二进制位数串C7C6C5C4C3C2C1后的新二进制数位串C7 C6 C5 C4 C3C2 C1 C0按各位模2加就是C7○+ C6○+C5○+C4○+C3○+C2○+C1○+C0=1
当二进制数位串C7 C6 C5 C4 C3C2 C1呈偶性时,C0反呈奇性——即C0取1值。

这时把C0编入二进制数位串C7C6C5C4C3C2C1后的新二进制位串C7C6C5C4C3C2C1C0按各位模2加就是C7○+ C6○+C5○+C4○+C3○+C2○+C1○+C0=1
接收端收到二进制位串C7 C6 C5 C4 C3C2 C1 C0后,检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生。

按第一种方法检查信息位C7 C6 C5 C4 C3C2 C1和附加的冗余位C0之间的关系看C7○+C6○+C5○+C4○+C3○+C2○+C1○+C0是否
等于0,不等于0说明出了错。

这种检测方法叫偶校验。

按第二种方法检查信息位C7 C6 C5 C4 C3C2 C1和附加的冗余位C0之间的关系看C7○+C6○+C5○+C4○+C3○+C2○+C1○+C0是否等于1,不等于1说明出了错。

这种检测方法叫奇校验。

相关文档
最新文档