海明码

1.海明码的概念

  海明码是一种能够纠正一位差错的编码。它是利用在信息位为k位,增长r位冗余位,构成一个n=k+r位的码字,而后用r个监督关系式产生
   的r个校订因子  来区分无错和在码字中的n个不一样位置的一位错。它必需知足如下关系式:
         2r>=n+1  或  2r>=k+r+1
  海明码的编码效率为:
            R=k/(k+r)
  式中 k为信息位位数
     r为增长冗余位位数 

2.海明码的生成与接收

 方法一:

  1)海明码的生成。

 例1.已知:信息码为:"0010"。海明码的监督关系式为:(推导过程略)
        S2=a2+a4+a5+a6
        S1=a1+a3+a5+a6
        S0=a0+a3+a4+a6
     
    求:海明码码字。

方法二:(不用查表,方便编程) 例题: .已知海明码的监督关系式为:  S2=a2+a3+a4+a6  S1=a1+a4+a5+a6  S0=a0+a3+a4+a5  接收端收到的码字为a6a5a4a3a2a1a0=1010100,问在最多一位错的状况下发送端发送的码字是什么?(写出推演过程)。 答案: 1.(1)根据海明码的监督关系式 S2=a2+a3+a4+a6  S1=a1+a4+a5+a6  S0=a0+a3+a4+a5,得下表: S2S1S0  000  001  010  011  100  101  110  111   错误位置  无错  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=101  (3)查表可知:接收到的比特序列第4位有错,正确的应是:  a6a5a4a3a2a1a0=1011100  某公司采用一条租用专线(Leased line)与在外地的分公司相连,使用的MODEN的数据传输率为2400bps,现有数据12*106 字节,若以异步 方式传送,不加校验位,1位中止位则最少须要多少时间(以秒为单位)才能传输完毕? 答: 以异步方式传送一个字节数据,须要加1位起始位,1位中止位,实际须要传送8+2=10位. 故: (12*106*10)/2400 =5*104秒  若10Mbps的CSMA/CD局域网的节点最大距离为2.5Km,信号在媒体中的传播速度为2*108 m/s,求该网的最短帧长  解答: 10Mbps表示 每秒钟传输10*106 位数据 ,  CSMA/CD,信号须要返回才能知道有没有碰撞,因此传输一次信号须要两倍距离, 先算出信号在节点完整传输一次所须要的时间: 2*(2.5*103)/2*108 =2.5*10-5 秒 ,而后算出帧长 =2.5*10-5 * 10*106 =250bit  ** 某令牌环媒体长度为10Km,信号传播速度为200m/us,数据传输率为4Mbps,环路上共有50个站点,每一个站点的接口引入1位延迟, 试计算环的比特长度. 解答: {(10*10^3 )/(200*10^6)} * 4*10^6 =0.2*10^3=200bit 200+50*1=250bit 一共是250比特 用速率为1200bps的调制解调器(无校验位,一位中止位),则每分钟最多传输的汉字是多少(汉字为双字节)  解答:(1200*60)/{(8+2)*2}=3600个 设信息码为101 ,采用生成多项式G(X)为G(X)=X^4+X^3+X^2+X+1,生成的循环码是多少?  解答:略 1011101 在数据传输过程当中,若接收方收到发送方送来的信息为11010110111,生成多项式G(X)=X4+X3+x+1,接收方收到的数据是否 正确?(写出判断依据及推演过程)。 解答:(1)由于G(X)=X4+X3+x+1,故其对应的二进制比特串为11011  (2)又由于接收到的信息为11010110111,故可有二进制除法。  (3)11010110111÷11011(除法的详细过程略)  (4)因上述除法的余数为0,故接收到的信息为正确信息。即发送过程当中未出现错误    设LAN采用路由器与X.25 网相连,如今路由器每秒转发200个分组,分组长度为X.25网的标准128字节,问: (1)路由器的转发速率是多少Mbps? (2)计算一分钟内的通讯费用(通讯量按段来计算,每段64字节,需0.03元) 解答:(1)路由器的转发速率为 200(分组/秒)*128(字节/分组) =2560字节/秒 =2560*8位/秒 =0.02048Mbps (2)一分钟传输的费用 ={(2560*60)/ 64} * 0.03  =72元/分钟 ________________________________________________________________ 注:若是K=4,那么 s0=a0+a1+a3+a4+a6 s1=a0+a2+a3+a5+a6 s2=a1+a2+a3+a7 s3=a4+a5+a6+a7 ______________________________________________________________________  解: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)海明码的接收。   例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 a0  010 a1  100 a2  011 a3  101 a4  110 a5  111 a6  3)由S2S1S0=011查表得知错码位置是a3。  4)纠错--对码字的a3位取反得正确码字:"0 0 1 0 1 0 1"  5)把冗余码a2a1a0删除得发送端的信息码:"0010"     3)由S2S1S0=011查表得知错码位置是a3。     4)纠错--对码字的a3位取反得正确码字:"0 0 1 0 1 0 1"     5)把冗余码a2a1a0删除得发送端的信息码:"0010"
相关文章
相关标签/搜索