- 34
- 0
- 约5.71千字
- 约 31页
- 2019-01-14 发布于湖北
- 举报
jlsheng@ * * 计算机组成原理 Principles of Computer Organization 广义双语教学课程 09/skyclass25/ 青岛理工大学 校级精品课程 /ec/C84/ 第3章 运算方法和运算部件 Error detection is the ability to detect the presence of errors caused by noise or other impairments during transmission from the transmitter to the receiver: Error correction is the additional ability to reconstruct the original, error-free data. ( 6 ) §3.7 数据校验码 海明校验码 Hamming Code 海明校验码是1种能检测1位或几位错误,又能自动纠正1位错误的线性分组码。在数据中加入若干个校验位,把各个数据位分在几个奇偶校验组中,把数据代码的码距比较均匀地拉大。任一位出错都会引起有关的几个校验位的值发生变化,从而发现错误。 设m位校验码中数据为k位,校验位为r位。把校验码分成r组作奇偶校验。 所产生的r位检错信息构成一个指误字,可指出2r种状态。 指误字全0表示无错,其余2r-1种状态能指明k+r位中的某一位出错。即指误字应能表示k位数据哪一位出错,r个校验位哪一位出错和无错这k+r+1种情况。 A Hamming code is a linear error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two simultaneous bit errors, and correct single-bit errors; jlsheng@ 若要求海明码能指出并纠正一位错,则数据位的位数k和校验位的位数r应满足如下关系(海明不等式): 2 r≥k+r+1 此时码距为3 ,海明码中的每一信息位至少要参加两组奇偶校验并至少影响两个校验位。 若要求海明码能检测发现2位错并能自动纠正一位错,则数据位的位数k和校验位的位数r应满足如下关系: 2 r-1≥k+r 满足这个不等式的海明码称为:扩展海明码 / 推广海明码 此时码距为4 ,推广海明码中的每一信息位至少要参加3组奇偶校验并至少影响3个校验位。 (1) 校验位的位数 海明校验码 Hamming Code (2) 分组原则(编码规则) 设:海明码Hm Hm-1……H2 H1的最高位号为m ,最低位号为1。 m= k+r ① 每个校验位Pi在海明码中被分配在位号2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配。 ② 海明码的每一位码Hi由多个校验位作校验,被校验的每一位的海明码位号等于校验它的各校验位的海明码位号之和,以便使校验的结果能正确反映出错位的位号。 ③ 在增大合法码的码距时,尽量使所有码的码距均匀的增大,以保证对所有码的检错能力平衡提高。 jlsheng@ [例1]8位数据的海明码(能指出并纠正一位错)的编码和校验 ① 编码 数据位k=8,按海明不等式算出r=4, m = k+r =12 各位对应关系如下: 数据位/校验位 参与校验的校验位位号 海明码位号 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1 4,8 1,2,8 2,8 1,8 8 1,2,4 2,4 1,4 4 1,2 2 1 按Pi的位号等于2i-1的关系,校验位P1,P2,P3 ,P4对应的海明码的位号分别为H1 ,H2,H4,H8 。 12位海明码分成4组进行偶校验。 被校验的每一位的海明码位号等于校验它的各校验位的海明码位号之和。 2 r≥k+r+1 jlsheng@ 各校验位与数据位的关系(本例为偶校验)为: 数据位/校验位 参与校验的校验位位号 海明码位号 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1 4,8 1,2,8 2,8 1,8 8 1,2,4 2,4 1,4 4 1,2 2 1 每个小组只有一个校验位。每个校验位校验其自身和4~5个
原创力文档

文档评论(0)