海明码
视频讲解
概述
- 纠错编码:在接收端不但能检查错误,而且还能纠正检查出来的错误。常见的纠错编码是海明编码
- 海明码:在信息字段中插入若干位数据,用于监督码字力的哪一位数据发生了变化,具有一位纠错能力
求解海明码步骤
1)求出校验码位数
原理
- 假设传送的信息位有k位,数据校验位有r位,整个码字的长度就设置为k+r位
- 又因为每一位数据有0、1两个状态,所以r位可以表示2^r种状态
- 一种状态来表示一个码元发生了错误;k+r位码元,需要k+r种状态来表示
- 还额外需要一位表示数据的正确情况
- 所以2^r-1>=k+r才能检查一位错误
例子
- 推导D=101101的海明码,信息位有6位,则需要的数据校验位为4(第一个大于等于的值),D的海明码应该有10位
2)确定校验码位置
定义
- (从左至右)设这四位校验码分别为P1、P2、P3、P4;
- (从左至右)设数据位分别为D1、D2、D3、D4、D5、D6;
- (从左至右)最终编码后数据分别为M1、M2、……、M10
校验码Pi(i取1/2/3/4)在编码中的位置为2^(i-1)
3)确定数据的位置
- 除了校验码的位置,其余的就是数据的位置,直接填写
4)求出校验位的值(方法一:推荐)
- Pn校验码位校验的码字位为:从M(2n-1)位(就是Pn对应的M位)开始连续n个,中间间隔n个,再连续n个,……组合成二进制串, 要求1的个数为偶数,进而确定Pn(也就是M(2n-1))位的取值
4)求出校验位的值(方法二)
- 步骤
1)定义校验码位总共有n位,每位分别为e1,e2,e3,……,en
2)分别计算数据位下标的二进制表示值(比如M1=0001,M2=0010)
3)每个数据位下标对应到ei上去,是1的,就与之相关(比如M3=0011,就和e1,e2有关),使用异或符号进行连接
4)ei的值都为0,带入Mi处的值,解出3上面的式子,就算到了相应的值
5)接收端检错
- 和求校验位的值一样,求ei,如果都为0,那没有出错。否则en,e(n-1)……e1的二进制值就是出错的位置(使用规律性方法类似),取反就可以纠正
- 例子
- 假设M5位接收到时为1
视频讲解
其它
课件下载:
关注下方微信公众号,
回复:
海明码.code
欢迎加入交流群:451826376
更多信息:www.itcourse.top
相关阅读
题意 有一个包含 N 个正整数的序列,序列元素不大于 N。紧接着,他们维护了一个可重集合 S,包含序列中的前 P 个元素。Alice 先手,二人
要了解海外媒体的传播,就需要先明白海外媒体包括哪些,如今,传统的海外四大媒体分别是:1、国外电视媒体;2、海外广播媒体;3、国外报纸媒
欢迎关注我的新博客: http://mmmmmmlei.cn利用周末打了上海市大学生网络安全大赛,最后打了第三,这次的 Misc 真的是难上天,除了签到其
飞机的涡轮机发明者帕布斯·海恩提出了一个在航空界关于安全飞行的法则,近年来,越来越多的互联网行业开始引用这个法则,这是因为多数
淘宝微海报尺寸是多少?淘宝微海报尺寸是多大?不少卖家在自己制作微海报的时候不知道微海报图片尺寸是多少,微海报图片多大合适。下