CN109194445A - 一种适用于短码长喷泉码的编译码优化方法 - Google Patents
一种适用于短码长喷泉码的编译码优化方法 Download PDFInfo
- Publication number
- CN109194445A CN109194445A CN201811066650.0A CN201811066650A CN109194445A CN 109194445 A CN109194445 A CN 109194445A CN 201811066650 A CN201811066650 A CN 201811066650A CN 109194445 A CN109194445 A CN 109194445A
- Authority
- CN
- China
- Prior art keywords
- decoding
- coding
- raw information
- information
- grouping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种适用于短码长喷泉码的编译码优化方法,该方法可以有效提高喷泉码编码效率与可译码性能,并降低短码长条件下的译码开销。在发送端进行编码时,本发明基于统计的原始信息分组发送概率,以近似均匀发送各个原始信息分组为目标进行编码。在接收端采用置信传播译码算法时,本发明利用停止集内的剩余可用信息,设计了一种多层译码优化算法,其层数可根据需要确定,实现了译码算法与性能的折衷。通过收发端编译码算法的设计,本发明能够提高短码长条件下的喷泉码编译码效率。
Description
技术领域
本发明属于无线通信中的前向纠错编码技术领域,具体涉及一种适用于短码长喷泉码的编译码优化方法。
背景技术
在通信系统中,为实现数据的可靠传输,通常采用ARQ类技术和前向纠错技术。在系统前馈链路和反馈链路存在且较为稳定时,ARQ类技术可以有效保证传输过程的可靠性。然而,在一些场景下此类技术难以应用,例如不存在反馈链路或者反馈链路误码率较高时。作为前向纠错编码的一类,喷泉码有着无码率、无需反馈、能以任意小的概率逼近香农限的特性,特别适用于信道质量较差、传输时延较大、信道不对称等传输场景。然而,传统的喷泉码设计方法在原始信息码长较短(102级别)的情况下,由于随机产生的编码分组的度分布与理论分布差距较大,导致译码性能较差。在实际的工程应用中,业务量不多的情况下原始信息码长较小,需要对传统的喷泉码机制进行优化。针对该问题,业界主要解决方法有以下几类:
1)适用于短码长喷泉码的随机度分布函数优化方法。由于传统的鲁棒孤子分布在短码长下效果不佳,业界展开了对短码长条件下度分布函数的研究。此类方法的主要思路是,基于译码性能与度分布函数存在确定的关系这一事实,将这种关系通过中间函数——期望可译集函数联系起来,并通过对该函数的优化,获得短码长下较鲁棒孤子分布更好的度分布函数,从而达到提升译码性能的效果。
2)适用于短码长喷泉码的固定编码优化方法。由于某些场景下传输过程的丢包率相对固定,业界展开了对固定编码方式的研究。此类方法的主要思路是,以固定的传输丢包率为目标,设计每个编码信息分组的组成方式,即设计固定的生成矩阵。该矩阵的特点是,删除一定数量的列(或者行),该矩阵仍然满秩,表明原始信息分组可解。此类方法中生成矩阵能够容忍被删除的行或列数是根据传输丢包率来设计的。
3)适用于短码长喷泉码的编译码优化方法。由于实际应用时不同业务量条件下码长不定,为每一种码长单独设计度分布设计较为繁琐,不利于实际工程应用,业界展开了在采用固定的度分布函数条件下的编译码优化方法的研究。此类方法的主要思路是,在编码端,在度分布固定的前提下优化组成每个编码信息的原始信息的组成方式;在译码端,通过挖掘停止集内剩余的可用于译码的信息,重新启动译码过程。
发明内容
本发明的目的是提出一种适用于短码长喷泉码的编译码优化设计方法,从而有效提高编码效率与可译码性能,同时降低短码长条件下的译码开销。
本发明适用于短码长喷泉码的编译码优化设计方法,设原始信息有K组,定义为其中表示第k个原始信息分组向量,表示一个l行K列的实矩阵,l是原始信息分组长度;编码信息是经过喷泉编码后的向量集合,其中表示第n个编码信息分组;生成矩阵表示编码关系,S、R与G之间有如下关系:
RT=G×ST
本发明包括以下步骤:
步骤1:生成用于储存原始信息分组权值的向量;
步骤2:按照给定的度分布函数,自动生成当前编码信息的度d;其中,度分布函数是在编码操作开始前确定的函数,是一个关于度值d的概率分布函数。
步骤3:根据原始信息分组的权值,优化选择d个原始信息分组进行异或编码;
步骤4:将编码完成的编码信息分组按协议封装,并交给更低层的协议栈;例如传输层协议TCP、UDP等等;
步骤5:接收端解包提取出编码信息分组,当接收到K个编码信息分组时,启动译码;
步骤6:针对停止集采用多层译码优化算法;
步骤7:根据接收迭代步长,接收更多的编码分组,并重新启动置信传播译码过程;
步骤8:输出译码结果。
步骤1包括:生成一个K列零向量其中wk表示第k个原始信息分组的权值,表示一个1行K列的实数向量。权值向量w将随着编码过程中各原始信息分组被选择的情况不断更新。
步骤3包括:
步骤3-1,如果原始信息分组中存在没有参与过任何一个编码信息分组编码过程的原始信息,即该原始信息分组的权值为0,则优先选择该原始信息;如果当前权值为0的原始信息的数量大于d,则随机选择d个权值为0的原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d;
如果当前权值为0的原始信息的数量小于d,则选择所有权值为0的原始信息,而后在剩余的原始信息里随机选取补齐d个原始信息,并进行异或编码,然后对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d。
步骤3-2,如果原始信息分组中不存在没有参与过任何一个编码信息分组编码过程的原始信息,则根据其权值信息将K个原始信息分组分类,所有权值相等的原始信息分组分为一类,类别数量M满足1≤M≤K,其中表示正整数;如果M≥d,则依次在权值较低的d类原始信息分组的每类中随机选择一个原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d;
如果M<d,则先在M类中每类随机选择一个原始信息,再将已选择的原始信息剔除,按照权值分类,继续根据权值由低到高选择剩下的d-M个原始信息分组,直至选满了d个原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d。
步骤5包括:接收端接收到K个编码信息分组后,启动置信传播译码算法,该算法的具体流程见(《2002年电气工程师协会计算机科学基础年度研讨会》(in Proc.IEEEFOCS,Vancouver,Canada,Nov.2002)“LT码”(LT Codes))。如果得到K个原始信息分组,即译码成功,则跳到步骤8;否则,将剩余编码分组所组成的停止集作为输入,进入步骤6。
步骤6包括:
步骤6-1,通过从发送端传递,或者收发端共同生成的、完全相同的编码分组与原始信息分组的对应关系,生成表征停止集中的编码信息分组与原始信息分组之间关系的的生成矩阵;其中,一旦当前编码信息分组的度值d确定后,根据步骤3,优化选择d个原始信息分组,并将这些原始信息分组进行易或操作,从而获得当前编码信息分组。通常情况下,编码信息分组与原始信息分组之间的对应关系,既可以通过发送端传递的方式告知接收端,也可以通过在收发端双方利用同样的算法计算得到相同的结果。该对应方式的传递模式见(《2002年电气工程师协会计算机科学基础年度研讨会》(in Proc.IEEE FOCS,Vancouver,Canada,Nov.2002)“LT码”(LT Codes))。
步骤6-2,多层译码优化算法的译码层数设定为L,层数L随码长K值的变化而变化,当码长K较小(小于50)时,设置为2即可。启动第1层译码优化算法:针对停止集中每一个接收到的编码分组rx,x∈{1,2,...,N},从生成矩阵中提取rx相应的行G(x,:),并标记该行元素不为0的列标集合,记为Cx;寻找生成矩阵中的其他行,设定是第y行G(y,:),该行元素不为0的列标集合Cy中,有Cx中的元素,标记为Cy,in,也可能包含不在Cx中的元素,记为Cy,out,该行对应的编码分组为ry;Cy,in与Cy,out都有可能是空集,对于Cy,in是空集的行,直接跳过;如果Cx、Cy,in与Cy,out满足下列两个条件中的一个,将G(x,:)与G(y,:)、rx与ry分别按位异或,G(x,:)=bitxor(G(x,:),G(y,:)),rx=bitxor(rx,ry),其中bitxor()是按位异或函数:
条件1:若满足Cy,in∈Cx且|Cx|-|Cy,in|=1;
条件2:若满足Cy,in=Cx且|Cy,out|=1;
启动置信传播编码,从而完成第1层的译码优化,如果译码成功,则不需要更高层次的译码优化过程,否则执行步骤6-3;
步骤6-3、启动第2层译码优化算法:经过第1层的译码优化算法后,生成矩阵中已经不存在任何两行能够通过相互异或得到度为1的编码分组,针对停止集中每一个接收到的编码分组rx,x∈{1,2,...,N},从生成矩阵中提取rx相应的行G(x,:),并标记该行元素不为0的列标集合,记为Cx;寻找生成矩阵中的其他两行,设定是第y行G(y,:)与第z行G(z,:),其中G(y,:)行元素不为0的列标集合Cy中,有Cx中的元素,标记为Cy,in,也可能包含不在Cx中的元素,记为Cy,out,该行对应的编码分组为ry;G(z,:)行元素不为0的列标集合Cz中,有Cx中的元素,标记为Cz,in,也可能包含不在Cx中的元素,记为Cz,out,该行对应的编码分组为rz;Cy,in、Cy,out、Cz,in与Cz,out都有可能是空集,对于Cy,in是空集且Cz,in也是空集的行组合,直接跳过;如果Cx、Cy,in、Cy,out、Cz,in与Cz,out满足下列两个条件中的一个,将G(x,:)、G(y,:)与G(z,:),rx、ry与rz分别按位异或,得到G(x,:)=bitxor(G(x,:),bitxor(G(y,:),G(z,:))),rx=bitxor(rx,bitxor(ry,rz)):
条件1:若满足(Cy,in∪Cz,in)-(Cy,in∩Cz,in)∈Cx且|Cx|-|(Cy,in∪Cz,in)-(Cy,in∩Cz,in)|=1;
条件2:若满足(Cy,in∪Cz,in)-(Cy,in∩Cz,in)=Cx且|(Cy,out∪Cz,out)-(Cy,out∩Cz,out)|=1;
启动置信传播编码,从而完成第2层的译码优化,如果译码成功,即所有原始信息分组都被成功译出,则不需要更高层次的译码优化过程,否则执行步骤6-4;
步骤6-4、完成第3层以及更高层的译码优化算法,直到译码成功进入步骤8,或者达到了设定的译码层数L进入步骤7。
步骤8包括:将译码结果,即译出的原始信息分组组合成原始业务信息,交给上层协议或应用使用,例如应用层协议SNMP、TFTP、DNS等。本发明提出的是传输层编译码方法,一旦译码成功,最后得到的就是原始信息分组,因为底层有相应的CRC机制;原始业务信息是由上层协议栈交给传输层的,再通过本发明提供的编译码方法编码发送,因此,该方法适配上下层各类协议,并不对上层业务、协议以及下层协议类型有要求。
不同于随机选取的方法,本发明提出的优化编码方法能够较好优化原始信息分组参与编码的均匀性,该方法需要满足以下要求:
1)所述优化编码方法中,针对尚未参与编码的原始信息分组和已经参加的原始信息分组存在不同的处理方式;
2)所述优化编码方法中,针对尚未参与编码的原始信息分组,设计原则是尽快覆盖所有原始信息分组;
3)所述优化编码方法中,针对已经参与编码的原始信息分组,设计原则是在能够提供译码增益的前提下,尽可能均匀选择原始信息分组。
基于传统的置信传播译码方法,本发明提出的多层优化译码方法能够有效利用停止集内可用的译码信息,提高译码概率,该方法应满足以下要求:
1)所述迭代多层译码优化方法中,各层的设计目标一致,都是重新生成度为1的编码分组,从而重新开始已经停止的置信传播译码过程;
2)所述迭代多层译码优化方法中,随着层数的增加,所利用的停止集内的信息和计算复杂度也随之增加;高层次的译码优化是以低层次译码优化的结果为基础的,即该优化方法是逐步优化、复杂度可控的。
本发明与现有技术相比,其有益效果为:
本发明提出了一种适用于短码长喷泉码的编译码优化设计方法,通过在发送端基于统计的原始信息分组发送概率来优化选择原始信息分组的方法,达到近似均匀发送各个原始信息分组的目标。在接收端,利用停止集内的剩余可用信息,设计了一种多层译码优化算法,其层数可根据需要确定,实现了译码算法与性能的折衷。通过收发端编译码算法的设计,本发明能够提供了一种全新的、短码长下的喷泉码编译码方法,能够提高短码长条件下的喷泉码编译码效率,且性能近似最优。该方法适用于诸如分布式数据存储、深空通信、无线协作传输和多播传输等系统。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是本发明提出的喷泉码编译码优化设计方法实施流程图;
图2是本发明提出的喷泉码编译码优化方法在K=10时的成功译码概率曲线;
图3是本发明提出的喷泉码编译码优化方法在K=10时的误包率曲线;
图4是本发明提出的喷泉码编译码优化方法在K=10且传输丢包时的成功译码概率曲线;
图5是本发明提出的喷泉码编译码优化方法在K=10且传输丢包时的误包率曲线;
图6是本发明提出的喷泉码编译码优化方法在不同码长下的成功译码概率曲线;
图7是本发明提出的喷泉码编译码优化方法在不同码长下的误包率曲线。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明提出的适用于短码长喷泉码的编译码优化设计方法的实施流程如图1所示,主要包括8个步骤:1)生成用于储存原始信息分组权值的向量,2)按照给定的度分布函数,自动生成当前编码信息的度d,3)根据原始信息分组的权值,选择d个原始信息分组进行异或编码,4)将编码完成的编码信息分组按协议格式化封装,并交给更低层的协议栈,5)接收端解包提取编码信息分组,接收到K个编码信息分组时,开始译码,6)针对停止集采用多层译码优化算法,7)接收更多的编码分组,重新启动译码过程,8)译码结果输出。下面对每个步骤的实施作进一步详细描述。
步骤1:生成一个K列零向量用以存储K个原始信息分组的权值。
步骤2:按照给定的度分布函数,自动生成当前编码信息的度d。
对于每一个编码信息向量,按照给定的度分布选择当前编码向量的度。在本实施方式中,选择《2002年电气工程师协会计算机科学基础年度研讨会》(in Proc.IEEE FOCS,Vancouver,Canada,Nov.2002)“LT码”(LT Codes)一文中提出鲁棒孤子分布,其形式如下:
其中,μ(d)表示鲁棒孤子度分布函数,该函数是由理想孤子度分布函数ρ(d)与辅助函数τ(d)组成的:
其中,c是鲁棒性参数,满足0<c<1;δ是译码概率上界参数,满足0<δ<1。表示向下取整操作。
步骤3:根据所有K个原始信息分组已经参与编码的情况,优化选择d个原始信息分组进行异或编码。
以在编码过程中尽可能均匀选择原始信息分组为目标,在步骤2中确定度值d之后,跟据权值向量w选择d个原始信息分组的规则如下:
1、如果原始信息分组中存在没有参与过任何一个编码信息分组编码过程的原始信息,即该原始信息分组的权值为0,则优先选择该原始信息。如果当前权值为0的原始信息的数量大于d,则随机选择d个权值为0的原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行更新:wk=wk+1/d;如果当前权值为0的原始信息的数量小于d,则选择所有权值为0的原始信息,而后在剩余的原始信息里随机选取补齐d个原始信息,并进行异或编码,然后对所有参与编码的原始信息分组的权值进行更新:wk=wk+1/d。
2、如果原始信息分组中不存在没有参与过任何一个编码信息分组编码过程的原始信息,则根据其权值信息将K个原始信息分组分类,所有权值相等的原始信息分组分为一类,类别数量M满足1≤M≤K,如果M≥d,则依次在权值较低的d类原始信息分组的每类中随机选择一个原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行更新:wk=wk+1/d;如果M<d,则先在M类中每类随机选择一个原始信息,再将已选择的原始信息剔除,按照权值分类,继续根据权值由低到高选择剩下的d-M个原始信息分组,直至选满了d个原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行更新:wk=wk+1/d。
步骤4:将编码完成的编码信息分组按协议封装,并交给更低层的协议栈,例如传输层协议UDP等;
从步骤3中得到编码分组后,进行格式封装,再交给更低层的协议栈。
步骤5:接收端解包提取出编码信息分组,当接收到K个编码信息分组时,开始置信传播译码过程。
接收端接收到K个编码信息分组后,启动置信传播译码算法,如果顺利得到K个原始编码分组,则跳到步骤8;否则,将停止集作为输入,进入步骤6。
步骤6:针对停止集中的可利用信息,尝试重新开始置信传播译码过程,当译码优化算法的层数达到设定值时还未完成译码过程,则进入步骤7;否则,进入步骤8。
置信传播译码算法能够继续运行的充要条件是接收到的编码分组中有度为1的分组,而停止集中是没有度为1的编码分组的。因此,为了重新启动置信传播译码过程,需利用停止集中的信息,获得度为1的编码分组。根据设定的译码算法层数L,开始译码优化算法,其流程如下:
1、通过从发送端传递,或者收发端共同生成的、完全相同的编码分组与原始信息分组的对应关系,生成停止集与原始信息分组的生成矩阵。
2、启动第1层译码优化算法:针对停止集中每一个接收到的编码分组rx,x∈{1,2,...,N},从生成矩阵中提取相应行G(x,:),并标记该行元素不为0的列标集合,记为Cx;寻找生成矩阵中的其他某行,假设是第y行G(y,:),该行元素不为0的列标集合Cy中,有Cx中的元素,标记Cy,in,也可能包含不在Cx中的元素,记为Cy,out,该行对应的编码分组为ry。这里Cy,in与Cy,out都有可能是空集,对于Cy,in是空集的行,直接跳过。如果Cx、Cy,in与Cy,out满足下列两个条件中的一个,将G(x,:)与G(y,:)、rx与ry分别按位异或,G(x,:)=bitxor(G(x,:),G(y,:)),rx=bitxor(rx,ry):
条件1:若满足Cy,in∈Cx且|Cx|-|Cy,in|=1;
条件2:若满足Cy,in=Cx且|Cy,out|=1。
启动置信传播编码,从而完成第1层的译码优化,如果译码成功,则不需要更高层次的译码优化过程。
3、启动第2层译码优化算法:经过第1层的译码优化算法后,生成矩阵中已经不存在任何两行可以通过相互异或得到度为1的编码分组。针对停止集中每一个接收到的编码分组rx,x∈{1,2,...,N},从生成矩阵中提取相应行G(x,:),并标记该行元素不为0的列标集合,记为Cx;寻找生成矩阵中的其他某两行,假设是第y行G(y,:)与第z行G(z,:),其中G(y,:)行元素不为0的列标集合Cy中,有Cx中的元素,标记Cy,in,也可能包含不在Cx中的元素,记为Cy,out,该行对应的编码分组为ry;G(z,:)行元素不为0的列标集合Cz中,有Cx中的元素,标记Cz,in,也可能包含不在Cx中的元素,记为Cz,out,该行对应的编码分组为rz。这里Cy,in、Cy,out、Cz,in与Cz,out都有可能是空集,对于Cy,in是空集且Cz,in也是空集的行组合,直接跳过。如果Cx、Cy,in、Cy,out、Cz,in与Cz,out满足下列两个条件中的一个,将G(x,:)、G(y,:)与G(z,:),rx、ry与rz分别按位异或,得到G(x,:)=bitxor(G(x,:),bitxor(G(y,:),G(z,:))),rx=bitxor(rx,bitxor(ry,rz)):
条件1:若满足(Cy,in∪Cz,in)-(Cy,in∩Cz,in)∈Cx且|Cx|-|(Cy,in∪Cz,in)-(Cy,in∩Cz,in)|=1;
条件2:若满足(Cy,in∪Cz,in)-(Cy,in∩Cz,in)=Cx且|(Cy,out∪Cz,out)-(Cy,out∩Cz,out)|=1。
启动置信传播编码,从而完成第2层的译码优化,如果译码成功,则不需要更高层次的译码优化过程。
4、依次类推,完成3以及更高层的译码优化算法,直到译码成功进入步骤8,或者达到了设定的译码层数L进入步骤7。
步骤7:接收更多的编码分组,重新启动置信传播算法,当出现停止集时,调用多层译码优化算法。
按照设定的步长,接收更多的编码信息分组,例如当码长K=10,置信传播译码接收步长率为0.1时,接收10×0.1=1个新增编码分组;如果出现度为1的编码分组,则启动置信传播算法进行译码操作,当出现停止集时,再调用多层译码优化算法。
步骤8:将译码结果输出,供上层协议栈使用。
将译码结果组合成原始业务信息,交给上层协议,例如应用层协议SNMP、TFTP、DNS等。
从以上实施方案可以看出,在发送端,本发明通过设定原始信息分组发送过程中的权值向量,以近似均匀发送各个原始信息分组为目标进行编码,实现了给定度分布条件下编码方式的优化。在接收端,利用停止集内的剩余可用信息,设计了一种多层译码优化算法,有效提高了编译码效率,降低了实际译码开销。
为了进一步检验采用本发明方法获得的系统性能,本实施例接下来利用蒙特卡洛仿真实验获得将本发明方法应用在二进制删除信道时译码成功概率与译码开销的关系曲线,以及误包率与译码开销的关系曲线。
图2是本发明提出的喷泉码编译码优化方法在K=10时的成功译码概率曲线,同时图3给出了本发明提出的喷泉码编译码优化方法在K=10时的误包率曲线,系统参数如下设置:原始信息分组为10,置信传播译码接收步长率为0.1,即每次接收10×0.1=1个新增编码分组,迭代步长40,编码信息度分布选择鲁棒孤子分布,其参数设置为c=0.05,δ=0.05,蒙特卡洛仿真次数为10000,丢包率为0。同时,选择《2002年电气工程师协会计算机科学基础年度研讨会》(in Proc.IEEE FOCS,Vancouver,Canada,Nov.2002)“LT码”(LT Codes)一文中提出的LT编码和置信传播译码、《2009年电气工程师协会通信短文》(IEEECommunications Letters,vol.13,no.12,Dec.2009)“LT码的飞行高斯消去译码”(On theFly Gaussian Elimination for LT Codes)一文中提出的基于高斯优化的译码方法作为对比。由图2可知,采用本发明方法的优化编码与2层优化译码所获得译码成功概率性能A4与采用本发明的优化编码方法和飞行高斯消去译码组合所获得的译码成功概率上界A5十分接近;同时,相对于采用传统LT编码以及2层优化译码所获得译码成功概率性能A3有0.1的译码开销率增益;相对于采用传统LT编码以及1层优化译码所获得译码成功概率性能A2有0.2的译码开销率增益;相对于采用传统LT编码以及传统置信传播译码所获得译码成功概率性能A1有大于0.3的译码开销率增益。由图3可知采用本发明方法的优化编码与2层优化译码所获得误包率性能B4与采用本发明的优化编码方法和飞行高斯消去译码组合所获得的误包率性能B5基本一致;同时,相对于采用传统LT编码以及2层优化译码所获得误包率性能B3和采用传统LT编码以及1层优化译码所获得误包率性能B2有约0.3~0.6的译码开销率增益;相对于采用传统LT编码以及传统置信传播译码所获得误包率性能B1有大于0.5的译码开销率增益。
接下来,验证本发明提出的喷泉码编译码优化方法在传输过程有丢包时的性能。系统参数如前设置,系统丢包率参数分别设置为10%、20%与40%。图4是本发明提出的喷泉码编译码优化方法在K=10且丢包率不等时的成功译码概率曲线,同时图5给出了本发明提出的喷泉码编译码优化方法在K=10且丢包率不等时的误包率曲线。其中,图4中C1、C3分别是在丢包率为10%的情况下,采用本发明方法的优化编码与2层优化译码所获得的,和采用传统LT编码以及传统置信传播译码所获得的译码成功概率性能;C2、C4分别是在丢包率为20%的情况下,采用本发明方法的优化编码与2层优化译码所获得的,和采用传统LT编码以及传统置信传播译码所获得的译码成功概率性能;C3、C5分别是在丢包率为20%的情况下,采用本发明方法的优化编码与2层优化译码所获得的,和采用传统LT编码以及传统置信传播译码所获得的译码成功概率性能。同样地,图5中D1、D3分别是在丢包率为10%的情况下,采用本发明方法的优化编码与2层优化译码所获得的,和采用传统LT编码以及传统置信传播译码所获得的误包率性能;D2、D4分别是在丢包率为20%的情况下,采用本发明方法的优化编码与2层优化译码所获得的,和采用传统LT编码以及传统置信传播译码所获得的误包率性能;D3、D5分别是在丢包率为20%的情况下,采用本发明方法的优化编码与2层优化译码所获得的,和采用传统LT编码以及传统置信传播译码所获得的误包率性能。可以看出,在不同的丢包率设置下,本发明方法的优化编译码方法相对于传统LT编码以及传统置信传播译码来说都有0.5以上的译码开销率增益。
最后,验证本发明提出的喷泉码编译码优化方法在不同码长情况下的性能。系统参数如前设置,系统码长分别设置为10、20和50。图6是本发明提出的喷泉码编译码优化方法在码长不等时的成功译码概率曲线,同时图7给出了本发明提出的喷泉码编译码优化方法在系统码长不等时的误包率曲线。图6中E1、E2、E3分别是采用本发明方法的优化编码与2层优化译码在码长为10、20和50时获得的译码成功概率性能;E4、E5、E6则分别是采用传统LT编码以及传统置信传播译码在码长为10、20和50时的译码成功概率性能。相应地,图7中F1、F2、F3分别是采用本发明方法的优化编码与2层优化译码在码长为10、20和50时获得的误包率性能;F4、F5、F6则分别是采用传统LT编码以及传统置信传播译码在码长为10、20和50时的误包率性能。由图可知,在不同的码长设置下,本发明方法的优化编译码方法相对于传统LT编码以及传统置信传播译码来说都有0.5以上的译码开销率增益;随着码长的增加,性能增益随之减小。综上所述,对实际系统来说,本发明方法能够有效降低喷泉码译码开销。
本发明提供了一种适用于短码长喷泉码的编译码优化方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (6)
1.一种适用于短码长喷泉码的编译码优化方法,其特征在于,包括以下步骤:
步骤1:生成用于储存原始信息分组权值的向量;
步骤2:按照给定的度分布函数,自动生成当前编码信息的度d;其中,度分布函数是在编码操作开始前确定的函数,是一个关于度值d的概率分布函数;
步骤3:根据原始信息分组的权值,优化选择d个原始信息分组进行异或编码;
步骤4:将编码完成的编码信息分组按协议封装,并交给更低层的协议栈;
步骤5:接收端解包提取出编码信息分组,当接收到K个编码信息分组时,启动译码;
步骤6:针对停止集采用多层译码优化算法;
步骤7:根据接收迭代步长,接收更多的编码分组,并重新启动置信传播译码过程;
步骤8:输出译码结果。
2.根据权利要求1所述的方法,其特征在于,步骤1包括:初始化一个K列零向量其中wk表示第k个原始信息分组的权值,表示一个1行K列的实数向量,权值向量w将随着编码过程中各原始信息分组被选择的情况不断更新。
3.根据权利要求2所述的方法,其特征在于,步骤3包括:
步骤3-1,如果原始信息分组中存在没有参与过任何一个编码信息分组编码过程的原始信息,即该原始信息分组的权值为0,则优先选择该原始信息;如果当前权值为0的原始信息的数量大于d,则随机选择d个权值为0的原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d;
如果当前权值为0的原始信息的数量小于d,则选择所有权值为0的原始信息,而后在剩余的原始信息里随机选取补齐d个原始信息,并进行异或编码,然后对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d;
步骤3-2,如果原始信息分组中不存在没有参与过任何一个编码信息分组编码过程的原始信息,则根据其权值信息将K个原始信息分组分类,所有权值相等的原始信息分组分为一类,类别数量M满足其中表示正整数;如果M≥d,则依次在权值较低的d类原始信息分组的每类中随机选择一个原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d;
如果M<d,则先在M类中每类随机选择一个原始信息,再将已选择的原始信息剔除,按照权值分类,继续根据权值由低到高选择剩下的d-M个原始信息分组,直至选满了d个原始信息分组进行异或编码,并对所有参与编码的原始信息分组的权值进行如下更新:
wk=wk+1/d。
4.根据权利要求3所述的方法,其特征在于,步骤5包括:接收端接收到K个编码信息分组后,启动置信传播译码算法,如果得到K个原始信息分组,则跳到步骤8;否则,将剩余编码分组所组成的停止集作为输入,进入步骤6。
5.根据权利要求4所述的方法,其特征在于,步骤6包括:
步骤6-1,通过从发送端传递,或者收发端共同生成的、完全相同的编码分组与原始信息分组的对应关系,生成表征停止集中编码信息分组与原始信息分组之间关系的生成矩阵;
步骤6-2,多层译码优化算法的译码层数设定为L,启动第1层译码优化算法:针对停止集中每一个接收到的编码分组rx,x∈{1,2,...,N},从生成矩阵中提取rx相应的行G(x,:),并标记该行元素不为0的列标集合,记为Cx;寻找生成矩阵中的其他行,设定是第y行G(y,:),该行元素不为0的列标集合Cy中,有Cx中的元素,标记为Cy,in,也可能包含不在Cx中的元素,记为Cy,out,该行对应的编码分组为ry;Cy,in与Cy,out都有可能是空集,对于Cy,in是空集的行,直接跳过;如果Cx、Cy,in与Cy,out满足下列两个条件中的一个,将G(x,:)与G(y,:)、rx与ry分别按位异或,G(x,:)=bitxor(G(x,:),G(y,:)),rx=bitxor(rx,ry),其中bitxor()是按位异或函数:
条件1:若满足Cy,in∈Cx且|Cx|-|Cy,in|=1;
条件2:若满足Cy,in=Cx且|Cy,out|=1;
启动置信传播编码,从而完成第1层的译码优化,如果译码成功,即所有原始信息分组都被成功译出,则不需要更高层次的译码优化过程,否则执行步骤6-3;
步骤6-3、启动第2层译码优化算法:经过第1层的译码优化算法后,生成矩阵中已经不存在任何两行能够通过相互异或得到度为1的编码分组,针对停止集中每一个接收到的编码分组rx,x∈{1,2,...,N},从生成矩阵中提取rx相应的行G(x,:),并标记该行元素不为0的列标集合,记为Cx;寻找生成矩阵中的其他两行,设定是第y行G(y,:)与第z行G(z,:),其中G(y,:)行元素不为0的列标集合Cy中,有Cx中的元素,标记为Cy,in,也可能包含不在Cx中的元素,记为Cy,out,该行对应的编码分组为ry;G(z,:)行元素不为0的列标集合Cz中,有Cx中的元素,标记为Cz,in,也可能包含不在Cx中的元素,记为Cz,out,该行对应的编码分组为rz;Cy,in、Cy,out、Cz,in与Cz,out都有可能是空集,对于Cy,in是空集且Cz,in也是空集的行组合,直接跳过;如果Cx、Cy,in、Cy,out、Cz,in与Cz,out满足下列两个条件中的一个,将G(x,:)、G(y,:)与G(z,:),rx、ry与rz分别按位异或,得到G(x,:)=bitxor(G(x,:),bitxor(G(y,:),G(z,:))),rx=bitxor(rx,bitxor(ry,rz)):
条件1:若满足(Cy,in∪Cz,in)-(Cy,in∩Cz,in)∈Cx且|Cx|-|(Cy,in∪Cz,in)-(Cy,in∩Cz,in)|=1;
条件2:若满足(Cy,in∪Cz,in)-(Cy,in∩Cz,in)=Cx且|(Cy,out∪Cz,out)-(Cy,out∩Cz,out)|=1;
启动置信传播编码,从而完成第2层的译码优化,如果译码成功,即所有原始信息分组都被成功译出,则不需要更高层次的译码优化过程,否则执行步骤6-4;
步骤6-4、完成第3层以及更高层的译码优化算法,直到译码成功进入步骤8,或者达到了设定的译码层数L进入步骤7。
6.根据权利要求5所述的方法,其特征在于,步骤8包括:将译码结果,即译出的原始信息分组组合成原始业务信息,交给上层协议或应用使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811066650.0A CN109194445B (zh) | 2018-09-13 | 2018-09-13 | 一种适用于短码长喷泉码的编译码优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811066650.0A CN109194445B (zh) | 2018-09-13 | 2018-09-13 | 一种适用于短码长喷泉码的编译码优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194445A true CN109194445A (zh) | 2019-01-11 |
CN109194445B CN109194445B (zh) | 2020-11-27 |
Family
ID=64910625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811066650.0A Active CN109194445B (zh) | 2018-09-13 | 2018-09-13 | 一种适用于短码长喷泉码的编译码优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194445B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233699A (zh) * | 2019-05-15 | 2019-09-13 | 北京邮电大学 | 一种受限反馈下基于相对熵的无速率编码方法和电子设备 |
CN112994847A (zh) * | 2021-03-12 | 2021-06-18 | 北京理工大学 | 一种在线喷泉码的有限反馈方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350699A (zh) * | 2008-09-05 | 2009-01-21 | 清华大学 | 一种基于增量喷泉的信息分发方法 |
CN102131083A (zh) * | 2010-01-18 | 2011-07-20 | 西安电子科技大学 | 可分级视频优先级传输方法及装置 |
CN102164026A (zh) * | 2011-05-20 | 2011-08-24 | 哈尔滨工业大学深圳研究生院 | 基于深空通信环境下的喷泉码编译方法 |
US20140369253A1 (en) * | 2013-06-12 | 2014-12-18 | Qualcomm Incorporated | Degree reduction and degree-constrained combining for relaying a fountain code |
CN105978577A (zh) * | 2016-05-03 | 2016-09-28 | 西安电子科技大学 | 一种基于比特翻转的串行列表译码算法 |
CN106105217A (zh) * | 2014-03-17 | 2016-11-09 | 高通股份有限公司 | 用于多层视频译码的poc值设计 |
CN107888200A (zh) * | 2017-11-29 | 2018-04-06 | 重庆邮电大学 | 一种利用近似环额外信息度与分割移位的低错误平层qc‑ldpc码构造方法 |
CN107992283A (zh) * | 2017-11-09 | 2018-05-04 | 中国电子科技集团公司第二十八研究所 | 一种基于降维实现有限域乘法的方法和装置 |
-
2018
- 2018-09-13 CN CN201811066650.0A patent/CN109194445B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350699A (zh) * | 2008-09-05 | 2009-01-21 | 清华大学 | 一种基于增量喷泉的信息分发方法 |
CN102131083A (zh) * | 2010-01-18 | 2011-07-20 | 西安电子科技大学 | 可分级视频优先级传输方法及装置 |
CN102164026A (zh) * | 2011-05-20 | 2011-08-24 | 哈尔滨工业大学深圳研究生院 | 基于深空通信环境下的喷泉码编译方法 |
US20140369253A1 (en) * | 2013-06-12 | 2014-12-18 | Qualcomm Incorporated | Degree reduction and degree-constrained combining for relaying a fountain code |
CN106105217A (zh) * | 2014-03-17 | 2016-11-09 | 高通股份有限公司 | 用于多层视频译码的poc值设计 |
CN105978577A (zh) * | 2016-05-03 | 2016-09-28 | 西安电子科技大学 | 一种基于比特翻转的串行列表译码算法 |
CN107992283A (zh) * | 2017-11-09 | 2018-05-04 | 中国电子科技集团公司第二十八研究所 | 一种基于降维实现有限域乘法的方法和装置 |
CN107888200A (zh) * | 2017-11-29 | 2018-04-06 | 重庆邮电大学 | 一种利用近似环额外信息度与分割移位的低错误平层qc‑ldpc码构造方法 |
Non-Patent Citations (3)
Title |
---|
H.HA等: "Reliable scalable video streaming using layer weight switching-based unequal Luby transform", 《ELECTRONICS LETTERS》 * |
胡俊红: "Fountain码编译码算法及其在无线通信中的应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
赵大恒等: "LT码在深空通信中的应用研究", 《无线通信技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233699A (zh) * | 2019-05-15 | 2019-09-13 | 北京邮电大学 | 一种受限反馈下基于相对熵的无速率编码方法和电子设备 |
CN110233699B (zh) * | 2019-05-15 | 2020-10-27 | 北京邮电大学 | 一种受限反馈下基于相对熵的无速率编码方法和电子设备 |
CN112994847A (zh) * | 2021-03-12 | 2021-06-18 | 北京理工大学 | 一种在线喷泉码的有限反馈方法 |
CN112994847B (zh) * | 2021-03-12 | 2022-02-11 | 北京理工大学 | 一种在线喷泉码的有限反馈方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109194445B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106937256B (zh) | 一种基于非正交多址接入技术的协作多播传输方法 | |
CN103281166B (zh) | 一种基于极化码的混合自动重传请求传输方法 | |
CN101562781B (zh) | 一种基于调制的自适应喷泉码多播传输系统 | |
CN101895376B (zh) | 用于实现多跳无线网络中数据广播的传输方法 | |
CN101674152B (zh) | 基于前向纠错的数据传输方法、装置及系统 | |
CN105490771B (zh) | 一种lt喷泉码编码度分布的构造方法 | |
CN103250463A (zh) | 用于通信系统的子集编码 | |
CN112994850B (zh) | 一种联合发送端和接收端的scma编译码方法 | |
CN105515728B (zh) | 一种基于滑动窗口的网络编码方法 | |
CN103067137A (zh) | 基于网络编码的多播重传方法 | |
CN108966259B (zh) | 一种基于网络编码的抗干扰传输方法 | |
CN112600647B (zh) | 基于网络编码续航的多跳无线网络传输方法 | |
CN108462560A (zh) | 一种用于极化码级联的编译码方法 | |
CN102833051A (zh) | 基于反馈的喷泉编码广播方法 | |
CN110247732A (zh) | 多播环境中基于混合译码的喷泉码的编码设计方法 | |
CN109194445A (zh) | 一种适用于短码长喷泉码的编译码优化方法 | |
CN103716134B (zh) | 一次反馈条件下度渐增的喷泉码的编码方法 | |
CN111050291A (zh) | 一种基于系统在线喷泉码的高编码符号度值广播方法 | |
CN104852788A (zh) | 基于最大-最小网络编码的数据广播arq方法 | |
CN110191512B (zh) | 一种基于合作博弈的多用户码本分配公平性方法 | |
CN104009830A (zh) | 基于有限集合网络编码arq的大规模接收端数据广播方法 | |
CN106658729A (zh) | 一种灵活的传输方法 | |
Larsson | Multicast multiuser ARQ | |
CN107222284B (zh) | 一种物联网中基于信道反馈的喷泉编码抗窃听传输方法 | |
CN102195743B (zh) | 动态实时喷泉码编码方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |