超详细的海明校验码方法解读
海明校验码原理:在有效的信息为中加入几个校验位形成海明码,使码距[rjazgj1] 比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组[rjazgj2] 中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依据。
公式:
例:设传输的数据为:1010。求海明码。
解:
1) 由公式:
即:2的K次方-1=K+4
得K=3
所以海明码的总位数为4+3=7
位(m) |
1(001) |
2(010) |
3(011) |
4(100) |
5(101) |
6(110) |
7(111) |
数据 |
1 |
0 |
1 |
0 |
|||
校验码 |
P1 |
P2 |
P3 |
||||
偶海明码 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
奇海明码 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
校验码一般放在2的n次方的位置(n=0 1 2 3 4 …….)
2) 将位用二进制表示出来如表中所示。
3) 将P与m分组:[rjazgj4]
P1 m3 m5 m7
P2 m3 m6 m7
P3 m5 m6 m7
4)将m3 m5 m7等替换下来即:
P1 1 0 0
P2 1 1 0
P3 0 1 0
5)将P的值分别求出来得出校验码(奇校验:1的个数为奇数。偶校验:1的个数为偶数):
(奇:0偶:1)1 0 0
(奇:1偶:0)1 1 0
(奇:0偶:1)0 1 0
6)海明码检查错误:
发送端:0 1 1 0 0 1 0(奇校验)
接收端:0 1 1 0 0 1 1
6.1)将分组拿来用同时加上错误位置e:
e1 P1 m3 m5 m7
e2 P2 m3 m6 m7
e3 P3 m5 m6 m7
6.2)将分组中的数字替换下来:
e1 0 1 0 1
e2 1 1 1 1
e3 0 0 1 1
6.3)因为是奇校验所以e的值分别为:1 1 1
7)检查错误将e3 e2 e1 写出来为:111转换成10进制为7所以第七位出现错误。
如果 e 的值都是0则没有错误。
注释:
[rjazgj1]是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。
[rjazgj2]题目中会给出具体要求。
[rjazgj3]其中K是校验码的位数。M是数据的位数。减去1是减去正确的那一种情况。错误的情况一定大于等于传输的位数即得到该公式。
[rjazgj4]分组规则:P1对应的m1(001)第三位是1,在位中找到同样第三位是1的m.,以此类推。
超详细的海明校验码方法解读相关推荐
- 可能是最详细的海明校验码(汉明码)解法
例题 求信息1011的海明码 第1步 求校验码位数 牢记公式:2^r >= k + r + 1 k 值:原始信息码的位数,已知 r 值:校验码的位数,根据公式求 ① 此题中,信息码为 1011 ...
- 一文看懂海明校验码及其计算方法(详细总结)
网上看了好几篇文章后终于算是捋明白了,但是看到的这些资源要么说得云里雾里,要么干脆说得有问题(然后还被点了好多赞...),无论如何这些都容易误导小白.作为C站多年老潜水员,我还是把海明校验码的要点总结 ...
- 海明校验码--确定校验位
计算机组成中的海明校验码,相信学过的都会有了解,那么对其中校验位的确定,我想似乎有些人不是很明白,今天我来详细的把如何确定校验位分享一下 首先看下基本的概念 : 2^r≥k+r+1 其中r为校验位 ...
- 第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 [计算机组成原理笔记]
第二章 数据的表示和运算 2.1.5 汉明(海明)校验码 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 海明(Hamming) ...
- 超全超详细的HTTP状态码大全
超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...
- 海明校验码算法和纠错
背景介绍 由Richard Hamming于1950年提出.还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错.亦能检测出一位出错并能自动恢复该出错位的正确值的有效手 ...
- c语言海明校验码编码,海明校验码的编码规则有哪些?
在海明码中, 位号数(1.2.3.--.n)为2的权值的那些位,即: 1(2^0).2(2^1).4(2^2).8(2^3).-2^(r-1)位,作为奇偶校验位,并记作: P1.P2.P3 .P4.- ...
- 海明码,码距,海明校验码
海明校验码是由RichardHamming于1950年提出.目前还被广泛采用的一种很有效的校验方法.它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较 ...
- 海明校验码简析与举例
海明校验码简析与举例 基本思想: 将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正.实质上,海明校验是一种多重校验. 由Ri ...
最新文章
- 入门大爆炸式发展的深度学习,你先要了解这4个最流行框架
- 使用Ultra Librarian转换芯片的Altium Designer封装格式
- php 将date转换成string,php如何实现date转string
- SpringBoot与Spring的对比
- SAP CRM IPC and configuration page debugs
- 格子箱被评选为12家最值得注意的亚洲初创科技公司之一
- html section 布局,section标签的用法
- Tomcat性能监控LambdaProbe
- wince6-Error: failed PB timebomb check
- PHP生成有背景的二维码图,摘自网络
- 编程哲学之C#篇:02——学习思维
- LINUX SAN 500G重新分区、格式化,后成功恢复数据90%
- 计算机培训公众号,8款微信公众号编辑器,哪个最好用?
- C++“准”标准库Boost学习指南(3):Boost.Utility
- PGP验证数字签名原理
- 【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能
- Android 图片压缩详解
- pandas Create,Read,Write
- java编写蠕虫病毒_教大家编写蠕虫病毒
- 【C++】关于日期的计算
热门文章
- Mysql高级(锁、日志)
- 最新第4波:全国信息化工程师软考-系统集成项目管理工程师(高级案例高分论文)
- html 表格中显示图片,layui如何在表格中显示图片
- nux将redis的redis.conf中的daemonize配置为yes但还是前台启动
- 初学者的诅咒:为什么学习编码令人沮丧
- 为什么0x7FFFFFFF+0x7FFFFFFF=-2
- linux划分分区 2t,Linux使用GPT划分大于2T的分区
- 微信鉴权服务器地址,授权 | 微信开放文档
- Eigen和Sophus 用法的详细介绍
- 对比五种制作Linux系统的U盘启动盘的工具