常用的差错控制编码方法有哪些?差错控制方法有哪些?

常用的差错控制编码方法有哪些?差错控制方法有哪些?

最常用的差错控制方法有奇偶校验法、循环冗余校验法和汉明码等。这些方法用于识别数据是否发生传输错误,并且可以启动校正措施,或者舍弃传输发生错误的数据,要求重新传输有错误的数据块。  1. 奇偶校验法
  奇偶校验法是一种很简单并且广泛使用的校验方法。这种方法是在每一字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据。数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验。如果校验位不符,则认为传输出错。
  奇校验是在每个字节后增加一个附加位,使得“1”的总数为奇数。奇校验时,校验位按如下规则设定:如果每字节的数据位中“1”的个数为奇数,则校验位为“0”若为偶数,则校验位为“1”。奇校验通常用于同步传输。而偶校验是在每个字节后增加一个附加位,使得“1”的总数为偶数。偶校验时,校验位按如下规则设定:如果每字节的数据位中“1”的个数为奇数,则校验位为“1”;若为偶数,则校验位为“0”。偶校验常用于异步传输或低速传输。
  校验的原理是:如果采用奇校验,发送端发送的一个字符编码(含校验位)中,“1”的个数一定为奇数个,在接收端对接收字符二进制位中的“1”的个数进行统计,若统计出“1”的个数为偶数个,则意味着传输过程中有1位(或奇数位)发生差错。事实上,在传输中偶然—位出错的机会最多,故奇偶校验法经常采用。
  然而,奇偶校验法并不是一种安全的检错方法,其识别错误的能力较低。如果发生错误的位数为奇数,那么错误可以被识别,而当发生错误的位数为偶数时,错误就无法被识别了,这是因为错误互相抵消了。数位的错误,以及大多数涉及偶数个位的错误都有可能检测不出来。它的缺点在于:当某一数据分段中的一个或者多位被破坏时,并且在下一个数据分段中具有相反值的对应位也被破坏,那么这些列的和将不变,因此接收方不可能检测到错误。常用的奇偶校验法为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验。
  2. 垂直奇偶校验
  垂直奇偶校验是在垂直方向上以列的形式附加上校验位。数据格式及其发送顺序:

  设垂直奇偶校验的编码效率为R,则:式中,m为码字的定长位数,n为码字的个数。  

  垂直奇偶校验又称为纵向奇偶校验,它能检测出每列中发生的奇数个错误,偶数个错误,因而对差错的漏检率接近1/2。
  3. 水平奇偶校验
  水平奇偶校验是在水平方向上以行的形式附加上校验位。

  设水平奇偶校验的编码效率为R,则:式中,m为码字的定长位数,n为码字的个数。
  

  水平奇偶校验又称为横向奇偶校验,它不但能检测出各段同一位上发生的奇数个错误,而且还能检测出突发长度≤m的所有突发错误,其漏检率要比垂直奇偶校验法低,但是实现水平奇偶校验时,一定要使用数据缓冲器。
  4. 水平垂直奇偶校验
  水平垂直奇偶校验是在结合水平奇偶校验和垂直奇偶校验的基础上形成的一种校验方法。它是在一批字符传送之后,另外增加一个称为“方块校验字符”的检验字符,方块校验字符的编码方式是使所传输字符代码的每个纵向列中位代码的“1”的个数成为奇数(或偶数)。
  
  式中,m为码字的定长位数,n为码字的个数。
  设水平垂直奇偶校验的编码效率为R,则:

  水平垂直奇偶校验又称为纵横奇偶校验。它能检测出传输过程中发生的所有3位或3位以下的错误、奇数个错误、大部分偶数个错误以及突发长度≤m+1的突发错误,可使误码率降至原误码率的百分之一到万分之一,有较强的检错能力,但是有部分偶数个错误不能检测出来。水平垂直奇偶校验还可以自动纠正差错,使误码率降低2~4个数量级,适用于中、低速传输系统和反馈重传系统,被广泛用于通信和某些计算机外部设备中。
  5. 循环冗余校验法
  循环冗余校验(CRC,Cyclic Redundancy Check)法由分组线性码的分支而来,主要应用于二元码组。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。
  这是一种比较精确、安全的检错方法,能够以很大的可靠性识别传输错误,并且编码简单,误判概率很低,但是这种方法不能够校正错误。循环冗余校验法在通信系统中得到了广泛的应用,特别适用于传输数据经过有线或无线接口时识别错误的场合。下面重点介绍循环冗余校验法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-18
常用的差错控制编码方法:奇偶校验编码 循环冗余校验编码 恒比码 卷积码
相似回答