汉明码的数学原理

上传人:cn****1 文档编号:559859863 上传时间:2022-08-27 格式:DOC 页数:3 大小:145.52KB
返回 下载 相关 举报
汉明码的数学原理_第1页
第1页 / 共3页
汉明码的数学原理_第2页
第2页 / 共3页
汉明码的数学原理_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《汉明码的数学原理》由会员分享,可在线阅读,更多相关《汉明码的数学原理(3页珍藏版)》请在金锄头文库上搜索。

1、刚刚上计算机组成原理课的时候,或许会觉得汉明码的横空出世太神奇了,它是怎么知道二进制信息在传输过程中哪一位传错的呢?开始只是死记,后来发现太难记住了,于是想一探究竟,究竟是什么支配着这种编码纠错的可靠性。首先我们要知道的是,汉明码是只具有一位纠错能力的编码,那么二进制信息的传输校验可以在最多只有一位发生误传这个假设下讨论。这个问题的一个数学模型是:发送方将一串任意长度的01代码通过一定的处理,使得代码的在只有一位发生传送错误(不包括一位代码的增加或者缺失)或者完全正确的传输送达接收方的前提下,接收方能还原发送方发送的代码。汉明码给出了一个完美的解答。它的解决方案如下:设欲检测的二进制代码有n位

2、,为使其具有纠错能力,需要增加k位检测为。为了能准确对错误定位以及指出代码没错,新增添的检测位数k应满足k的位数确定以后,便可由它们所承担的检测任务设定设定它们在被检测代码中的位置以及它们的取值。设位代码自左向右依次编为第1,2,3,4,.,位,而将k为检测为记作(这里的C应该是check的首字母把。),重点来了:检测的小组包含1,3,5,7,9,11.位。检测的小组包含2,3,6,7,10,11,14,15.位检测的小组包含4,5,6,7,12,13,14,15,.位检测的小组包含8,9,10,11,12,13,14,15,24,.位为什么要这样分呢?不难发现小组都是奇数的,我们可以这样给他

3、划分:再来看小组,可以这样划分:小组,可以这样划分:小组,可以这样划分:注意到奇数有一个共同点,就是它的二进制最低位都是1,其中的规律看清楚了吧。小组里面每一组只有1个元素,一个小组加2就变成下一个小组,如小组里面每一组只有2个元素,一个小组加4就变成下一个小组,如小组里面每一组只有4个元素,一个小组加8就变成下一个小组,如这不禁让我想到他们的二进制表示会出现这样的情况,因为小组每一个都是奇数,所以的二进制表示最低位一定是1,因为13579 11 13二进制1 11 101 111 1001 1011 1101而小组二进制表示次低位为1,因为2367 10 11 14二进制 10 11 110

4、 111 1010 1011 1110而小组二进制表示倒数第三位为1,因为4567 12 13 14二进制 100 101 110 111 1100 1101 1110讨论到这里,它的校验原理就几乎全部出来了。因为每一组都有一个固定的数字不变,如每一个数的倒数第位一定为1,其他位则包含有所有的可能。那它是怎么校验的呢?为了看得更加具体,我们假设只有第10位代码传输出错因为10的二进制表示是1010,假设采取的是偶校验(其实奇偶校验只是实现检验的一个工具,跟校验原理没有任何关系),那么第10位在和这两个小组里面,因为(因为是偶校验,奇校验类似,自己分析),所以有以下式子:因此:同理,而对于其他不含有第十位的小组来说,它们的校验值一定是零,于是生成的出错代码位置就被指出来了,它就是1010这个位置。实现了校验。总而言之,汉明码的精髓所在就是依次确定出错位置的每一位二进制值(是位置的二进制值,比如第十个位置,就是依次确定1010这四个数,至少需要4个校验位来确定),所以的出现就显而易见了。因为这个式子能确保n个信息位加上k个校验位后数值小于,是个什么数呢?它是k位二进制能表示的最大的数,所以加上k个校验位以后,不需要增加校验位的位数。这是在复习机组的时候不小心发现的,但是机组考得好烂,哎,考了就考了吧,没法去追究了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号