转自:http://blog.csdn.net/wiznet2012/article/details/7492146

大家好,前面我们给大家介绍了无线通信中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://blog.csdn.net/wiznet2012/article/details/7468178

无线通信中FEC 编码原理及评价的更多相关文章

  1. 广告系统中weak-and算法原理及编码验证

    wand(weak and)算法基本思路 一般搜索的query比较短,但如果query比较长,如是一段文本,需要搜索相似的文本,这时候一般就需要wand算法,该算法在广告系统中有比较成熟的应 该,主要 ...

  2. Request 接收参数乱码原理解析二:浏览器端编码原理

    上一篇<Request 接收参数乱码原理解析一:服务器端解码原理>,分析了服务器端解码的过程,那么浏览器是根据什么编码的呢? 1. 浏览器解码 浏览器根据服务器页面响应Header中的“C ...

  3. python中的编码问题:以ascii和unicode为主线

      1.unicode.gbk.gb2312.utf-8的关系 http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8 ...

  4. ABP中动态WebAPI原理解析

    ABP中动态WebAPI原理解析 动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类 ...

  5. 一种基于FSIM对视频编码图像质量客观评价的方法

    一 为什么对视频编码图像质量客观评价     视频图像质量主观评价一般采用连续双激励质量度量法对任一观测者连续给出原始视频图像和处理过的失真图像,由观测者根据主观感知给出分值,其需针对多个视频对象进行 ...

  6. JAVA WEB 中的编码分析

    JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...

  7. 深入分析Java Web中的编码问题

    编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...

  8. 空间搜索(圆范围)中Geohash编码方案和网格编码方案对比探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 多个项目中实现范围(圆)搜索的方案为:依赖库表中的X和Y字段构 ...

  9. BASE64编码原理分析脚本实现及逆向案例

    在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理你又了解多少?今天小编带大家了解一下Base64编码原理分析脚本实现及逆向案例的相关内容.   01编码由来 数 ...

随机推荐

  1. shell升级

    对/sbin/nologin的理解   系统账号的shell使用 /sbin/nologin ,此时无法登陆系统,即使给了密码也不行.   所谓“无法登陆”指的仅是这个用户无法使用bash或其他she ...

  2. python2.x下pip install mysql-python报错解决办法

    在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 下载该驱动网盘链接:https://pan.baidu.com/s/1r0fNYnU ...

  3. C++资源之不完全导引

    1,前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈.Stan Lippman先生曾在<C++ Primer>一书中指出“C++是最为难学的 ...

  4. linux pwd指令C实现

    linux pwd指令C实现 研究实现pwd所需的系统调用 我们可以通过man命令和grep命令来获取我们所需要的系统调用函数信息 man chdir Linux pwd命令用于显示工作目录. 执行p ...

  5. Cap+Exceptionless实现日志消息发布订阅异常情况日志处理及Cap DashBoard授权处理

    Dashboard介绍 capOptions.UseDashboard(dashoptions => { dashoptions.AppPath = "applicationpath& ...

  6. NET Core中使用Angular2的Token base身份认证

    下载本文提到的完整代码示例请访问:How to authorization Angular 2 app with asp.net core web api 在ASP.NET Core中使用Angula ...

  7. 【Codechef】BB-Billboards

    题解 传说中的--半标准杨表(行单调不增,列单调减) 如果N能整除M,我们把序列分成\(\frac{N}{M}\)段 然后里面要填K个1,显然我每一段必须填K个1,且可以构造出合法的序列,所以最少要填 ...

  8. HDU4267 树状数组

    题意描述: 给定一个数组,有两种操作: 操作一:a b k c 对于区间a~b之间的元素如果下标满足(i-a)%k=0则给元素i加上c 操作二:a          查询下标为a的元素当前值 解题思路 ...

  9. Wireshark网络分析就这么简单

    tcpdump抓包命令: root#tcpdump -I eth0 -s 80 -w /tmp/tcpdump.cap 注:其中80表示,只抓每个包的前80个字节. 抓包时就筛选自己需要的包: Wir ...

  10. mini-css-extract-plugin简介

    将css单独打包成一个文件的插件,它为每个包含css的js文件都创建一个css文件.它支持css和sourceMaps的按需加载. 目前只有在webpack V4版本才支持使用该插件 和extract ...