才子佳人博客

我的故事我讲述

海明码校验简介
###SmallArticleTitle###
来源:blog.csdn.net;  编辑:xjh;  2019-05-05

海明码,小名汉明码(Hamming Code),以发明者理查德·卫斯里·汉明的名字命名。海明码具有检错和纠错双功能,它基于奇偶校验原理,只能检查出某一位错码的位置。当有多位错码时,它就不适用了。

一、校验位数的确定

下面以信息码1010,110为例确定海明码的校验位数

设数据有K位,校验码有r位。则校验码一共有2^r种组合 。其中需要一种取值方式表示数据正确,剩下2^r−1种取值方式表示有一位数据出错。因为编码后的二进制串有K+r位,因此r应该满足海明不等式:

2^r −1≥K+r 使不等式成立的r的最小值就是校验码的位数。

在本例中,K=7,解得r=4。

信息码和校验码的对应关系如下表:

信息码位数 K 1,2~4, 5~11,12~26,27~57,58~120

校验码位数 r 2,3  , 4   ,5    ,6    ,7

二、海明距离

两个码字对应比特位取值不同的比特数称为这两个码字的海明距离。举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。

三、海明码编码

在海明码中,位号数为2的权值的那些位,即1、2、4、8......位,作为奇偶校验位,并记作:P1,P2,P3,P4……Pr,余下各位则为有效信息位。

设N为海明码字的位数,K是有效数据位,r是校验位(分成r组作奇偶校验,能产生r位检错信息)

例如:K=7 则 r=4, 于是N=11相应的海明码可示意为:

位号  1  2  3 4  5 6 7 8  9 10 11

P占位 P1 P2 x P3 x x x P4 x x  x

其中“x”为有效数据位,海明码中的每一位分别被P1 P2 P3 P4……Pr中的一至若干位所校验,其规律是:

以1010,110为例进行说明:

K=7,由海明不等式可知r=4,相应的海明码可示意为下表:

位号  1  2  3  4  5 6 7 8  9 10 11

P占位 P1 P2 1  P3 0 1 0 P4 1 1  0

海明码码字为p1 p2 1 p3 0 1 0 p4 1 1 0,码字共K+r=7+4=11位

首先将上表中位号十进制转换为二进制:

位号  0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011

P占位 P1   P2   1    P3   0    1    0    P4   1    1    0

根据奇偶校验规则确定出p1=0,p2=1,p3=1,p4=0,所以海明码码字为011,1010,0110,其中p1,p2,p3,p4的确定方法在此不再详述。

原文:
https://blog.csdn.net/u014470361/article/details/79848824
https://blog.csdn.net/fu_jian_ping/article/details/80644264


分类:网络日志 | 评论数:0 | 浏览数:174
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: