
海明码计算解析案例.doc
4页例题1:使用海明码进行纠错,7位码长(X7X6X5X4X3X2R ),其中4位数据,监督关系式为:CO = x1+x3+x5+x7C1 = x2+x3+x6+x7C2 = x4+x5+x6+x7如果接收到的码字为 1000101,那么纠错后的码字是( )解答:接收到的码字为 1000101,代入关系式得 X7=X3=X1=1, X6=X5=X4=X2=0得出:C2=1, 6= 0, C0=1,得C2C1C0=101代入8421码,等于5 可知第五位出错 纠错后的码字为:1010101从左往右1000101分别对应 X7X6X5X4X3X2X1将x1 — x7带入c0 = x1+x3+x5+x7c1 = x2+x3+x6+x7c2 = x4+x5+x6+x7运算,即可得 C2=1,C仁0, C0=1,对应101等于5,可知第五位出错注意,上面的加号是异或的符号例题2:已知海明码的监督关系式为:S2=a2+a3+a4+a6S1=a1+a4+a5+a6S0=a0+a3+a4+a5接收端收到的码字为 a6a5a4a3a2a1a0=1010100,问在最多一位错的情况下发送端发送的码字是 什么?(写出推演过程)。
答案:1)根据海明码的监督关系式,得下表:错码位置 无错 a0 a1 a5 a2 a3 a6 a4(其中"+"号表示异或运2)将a6a5a4a3a2a1a0=1010100分别代入海明码的监督关系式得:算:s2=1+0+1+1=1 s1=0+1+0+1=0 s0=0+0+1+0=1 即 s2s1s0=1013)查表可知:接收到的比特序列第 4位有错,正确的应是:a6a5a4a3a2a1a0=1011100例1.已知:信息码为:"0010"海明码的监督关系式为:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6求:海明码码字解:1由监督关系式知冗余码为 a2a1a02冗余码与信息码合成的海明码是: "0010a2a1a0"设S2=S1=S0=0,由监督关系式得:a2=a4+a5+a6=1a1=a3+a5+a6=0a0=a3+a4+a6=1因此,海明码码字为:"0010101"例2.已知:海明码的监督关系式为:S2=a2+a4+a5+a6S仁a1+a3+a5+a6S0=a0+a3+a4+a6接收码字为:"001 1101" ( n=7求:发送端的信息码解:1由海明码的监督关系式计算得 S2S1S0 = 011 。
2由监督关系式可构造出下面错码位置关系表:111a6S2S1S0 000 001 010 100 011 101 110错码位置 无错 a0 a1 a2 a3 a4 a53由S2S1S0=011查表得知,错码位置是 a34纠错--对码字的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+a6C. S1=a1+a3+a4+a5 D. S1=a1+a2+a5+a62、使用海明码进行前向纠错,如果冗余位为 4位,那么信息位最多可以用到—位解析:我们通过查看S1不难发现,当S2S1S0为000时无错,则S1的对应关系必为1, 题中S2S1S0就是S仁1,即S1出错上面A6(111A5(110A3(011A1(010 中间的S1均为1, a6,a5,a3,a1 中任何一位出错,均可使 si 为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个不同位置的一位错满足以下关系式: 2A r>=k+r+1 式中,k为信息位位数,r为增加冗余位位数代入公式,2A4 >=k+4+1不难求解出k<=11 公式记忆是解决问题的关键。
