海明码计算解析案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
海明码计算解析案例例题1:
使用海明码进行纠错,7位码长(X
7X
6
X
5
X
4
X
3
X
2
X
1
),其中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 公式记忆是解决问题的关键。