4校验和 发送方:(1)将数据单元分成k段,每段n比特 2)反码方式求和(3)对结果取反得校验和(4)将校验和与 数据一起发送 -接收方(1)将数据单元分成k段,每段n比特(2)反码方式求 和(3)和取反(4)结果为0,则接受 反码方式求和:比特按列相加,若最后一列有进位,则结果加1 性能:能检测所有奇数个比特错误和大多数偶数个比特错误。主 要用在高层协议
4校验和 - 发送方:(1)将数据单元分成k段,每段n比特 (2)反码方式求和(3)对结果取反得校验和(4)将校验和与 数据一起发送 -接收方(1)将数据单元分成k段,每段n比特(2)反码方式求 和(3)和取反(4)结果为0,则接受 反码方式求和:比特按列相加,若最后一列有进位,则结果加1 -性能:能检测所有奇数个比特错误和大多数偶数个比特错误。主 要用在高层协议
例如:1010100100111001 反码求和为11100010校验和00011101 若出错1010111110100011101 反码求和为11000110求反00111001 纠错 纠错码比检错码复杂,冗余位多 一般纠正错位不超过三位 1单比特纠错 纠错码必须指明差错出现的位置 对于m位数据r为冗余位,则2*必须大于或等于m++1,才 能纠错
例如:10101001 00111001 反码求和为11100010 校验和00011101 若出错10101111 11111001 00011101 反码求和为11000110 求反 00111001 ▪ 纠错 纠错码比检错码复杂,冗余位多 一般纠正错位不超过三位 1 单比特纠错 纠错码必须指明差错出现的位置 对于m位数据r为冗余位,则2**r必须大于或等于m+r+1,才 能纠错
2海明码 定位冗余位: 码位从左边开始编号,从“卩”开始 位号为2的幂的位是校验位,其余是信息位 每个校验位使得包括自己在内的一些位的奇偶值为偶数(或奇数) 为看清数据位k对哪些校验位有影响,将k写成2的幂的和。 例:11=1+2+4+8 计算冗余比特: r1:1,3,5,7,9,11 r2:2,3,6,7,10 r4:4,5,6,7 r8:8,9,10,11
2 海明码 定位冗余位: - 码位从左边开始编号,从“1”开始; - 位号为2的幂的位是校验位,其余是信息位; - 每个校验位使得包括自己在内的一些位的奇偶值为偶数(或奇数)。 - 为看清数据位k对哪些校验位有影响,将k写成2的幂的和。 - 例:11 = 1 + 2 +4+ 8 计算冗余比特: r1:1,3,5,7,9,11 r2:2,3,6,7,10 r4:4,5,6,7 r8:8,9,10,11
海明码工作过程 每个码字到来前,接收方计数器清零; 接收方检查每个校验位k(k=1,2,4…)的奇偶值是否正确; 若第k位奇偶值不对,计数器加k; 所有校验位检查完后,若计数器值为0,则码字有效;若计数 器值为m,则第m位出错。 若校验位1、2、8出错,则第1位变反。 Fig 3-6 使用海明码纠正突发错误 可采用k个码字(n=m+r)组成k×n矩阵,按列发送,接 收方恢复成k×n矩阵 kr个校验位,km个数据位,可纠正最多为k个的突发性连续比 特错
▪ 海明码工作过程 - 每个码字到来前,接收方计数器清零; - 接收方检查每个校验位k (k = 1, 2, 4 …)的奇偶值是否正确; - 若第 k 位奇偶值不对,计数器加k; - 所有校验位检查完后,若计数器值为0,则码字有效;若计数 器值为m,则第m位出错。 - 若校验位1、2、8出错,则第11位变反。 - Fig. 3-6 ▪ 使用海明码纠正突发错误 - 可采用k个码字(n = m + r)组成 k n 矩阵,按列发送,接 收方恢复成 k n 矩阵 - kr个校验位,km个数据位,可纠正最多为k个的突发性连续比 特错
Char ASCII Check bits H 1001000 110010000 234567891011 1100001 10111001001 1101101 11101010101 1101101 11101010101 1101001 01101011001 444 1101110 01101010110 888 ngcod 1100111 11111001111 0100000 10011000000 1100011 11111000011 1101111 00101011111 1100100 11111001100 1100101 00111000101 Order of bit transmission Fig 3-6. Use of a Hamming code to correct burst errors
1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 1 2 2 2 2 2 4 4 4 8 8 8