1.提供的编解码器
  • Reed-Solomon stable codec over GF(28)                //  GF(2 8 ) 上的Reed-Solomon(里德-所罗门码) 稳定编解码器,RS码
  • Reed-Solomon stable codec over GF(2m)               //  GF(2 m ) 上的Reed-Solomon(里德-所罗门码) 稳定编解码器
  • 1D-2D parity check matrix stable codec                   //  一维-二维奇偶校验矩阵稳定编解码器
  • LDPC-staircase stable codec                                    //  LDPC-楼梯稳定编解码器
  • LDPC from file advanced codec                               //  来自文件高级编解码器的 LDPC
 
2.使用库及其API
以下头文件定义了 OpenFEC 库的 API(应用程序编程接口)。无论使用何种代码/编解码器,这是应用程序需要包含的唯一一个文件。
of_openfec_api.h(通用API头文件,例如提供,最新版本见分发)
此外,还有每个代码/编解码器 API 头文件,以补充具有特定定义的通用文件。例如,这些文件可以在 src/lib_stable/ldpc_staircase/of_ldpc_staircase_api.h(或类似的)中找到。
 
3.使用示例
分发版 (applis/howto_examples/simple_client_server/) 中提供了一个演示服务器/客户端应用程序,它解释了如何使用 OpenFEC 编解码器。这个演示应用程序打开一个 UDP 套接字,服务器执行 FEC 编码并发送(一部分)编码符号,而客户端接收它们并尝试对对象进行 FEC 解码。要使用的编解码器的选择基于对象大小。API 是通用的,无论代码/编解码器的性质如何,大部分代码都是相似的,这有利于 OpenFEC 库的使用。
 
4.使用绩效评估工具
性能评估工具是一组 Perl 脚本。它们允许您使用许多指标(例如低效率比、解码速度或解码失败概率)来测试不同的编解码器和代码。
第一个脚本用于运行代码并将结果记录到数据库中。您必须使用要运行的所有测试填充参数文件。
第二个脚本允许您使用 Gnuplot 自动绘制结果图。以下是您可以生成的曲线示例:
 
解码速度曲线
 
该曲线代表 Reed-Solomon 和 LDPC-Staircase 编解码器的解码速度。您可以自动生成这条曲线之王。性能评估工具会检测到许多编解码器的存在,以仅制作一张包含所有曲线的图表。
 
 
这里,代表了具有不同代码配置的 Reed_solomon 和 LDPC-Staircase 编解码器的解码速度。如您所见,您每秒可以解码数千兆位。
擦除恢复曲线
您还可以确定给定代码的无效率。您只需要运行足够多的迭代,并生成图形。
这是 LDPC QC 频带、LDPC QC 和 LDPC QC 恒定频带与编解码器的低效率比。 
  
您可以轻松绘制损失百分比的解码失败概率(可能很长!)。在这里,您有 LDPC QC Band 编解码器、LDPC QC 恒定带宽编解码器和 LDPC QC 编解码器的解码失败概率,用于损失百分比(使用 de 2/3 码率)。
对于 LDPC 编解码器,您必须选择最大似然解码器(而不是迭代解码器),脚本会自动计算给定代码的最大损失百分比(使用二分法)。
解码复杂度曲线
 
您还可以比较不同编解码器对符号的操作数量。这里是 LDPC-QC 频带、LDPC-QC、LDPC-QC 恒定带宽和 LDPC 编解码器的符号操作数。
生成这种曲线是如此简单!您只需要选择正确的参数并启动脚本。您可以在下载页面的存档中找到更多信息。

OpenFec介绍的更多相关文章

  1. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  2. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  3. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  4. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  5. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  6. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  7. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  8. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

  9. ExtJS 4.2 介绍

    本篇介绍ExtJS相关知识,是以ExtJS4.2.1版本为基础进行说明,包括:ExtJS的特点.MVC模式.4.2.1GPL版本资源的下载和说明以及4种主题的演示. 目录 1. 介绍 1.1 说明 1 ...

  10. ExtJS 4.2 组件介绍

    目录 1. 介绍 1.1 说明 1.2 组件分类 1.3 组件名称 1.4 组件结构 2. 组件的创建方式 2.1 Ext.create()创建 2.2 xtype创建 1. 介绍 1.1 说明 Ex ...

随机推荐

  1. python学习记录(五)-文件操作

    open()参数说明 ''' 参数1:路径 ./当前目录 ../上一级目录 参数2: 基础模式:w r x a w:写入,不存在则创建,存在则打开,清空文件内容,光标指向最前面 r:只读,不存在则报错 ...

  2. 《MySQL是怎样运行的》第四章小结

  3. MAC范洪攻击-macof

    macof 目的:攻击交换机的路由表,实现网络信息嗅探 macof是dsniff中的一个小工具 概要:交换机中存在着一个记录着MAC地址的表,为了完成数据的快速转发,这个表有着自动学习机制,学习后可以 ...

  4. D3和X6

    D3 版本 d3已经更新到v7版本,中文文档只更新到v4版本,存在部分api不适用和过时问题 使用d3-darge插件布局,插件适配d3版本为v5,近年未更新 API 使用darge中setNode和 ...

  5. 本地搭建Stable-Diffusion 教程

    前置条件 有一些python的基础 会使用git 有梯子(最好可以全局代理) Windows系统 + 英伟达1060以上显卡 (mac或者linux 以及电脑是AMD显卡,安装的话,可以自行搜索相关教 ...

  6. Mac连接Win的方法

    前言 我们都知道,Mac和Win还是非常不一样的,作为Macdows双修选手,我今天给大家介绍一些从Mac连接Win的方法. Win的RDP 由于Win默认未安装ssh,我们最常使用的连接方式则是使用 ...

  7. MyBatis 重点知识归纳

    一.MyBatis 简介 [1]MyBatis 是支持定制化 SQL,存储过程以及高级映射的优秀持久化框架.[2]MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取查询结果集.[3 ...

  8. Cannot read properties of undefined (reading 'toUpperCase')

    无法读取 JS 中未定义的属性"toUpperCase"|鲍比哈兹 (bobbyhadz.com) 根据其中的内容找到了答案:使用了未定义的属性去使用toUpperCase()函数 ...

  9. 多线程基础之CAS、AQS、ABA辨析

    这三个单词算是多线程面试常见的问题了,也是很多小白不太懂的问题,这里给出我的理解来. 一.CAS J.U.C 并发包中的很多类都涉及到了 CAS,可以说没有 CAS 和 volatile 就没有 J. ...

  10. java魔功心法-范型篇

    前言: https://www.cnblogs.com/LoveBB/p/17277662.html 什么是范型 JDK 1.5开始引入Java泛型(generics)这个特性,该特性提供了编译时类型 ...