海明码计算解析案例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

海明码计算解析案例例题1:

使用海明码进行纠错,7位码长(X

7X

6

X

5

X

4

X

3

X

2

X

),其中4位数据,监督关系式为:

C0 = x1+x3+x5+x7

C1 = x2+x3+x6+x7

C2 = x4+x5+x6+x7

如果接收到的码字为1000101,那么纠错后的码字是()

解答:

接收到的码字为1000101,代入关系式。得X7=X3=X1=1,X6=X5=X4=X2=0。

得出:C2=1,C1=0,C0=1,得C2C1C0=101,代入8421码,等于5,可知第五位出错。

纠错后的码字为:1010101

从左往右1000101分别对应X7X6X5X4X3X2X1,将x1—x7带入

c0 = x1+x3+x5+x7

c1 = x2+x3+x6+x7

c2 = x4+x5+x6+x7

运算,即可得C2=1,C1=0,C0=1,对应101等于5,可知第五位出错。

注意,上面的加号是异或的符号。

例题2:

已知海明码的监督关系式为:

S2=a2+a3+a4+a6

S1=a1+a4+a5+a6

S0=a0+a3+a4+a5

接收端收到的码字为a6a5a4a3a2a1a0=1010100,问在最多一位错的情况下发送端发送的码字是什么?(写出推演过程)。

答案:

1)根据海明码的监督关系式,得下表:

2)将a6a5a4a3a2a1a0=1010100分别代入海明码的监督关系式得:(其中"+"号表示异或运算):

s2=1+0+1+1=1

s1=0+1+0+1=0

s0=0+0+1+0=1

即s2s1s0=101

3)查表可知:接收到的比特序列第4位有错,正确的应是:a6a5a4a3a2a1a0=1011100

例1. 已知:信息码为:"0010"。海明码的监督关系式为:

S2=a2+a4+a5+a6

S1=a1+a3+a5+a6

S0=a0+a3+a4+a6

求:海明码码字。

解:

1) 由监督关系式知冗余码为a2a1a0。

2) 冗余码与信息码合成的海明码是:"0010a2a1a0"。

设S2=S1=S0=0,由监督关系式得:

a2=a4+a5+a6=1

a1=a3+a5+a6=0

a0=a3+a4+a6=1

因此,海明码码字为:"0010101"

例2. 已知:海明码的监督关系式为:

S2=a2+a4+a5+a6

S1=a1+a3+a5+a6

S0=a0+a3+a4+a6

接收码字为:"0011101" ( n=7 )

求:发送端的信息码。

解:

1)由海明码的监督关系式计算得 S2S1S0 = 011 。

2)由监督关系式可构造出下面错码位置关系表:

S2S1S0 000 001 010 100 011 101 110 111

错码位置无错 a0 a1 a2 a3 a4 a5 a6

3)由S2S1S0=011查表得知,错码位置是a3 。

4)纠错--对码字的a3位取反得正确码字:"0 0 1 0 1 0 1"

5)把冗余码a2a1a0删除,得发送端的信息码:"0010"

海明码举例分析(监督关系与信息码冗余位)

1、在海明码编码方法中,若冗余位为3位,且与错码位置的对应关系为

S2S1S0 111 110 101 011 100 010 001 000

错码位置 a6 a5 a4 a3 a2 a1 a0 无错

则S1的监督关系式为( )。

A. S1=a1+a3+a5+a6

B. S1=a2+a3+a4+a6

C. S1=a1+a3+a4+a5

D. S1=a1+a2+a5+a6

2、使用海明码进行前向纠错,如果冗余位为4位,那么信息位最多可以用到位。

解析:

我们通过查看S1不难发现,当S2S1S0为000时无错,则S1的对应关系必为1,

题中S2S1S0就是S1=1,即S1出错。

上面A6(111)A5(110)A3(011)A1(010)中间的S1均为1,a6,a5,a3,a1中任何一位出错,均可使s1为1,由此可得监督关系式为:S1=a1+a3+a5+a6

对于此题,我们可以变相的出题,如先看001, 对应S2S1S0就是S0=1,即S0出错,而S0=a0+a3+a4+a6

这样明白了吗?只要根据题目要求找到S对应的1便能能处理问题。这样应该比较简单,也不必记忆别的。

----------------------------------------------------

海明码的信息位,海明码是一种可以纠正一位差错的编码。它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。

满足以下关系式:2^ r>=k+r+1 式中,k为信息位位数,r为增加冗余位位数

代入公式,2^4 >=k+4+1 不难求解出k<=11 公式记忆是解决问题的关键。

相关文档
最新文档