tag 标签: 前向纠错

相关博文
  • 热度 19
    2012-5-10 16:38
    2078 次阅读|
    0 个评论
    大家好,前面我们给大家介绍了无线通信中 FEC 编码原理( 1 )和( 2 ),今天继续献上 FEC 编码原理及评价( 3 ),关于不同 FEC 种类的评价,希望对大家有所帮助~   对于不同 FEC 的评价   这里我们介绍一些典型的 FEC 的应用并且做出一些解释和评价。我们根据不同的使用将这一部分分为两块。   1. 互联网中的 FEC   这一部分,我们主要关注三个 FEC 的例子。   ( 1 ) Hamming 码   Hamming 码是由 Hamming 在 1950 年最初使用的,它是一种线性的纠错码,能自动监测出两个同时出现的比特错误并且纠正其中一个。这要比基础的奇偶校验码有效。   Hamming 码不仅有很好的性能,而且它的编码和解码的电路都非常的简单并且易于实施。所以,它被广泛应用于小的电脑中。但是, Hamming 码不能用于两个或两个以上错误比特的纠正。   Hamming 码的例子   2 ) CRC 码   CRC ,是 Cyclic Redundancy Check 的缩写,是通信系统中最普遍也是最强大的错误检测码。它根据信息字段的长度而设计,而校验字段的长度可以随意选择。   利用 CRC 进行的错误检测的过程可以简单的描述为:发送端产生一段 k 比特的二进制码序列,之后根据特定的规则得出 CRC 码并附在原始码字后面。这个具有 (k+r) 比特的二进制码序列就可以被发送了。传输过程之后,接收端根据原始码与 CRC 码之间的规则检测到其中是否有错误。     CRC 在互联网及其他领域的应用非常广泛,因为它具有很强的错误检测能力,低成本并且易于实现。 CRC 不能检测到错误的概率仅为 0.0047% 或更少。对于性能和成本来讲, CRC 要比奇偶校验和算术检测要好的多。但是, CRC 也很有可能会对于不同的信息产生相同的 CRC 码,尤其是当大量信息同时出现的时候。在这种情况下, CRC 将会出现错误并且对于接收方重建原始信息增加了困难。例如,接收方必须要逐个比特进行检查来避免错误,这样会增加很多处理时间,所以,我们需要高性能的发送端和接收端。还有, CRC 显然并不适合只具有低端 CPU 的设备。 CRC 码的计算   ( 3 ) BCH 码   BCH 码,最初由 Bose 、 Ray-Chaudhuri and Hocquenghem 提出,是 Cyclic 码的另一种重要分支。它具有纠正多个错误的能力。 BCH 码有严格的代数理论,是一种被最深入研究的编码方式。   BCH 码的理论优势就是它的解码非常简便,通过被称为综合解码的代数方法来进行解码。这种方法只需要非常简单的电子硬件来完成这一任务,并不需要电脑。这样,解码的设备就可以做的很小并且需要很少的能源。所以,在 BCH 码的帮助下,我们可以利用低端的 CPU 和小型的设备高效的完成错误纠正,比如我们的手机。   无线通信中FEC编码原理及评价(2)请参考: http://forum.eet-cn.com/BLOG_ARTICLE_11978.HTM 未完待续 文/纪桐     系列文章列表: 无线通信中FEC 编码原理及评价(1) 无线通信中FEC 编码原理及评价(2) 无线通信中FEC 编码原理及评价(3) 无线通信中FEC 编码原理及评价(4)  
  • 热度 27
    2012-5-10 16:37
    2174 次阅读|
    3 个评论
    大家好,前面我们给大家介绍了无线通信中FEC编码原理,今天继续献上FEC 编码原理及评价(2),希望对大家有所帮助~   二. FEC的原理及种类    1. FEC的原理   简单的说,FEC是一种为数据传输而设计的差错控制技术。发送端在需要传输的数据中加入冗余数据。接收端则根据这些冗余数据检测出整个数据中的误码。当接收端检测出码字中的错误,立即将它们改正。   FEC利用了Shannon-Hartley定理中给出的传输速率(或信息比特速率)R b 和信道容量R max 的区别。在一段足够长的码字中使用FEC,付出了增加传输延迟的代价来降低误码率P b 。增加的延迟主要来自这几方面:需要组合将要传送的码字,接收到数据后需要花时间来计算从而检测出错误并改正。然而,差错控制的好处往往要比由于处理FEC所带来的延迟重要的多。      2. FEC工作机制     上图表示的是利用了FEC的整个通信过程。在最开始阶段,信源将产生一串信息比特。在编数据在编码器中编码,在这个过程中,原始数据的前面将会加入(n- k)个冗余比特(也称作校验比特)。n表示整个数据的比特数,k表示原始信息的比特数。冗余码,也称作纠错码,与原始信息有一种特殊的计算关系,这样接收 端就可以根据冗余码来纠正数据中的错误。这里的一个很重要的参数就是冗余度,表示为(n-k)/n。在特定的带宽中,整个传输数据的长度是有限制的。也就 是说,冗余度越高,数据中的信息含量就越少。然而,当冗余度到达一定高度时,就可以保证接收端接收信息的准确性。之后,经过调制器(modulator) 的数据就变成了可以发送到信道中的信号。经过信道的传输后,接收端收到信号,解调信号使其从模拟信号还原为数字格式。由于冗余码和原始的信息存在特定的关 系,解码器(decoder)则可以检测其中的错误并得到原始的比特。最后将这些数字信息传给信宿。   3. FEC的种类   FEC码主要有两个种类,块状码和卷积码。   块状码主要作用于固定长度的数据块(包)或者预先定义长度的符号。一段数据含有n比特,其中有k个信息比特,剩下的就是冗余比特。实际操作中块状码可以被 解码到特定的长度,并且冗余码只与统一块中的信息码相关。块状码也有许多类型,比如Reed-Solomon编码,Golay,,BCH,多维度校验,和 Hamming码。   卷积码主要作用于随即长度的比特或符号流。与块状码不同,卷积码不是只与在同一块中的信息码相关,而是与前一块的码字相关。这种FEC要比另外一种复杂。 后续中我们仍会继续献上更多无线通信中FEC编码原理的相关知识,期待您的评论于意见哦~~~   未完待续 文/纪桐 无线通信中FEC 编码原理及评价(1)阅读地址: http://forum.eet-cn.com/BLOG_ARTICLE_11931.HTM     系列文章列表: 无线通信中FEC 编码原理及评价(1) 无线通信中FEC 编码原理及评价(2) 无线通信中FEC 编码原理及评价(3) 无线通信中FEC 编码原理及评价(4)  
  • 热度 25
    2012-5-10 16:36
    2679 次阅读|
    1 个评论
    大家好,从今天起我们会为大家连载一些关于通信互联网的一些介绍类论文,由于篇幅较长,我们每次为大家节选其中的一部分,一共需要4次我们才会将全部论文发布到博客中,希望大家能喜欢。今天我们为大家准备的是关于FEC 原理的文章,FEC 编码原理及评价(1 )。 卫星通信                                                               无线通信流程及FEC应用环节   基本上在每一个电信系统中,在传输过程中都会出现由于各种因素所导致的误码。这些错误给接收方带来了巨大的问题,使其很难正确的从数据中得到正确的信息。从而,为了确保信息传输的正确性,误码的检查与纠正成了通信系统中很重要的问题。目前,有多种误码的检查与纠正的技术,前向纠错码(Forward Error Correction, FEC)就是其中最经常被使用到的技术之一。在今后的连载中,我们会提供一些对于FEC原理的基本解释,包括它的工作机理和一些不同形式的FEC编码。并且,我们对于目前用于互联网及无线通信中FEC的应用进行比较和评价。最后,结论部分将展示我对于FEC发展的看法。   简介: 前向纠错是一种数据编码的技术,数据的接收方可以根据编码检查传输过程中的误码。在FEC中,发送者一般在要发送的数据前加上一段冗余的数据,这样接收者就可以根据这些冗余数据和提前设计好的算法发现数据中的误码并且确定具体错误码子的位置,从而纠正错误。当误码被确定后,不需要通知发送端重新发送,而是自动纠正错误。这种机制不同于自动重传(Automatic Repeat-reQuest, ARQ)需要通知发送端重新发送含有错误的数据。        在ARQ的“停止等待”(stop and wait)模式中,发送端在发送完一个数据包后等待接收端的回执 (acknowledgement, ACK)。如果发送端收到接收端的ACK,下一数据包将会被发送。反之,如果发送端收到的是负面ACK(negative ACK)发送端将会重新传送上一数据包。这些为了纠正误码而反复传送的数据包严重影响了系统的通信速度。所以,FEC是一种弥补这种缺陷的更好的方式。        在现阶段的数字通信系统中,FEC被广泛应用。这种技术的出现及发展来自于通信系统本身的需求。理想的无线信道在工程应用中是不存在的,这也就意味着模拟信号在不同介质下的传输过程中总会出现失真和不同程度的延迟。对于数字信号来说,就是会产生误码和抖动,这些错误最终会造成系统的错误。在这种情况下,我们需要FEC,因为它能够更好的降低误码率,从而使整个系统的性能提升。   未完待续 文/纪桐   系列文章列表: 无线通信中FEC 编码原理及评价(1) 无线通信中FEC 编码原理及评价(2) 无线通信中FEC 编码原理及评价(3) 无线通信中FEC 编码原理及评价(4)  
  • 热度 18
    2012-5-7 10:31
    2010 次阅读|
    0 个评论
      大家好,前面我们给大家介绍了无线通信中 FEC 编码原理( 1 )、( 2 )和( 3 ),今天继续献上最后一篇, FEC 编码原理及评价( 4 ),关于无线通信 FEC 种类的评价,希望对大家有所帮助~ FEC 编码原理及评价( 3 )请参考: http://bbs.ednchina.com/BLOG_ARTICLE_3003378.HTM       2. 无线通信中的 FEC FEC 编码在无线通信中有很多应用。这里我们主要介绍两种情况。 ( 1 ) Reed-Solomon(RS) 码 RS 是 Reed-Solomon 的缩写,是一种非二进制的 BCH 码。对于任意一个正整数 s ,我们可以得到一段长度为 n = q-1 的对应的 q-ary BCH 码,其中 q 是一个素数的指数。当 s = 1 , q2 时,它就成为了一段 RS 码。 RS 码由 n 个符号组成,每个符号含有 m 比特(根据不同应用 m 可以为任意长度)。这样, RS 码不像其他 Cyclic 码那样只对单个比特操作,而是对于多个比特操作。 RS 码的一个很重要的特性就是脉冲纠错特性。其纠错能量为: t = (n-k)/2 这里 n 和 k 均与编码后的符号相关,而非比特。例如,一段 (31,15) 的 RS 码具有 31 个 5 比特的编码符号,代表 15 个输入信息的符号或者 75 个输入信息的比特。这些能够改正 8 个独立的比特错误,或者四个长度等于或小于 5 比特的脉冲符号时长。 RS 码的优点就是容错能力,所以很适合含有噪声和爆发性错误的无线通信。比如,当空间中的飞船向地球传回数字图片时,就是应用 RS 编码,并且 RS 编码已经扩展到卫星通信中。然而, RS 编码是一个非常旧的概念,并且编码的延迟也非常明显。目前一种叫做龙卷风码( Tornado code )的新的编码方式正在广泛应用,它能够成功的解决软件基础环境中的延迟问题。 ( 2 ) Trellis 编码调制 Trellis 编码调制( Trellis Coded Modulation , TCM )是根据 Shannon Hartley 理论而设计的,能够同时进行编码和调制的方式。它是一种在一个连续数据流中每个符号应用奇偶校验的卷积码。下面的图片说明了一种简单地 TCM 算法。                                                                                          Trellis code 示意图     即将要被编码的数据只能经过两条路径中的一条,所以这很像花园里的格子。如果在接收到的数据中有错误,然后应用这种调制方式,就能够根据错误数据两边的数据方便的重新计算出错误的数据。 这样,在每条信道中可以有更多的比特。 TCM 引入了附加的奇偶校验比特但是并不增加信号占用的带宽。 一个 TCM 的典型应用是空时格型编码( Space-Time Trellis Code , STTC ), STTC 是一种用在多天线无线通信中的空时编码。虽然它现在已经有了很广泛的应用,但是在编码是存在很复杂的状态并且错误很容易发生。 但是, TCM 仍是一项在现代通信系统中很先进的技术。   发展前景 FEC 的优势就是接收端可以自行纠正信号中的错误,而不用请求发送端重新发送数据,这样节省了很多时间。目前,基于不同设备的需求,不同形式的 FEC 码在通信系统中被广泛应用。这些不同编码的区别主要体现在效率上。如以上我们讨论过的,由于处理速度的限制, CRC 就不太适合于低端 CPU ,但是 BCH 就更适合于这类设备。 而且,一些更先进的编码也已经投入使用。他们应用了更先进的算法来提高编码解码的效率使得有限的带宽能够得到充分的利用。可以肯定, FEC 在将来肯定会更加高效。编码会更加标准化而且性能会提高。而且成本会降低。 总之,无论是目前还是将来, FEC 对于通信系统的稳定性和高效都扮演了很重要的角色。   文/纪桐  
  • 热度 25
    2012-4-24 09:30
    1595 次阅读|
    0 个评论
    大家好,前面我们给大家介绍了无线通信中 FEC 编码原理( 1 )和( 2 ),今天继续献上 FEC 编码原理及评价( 3 ),关于不同 FEC 种类的评价,希望对大家有所帮助~   对于不同 FEC 的评价 这里我们介绍一些典型的 FEC 的应用并且做出一些解释和评价。我们根据不同的使用将这一部分分为两块。 1. 互联网中的 FEC 这一部分,我们主要关注三个 FEC 的例子。 ( 1 ) Hamming 码 Hamming 码是由 Hamming 在 1950 年最初使用的,它是一种线性的纠错码,能自动监测出两个同时出现的比特错误并且纠正其中一个。这要比基础的奇偶校验码有效。 Hamming 码不仅有很好的性能,而且它的编码和解码的电路都非常的简单并且易于实施。所以,它被广泛应用于小的电脑中。但是, Hamming 码不能用于两个或两个以上错误比特的纠正。 Hamming 码的例子 2 ) CRC 码 CRC ,是 Cyclic Redundancy Check 的缩写,是通信系统中最普遍也是最强大的错误检测码。它根据信息字段的长度而设计,而校验字段的长度可以随意选择。 利用 CRC 进行的错误检测的过程可以简单的描述为:发送端产生一段 k 比特的二进制码序列,之后根据特定的规则得出 CRC 码并附在原始码字后面。这个具有 (k+r) 比特的二进制码序列就可以被发送了。传输过程之后,接收端根据原始码与 CRC 码之间的规则检测到其中是否有错误。   CRC 在互联网及其他领域的应用非常广泛,因为它具有很强的错误检测能力,低成本并且易于实现。 CRC 不能检测到错误的概率仅为 0.0047% 或更少。对于性能和成本来讲, CRC 要比奇偶校验和算术检测要好的多。但是, CRC 也很有可能会对于不同的信息产生相同的 CRC 码,尤其是当大量信息同时出现的时候。在这种情况下, CRC 将会出现错误并且对于接收方重建原始信息增加了困难。例如,接收方必须要逐个比特进行检查来避免错误,这样会增加很多处理时间,所以,我们需要高性能的发送端和接收端。还有, CRC 显然并不适合只具有低端 CPU 的设备。 CRC 码的计算 ( 3 ) BCH 码 BCH 码,最初由 Bose 、 Ray-Chaudhuri and Hocquenghem 提出,是 Cyclic 码的另一种重要分支。它具有纠正多个错误的能力。 BCH 码有严格的代数理论,是一种被最深入研究的编码方式。 BCH 码的理论优势就是它的解码非常简便,通过被称为综合解码的代数方法来进行解码。这种方法只需要非常简单的电子硬件来完成这一任务,并不需要电脑。这样,解码的设备就可以做的很小并且需要很少的能源。所以,在 BCH 码的帮助下,我们可以利用低端的 CPU 和小型的设备高效的完成错误纠正,比如我们的手机。   无线通信中FEC编码原理及评价(2)请参考: http://bbs.ednchina.com/BLOG_ARTICLE_3003180.HTM 未完待续 文/纪桐  
相关资源