当前位置: 首页 > article >正文

初识海明码校验

一、简介
海明校验码是一种用冗余数据位来检测和纠正差错的方法,是一种多重奇偶检错的方法。这种方法只能检测和纠正一位出错的情况(如果有多个错误,就不能查出了)。
二、编码原则
海明码中的全部传输码字由信息位和附加的奇偶校验位组成,每一个奇偶位被编在传输码字的特定位置(原则1),这个系统对于错误的数位无论是原有信息位还是附加校验位中都能把它分离出来。实际是将数据氛围k个小组,每个小组一个校验位,校验位的取值采用奇偶校验方式确定。
数据为n位,校验位k位,n与k之间的关系:
(2^k)-1>=n+k
公式的理解:k个校验位可以表示2^k 个状态,可用一种状态指出“指出没有发生错误”,其余的(2^k)-1指出错误发生在某一位(包括k个校验位,n个数据位)
1、一般校验码Pi 放在2^(i-1)的位置
校验位P1、P2、…、Pi,分别放在2^0、 21、…、2^(i-1)的位置上,其他位上为有效信息位。
即:P1放在海明码的H1,P2放在海明码的H2,P3放在海明码的H4,P4放在海明码的H8。。。
2、海明码中任何一位都是由若干校验位来校验
校验位Pi由信息位中的一位或若干位所校验
3、被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位由自身校验
第i位,由校验位位号(P1、P2、P4…中的1,2,4…)之和等于i的那些校验位所校验(Hn:代表第n位海明码,Pn:代表第n位校验位,Dn:代表第n位校验位)
eg:H3:由P1和P2所校验(因为3=1+2)
H5:由P1和P3所校验
1->2^(1-1)=1;
4 -> 2^(3-1)=4
三、示例
问题:传递的信息1010,求奇校验规则下的海明码。
(一)发送方
第一步:获取校验位数
2^k>=n+k+1(其中n=4),通过计算可知k=3
第二步:确定校验位的位置
在这里插入图片描述
第三步:根据海明位的下标确定每一个海明位由哪些校验位确定
在这里插入图片描述
上图通过不同颜色诠释了上方编码规则3,举例示意了:海明位H1由P1,海明位H2由P2,海明位H3由P1和P2共同决定,其他以此类推,eg:H7=1+2+4,故由P1、P2、P3共同确定。

第四步:根据奇偶校验规则确定校验位
在这里插入图片描述
第五步:确定发送方数据
0110010

(二)接收方(隔几划几)
1、假如接收正确位0110010
按照奇偶校验第一组:0100✅
按照奇偶校验第二组:1110✅
按照奇偶校验第三组:0010✅
均符合校验,数据正确
2、1位校验位发生错误:假如接收H2发生错误:0010010
按照奇偶校验第一组:0100✅–》说明H1、H3、H5、H7符合奇校验,为0
按照奇偶校验第二组:0110❌–〉说明H2、H3、H6、H7不符合奇校验,为1
按照奇偶校验第三组:0010✅–》说明H4、H5、H6、H7符合奇校验,为0
不符合标记为1,则三组情况为:010:为第2位出现错误


http://www.kler.cn/a/509765.html

相关文章:

  • Excel 技巧10 - 如何检查输入重复数据(★★)
  • MongoDB 学习指南:深入探索非关系型数据库
  • tlias部门管理-新增部门-接口开发
  • PHP xml 常用函数整理
  • 2024CVPR《HomoFormer》
  • 5-1 创建和打包AXI Interface IP
  • Go 语言的slice是如何扩容的?
  • 电子应用设计方案95:智能AI热水瓶系统设计
  • 技术洞察:C++在后端开发中的前沿趋势与社会影响
  • 关于我的博客建站经历
  • 每打开一个chrome页面都会【自动打开F12开发者模式】,原因是 使用HBuilderX会影响谷歌浏览器的浏览模式
  • vue编写一个可拖动的模块,并可以和任何其他组件组合使用
  • 【2024年华为OD机试】 (B卷,100分)- 流水线(Java JS PythonC/C++)
  • 算法之 二叉树
  • 深入理解 SQL 中的 DATEDIFF 函数
  • Python基于Vue+Django网上商城的设计与实现【附源码】
  • “大数据+技校”:VR虚拟仿真实训室的发展前景
  • Windows图形界面(GUI)-QT-C/C++ - Qt Tree Widget详解与应用
  • 【机器学习实战入门】使用OpenCV进行性别和年龄检测
  • list转tensor很慢
  • SpringMVC——原理简介
  • openharmony标准系统芯片移植指导
  • 360AI平台资源可视化建设
  • Java开发提效秘籍:巧用Apache Commons IO工具库
  • 【力扣Hot 100】子串
  • 力扣动态规划-3【算法学习day.97】