LT码编译码算法实现
- 格式:docx
- 大小:221.02 KB
- 文档页数:8
LT码编译码分析及改进贾惠宁【摘要】Digital fountain code is a class of rateless erasure code. The number of encoded symbols that is generated from the original data is potentially limitless. By the relative study,the reason of decoding termination of digital fountain code was found,which caused by the lack of degree⁃1 encode packages,and may lead to decode terminate ahead of time and decoding failure. Because of this,it is found that the degree⁃2 encode packages occupies a high proportion in the whole encode packages. Therefore,the data package is divided into two groups. Whenthe degree is 2,the data is taken out respectively from the two groups. In this way,the coverage of data can be improved effectively,and the probability of decoding termination in advance can be reduced. With the improvement of coding algorithm,the decoding success rate of digital fountain code was improved.%数字喷泉码是一类不受限的纠错码,即从原始数据分组编码产生的编码分组序列是无限的。
LT码编译码算法优化及应用研究数字喷泉码(Digital Fountain code, DFC)是一种与信道相关性较小的网络编码,在深空通信、网络通信等领域中都具有潜在的应用价值。
数字喷泉码可以改善现行网络传输机制,提高信息传输效率,并且在实际网络应用时,可以改善不同服务介质之间的差异性,满足用户对于数据存储中较高的要求。
但编码数据包冗余度的大小、译码时延、节点发送停止标识、网络节点运算量估计与度数分布函数等都是使得其不易在实际网络中实现的关键问题。
数字喷泉码在提出的时候是一种思想,并没有实际的编码算法,直到后来提出了一种主要的数字喷泉码算法——LT(Luby Transform, LT)码,其具有数字喷泉码固有的基本特征,因此,对LT码算法研究可以有针对性的理解数字喷泉码的构成、性质等,对改进算法以及提高数字喷泉码的实用性奠定基础。
为了改善LT码的编译码算法,提供编码的仿真分析平台,论文基于实际项目背景对LT码进行研究,主要内容如下:1.对数字喷泉码原理进行分析,结合网络编码(Network coding, NC)算法,探讨网络编码和数字喷泉码的特征,为在网络环境中应用具体的数字喷泉码算法提供基础;深入研究其度数分布函数和译码固有的失败概率等关键参数,在充分理解生成矩阵产生以及检测过程的基础上,给出参数在不同条件下的仿真结果;分析数字喷泉码的应用环境,研究其环境变化的适应性,并且讨论数字喷泉码研究中的关键问题。
2.论文针对度数分布函数不理想,没有易实现的合适度数分布函数设计依据,应用数学的极限分析算法,在LT码的度分布中进行研究,最终降低了LT码的编码平均度数和复杂度,其核心的思想主要是对LT码的编码过程在极限条件下进行推导,并且依据推导过程,分析得出了在极限条件下对LT码进行研究的结论。
论文得出在不同的参数条件下,LT码性能差异较大,通过合理的设计LT码方案,最大化LT码优势,优化了LT码的存储结构。
极化码编码与译码算法研究一、本文概述极化码,作为一种新型的前向纠错编码技术,近年来在无线通信和数据存储等领域引起了广泛关注。
极化码由土耳其科学家Erdal Ar ıkan于2007年首次提出,并因其接近香农极限的性能优势而被认为是下一代无线通信标准的关键技术之一。
极化码的核心思想是通过信道极化现象,将一组物理信道转化为一组极化信道,其中部分信道具有接近无噪的容量,而另一部分信道则具有接近全噪的容量。
通过在这些极化信道上传输信息,极化码可以实现高效的编码和译码。
本文旨在深入研究极化码的编码与译码算法,探讨其基本原理、性能特点以及实际应用中的挑战。
文章将介绍极化码的基本原理和信道极化现象,为后续研究奠定基础。
文章将详细阐述极化码的编码算法,包括极化码的构造、信息位和冻结位的选择等关键步骤。
随后,文章将重点分析极化码的译码算法,如连续取消译码(SC)、列表译码(List Decoding)以及置信传播译码(Belief Propagation Decoding)等,并比较它们的性能差异和适用场景。
文章将探讨极化码在实际应用中面临的挑战,如硬件实现复杂度、延迟优化等问题,并提出相应的解决方案。
通过本文的研究,旨在为读者提供一个全面、深入的极化码编码与译码算法研究视角,为推动极化码在实际通信系统中的应用提供理论支持和实践指导。
二、极化码理论基础极化码(Polar Codes)是一种基于信道极化现象的前向纠错编码方式,由土耳其科学家E. Arikan于2008年首次提出。
极化码的理论基础主要源自信息论中的信道极化现象,其核心理念是通过特定的变换,将一组独立的二进制输入信道转化为两个子集,一个子集包含的信道趋向于无噪声,另一个子集包含的信道趋向于完全噪声。
极化码的编码过程主要包括两个步骤:信道极化和编码构造。
信道极化是通过递归的方式将N个独立的二进制输入信道转化为N个极化信道,这些极化信道中,一部分信道具有非常高的可靠性,而另一部分信道则非常不可靠。
Fountain码编译码算法及其实现2003年Luby提出了第一类Fountain码—LT(Luby Transtorm, LT)码,同时也是第一类基于纠删码技术的无码率码。
LT码具有码率不固定、高鲁棒性、高可靠性以及低编译码复杂度等诸多优点,近年来成为了信道编码领域的研究热点。
本文首先对Fountain码编译码算法进行研究,优化和改进LT编译码算法。
然后基于DSP技术设计和实现了LT编译码算法。
主要内容包括:首先,提出基于混沌组合的LT编译码算法。
使用混沌组合伪随机数发生器代替传统的线性同余伪随机数发生器,得到独立性强、周期长的随机数列。
使编码信号的度和度邻接信号的随机选择效果得到了改善,降低了LT编译码算法复杂度。
仿真结果显示,在二元删除信道中,该算法不但能够提高译码效率,便于实现,还保持了线性同余法编码分组头部开销少的优点。
其次,在基于混沌组合的LT编译码算法的基础上引入冗余法。
译码算法利用编码信号的冗余降低编码信号的度,生成新的度为1的编码信号。
消除由于度为1的编码信号耗尽而造成的译码停顿,保证译码过程顺利进行。
仿真结果显示,当信源信号数量较少时在LT译码算法中加入冗余法可以消除译码停顿,进一步提高LT码的译码效率。
最后,采用TI(Texus Instruments, TI)公司的TMS320VC5416芯片,设计和实现了LT编译码算法。
在编译码器中使用反馈控制信号,控制编码信号的码长,降低编码器功耗;使用C语言内部函数生成随机数列,改善了编码信号的度和度邻接信号的随机选择效果;引入冗余信息处理程序,剔除编码信号中冗余,提高译码效率;建立度邻接信号表的位置系数储存机制,有效利用DSP芯片片上内存资源。
基于存储机制的LT码编译码方法姚渭箐;易本顺【摘要】提出一种基于存储(memory-based,MB)机制的Luby变换码的编译码方法,来实现信息在二进制删除信道(binary erasure channel,BEC)中的可靠传输.首先,发送端的编码器采用泊松鲁棒孤子分布(Poisson-robust soliton distribution,PRSD)产生普通编码包,同时产生携带存储信息的“存储包”.然后,源源不断在BEC中发送编码包和“存储包”给接收端.接收端的译码器根据接收到的“存储包”的数量不同,采取不同方式对输入包进行译码.如果“存储包”全部被接收,则所有输入包都能通过“存储包”中的存储信息直接获得;如果部分“存储包”丢失,则结合“存储包”和置信传播(belief propagation,BP)算法进行译码;如果所有“存储包”丢失,则仅采用BP算法进行译码.仿真结果表明,相比LT码的传统编译码方法,采用PRSD-MB方法可以大大降低误比特率,提高编译码效率.%The memory-based (MB) encoding and decoding scheme of Luby transform (LT) codes is proposed to improve the reliability and efficiency of information transmission over the binary erasure channel (BEC).The encoder at the sender generates the common encoded packets by using the Poisson-robust soliton distribution (PRSD),and generates several memory packets carrying the memory information.Then these encoded packets and memory packets are sent over BEC.According to the number of memory packets received,the decoder recovers the input symbols by using different methods.If all memory packets are received,the whole input symbols can be obtained from the memory information in the memory packets directly.If some memory packets are lost,the memory packets andthe belief propagation (BP) algorithm are combined to recover the input symbols.If all memory packets are lost,only the BP algorithm is employed to decode the input symbols.Simulation results show that compared with traditional methods,the proposed scheme achieves a great reduction in the bit error rate,and improves the encoding and decoding efficiency.【期刊名称】《系统工程与电子技术》【年(卷),期】2018(040)001【总页数】6页(P165-170)【关键词】Luby变换码;二进制删除信道;泊松鲁棒孤子分布;存储包【作者】姚渭箐;易本顺【作者单位】武汉大学电子信息学院,湖北武汉430072;武汉大学电子信息学院,湖北武汉430072;武汉大学深圳研究院,广东深圳518057【正文语种】中文【中图分类】TN911.220 引言数字喷泉码是一种实现二进制删除信道(binary erasure channel, BEC)可靠传输的差错控制编码技术[1]。
喷泉码中LT码的二次译码算法冯欣;张艳;贾志成【摘要】LT码是喷泉码的一种,采用LT码的BP译码算法时,当处理完度数为1的数据后,译码将无法继续,造成停止集为空集,影响译码效率.为此,提出一种新的二次译码算法,在译码停止后,针对剩下的编码分组仍然具有可译性的特点,进行进一步译码.仿真结果表明,该算法在译码开销为0.2~0.5的情况下,译码效率普遍提高20%左右.%LT code is a kind of fountain code. When data with degree 1 is proceeded while using BP decoding algorithm, the decoding has to be stopped, which causes stop-set empty, consequently affects the decoding efficiency. This paper proposes a new decoding algorithm for this problem which called the secondary decoding. It carries on a further decoding for the remaining encoding packets with translatability after decoding is stopped. Simulation results show that the secondary decoding increases the efficiency of decoding. When the cost of decoding is between 0.2 and 0.5, the decoding efficiency is generally improved by 20%.【期刊名称】《计算机工程》【年(卷),期】2012(038)006【总页数】3页(P291-293)【关键词】喷泉码;LT码;Raptor码;BP译码算法;度分布函数;二次译码算法【作者】冯欣;张艳;贾志成【作者单位】河北工业大学信息工程学院,天津300401;河北工业大学信息工程学院,天津300401;河北工业大学信息工程学院,天津300401【正文语种】中文【中图分类】TP301.61 概述在目前的数字通信系统中,前向纠错(Forward Error Correction, FEC)技术[1]得到了广泛的应用。
增强安全性的LT码编译码方案研究数字喷泉码作为一种差错控制方法,能实现信息的高效、可靠传输。
喷泉码常用的置信传播译码算法要求必须存在度为1的编码数据包,其就是源信息的复制,很容易造成信息的直接泄露。
此外,对译码起着重要作用的编码生成矩阵信息通常是放在数据包的头部与其一同传送给译码器,采用这种方式时,窃听者只要窃取到了编码数据包,就获得了编码的相关信息,也就能进行相应的译码,信息安全得不到基本的保障。
本文主要对有传输安全性要求的应用场景中LT码的编译码方案进行研究,对LT码的编译码方案、编码生成矩阵的产生方式进行修改,增强信息传输的安全性。
论文的主要工作如下:1.针对LT码中度为1的数据包信息直接泄露的问题,对LT码的编码方式进行修改,不产生度为1的数据包,改为产生相关联的度2和度3的编码数据包。
由于不能使用常规的置信传播算法进行译码,相应给出在置信传播译码算法基础上增加度2数据包处理环节的译码算法,同时也给出降低译码复杂度的基于稀疏矩阵的高斯消元译码算法。
仿真结果显示,两种译码算法都能成功完成修改后的LT码的译码,前者具有更低的译码复杂度,而后者具有更低的译码开销。
而与传统的高斯消元算法相比,基于稀疏矩阵的高斯消元译码算法的复杂度明显下降。
2.针对编码生成矩阵的安全传输问题,给出编码生成矩阵在编码器和译码器之间伪随机同步产生的方案。
首先利用伪随机发生器生成(0,1)区间上的均匀伪随机数,然后将其转化为符合指定的编码度分布的随机度值以及选择源数据包时所需的随机序号值。
通过实验验证生成的随机度值是否符合指定的编码度分布函数、数据包的随机选择是否符合要求。
采用该方案时,只需要在编码器和译码器间通过保密信道交换种子,就能产生一样的伪随机数列,实现编码生成矩阵在编译码器之间伪随机同步产生,避免了编码生成矩阵在信道上的直接传输,可有效地提高数据的安全性,也降低了传输的开销。
LT码的BPML译码算法
朱宏鹏;李广侠;冯少栋
【期刊名称】《计算机科学》
【年(卷),期】2009(036)010
【摘要】采用置信度传播算法(BP)对LT码进行译码时,停止集是影响译码效率的重要因素.对LT码停止集的大小进行了理论分析和仿真,提出了置信度传播最大似然联合译码算法(BPML).该算法首先采用BP算法译码,当遇到停止集时再采用最大似然译码算法(ML)对停止集进行处理,能够有效消除停止集的影响,提高LT码的译码效率.仿真结果表明,BPML算法结合了BP算法复杂度低和ML算法译码效率高的优点.研究结果对提高计算机网络中数据分发应用的分发效率具有重要的实用价值.
【总页数】5页(P77-81)
【作者】朱宏鹏;李广侠;冯少栋
【作者单位】解放军理工大学通信工程学院,南京210007;解放军理工大学通信工程学院,南京210007;解放军理工大学通信工程学院,南京210007
【正文语种】中文
【中图分类】TN911.22
【相关文献】
1.基于外信息符号差的 LT码串行译码算法 [J], 谢红;崔健博;解武
2.LT码的增强型BP译码算法 [J], 杨晓非;季瑞军;黄胜;张春明
3.基于MSK和LT码的联合迭代译码算法 [J], 胡俊红;高宏峰;师歌
4.一种基于短LT码的级联编译码算法 [J], 黄晓可;刘洛琨;郭虹
5.LT码的一种非阶梯化高斯消元译码算法 [J], 贺亮;雷菁;黄英
因版权原因,仅展示原文概要,查看原文内容请购买。
LT喷泉码低复杂度编译码器的设计
数字喷泉码是一种用于实现大规模数据分发和可靠广播的理想编码方案,具有无码率和反馈信息少这两大优势,非常适合于无线通信中的信道编码。
卢比变换(LT)码作为数字喷泉吗的第一种实现方式,其译码冗余度与码长成反比,而较
长的码长会增加编码生成矩阵的数据量,进而增加设计的复杂度和硬件资源消耗。
本文结合码本技术的特点,采用System Verilog语言设计了一个低复杂度的中等码长LT码编译码器。
总结了LT码的研究现状,介绍了LT码的设计理论和码本技术在LT编译码器设计中的应用。
LT码编译码电路的码率为4Mbits,数据收发工作频率为16MHz,译码冗余低
于0.5,码长为1024。
为了降低设计的复杂度,在LT编码器的设计中,应用码本技术对生成矩阵数据进行压缩,然后在度分布模块中采用截断的度分布函数和改进的查找表方法。
在译码器的设计中,去掉解压缩过程,直接采用经过压缩的数据进行在线译码,运算模块中加入了位置向量表以及空地址查找的功能。
完成LT码编译码器的RTL级设计后,对LT码编译码器进行了System Verilog验证平台的功能仿真和FPGA验证,仿真和验证结果表明,所设计的LT码编译码器具有电路复杂度低的特点,在硬件资源的消耗中,组合逻辑单元占用2735个,寄存器单元占用1407个,
内存单元占用667Kbits。
数据收发的工作频率最大为50MHz。
然后,对LT码编译码器电路进行误码率计算,当信噪比为9dB时,误码率为8.75×10-6,又对LT码译码器电路的译码冗
余度进行了统计,译码冗余为0.45,以上结果均满足设计需求。
一种基于短LT码的级联编译码算法
黄晓可;刘洛琨;郭虹
【期刊名称】《数据采集与处理》
【年(卷),期】2014(29)3
【摘要】针对实时无线通信对短纠删码的需求,提出一种短码长LT码与传统纠错码的级联方案.在综合考虑算法复杂度与纠错性能的情况下,选取RS码和卷积码的级联(Reed solomon convolution coding,RS-CC码)以构造等效删除信道,并采用实时性高的短LT码实现纠删功能.设计了一种适合短LT码的译码算法,同时给出了编码度分布的选取方法.仿真结果表明,与已有短喷泉码相比,文中短LT码成功译码时所需编码冗余更少,应用到级联方案后的数据传输可靠性明显提高.
【总页数】6页(P445-450)
【作者】黄晓可;刘洛琨;郭虹
【作者单位】解放军信息工程大学信息系统工程学院,郑州,450002;解放军信息工程大学信息系统工程学院,郑州,450002;解放军信息工程大学信息系统工程学院,郑州,450002
【正文语种】中文
【中图分类】TN911.7
【相关文献】
1.一种基于BP短LDPC码的改进级联算法 [J], 韩壮;酆广增
2.基于空间策略网格的符号级联合信源信道编译码快速算法 [J], 王强张灿高绍帅
凃国防;
3.基于随机置换展开与停止集的LT码联合编译码算法 [J], 焦健;杨志华;顾术实;周洁;张钦宇
4.级联码中的高码率短码长SLT码设计 [J], 刘晓健;孙小钧
5.一种适用于短码长LT码的改进编码算法 [J], 宋鑫;廖育荣;丁丹
因版权原因,仅展示原文概要,查看原文内容请购买。
LT码编译码算法实现1.1 LT码编码程序实现1.1.1概述LT编码程序的主要任务是通过Ideal Soliton分布或者给定参数c和δ的Robust Soliton分布公式得到度分布。
然后每次编码过程都以度分布概率ρ(d)生成邻接元个数d,随机选择d个邻接元的位置。
利用这d个邻接元与对应位置的码原符号进行异或和运算,生成单次编码符号。
重复上述过程M次。
其中每次编码被选择的邻接元位置上置1,其它位置上置0,加上生成的编码符号得到1×(K+1)阶矩阵。
M次编码产生的矩阵组合在一起,即可得到接收端需要的编码符号集。
模拟度分布概率产生邻接元个数采用区间法。
主要过程为将度分布概率累加形成区间,然后利用C语言的标准随机数发生器产生随机数,判断随机数位于哪一区间,对应可得到一个数,这个数即为单次编码的邻接元个数。
区间的绝对差值大小对模拟概率分布误差有很大影响,区间设置越大,模拟概率更准确。
确定邻接元个数后,随机产生邻接元位置。
其中需要保证每次产生的邻接元位置不同。
实现方法主要是利用数组记录每次位置,之后每次编码首先查找记录位置数组中是否已存在该位置。
1.1.2步骤主要步骤:1.利用Ideal Soliton分布公式产生理想度分布数组,若需使用到Robust Soliton分布,则依据给定的参数c、δ、公式S≡c ln(K/δ)√K以及理想度分布数组产生Robust Soliton分布数组。
2.由对应分布数组累加形成[0,1]的累加分段区间,将各区间乘以一个较大的数,增加模拟的准确性。
3. 利用C语言的标准随机数发生器产生随机数,依据随机数所属区间,产生邻接元个数。
步骤1、2、3主要用于产生邻接元个数,合并步骤为Ⅰ。
1. 利用步骤Ⅰ产生邻接元个数。
5. 利用C语言的标准随机数发生器产生[1,(K−1)]随机数,即邻接元位置,若为单次编码的第一个邻接元,则不判断是否重复,否则需判断是否产生重复位置。
记录邻接元位置至数组。
6.重复步骤5 d次,将对应邻接元位置置1,其他位置置0。
再和码元符号作异或和运算,产生单次编码符号。
邻接元位置和编码符号形成单次编码1×(K+1)阶矩阵。
7.重复步骤 4、5、6 M次,完成整个编码过程。
8.将每次编码过程的1×(K+1)阶矩阵合并成M×(K+1)阶矩阵,组成一次编码符号集,传输给接收端。
补充:模拟不断接收编码符号集的过程,需要再不断产生A×(K+1)阶矩阵组成的编码符号集,其中A远小于M。
目前程序不做补充部分程序实现。
1.2译码程序实现1.2.1迭代置信传播译码实现1.2.1.1概述迭代置信传播译码主要任务是首先对接收到的编码符号集作每单次编码的邻接元个数统计,之后再通过查询统计数组值为1的下标即寻找只有一个邻接元的单次编码。
编码符号集对应编码符号即为恢复的码源符号。
再利用恢复还原的码源符号,去消除该码源符号参与编码的对应行,作异或和运算。
对应消除码源符号行的邻接元个数统计相应减1。
恢复还原一个码源符号,已译码个数则加1。
再次寻找查询统计数组值为1的下标,重复还原码源符号过程,直至全部译码完成或者寻找不到查询统计数组值为1的下标。
迭代置信传播译码主要通过迭代完成,主要适合于度分布中度值为小值时概率较大的情况。
相较于高斯消元译码,更适合中长码译码。
1.2.1.2 步骤1.统计接收到的编码符号集对应行的邻接元个数,用数组记录。
2.从统计邻接元数组中查询值为1的下标,因只有1个邻接元,编码符号即为对应的恢复码源符号,并记录该行值为1的位置h。
3.从编码符号集对应h列,查找值为1的行,代入恢复码源符号即该行作异或和运算,对应行统计邻接元数组中的值减1。
完成一次码源恢复过程。
1.重复步骤2、3,直至全部译码完成或统计邻接元数组找不到值为1的值。
1.2.2 高斯消元译码实现1.2.2.1概述高斯消元的主要任务是对接收到的编码符号集增广进行消元处理,通过逐步消元,得到标准矩阵,再从标准矩阵中提取恢复码源信息。
消元处理过程主要是从M ×(K+1)阶矩阵的第一行开始,判断矩阵Matrix [1][1]是否为1,是则不作处理,否则从第一列寻找为1的行,交换两行,之后再进行第一列的消元。
重复该过程K次,直至前K列全部消元。
之后判断矩阵对角线是否全部为零,若全部为零,译码成功,否则译码失败。
1.2.2.2 步骤设接收到的矩阵为Matrix[M][K+1]1.i=1,判断Matrix[i][i]是否为1。
其中i从1到K。
2.若是,则不做操作;否则,查找Matrix[j][i]为1的行,交换两行。
其中j从i到M。
3.对矩阵第i列进行消元。
消元过程如下1.查找Matrix[j][i]为1的行,对Matrix[j]做如下处理。
Matrix[j][h]= Matrix[j][h]⋀Matrix[i][h],其中h从1到(K+1),⋀为异或运算符5.判断Matrix[i][i]对角线上是否全部为1,若是,译码成功;否则译码失败。
1.2.3并行高斯消元译码设计1.2.3.1概述并行高斯消元译码的主要任务是在串行高斯消元译码的基础上,对消元过程做并行处理和实现多次译码过程的并行处理。
OpenCL中引入了全局工作项、工作组和局部工作项的概念。
译码实现的过程主要是对多次接收到的编码符号集矩阵Matrix[M][K+1]合并成Matrix[T × M][K+1], 其中T为合并编码符号集的数量,再把合并的矩阵作为数据加载到全局工作空间缓存,并把矩阵的每一行作为一个工作组,OpenCL能够实现工作组的并行计算。
通过一定的处理就能够实现多个编码符号集并行译码和单个编码符号集矩阵的并行消元过程。
1.2.3.2详细设计1.将多次接收到的编码符号集进行合并,加载到全局工作空间缓存。
2.对加载到全局工作空间的编码符号集划块。
每个块可以实现并行处理。
3.对单个编码符号集进行并行消元处理。
1.对单行消元过程的消元计算进行并行处理。
5.将全局工作空间缓存读取到宿主工作空间。
6.对每个编码符号集进行译码成功与否判断。
7.将译码成功的恢复码源进行存储,译码工作结束。
译码性能比较1Ideal Soliton分布和RobustSoliton分布下译码性能比较通过程序模拟,对不同度分布和不同译码方式下的误块率、误码率进行了比较。
其中误块率是传输块经过校验后的错误概率,误码率是在数据传输系统中码元被传错的概率。
译码误块率、误码率性能如图5.1、图5.2所示:图5.1 Ideal Soliton分布(K=100)错误率图5.2 Robust Soliton分布(c=0.1 sigma=0.05 K=100)错误率Ideal Soliton分布下,两种译码方式随着M的增加,误块率、误码率都逐渐下降。
Robust Soliton分布下,两种译码方式随着M的增加,误块率、误码率则都急剧下降。
无论那种分布下,高斯消元译码方式误块率、误码率都要远好于迭代置信传播译码方式,且两种译码方式下误码率下降幅度要大于误块率。
通过程序模拟,也对不同度分布和不同译码方式下的译码时间进行了比较。
如图5.3所示:图5.3 K=300译码时间统计两种译码方式下,Ideal Soliton分布的译码时间都要略小于Robust Soliton分布,但差值较小。
两种分布下,随着M值的增加,译码时间逐渐增加,增幅比例不大。
但高斯消元译码方式译码时间要远大于迭代置信传播译码方式,且随着M值的增加高斯消元译码时间/迭代置信传播译码时间之比由最初的3倍上升到7倍以上。
由以上比较可知,高斯消元译码方式下误块率、误码率性能都要好于迭代置信传播译码方式。
但误块率、误码率性能的改善都以译码时间作为代价,高斯消元译码时间是迭代置信传播译码时间的3-10倍。
且随着K值与M值的增加,倍数比值还会变得更大。
2 串行与并行高斯消元译码方式下译码性能比较2.1误块率、误码率性能比较通过模拟数据可知,串行高斯消元译码与并行高斯消元译码在误块率及误码率性能上差异并不明显,主要原因是串行和并行译码采用的译码主要消元方法基本一样,因此,两种方法的可靠性并没有太大差异。
且对于两种不同分布,并行译码方式下误块率、误码率性能与之前串行相似。
模拟数据如图5.7、5.8、5.9、5.10所示:图5.7 Ideal Soliton分布(K=80)错误率统计图5.8 Robust Soliton分布(K=80)错误率统计2.2译码时间比较由模拟数据可以看出,串行译码和并行译码在译码时间的性能上还是有较大的差距。
串行译码时间随着M值的增加而增加,而并行译码由于都为并行处理,所以并未随着M值的增加而增加,基本保持不变。
由模拟数据可知不同运行环境下串行译码时间与并行译码时间之比也不同。
在运行环境①下,串并比基本在5-20倍之间,而在运行环境②下,串并比达到了10-35倍之间。
两种不同分布下串并比无较大差异。
虽然两种环境下并行译码时间没有很大差别,但不同性能的GPU所支持的最大工作组大小是不一样的,也即意味着在本算法下,性能更好的GPU支持的K值更大。
表5.1 Robust Soliton分布 c=0.1 Sigma=0.05 K=80高斯消元串并行译码时间表5.2 Ideal Soliton分布 K=80高斯消元串并行译码时间以上数据运行环境①并行GPU:AMD Radeon HD 6300M Series串行CPU:Intel Core i3-2310M表5.3 Robust Soliton分布 c=0.1 Sigma=0.05 K=80高斯消元串并行译码时间以上数据运行环境②并行GPU:A TI Radeon HD 7800 Series串行CPU:AMD FX-8320在当前OpenCL 1.2版本环境中,并行译码中涉及到宿主机与OpenCL设备间的从宿主机内存写入数据至全局工作空间和从全局工作读取数据至宿主机内存,这些步骤会产生一些额外的时间开销。
但从最新咨询获知,即将发布的OpenCL 2.0版本很好地解决了宿主机与OpenCL设备间传输缓存数据的问题。