CN107347000B - 一种基于arm的数字喷泉码的编译码实现方法 - Google Patents

一种基于arm的数字喷泉码的编译码实现方法 Download PDF

Info

Publication number
CN107347000B
CN107347000B CN201710625304.0A CN201710625304A CN107347000B CN 107347000 B CN107347000 B CN 107347000B CN 201710625304 A CN201710625304 A CN 201710625304A CN 107347000 B CN107347000 B CN 107347000B
Authority
CN
China
Prior art keywords
equal
decoding
less
original data
value
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.)
Active
Application number
CN201710625304.0A
Other languages
English (en)
Other versions
CN107347000A (zh
Inventor
王振永
李�杰
马铭
徐誉
师鹏程
朱洪涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201710625304.0A priority Critical patent/CN107347000B/zh
Publication of CN107347000A publication Critical patent/CN107347000A/zh
Application granted granted Critical
Publication of CN107347000B publication Critical patent/CN107347000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种基于ARM的数字喷泉码的编译码实现方法,本发明涉及数字喷泉码的编译码实现方法。本发明的目的是为了解决现有数字喷泉码LRLTC算法存在重复选取,译码开销大,迭代次数多,计算复杂的问题。过程为:一、均匀随机生成两个正整数,根据鲁棒孤波分布公式得到sum(j),在0‑1之间随机选取一个参数,使得sum(j)<r<sum(j+1),则d=j;二、如果X和d满足1<X<K‑1且d≥3,则d重复选取出现的周期长度为T;如果度值d≤T,表示d不会出现重复选取现象;三、将参与编码的每一个原始数据包编号;四、根据d选取已编号的原始数据包进行编码;五、将已编码原始数据包传输至译码模块进行译码,实现编译码。本发明用于信道编码领域。

Description

一种基于ARM的数字喷泉码的编译码实现方法
技术领域
本发明涉及数字喷泉码的编译码实现方法。
背景技术
在这个高度信息化的社会,信息和通信已然是现代社会的命脉:经济的高速发展、社会的日益进步等各领域都离不开通信技术的发展。而判断一个通信系统好坏的主要标准是可靠性和有效性。由此可见,一个好的数字通信系统要求通信过程具有高度的可靠性,即误码率要足够低;然而信号在传输过程中不可避免的会产生一些差错,即出现误码。为了规避或者降低这些差错,随之产生了差错控制(Error Control)技术,以此来保证数字通信系统中数据的可靠传输。
数字喷泉码是一种前向纠错技术。它的基本原理是将原始数据分组,对分组后的数据进行编码传输。每次编码都包含原始数据符号的一部分信息,不断进行传输,直到接收端接收到足够数量的编码包以恢复原始数据。首先,数字喷泉码不需要反馈信道,可以有效避免ARQ技术在删除信道中因反馈带来的传输效率低和时延大的问题;另一方面,数字喷泉码是一种无码率编码,通过产生冗余信息来消除信道对数据传输的影响,信道条件好时产生的冗余信息就少,反之则多,可以有效解决信道时变性带来的影响,弥补了RS码的Tornado码的不足;同时,数字喷泉码的编译码复杂度也很低。可见,数字喷泉码的优势表现在多个方面:
(1)没有反馈。数字喷泉码是前向纠错码,不需要反馈信道。这相对于需要反馈重传的ARQ技术来说,一方面由于无需反馈信道,可以提高信道利用率;另一方面,免去了反馈重传这一环节,从而提高了传输效率,同时还减小了传输时延。
(2)无码率编码。从数字喷泉码的原理我们可以得知,数字喷泉码是一种无码率编码。接收端接收到足够多的编码数据包就可以恢复出原始数据信息,不依靠先验信道假设,规避了信道不稳定性的影响,充分利用了信道条件,逼近信道容量,传输效率高。
(3)编译码复杂度低。数字喷泉码的编码复杂度是一个跟度分布有关的常数,译码复杂度与原始数据信息的分组个数线性相关;可见,数字喷泉码有着较低的编译码复杂度。如此可以较低对发送端和接收端处理能力的要求,降低设备复杂度。
(4)用户自适应性强。在多用户系统中,不同用户的信道状况不同,针对不同用户采用不同的先验信道假设显然不可取。此时数字喷泉码无码率的特性就显现出了明显优势。信道条件差的用户可能需要较长的时间才能恢复原始数据,信道条件良好的用户所需时间就较短。不同用户之间相互独立,互不影响。无需为每个用户单独设置。
(5)此外,数字喷泉码结构也比较灵活;另一方面,由于数字喷泉码编码的随机性,使得喷泉码的重复率低,译码效率高。
但数字喷泉码LRLTC算法存在重复选取,译码开销大,迭代次数多,计算复杂的问题。
发明内容
本发明的目的是为了解决现有数字喷泉码LRLTC算法存在重复选取,译码开销大,迭代次数多,计算复杂的问题,而提出一种基于ARM的数字喷泉码的编译码实现方法。
一种基于ARM的数字喷泉码的编译码实现方法具体过程为:
步骤一、均匀随机生成两个正整数X、Y,其中X、Y相互独立且满足:1≤X≤K-1,1≤Y≤K-1;
K为原始数据包个数,K取值为正整数;
鲁棒孤波分布为:
Figure BDA0001362678430000021
式中,ρ(i)为理想孤波分布函数;τ(i)为鲁棒孤波分布公式中的变量;
Figure BDA0001362678430000022
其中1≤j≤K;sum为求和函数;
在0-1之间随机选取一个参数r,在1≤j≤k中必然存在一个j使得sum(j)<r<sum(j+1)成立,那么度值d=j;
步骤二、如果正整数X和度值d不满足条件1<X<K-1且d≥3,重新执行步骤一;
如果正整数X和度值d满足条件1<X<K-1且d≥3,则度值d重复选取出现的周期长度T=K/GCD(X,K);
如果度值d≤T,表示度值d不会出现重复选取现象,直接执行步骤三;否则令正整数X=X+1,重新执行步骤二;
GCD(X,K)为X,K之间的最大公约数;
步骤三、将参与编码的每一个原始数据包的序号定义为(Y+iX)modK,得到已编号的原始数据包;
其中i取值范围为0≤i<d,1≤d≤K;mod函数为求余函数;
步骤四、根据步骤一确定的度值d选取已编号的原始数据包个数,对选取的已编号的原始数据包进行编码,得到已编码原始数据包个数;
步骤五、将已编码原始数据包经信道模块传输至译码模块进行译码,实现编译码。
本发明的有益效果为:
本发明提出了一种基于ARM的数字喷泉码的编译码实现方法(基于改进的LRLTC算法的折中方法),对算法中参量X和度值加以限制来,达到消除重复选取,减小了接收端的译码开销和译码时的迭代次数,计算过程简单。本发明利用S3C2440A微处理器给出了喷泉码的编译码的硬件实现系统。给出了系统的整体设计框架,并对基于改进的LRLTC算法的折中方案给出了验证,本发明基于改进的LRLTC算法的折中方案与基于简单随机抽样的改进方案、基于排序的改进方案相比,后两种方案是脱离了LRLTC算法的新的方案,结合图6,原始数据包个数为600时,改进的LRLTC方法和基于排序的改进方法的译码开销E为17,基于抽样的改进方法的译码开销E为18,LRLTC方法的译码开销E为20;原始数据包个数为1000时,改进的LRLTC方法的译码开销E为16,基于排序的改进方法和基于抽样的改进方法的译码开销E为17,LRLTC方法的译码开销E为18;得出本发明方法的改进的LRLTC方法在减小了接收端的译码开销,也就是减少了译码时的迭代次数,计算过程简单,大大改善了译码性能。LRLTC算法为有限性随机LT编码。
附图说明
图1为本发明的基于简单随机抽样的改进方案流程图;
图2为本发明的基于排序的改进方案流程图;
图3为本发明的基于LRLTC算法的改进方案流程图;
图4为本发明的系统整体结构框图;
图5为本发明的编码流程图,dn为第n编码包的度值,S1为第一个原始数据包,S2为第二个原始数据包,Sk为第k个原始数据包,Gnk为生成矩阵,t1为第一个已编码原始数据包,t2为第二个已编码原始数据包,tn为第n个已编码原始数据包;
图6为译码开销对比图。
具体实施方式
具体实施方式一:本实施方式的一种基于ARM的数字喷泉码的编译码实现方法具体过程为:
步骤一、在编码模块中均匀随机生成两个正整数X、Y,其中X、Y相互独立且满足:1≤X≤K-1,1≤Y≤K-1;
K为原始数据包个数,K取值为正整数;
鲁棒孤波分布为:
Figure BDA0001362678430000041
式中,ρ(i)为理想孤波分布函数;τ(i)为鲁棒孤波分布公式中的变量;
Figure BDA0001362678430000042
其中1≤j≤K;sum为求和函数;
在0-1之间随机选取一个参数r,在1≤j≤k中必然存在一个j使得sum(j)<r<sum(j+1)成立,那么度值d=j;
步骤二、如果正整数X和度值d不满足条件1<X<K-1且d≥3,重新执行步骤一;
如果正整数X和度值d满足条件1<X<K-1且d≥3,则度值d重复选取出现的周期长度T=K/GCD(X,K);
如果度值d≤T,表示度值d不会出现重复选取现象,直接执行步骤三;否则令正整数X=X+1,重新执行步骤二;
GCD(X,K)为X,K之间的最大公约数;
步骤三、将参与编码的每一个原始数据包的序号定义为(Y+iX)modK,得到已编号的原始数据包;
其中i取值范围为0≤i<d,1≤d≤K;mod函数为求余函数;
步骤四、根据步骤一确定的度值d选取已编号的原始数据包个数,对选取的已编号的原始数据包进行编码,得到已编码原始数据包个数;
步骤五、将已编码原始数据包经信道模块传输至译码模块进行译码,实现编译码。
一种基于ARM的数字喷泉码的编译码实现系统包括:
发送接收模块,传输模块,编码模块、信道和译码模块;
发送接收模块用于将待编码的原始数据包信息存放于上位机电脑端,传输模块(串口)将待编码的原始数据包信息从电脑端发送到平台的编码模块,编码模块用于将接收到的原始数据包信息进行编码,编码后的原始数据包信息经信道发送至译码模块,信道用于模拟真实信道将编码后的原始数据包以一定删除概率进行删除,检测本算法性能;译码模块用于将编码后的原始数据包信息进行译码,传输模块(串口)将译码后的原始数据包信息从平台发送到电脑端;
因此,电脑端的串口接收模块就是本发明的接收模块。进行发送和接收时,本发明使用secureCRT软件进行电脑与串口间的信息交流。
硬件实现中,采用基于LRLTC算法的折中方案,采用鲁棒孤波分布作为LT编码的度分布函数,采用MP译码算法作为LT码的译码算法。采用三星公司推出的16/32位RISC微处理器S3C2440A,主频400MHz,最高533MHz。系统模块分为发送接收模块,传输模块,编码模块,信道模块和译码模块。主要模块特性为:处理器:S3C2440A400MHz,存储部分:SDRAMK4M561633G-75*2 64Mbyte,Nand FLASH K9F1208G64Mbyte。
本发明以Samsung公司推出的功能强大的精简指令集微处理器S3C2440A为核心,主要设计模块包括发送接收模块、传输模块、编码模块、信道和译码模块。系统的整体结构框图如图4所示。待编译的原始数据信息存于上位机(电脑)端,S3C2440A开发平台的UART串口与电脑的串口相连,信息经由此串口从电脑端传输至硬件平台端。这里发送接收模块就是电脑端的发送接收部分,传输模块就是UART串口部分。待编译的原始数据信息送达S3C2440A开发平台之后,由编码模块接手,进行编码;编码完成后经由虚拟信道发送至译码模块,进行译码;译码结束后将译出的数据信息发送至接收模块。需要说明的是,这里的信道是虚拟信道,用代码模拟删除信道,以特定的删除信道概率丢失一部分编码数据包。
1.发送接收模块
待编码的原始数据信息存放于上位机电脑端,该数据信息将经由串口发送至处理模块,因此电脑端的串口发送模块就是本发明的发送模块。同样的,当编码后的信息被译出之后,也是要经由串口从S3C2440A平台发送到电脑端。因此,电脑端的串口接收模块就是本发明的接收模块。进行发送和接收时,本发明使用secureCRT软件进行电脑与串口间的信息交流。
2.传输模块
本发明采用UART串口进行。在进行数据传输时,系统UART协议使用8位数据位,1位停止位。波特率设为115200,不采用流量控制和FIFO。关键代码如下:
GPHCON|=0xa0;//GPH2,GPH3用作TXD0,RXD0
GPHUP=0x0c;//GPH2,GPH3内部上拉
ULCON0=0x03;//8N1(8个数据位,无较验,1个停止位)
UCON0=0x05;//查询方式,UART时钟源为PCLK
UFCON0=0x00;//不使用FIFO
UMCON0=0x00;//不使用流控
UBRDIV0=UART_BRD;//波特率为115200
3.编码模块
本发明编码模块选取相应的原始数据符号然后进行异或。过程如图5所示。选取原始数据符号的方案采用基于LRLTC算法的折中方案,以避免重复选取现象。
4.信道
本发明采用虚拟信道,信道的删除概率为0.02,符号以98%的概率被正确传输。虽然在实际操作时也会因为随机现象出现不同,但差别不会太大,可以忽略随机性的影响。编码后的数据包经过信道后将以设定的删除概率被删除。
5.译码模块
译码模块采用的译码方法是MP译码算法。当译码器接收到第一个度为1的编码包之后,便开始译码,先还原与之相连的原始数据符号,然后解除两者的关联;寻找接收到的其余编码包中与该原始数据符号关联的符号,与之异或,消除影响并解除之间的关联,然后寻找下一个度为1的编码包。重复此过程知道原始数据信息被恢复。
最后,本发明给出了基于LRLTC算法的折中方案与LRLTC算法译码开销的对比,如图6所示。
所述平台为S3C2440A平台。
基于LRLTC算法改进方案的算法流程图如图3所示。
首先看一下第二步中的判断条件1<X<K-1,当X=1或者X=K-1的时候,参量X与原始数据符号个数K是互为素数的,两者之间不存在大于1的公约数,此时重复周期为K,显然d≤K,是不会出现重复选取现象的,所以排除这两种情况,可以使算法更为简捷,复杂度更低。对于参量d,当d=1或者d=2是也是不会出现重复选取情况的。以上两种情况可以直接跳至下一步进行操作。当参量满足这个条件的时候,也就是1<X<K-1且d≥3时,此时的重复周期是T=K/GCD(X,K),此时判断度值d和重复周期T的关系,如果不满足d≤T,则修改参量X。然后继续进行判断,知道满足条件跳至下一步。这里还需要说明的是,改进方案中修改参量X的方式,这里采用加一的方式,即X=X+1,这么做是实际可行的。因为随着X的增加,由第一步X的产生范围可知,X最大增加到X=K-1,此时X与K是互为素数的,不会出现重复选取现象,循环终止进入下一步,不会是循环无止境的进行下去。
在基于LRLTC算法的改进方案中,对LRLTC算法中的参量X进行修正来加以限制,以防止重复选取现象的发生。具体的修正方式是让参量X以递增的方式变化即X=X+1直到其与原始数据符号个数K互素或者符合条件d≤K为止。但是这里的修正方式并不是唯一的,以递增的方式来修正是因为这种方式简单而且高效,能够有效的防止重复选取并且不会进入无限循环。也可以采用其他的修正方式,比如递减的方式,事实上这种方式也是可行的,跟递增的方式大同小异。参量X不断减小,最差的情况减小到X=1,上面我们分析了,当X=1时是不会出现重复选取现象的,算法可以正常退出,因此这种情况也切实有效。
下面给出该算法的复杂度。改进后的方案主要多出了两个计算步骤,一个是计算参量X和K之间的最大公约数,另一个是对参量X进行修正。而且两者都是基于概率条件下的计算,并不是一定会发生。前者在不满足条件1<X<K-1且d≥3时才会发生,后者在不满足条件d≤T是才会发生;而且后者的概率比前者的概率要小很多。其实严格说来,发生的概率不是很大,后者的概率会更小,从这种意义上来讲,该方案的算法复杂度并不算高。
具体实施方式二:本实施方式与具体实施方式三不同的是:所述理想孤波分布函数ρ(i)为:
Figure BDA0001362678430000081
其他步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述鲁棒孤波分布公式中的变量τ(i)为:
Figure BDA0001362678430000082
其中s为度为1的已编码的N个数据包的数学期望,
Figure BDA0001362678430000083
c为一个自由变量,δ为译码模块接收到已编码的N个数据包后无法解码的概率极限;
N为已编码数据包个数,K≤N。
其他步骤及参数与具体实施方式一或二相同。
具体实施方式三:本实施方式与具体实施方式一至三之一不同的是:所述c取值为1。
其他步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述δ取值为0.5。
其他步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述K取值范围为100-1200。
其他步骤及参数与具体实施方式一至五之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例一种基于ARM的数字喷泉码的编译码实现系统及实现方法具体是按照以下步骤制备的:
如图1,基于通过简单随机抽样的改进方案的具体流程如下:
1.输入原始数据符号个数K以及相应的度值d,在[0,K-1]上随机选取一个数,然后剔除该数对应的输入符号,并更新度值,使d=d-1。
2.判断度值d的大小,如果d=0此次选取结束,进行下一步,否则继续选取的下一步。
3.重新组合剩余的K-1个数,同时更新K使K=K-1。然后回到第1步。
4.选取结束,记录选取的输入符号序号,进入后续步骤。具体的流程图如图1所示。
需要注意的是第3步中采用了重组操作,重组之后原始数据的序号是不变的,否则会引起混乱。还有一个细节就是关于K和d的更新,本来可以同时更新的,即在更新d的时候同时更新K,但需要注意的是在最后一步d=0时,K是不需要更新的,没有同时更新而是像本方案中这样安排可以进一步降低操作复杂度,还是很有意义的。
下面给出该算法的复杂度,由于前后一共要进行d次抽样,该算法的复杂度为Ο(d),因为先后要进行d次独立的选取,相当于进行d次简单随机抽样。该方案会增加算法的操作复杂度,因为LRLTC算法本身的算法复杂度为常数级别的Ο(1),同时该方案还会增加额外的空间开销;但该方案实现了真正的随机,而且可以杜绝重复选取现象的出现。在特定的场合需要根据取舍进行相应的选择。
下面以升序为例,给出基于排序的改进方案的具体流程:
1.输入原始数据符号个数K,为这K个原始数据符号随机分配数字标签,以准备进行排序。
2.基于分配的数字标签对这K个原始数据符号进行升序排序,得到一个整理后的新序列。
3.输入本次编码的度值d,选取新序列的前d个符号作为参与本次编码的输入符号,然后进入下一步操作。
该算法对应的流程图如图2所示。
在基于排序的改进方案中,每一个原始数据符号对应一个随机的数字标签,通过排序操作之后,会将原输入符号序列的顺序打乱,这样整理后的序列可以保证随机性,也就会保证覆盖率,使存在没有参与编码的输入符号的概率降到很小。另一方面,即使给原始输入符号分配的随机数字标签存在重复的情况,由于排序算法的特点,也不会出现原始数据符号重复的现象,也就从根本上杜绝了重复选取现象的发生。可见,基于排序的改进方案既能保证算法的随机性,又能完全杜绝重复选取现象的发生。
下面我们给出该方案的算法复杂度。首先,对K个原始数据符号分配随机数字标签,需要进行K次操作;而进行排序操作,这里采用快排也就是快速排序,其算法复杂度为Ο(KlogK),则总的复杂度为Ο(KlogK)。上一小节我们分析了基于简单随机抽样的算法复杂度,为Ο(d)。
需要说明的是,由于分配的随机数字标签允许重复,为了降低算法复杂度我们可以将随机数字的范围进行适当地缩小,这是可以接受的;因为只要可以将原始序列进行整理排列就可以,无需进行太大的调整。另一方面,由于每次选取的符号个数为d个,因此在排序的时候可以不用对所有的原始数据符号进行处理,适当地减少进行排序的个数(至少是d个),这样可以进一步降低该算法的复杂度。需要指出的是,基于排序的改进方案也需要额外的空间开销。
本发明一种基于ARM的数字喷泉码的编译码实现方法的基于LRLTC算法的折中方案具体过程为:
步骤一、在编码模块中均匀随机生成两个正整数X、Y,其中X、Y相互独立且满足:1≤X≤K-1,1≤Y≤K-1;
K为原始数据包个数,K取值为正整数;
鲁棒孤波分布为:
Figure BDA0001362678430000101
式中,ρ(i)为理想孤波分布函数;τ(i)为鲁棒孤波分布公式中的变量;
Figure BDA0001362678430000102
其中1≤j≤K;sum为求和函数;
在0-1之间随机选取一个参数r,在1≤j≤k中必然存在一个j使得sum(j)<r<sum(j+1)成立,那么度值d=j;
步骤二、通过得到的度值d对生成的正整数X做如下限制:
如果正整数X和度值d不满足条件1<X<K-1且d≥3,重新执行步骤一;
如果正整数X和度值d满足条件1<X<K-1且d≥3,则度值d重复选取出现的周期长度T=K/GCD(X,K);
如果度值d≤T,表示度值d不会出现重复选取现象,直接执行步骤三;否则令正整数X=X+1,重新执行步骤二;
GCD(X,K)为X,K之间的最大公约数;
步骤三、将参与编码的每一个原始数据包的编号定义为(Y+iX)modK,得到已编号的原始数据包;
其中i取值范围为0≤i<d,1≤d≤K;mod函数为求余函数;
步骤四、根据步骤一确定的度值d选取已编号的原始数据包个数,对选取的已编号的原始数据包进行编码,得到已编码原始数据包个数;
步骤五、将已编码原始数据包经信道模块传输至译码模块进行译码,实现编译码。
本发明利用S3C2440A微处理器给出了喷泉码的编译码的硬件实现系统。给出了系统的整体设计框架,并对基于改进的LRLTC算法的折中方案给出了验证,本发明基于LRLTC算法的折中方案与基于简单随机抽样的改进方案、基于排序的改进方案相比,后两种方案是脱离了LRLTC算法的新的方案,结合图6,原始数据包个数为600时,改进的LRLTC方法和基于排序的改进方法的译码开销E为17,基于抽样的改进方法的译码开销E为18,LRLTC方法的译码开销E为20;原始数据包个数为1000时,改进的LRLTC方法的译码开销E为16,基于排序的改进方法和基于抽样的改进方法的译码开销E为17,LRLTC方法的译码开销E为18;得出本发明方法的改进的LRLTC方法在减小了接收端的译码开销,也就是减少了译码时的迭代次数,计算过程简单,大大改善了译码性能。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (6)

1.一种基于ARM的数字喷泉码的编译码实现方法,其特征在于:所述方法具体过程为:
步骤一、均匀随机生成两个正整数X、Y,其中X、Y相互独立且满足:1≤X≤K-1,1≤Y≤K-1;
K为原始数据包个数,K取值为正整数;
鲁棒孤波分布为:
Figure FDA0001362678420000011
式中,ρ(i)为理想孤波分布函数;τ(i)为鲁棒孤波分布公式中的变量;
Figure FDA0001362678420000012
其中1≤j≤K;sum为求和函数;
在0-1之间随机选取一个参数r,在1≤j≤k中必然存在一个j使得sum(j)<r<sum(j+1)成立,那么度值d=j;
步骤二、如果正整数X和度值d不满足条件1<X<K-1且d≥3,重新执行步骤一;
如果正整数X和度值d满足条件1<X<K-1且d≥3,则度值d重复选取出现的周期长度T=K/GCD(X,K);
如果度值d≤T,表示度值d不会出现重复选取现象,直接执行步骤三;否则令正整数X=X+1,重新执行步骤二;
GCD(X,K)为X,K之间的最大公约数;
步骤三、将参与编码的每一个原始数据包的编号定义为(Y+iX)modK,得到已编号的原始数据包;
其中i取值范围为0≤i<d,1≤d≤K;mod函数为求余函数;
步骤四、根据步骤一确定的度值d选取已编号的原始数据包个数,对选取的已编号的原始数据包进行编码,得到已编码原始数据包个数;
步骤五、将已编码原始数据包经信道模块传输至译码模块进行译码,实现编译码。
2.根据权利要求1所述一种基于ARM的数字喷泉码的编译码实现方法,其特征在于:所述理想孤波分布函数ρ(i)为:
Figure FDA0001362678420000021
3.根据权利要求2所述一种基于ARM的数字喷泉码的编译码实现方法,其特征在于:所述鲁棒孤波分布公式中的变量τ(i)为:
Figure FDA0001362678420000022
其中s为度为1的已编码的N个数据包的数学期望,
Figure FDA0001362678420000023
c为一个自由变量,δ为译码模块接收到已编码的N个数据包后无法解码的概率极限;
N为已编码数据包个数,K≤N。
4.根据权利要求3所述一种基于ARM的数字喷泉码的编译码实现方法,其特征在于:所述c取值为1。
5.根据权利要求4所述一种基于ARM的数字喷泉码的编译码实现方法,其特征在于:所述δ取值为0.5。
6.根据权利要求5所述一种基于ARM的数字喷泉码的编译码实现方法,其特征在于:所述K取值范围为100-1200。
CN201710625304.0A 2017-07-27 2017-07-27 一种基于arm的数字喷泉码的编译码实现方法 Active CN107347000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710625304.0A CN107347000B (zh) 2017-07-27 2017-07-27 一种基于arm的数字喷泉码的编译码实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710625304.0A CN107347000B (zh) 2017-07-27 2017-07-27 一种基于arm的数字喷泉码的编译码实现方法

Publications (2)

Publication Number Publication Date
CN107347000A CN107347000A (zh) 2017-11-14
CN107347000B true CN107347000B (zh) 2020-05-26

Family

ID=60257051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710625304.0A Active CN107347000B (zh) 2017-07-27 2017-07-27 一种基于arm的数字喷泉码的编译码实现方法

Country Status (1)

Country Link
CN (1) CN107347000B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768902B (zh) * 2018-06-12 2020-08-28 辽宁工业大学 一种改进的基于喷泉码防窃听方法
CN109347603A (zh) * 2018-10-24 2019-02-15 中通服咨询设计研究院有限公司 4g和5g无线通信系统中数字喷泉码的参数的优选方法
CN110430011B (zh) * 2019-07-09 2020-04-24 武汉大学 基于规则变量节点度分布的bats码编码方法
CN113098660B (zh) * 2021-03-23 2022-02-01 武汉大学 一种基于部分复制技术的不等局部可修复喷泉码构造方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252606A (zh) * 2008-03-21 2008-08-27 哈尔滨工业大学深圳研究生院 深空通信中基于低密度奇偶校验码-喷泉码的编译方法
CN102237966A (zh) * 2011-07-11 2011-11-09 哈尔滨工业大学深圳研究生院 基于度2和高度编码包的喷泉码解码方法
CN105141412A (zh) * 2015-09-28 2015-12-09 西安交通大学 一种基于喷泉编码的保障多媒体多播安全传输方法
CN106788886A (zh) * 2016-12-09 2017-05-31 同济大学 一种lt码编解码方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539299B2 (en) * 2010-04-06 2013-09-17 Nec Laboratories America, Inc. LT decoding and retransmission for wireless broadcast

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252606A (zh) * 2008-03-21 2008-08-27 哈尔滨工业大学深圳研究生院 深空通信中基于低密度奇偶校验码-喷泉码的编译方法
CN102237966A (zh) * 2011-07-11 2011-11-09 哈尔滨工业大学深圳研究生院 基于度2和高度编码包的喷泉码解码方法
CN105141412A (zh) * 2015-09-28 2015-12-09 西安交通大学 一种基于喷泉编码的保障多媒体多播安全传输方法
CN106788886A (zh) * 2016-12-09 2017-05-31 同济大学 一种lt码编解码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数字喷泉码的编译码研究与实现;王洪云;《中国优秀硕士学位论文全文数据库信息科技辑》;20170215(第2期);正文第6-47页 *

Also Published As

Publication number Publication date
CN107347000A (zh) 2017-11-14

Similar Documents

Publication Publication Date Title
CN107347000B (zh) 一种基于arm的数字喷泉码的编译码实现方法
US8006160B2 (en) Efficient encoding and decoding methods for representing schedules and processing forward error correction codes
CN111149316B (zh) 用于优化多路径数据传输的负载的系统和方法
JP5329239B2 (ja) 通信システムのための多体ベース符号の生成器および復号化器
EP1116335B1 (en) Lost packet recovery method for packet transmission protocols
CN102164026B (zh) 基于深空通信环境下的喷泉码编译方法
JP4971144B2 (ja) ファイルダウンロードおよびストリーミングのシステム
CN101217352B (zh) 一阶段速率匹配的缓冲设置方法
CN101425871B (zh) 多元纠错码发射接收装置及数据传输系统以及相关方法
JP2008546361A (ja) 前方エラー訂正(fec)符号およびストリーミング
CA3069482C (en) Blockwise parallel frozen bit generation for polar codes
CN101183875A (zh) 一种Turbo码的有限长度循环缓存的速率匹配方法
CN112600647B (zh) 基于网络编码续航的多跳无线网络传输方法
CN108111256A (zh) 级联编译方法、装置、存储介质及其计算机设备
EP1973234A1 (en) Optimised code block segmentation for turbo encoding
Jun et al. New fountain codes with improved intermediate recovery based on batched zigzag coding
US11398842B2 (en) Convolutional precoding and decoding of polar codes
CN102195743B (zh) 动态实时喷泉码编码方案
CN103199876A (zh) 实现软判决fec译码的方法及装置
CN114079530A (zh) 编码方法及装置
CN101953105A (zh) 用于停止Turbo解码器执行的方法和系统
CN111835363B (zh) 基于交替方向乘子法的ldpc码译码方法
CN104159115B (zh) 解码方法和解码装置
EP3972133A1 (en) Selection of pivot positions for linear network codes
Cigirkan et al. Efficient and Reliable Multicast of Data in APCO P25 Systems

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