计算机网络原理海明码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例题1
已知海明码的关系式
S0=a2+a3+a4+a6
S1=a1+a4+a5+a6
S2=a0+a3+a4+a5
请填充下述S2S1S0值与错误位置的对应表
S2S1S0 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111
---------------------------------------------------------
错码位置| 无错
解答:
先看001, 对应S2S1S0就是S0=1,即S0出错,而S0=a2+a3+a4+a6,就看S0的四项里哪一项S1和S2里没有,很明显是a2,所以001下面填a2.
看010, S1错,S1=a1+a4+a5+a6,S1里哪一项S0和S2里没有?是a1,所以010下面填a1
看011,S1和S0都错,那S1和S0里都有哪一项呢?a4和a6,但是S2无错,S2里也有a4,没有a6,所以是a6错,011下面填a6
100,101,110同
看111,S2、S1和S0都错,那么哪一项s2,s1和s0里都有呢?a4,所以111下面填a4
例题2
在海明码编码方法中,若冗余位为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
解析:
S2S1S0 111 110 101 011 100 010 001 000
错码位置a6 a5 a4 a3 a2 a1 a0 无错
则S1的监督关系式为
我们通过查看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便能能处理问题。这样应该比较简单,也不必记忆别的。
例题3
使用海明码进行前向纠错,如果冗余位为4位,那么信息位最多可以用到11位。
解析:
海明码的信息位,海明码是一种可以纠正一位差错的编码。它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。它必需满足以下关系式:2^ r>=k+r+1 式中k 为信息位位数r为增加冗余位位数
代入公式,2^4 >=k+4+1 不难求解出k<=11
这里公式记忆是问题的关键,如果不知道这个公式2^ r>=k+r+1单凭空想是解决不了问题的。如此反过来求冗余位也方便。
例题4
使用海明码进行纠错,7位码长(X7X6X5X4X3X2X1),其中4位数据,监督关系式为:
c0 = x1+x3+x5+x7
c1 = x2+x3+x6+x7
c2 = x4+x5+x6+x7
如果接收到的码字为1000101,那么纠错后的码字是(58)
解答:
接收到的码字为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,可知第五位出错。注意,上面的加号是异或的符号。
例题5
已知海明码的监督关系式为:
S2=a2+a3+a4+a6
S1=a1+a4+a5+a6
S0=a0+a3+a4+a5
接收端收到的码字为a6a5a4a3a2a1a0=1010100,问在最多一位错的情况下发送端发送的码字是什么?(写出推演过程)。
解答:
根据海明码监督关系式得到下表:
S2S1S0 000 001 010 011 100 101 110 111
错码位置无错a0 a1 a5 a2 a3 a6 a4
发送的码字为:1010100,代入关系式得:a6=a4=a2=1,a5=a3=a1=a0=0
将a6a5a4a3a2a1a0=1010100代入监督关系式得(其中’+’表示异或运算):
S2=a2+a3+a4+a6=1+0+1+1=1
S1=a1+a4+a5+a6=0+1+0+1=0
S0=a0+a3+a4+a5=0+0+1+0=1
查表得知收到的比特序列101,根据S2S1S0值与错误位置对应表序列为a3
即,发送的端发送的码字是:1011100
例题6
若海明码的监督关系式为:
S0=a0+a3+a4+a5
S1=a1+a4+a5+a6
S2=a2+a3+a5+a6
接收端收到的码字为:a6a5a4a3a2a1a0=1010100
那最多一位错的情况下发送端的发送信息位是什么?
解答:按监督关系式
S0=0+0+1+0=1
S1=0+1+0+1=0
S2=1+0+0+1=0
得出S2S1S0=001 根据值与错码位置的对应关系所以a0错误,发送端的发送信息应为1010101。