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. alia linux

    alias lrt='ls -lrt'

  2. C#重点语法——特性

    特性的基本理解 ************************************************************************************* 一.含义 特 ...

  3. CentOS7更改阿里源

    阿里云yum源:1)备份当前yum源防止出现意外还可以还原回来cd /etc/yum.repos.d/cp /CentOS-Base.repo /CentOS-Base-repo.bak2)使用wge ...

  4. Visual Studio Tools for Apache Cordova 使用web技术构建使用Ios Andriod 和 windows 的应用

    1.vs 开发web app 2.官方的解说

  5. 初探redis缓存击穿、穿透、雪崩问题

    现分析Redis缓存使用过程失效的一些问题,在有缓存的情况下,查询数据的顺序是先查询缓存,如果查询到数据则直接返回数据,如果没有查询到数据,则到数据库中查询,数据库中有数据的话,将查询出的数据写到缓存 ...

  6. 《MySQL是怎样运行的》第三章小结

  7. Android笔记--内容提供者+Server端+Client端

    什么是内容提供者ContentProvider 为App存取内部数据提供的统一的外部接口,让不同的应用之间得以实现数据共享 Client App端 用户输入数据的一端,或者说是用户读取到存储的数据的一 ...

  8. 【Keil】浅学一下keil中的.sct文件

    [Keil]浅学一下keil中的.sct文件 最近重新捣鼓了acfly的源码,有了新的有趣发现,当然,过程并不有趣. 起因 clone下来我去年提交的代码,编译 ...... 报错辣! linking ...

  9. 为什么 C# 可能是最好的第一编程语言

    纵观神州大地,漫游中华互联网,我看到很多人关注为什么你应该开始学习JavaScript做前端,而对blazor这样的面向未来的框架有种莫名的瞧不起,或者为什么你应该学习Python作为你的第一门编程语 ...

  10. 简述SpringAOP的实现原理

    ​ Spring默认采取的动态代理机制实现AOP,当动态代理不可用时 (代理类无接口)会使用CGlib机制. Spring提供了两种方式来生成代理对象:JDKProxy和Cglib,具体使用哪种方式生 ...