【转】海明码最简解

限时加!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
海明码是一位纠错码,即如果数据在传输过程中有一位出错,则可以知道出错的位数并通过取反将其改正过来。
海明码的基本意思是给传输的数据增加r个校验位,从而增加两个合法消息(合法码字)的不同位的个数(海明距离)。假设要传得信息有m位,则经海明编码的码字就有n=m+r位。怎样安排才能达到我们的目的呢?在解释之前我们先看一道微软的面试题。

面试题:

把1K个苹果分到10个篮子里(当然苹果分到篮子里后就不能再动了,只能分一次)。
要求:
用这10个篮子能够组成1-1000任意一个数字 。

这是个考察二进制思想的题目,让每个篮子里的苹果数等于二进制位的权重就可以了,即分别放1,2,4,8,……各苹果。

换到海明码里也是这样,为了让r个校验码(r个篮子)表示n个信息位(n个苹果),且无论哪一位错误都能表示出来(能够组成任意一个数字),先将码字的位从左到右标号,分别为1,2,3,……。显然要将校验位安排在第1,2,4,8,……编号上,数据放在其他的编号上。为了能够将n位信息全部表示出来还应该有2r-1>=n。每个数据位影响几个校验位,譬如编号11

对应的数据影响编号1、2、8对应的校验位,因为11=1+2+8。为了更清楚理解上面的意思,让我们来看一个例子:将1001000编码成海明码。

因为编号1、2、4、8处是校验位,所以3、5、6、7、9、10、11处是数据位,将要传输的数据与编号对应如下:

3 5 6 7 9 10 11

1 0 0 1 0 0 0


数据位影响的校验位如下:

编号3处的数据位影响编号1、2处的校验位,

编号7处的数据位影响编号1、2、4处的校验位,

经偶校验的校验位1、2的值为0,校验位4的值

为1,其他校验位均为0。所以对应的海明码

为:00110010000。

接受方通过检验校验位来计算出错的位,如果校验位i的奇偶性不正确,则将计数器的值加i,如果所有的校验位都检查完了,且计数器为0,则检查成功,否则计数器的值就是出错的位所对应的编号,并将该位取反。
海明计算(校验 前言: 海明海明一般只能纠1位错。 海明默认进行偶校验(除非特殊说明使用奇校验)。 海明是一串只由0和1组成的序列 奇偶校验 奇校验:一串由0和1组成的序列中1的个数如果为偶数则在前面加个1,使1的个数变成奇数,否则加0。 偶校验:一串由0和1组成的序列中1的个数如果为奇数则在前面加个1,使1的个数变成偶数,否则加0。 例: 1111奇校验就是11111偶校验就是011111110奇校验就是01110偶校验就是11110 计算: 计算 1011 的海明... 阅读详情

相关推荐

海明——例题详解

海明校验通过例题:求信息1011的海明。来具体的实现海明的求解步骤。

Cynthiavlili的博客 8906

第7关:海明流水传输实验.txt

第7关:海明流水传输实验.txt

计网笔记:海明(汉明码

海明(汉明码海明是可以发现双比特错误,并可以纠正单比特错误的编方案。(一般来讲,检错编不一定具有纠错能力,但是纠错编具有检错能力)。 其工作流程可以分为以下四个步骤: (1)确定校验位数r; (2)确定校验和数据的位置; (3)求出校验的值; (4)检错并纠错。 在以下的工作流程中,我们要发送的数据D=101101. 工作流程 1、确定校验位数r 我们使用海明不等式来确定校验的位数r,海明不等式的形式如下: 2^r>=k+r+1 其中: k为数据的位数(信息位数); 可以满足不

jianbai_的博客 5818

【Logisim】汉字编和流水传输实验

1.了解汉字的机内、区位、字形的区别。 2.了解海明和解的原理。 3.了解流水传输机制。 华中科技大学《计算机硬件系统设计》

明码详细讲解

明码,是R.Hamming与1940年于贝尔实验室提出的。   1.      奇偶校验; 奇偶校验。 假设传输信息位为K=n-1位,表示为a1,an-1,加上一位奇偶校验位(冗余位)a0,构成一个n位的字a0 -an-1,在接收端校验时,可按照关系式:s= a0+a1+ a2+…+an-1来计算。若s=0,则无错,若s=1,则有错。上式可称为监督关系式,s可称为校正因子。 例如

bupt073114的专栏 2万+

计算机原理之校验-海明

背景 学习计算机基础知识。 总所周知:传统计算机只认识0和1的二进制,在底层实现中以电压高低或 他是谁? 他从哪里来? 他要到哪里? 他是谁 ...

yangluchang的博客 2817

计算机组成原理测试题——第4章 存储器(中)

计算机组成原理测试题——第4章 存储器(中) 1单选 若某种编小距离为四,则其检错能力和纠错能力可能为(B) A.检错三位,纠错两位 B.检错两位, 纠错一位 C.检错两位,纠错两位 D.检错一位,纠错两位 2单选 设由四个模块组成的四体存储器结构,每个体的存储字长为16位,存取周期为250ns,假设数据总线宽度为16位,总线传输周期为50ns,试求顺序存储和交叉存储的带宽分别为(A)bps A.6.4* 10^7 和 1.6* 10^8 B.6.4* 10^8 和 1.6* 10^8 C.1.

影龙武的博客qq_43594119 3847

海明

1.海明的概念   海明是一种可以纠正一位差错的编。它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的字,然后用r个监督关系式产生 的r个校正因子来区分无错和在字中的n个不同位置的一位错。它必需满足以下关系式:          2r>=n+1或2r>=k+r+1   海明的编效率为:        ...

weixin_33912246的博客 515

海明流水传输实验(计算机数据表示实验)

首先,了解实验具体要求,实验要求我们对发生两位错的数据进行重传。 以下是电路设计: 解题思路: 1.地址回滚 在这里选用选择器,当无发生两位错误时,此时箭头所指的输入端为0,此时选择器选择第0位的数据输入即将01输入,常量和加法器,寄存器够成的电路实现的是x=x+01的功能,即类似于计数器。因此无发生两位错时,不需要进行地址回滚。 当发生两位数据的出错时,此时输入的是fd,即-3(8位二进制)的...

weixin_44750465的博客 1万+

通俗易懂的海明校验纠错讲解

一、海明 1.1. 求海明位数 公式:≥N+k+1,其中N为有效信息位数,K为校验位数。 例子:编前有效信息为10011101,求校验位数? 解: 有效信息10011101长度为8则,N=8,求K=?,可以将N带入公式≥8+k+1然后K可依次用正整数带入,取维持等式成立的小值,解得K=4。并根据经验总结,得出信息位与校验位关系,如下表所示。 ...

hamster204的专栏 3万+

海明(汉明码、Hamming Code)

简介 海明又称为汉明码,英文名Hamming Code。是差错控制中的纠错。 如何编 海明是在数据中的固定位置插入一位奇偶校验位,来使其拥有纠错能力。 以二进制串10110为例,将其编海明。 第1步:校验位的位置 生成的海明中,位置为2的幂位均为校验位,用表格表示如下: 海明中的位置 1 2 3 4 5 6 7 8 ............

番茄鸡蛋的专栏 3万+

海明(Hamming Code):基于矩阵思路的一些理解

海明的基本概念是产生重叠的奇偶校验位,以便能够检测和纠正在数据位或 奇偶校验位中发生的错误

weixin_57915039的博客 6549

海明】一题学会海明

海明、汉明码

6089

海明检错与纠错,经典例子讲解~

海明检错与纠错,经典例子讲解~

IT_Most的博客 1万+

可能是详细的海明校验(汉明码)解法

例题 求信息1011的海明 第1步 求校验位数 牢记公式:2^r >= k + r + 1 k 值:原始信息的位数,已知 r 值:校验的位数,根据公式求 ① 此题中,信息为 1011 ,共4位数,所以 k = 4 ② 根据公式,将 k 值代入,解得符合表达式的值即为 r 的值,也就是校验位数 此题中,可以算出 2^3 >= 4 + 3 + 1 ,所以 r = 3,校验位数为3位 第2步 确认校验位置 校验的位置都是基于 2^n 来确定的,比如 2^0 = 1,2^1 =

谢康立的博客 3万+

海明计算与校验原理

海明纠错原理介绍,以及用C++模拟发送端对数据编海明然后发送,然后接收端对接收到的数据进行判断并进行纠正。

ajream的博客 5830

海明例题解答

近在学习海明,看了一遍书还是不太理解,就找了一道题自己做做看。例子:8位数01101001如何使用海明进行校验①数据位n=8,则根据公式2k-1>=n+k计算出校验位k = 4;则8个数据位为D0,D1,D2,D3,D4,D5,D6,D7;4个校验位为P1,P2,P3,P4。②根据公式Pi=2i-1=计算出校验位的位置分别为1,2,4,8,则排列后的数据为:D7,D6,D5,D4,P4...

可爱淘的博客 2万+

关于海明,我悟了

常说的海明指的是(n,k)=(7,4)海明,信息为为4,监督位为3,总长7位。海明距为3,海明能够检两位错或者纠正一位错误。海明默认采用偶校验

Somnus陳的博客 7088

浅谈海明距及其计算问题(看过的都明白了)

海明 这篇文章是关于软考网络工程师中的海明。 注* (历年考试的海明问题在下面,有基础可以直接跳过,习惯了一步步的讲) 前言:如果你看到这篇文章的时候,你可能也在学习这个关于软考网络工程师的一些问题。然后我在这里就简单的写一下**关于软考中会出现的海明问题** 因为在历年的考题中,只要涉及到检错纠错这个问题就会考海明 。 First: (1)海明的构成由m个数据位 (即报文)和r个冗...

唐璜Taro的博客 3万+
上一篇: Win32 SDK 实现UDP聊天室程序(二)
下一篇: 技术资料-【剖析MFC六大关键技术之初始化过程】
Garyhou
博客等级 码龄20年 41粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值