关于汉明码的一些总结
汉明码(检两位错,纠一位错)
~~~借鉴自大佬的博客,写的很好~~~
-----------------------------------------------采用偶校验和奇校验原理部分相同,本篇采用偶校验
校验码个数k:
(n为数据位数)
附表 k的取值:
n | 1 | 2-4 | 5-11 | 12-26 | 27-57 | 58-120 | ······ |
k | 2 | 3 | 4 | 5 | 6 | 7 | ······ |
校验码分别设为 ······
校验码位置: 位置上(1、2、4、8、16 ······)
确定校验码的值(保证组内数据1的个数为偶数从而确定校验码的值):
由二进制位置为xxx1的数据组确定(位置为1,3,5,7,9,11 ·······的数据组)
由二进制位置为xx1x的数据组确定(位置为2,3,6,7,10,11 ·······的数据组)
由二进制位置为x1xx的数据组确定(位置为4,5,6,7 ·······的数据组)
由二进制位置为1xxx的数据组确定(位置为8,9,10,11 ·······的数据组)
······
检错:
将接收到的序列的位置上的
及其对应的数据组 异或 得到的i+1个值 逆序排列 转化为十进制 即为出错的位置
例:
数据 1010
校验码个数 k=3
设汉明码为 H1,H2,H3,H4,H5,H6,H7
数据为D1,D2,D3,D4
校验码为P1,P2,P3
则 H1=P1 H2=P2 H4=P3 剩下的依次放入数据
H1 | H2 | H3 | H4 | H5 | H6 | H7 |
P1 | P2 | D1 | P3 | D2 | D3 | D4 |
1 | 0 | 1 | 0 |
P1 由3,5,7位置上的数据决定(分别为1,0,0),所以P1 = 1
P2 由3,6,7位置上的数据决定(分别为1,1,0),所以P2 = 0
P3 由5,6,7位置上的数据决定(分别为0,1,0),所以P3 = 1
H1 | H2 | H3 | H4 | H5 | H6 | H7 |
P1 | P2 | D1 | P3 | D2 | D3 | D4 |
1 | 0 | 1 | 1 | 0 | 1 | 0 |
所以汉明码为 1011010
假设收到的序列为 1011110
H1 | H2 | H3 | H4 | H5 | H6 | H7 |
1 | 0 | 1 | 1 | 1 | 1 | 0 |
H1⊕H3⊕H5⊕H7= 1
H2⊕H3⊕H6⊕H7= 0
H4⊕H5⊕H6⊕H7= 1
逆序排列为 101
即第5位出了差错,取反即为原序列,
再去掉位置上的数就是要传送的数据
关于汉明码的一些总结相关推荐
- 理查德·汉明和他的汉明码
点击上方"LiveVideoStack"关注我们 作者 | Alex 技术审校 | 赵军 理查德·汉明 声影传奇 #005# "计算的目的是洞察,而非数字(The pur ...
- 【Computer Organization笔记03】信息编码与码制转换,数据表示:检错与纠错、码距、汉明码等
本次笔记内容: P5 计算机组成原理(05) P6 计算机组成原理(06) 注:本节课开始,我找到了对应内容的课件,请见于GitHub的CS笔记仓库.因此,为了节省时间,我只记录老师上课强调的内容与对 ...
- 汉明码---存储器校验(简单易懂详解)
存储器校验 1.对存储器校验的原因: 以内存为例,内存是电子设备,信息保存在电容当中,若采用静态RAM,则是保存在四管的触发器当中,若内存所处的电磁环境比较复杂,或在空间环境下受到带电粒子的打击,可能 ...
- (7,4)汉明码编码译码及计算最小码距——基于MATLAB编程
(7,4)汉明码编码译码及计算最小码距--基于MATLAB编程 编码 A=[1 1 1 0; 0 1 1 1; 1 1 0 1] %A 可随便写四个不为0的列向量,是为了生成一致校验矩阵 H=[A e ...
- 汉明码纠错java_汉明码(Hamming)编码与纠错原理
一 汉明码的编解码说明 (一)编码 Hamming(12,8) N=12,表示编码后的比特长度 K=8,待编码数据的比特长度 R=N-K=4,校验位的比特长度 D=3 汉明距离:相邻行之间不同比特数据 ...
- 汉明码纠错java_汉明码纠错的基本原理及优化解决方案
引言 汉明码是在原编码的基础上附加一部分代码,使其满足纠错码的条件.它属于线性分组码,由于线性码的编码和译码容易实现,至今仍是应用最广泛的一类码.汉明码的抗干扰能力较强,但付出的代介也很大,比如8比特 ...
- MATLAB实现(7,4)汉明码的编码解码纠错及BER的分析
MATLAB实现7,4汉明码的编码解码纠错及BER的分析 背景 代码 计算BER 计算不使用汉明编码情况时的BER(模拟环境与理论情况) 总结 背景 本科时信息论与编码的作业 课程为 Informat ...
- 【通俗易懂的通信】信道编码之——汉明码
一.什么是汉明码(hamming code) "汉明码",也称作"海明码",英文名为"hanming code",在通信领域中," ...
- 简单易懂的汉明码(海明码)校验原理
汉明码编码原理 汉明码也叫做海明码,它通过向原始数据中添加校验数据来进行查错和纠错.具体来说, 假设数据位有n位,则校验位为k,k满足 2^k >= n+k+1 汉明码的位数为n+k,且校验位位 ...
- 汉明码的原理、生成和检验
在计算机运行过程中,由于种种原因导致数据在存储过程中可能出现差错,为了能够及时发现错误并且将错误纠正,通常可以将原数据配成汉明编码. 汉明码具有一位纠错能力. 设将要进行检测的二进制代码为n位,为使其 ...
最新文章
- java solar_java中的内部类总结
- windows7如何查看端口被占用
- php authcode java_PHP(authcode)加密解密
- 限制UITextView输入字数(兼容iOS7)
- 【E-DEEC】基于matlab增强的分布式能源有效集群(E-DEEC)【含Matlab源码 1566期】
- python颜色识别demo
- IPMI接口和BMC控制器
- MATLAB灰度显示和彩色显示
- 电力拖动计算机系统考试,电力拖动自动控制系统__考试复习题.docx
- 计算机丢失MSVCR71.dll处理方法
- Mysql-explain-Impossible WHERE noticed after reading const tables
- luogu 4234 最小差值生成树 LCT
- 基于matlab水轮机期刊,四川紫坪铺电站水轮机综合特性三维建模
- 在控制面板找不到程序的情况下,卸载流氓软件
- 03:成绩排序 个人博客:doubleq.win
- springcloud 加入spring session通过zuul请求session不一致问题
- 幂律分布(python)
- 实现按钮的长按监听(聂同学的作业)
- 全球及中国医用管材行业十四五产销需求趋势展望报告2021-2027年版
- 3亿美元!金山云宣布D轮融资 降价布局多垂直领域
热门文章
- Do not hardcode /data/; use Context.getFilesDir().getPath() instead 解决方法
- 移动硬盘插在Mac上不显示
- 使用计算机控制台方法,珍珠控台控制台使用方法与技巧
- php后台配置插一句话马,一句话木马 - 作业部落 Cmd Markdown 编辑阅读器
- FCA-FineReport帆软认证报表工程师(FCA)考试考题
- HTTP 网站升级到 HTTPS 。
- MySQL 数据库主从集群搭建
- MyBatis-Plus——Mapper接口中使用自定义的CRUD方法及Mapper.xml映射文件
- 还在用ps抠图抠瞎眼?机器学习通用背景去除产品诞生记
- 我的大学生涯(大二腾讯校招实习生)