转自: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. javaScript对金额处理的方式

    例如 var price = $("#price").val(); 此时price 为字符串格式 假使我们想将其乘以100 可以选择 price*100将其转换为数值格式 但是有些 ...

  2. .NetCore 利用Jenkins在 Windows平台下打包发布Angular项目

    准备环境 安装Jenkins 首先装node,版本根据实际环境而定(node安装包中包含了npm) 安装一般都配置好了环境变量,检查下如果没有就配置下 Jenkins中安装NPM插件 GIt获取代码 ...

  3. VSCode配置简单的vue项目

    VSCode配置简单的vue项目 https://www.cnblogs.com/wnxyz8023/p/9989447.html 由于最近要使用的项目框架为前后端分离的,采用的是vue.js+web ...

  4. Codeforces Round #480 (Div. 2) E - The Number Games

    题目大意:给你n个点的一棵树, 每个点的权值为2^i ,让你删掉k个点使得剩下的权值和最大. 思路:这题还是比较好想的, 我们反过来考虑, 剩下一个的情况肯定是选第n个点,剩下两个 我们肯定优先考虑第 ...

  5. 【Java】 大话数据结构(14) 排序算法(1) (冒泡排序及其优化)

    本文根据<大话数据结构>一书,实现了Java版的冒泡排序. 更多:数据结构与算法合集 基本概念 基本思想:将相邻的元素两两比较,根据大小关系交换位置,直到完成排序. 对n个数组成的无序数列 ...

  6. thinkphp5.0未定义变量模板中提示错误

    在用tp5.0做一个项目网站,公共头需要用到一个变量,但这个变量又不想挨着定义,然后,刷新前台的时候就给提示,未定义变量. 直接放解决方案: 在config.php文件顶部添加: error_repo ...

  7. HTML中元素的定位方式

    初中物理就学过,位置是相对的,要有参照物,因此,所有定位都是相对参照物的定位. position 属性: 规定元素的定位类型,该属性的可选值有static.relative.absolute.fixe ...

  8. gi常用命令

    git提交代码流程 git status 检查当前代码和主支代码不同的状态 git diff 可指定文件查看这个文件修改的内容 git add . 把自己所有修改的代码提交 git commit 提交 ...

  9. Ubuntu安装及卸载brew

    网站:http://linuxbrew.sh/ 一.安装: 不能在root下运行 $sh -c "$(curl -fsSL https://raw.githubusercontent.com ...

  10. Bzoj3677:树形DP

    首先我们知道这棵树的形态,一眼DP.考虑蓝线的性质,显然蓝线在树上是连接连续三个节点的.这样就有三种情况:连接 一个节点 的 某个孩子->本身->父亲 或者 一个孩子->本身-> ...