您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

提高汉明码对突发干扰的纠错能力

时间:2007-1-20栏目:电子通信论文

,两组一共16字节。我们可以看到这们排序后,每个字节包括原来8个汉明码的其中1位。这样,如果一次突发干扰使某一编码字节连续8位都发生改变,实际是分别使原来8个汉明码的其中1位发生了改变。只要在纠错前把受干扰的编码恢复为原来正常的排列顺序,就可通过计算校验码完成差错的定位及纠错。
  
  如果有163个字节的原始数据,经编码后为240个字节的汉明码,那么如果把240个字节的汉明码的每一位都取出,分别组成15个字节的编码,这样是不是可以连续纠正15个字节的差错了呢?在实际应用中要分情况而定。通信中,一般可分为异步、同步两种方式。在异步传输中起始位和停止位是由硬件电路产生的,如果干扰使起始位或停止位发生了改变,那么即使程序有跨字节纠错的能力也是无用的。对于同步方式则是可行的,因为在发送接收双方取得同步后,数据块的每个字符间取消了起始位和停止位。常用的串口通信一般采用异步传输方式,能保证纠正连续1个字节的差错就可以了。
  
  我们也要看到,这样处理后提高了汉明码对突发干扰差错的纠错能力
  
  
  
  ,却牺牲了对随机干扰纠错能力。因为这样对汉明码重新排序后,原来1个汉明码的各个位分布在不同位置的字节里,当有多个随机干扰出现时,可能使原来这个被拆开的1个汉明码多位出现差错。因此采用多少位的汉明码,如何对汉明码重新组织排列,要根据信道的特点来决定。例如,一个数据通信信道经常会受到多个随机干扰的影响,那么我们就不必将汉明码拆开。如果每次通信数据量不大,还可以缩短编码长度,比如采用[8,4,3]8比特汉明码。这样虽然有效信息只是总编码长度的50%,但比起出现多个差错后而要求发送方重发数据要好。
  
  3软件实现
  
  下面给出基于最常用的MCS-51单片机汇编语言的汉明码测试程序。它的有效信息占到了总编码长度的70%,测试程序中自动生成11个字节的原始数据。
  
  原始数据块的长度、存放地址可根据实际情况由用户自己确定,只要将本测试程序的汉明码编码、解码子程序嵌入用户应用程序中,就可直接使用。

  
  3.116位汉明码编码子程序
  
  原始数据是11个字节,经过编码后是16个字节的汉明码。图1是汉明码编码子程序流程图。
  
  3.216位汉明码解码子程序
  
  在解码之前可以人为地加入差错。差错要控制在1个字节内,否则出错标志将置位,后续处理可根据实际应用情况确定。图2是汉明码解码子程序流程图。
  
  结语
  
  本文针对汉明码在实际应用中对突发干扰所产生多位差错纠错能力低的缺点,提出了相应的解决方案。此方法通过笔者的实际使用,证明了这种方案是可行的尤其对于一些无线数传设备,采用这种方案后可以有效纠正突发干扰所产生的差错。
  
  
  
  

上一页  [1] [2] 

下页更精彩:1 2 3 4 下一页