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. Spyglass CDC工具使用(三)

    最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结. 做CDC检查使用的是Spyglass工具.以下内容转载自:Spyglass之CDC检 ...

  2. pip安装报错 cannot uninstall a distutils installed project

    sudo pip install --ignore-installed xxx 在安装jupyter notebook的时候,遇到了这个问题,于是上网搜索,搜到了靠谱答案github解决方案 sudo ...

  3. 利用网络复制安装额外域控制器、利用介质安装额外域控制器、安装RODC额外域控制器

    一.拥有多台域控制器的优势 1.分担用户身份验证的负担,改善用户登录的效率 2.容错功能:若有域控制器故障,此时仍然可以有其他正常的域控制器来继续提供服务,因此对用户的服务并不会停止 二.系统提供两种 ...

  4. Springboot ehcache/redis双缓存问题

    问题1:两个CacheManager 会报两个相同的实现类错误需要继承CachingConfigurerSupport 重写cacheManager方法,指定默认一个返回缓存提供者 @Configur ...

  5. 【Beat】Scrum Meeting 4

    时间:2021年6月29日 1.各个成员今日完成的任务以及贡献小时数 姓名 今日完成任务 贡献小时数 鑫 继续进行bug的修改 4 荣娟 继续进行bug的修改 4 亚楠 继续进行bug的修改 4 桂婷 ...

  6. leetcode-1072 Flip Columns For Maximum Number of Equal Rows

    Given a matrix consisting of 0s and 1s, we may choose any number of columns in the matrix and flip e ...

  7. Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口编程 + 程序打包成Windows软件

    Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布局.界面切换 [本章]Qt 学习笔记 - 第三章 - Qt的三驾马车之一 ...

  8. 问道Golang,6月龄必知必会(二)

    在我看来,golnag有许多反直观的设计,而且这些设计通常不能自圆其说,导致gohper一而再再而三的调入陷阱. 网上也有很多gohper总结了一些笔记,我再提炼精简一下,挂在脑图树上便于记忆. 值类 ...

  9. 【RSocket】使用 RSocket(二)——四种通信模式实践

    Source Code: https://github.com/joexu01/rsocket-demo 0. 四种通信模式 让我们来简单复习一下 RSocket 的四种通信模式: 即发即忘 - Fi ...

  10. mysql基础知识&&常用命令

    了解 什么是数据库?什么是数据管理系统?什么是SQL,他们之间的关系又是什么? 数据库 英文单词DataBase,简称DB,按照一定格式存储数据的一些文件的组合. 顾名思义:存储数据的仓库,实际上就是 ...