买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种滑窗BATS Codes的设计方法_天府新区西南交通大学研究院;电子科技大学_201910072501.3 

申请/专利权人:天府新区西南交通大学研究院;电子科技大学

申请日:2019-01-25

公开(公告)日:2021-01-08

公开(公告)号:CN109547165B

主分类号:H04L1/00(20060101)

分类号:H04L1/00(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.01.08#授权;2019.04.23#实质审查的生效;2019.03.29#公开

摘要:本发明属于网络编码技术领域,具体涉及一种滑窗BATSCodes的设计方法。本发明在BATSCodes的基础上,引入滑窗的策略,将长码分段划分为多个短码块,通过采用逐个窗编码逐个窗译码逐个窗输出的方式来解决无人机集群网络中对低时延的需求。滑窗BATSCodes在窗与窗之间不需要增加反馈,发送足够的数据包后,窗口即可向下移动。窗与窗之间重叠部分的输入原始数据包在译码端译码完成后,将推动前一个或几个窗内编码包的译码。而更为重要的是,滑窗策略将虚拟的增加原始数据包的长度,使其译码性能不至大幅度的下降。通过这样的一种设计方法,使得BATSCodes在无人机集群网络中得以应用,确保通信的可靠性,且时延性能可以得到较大的提升。

主权项:1.一种滑窗BATSCodes的设计方法,其特征在于,包括以下步骤:S1、在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,产生一个batch的具体过程为:a将原始数据等分为K个数据包,每个数据包包含L个符号,符号数值在有限域0~2q-1范围内,q取整数值,将其称为有限域的大小;b在K个数据包中均匀地随机选取di个不同输入数据包,按列构成矩阵c在有限域0~2q-1范围内随机产生一个系数矩阵根据矩阵Gi中的列信息对di个输入数据包进行线性组合,生成M个编码包,用矩阵表示为BiGi,组成一个batch;然后依次将batch发送至中间节点,在中间节点,对每一个batch内的编码包按照内码编码过程进行随机线性网络编码,具体为:定义Hi表示第i个batch的转移矩阵,Yi是其对应batch的输出编码数据包:Yi=BiGiHi其中,Hi的行数为M,列数与第i个batch接收到的编码包数有关;接着将batch依次发送至接收端;一个窗所对应发送batch数N由下式计算: 其中hs对应信道秩分布;S2、当接收端接收到第一个窗发送的N个batch后,译码器按照译码过程,对接收到的batch进行译码,直至没有可译的校验节点;S3、当上一个窗译码结束后,窗口向下滑动s距离,按S1所述编码方式对当前窗口所包含的w个原始输入数据包进行编码,接收端接收到N个batch后,根据前一个窗中已恢复的变量节点对新产生的校验节点i进行更新,更新步骤具体如下,变量节点j对每一个batch:S31、已恢复的变量节点j如果与该校验节点相连,该校验节点的度数降1,Ai=Aij,Ai表示与第i个batch相连的变量节点的序号向量;S32、删除Gi中对应于变量节点j的那一行g;S33、对应的Yi=Yi-bjgHi,bj为变量节点j对应的原始数据包;S4、更新结束后再按照译码过程对接收到的N个batch进行译码;S5、跳转至步骤S3,重复S3、S4的过程,直至译码器完成最后一个窗口的译码。

全文数据:一种滑窗BATSCodes的设计方法技术领域本发明属于网络编码技术领域,具体涉及一种滑窗BATSCodes的设计方法。背景技术近年来,无线通信在世界范围内迅速发展,并且诸如移动TV和推送型信息等无线服务已广泛地应用在实际生活中。其中,多播和广播是此类应用中的常见操作,引起了研究者的极大兴趣。然而,由于无线信道衰落和信号干扰,多播网络的数据传输变得不可靠。为了提高网络的可靠性,杨伟豪和张珍提出网络编码NetworkCoding,NC的思想,即允许中间节点对输入数据包进行编码。网络编码在增强无线网络可靠性的同时,还实现更高的网络吞吐量。然而,网络编码在提升可靠性和吞吐量等性能的同时,也面临着系数开销大、长延迟等问题,使其无法广泛地应用到实际生活中。为了平衡编码开销译码复杂度和吞吐量问题,ShenghaoYang等人于2011年提出了批量稀疏码BatchedSparseCodes,BATSCodes的概念。BATSCodes是一种将喷泉码和网络编码相结合的一种新型编译码方案,在发送端将要传送的数据信息分成特定长度的源数据包,根据度分布函数选出源数据包并对其进行喷泉码编码外码,生成以batch批次为单位的编码包在信道上进行传输。在中继节点,对接收到的batch进行batch内的随机线性网络编码内码后,再传输到接收端。在经过信道传输后,接收端不需要考虑信道条件只要保证接收到足够数量的batch,就一定可以成功译码从而恢复要传送的源数据信息。BATSCodes作为一种较新颖的信道编码技术,其继承了喷泉码和网络编码的优点。凭借其无码率特性,以及无需反馈、中断可续传、吞吐量高、安全性高、复杂度低的优点,近些年成为通信领域研究的热点之一。众所周知,无人机在现代通信领域中扮演着越来越重要的角色,与有人驾驶飞机相比,无人机具有成本低、留空时间长、航程远、过载能力强、机动性好、无飞行人员伤亡等优点,这些优点使得无人机受到越来越多的重视。随着任务需求的增加,赋予无人机的功能越来越复杂,单架无人机已很难满足复杂任务的需要,无人机集群网络的关键技术和应用已经称为了当下科学家们研究的热点。在无人机集群通信网络中,需要对无人机拍摄的大量图像数据进行交换和管理,由于无线信道衰落和信号干扰等因素的影响,对数据链路的可靠性和吞吐量的性能提出了很高的要求。结合之前BATSCodes的优点,将其运用于无人机集群网络中能有效提高网络通信质量,但同时也面临着诸多问题和挑战。这其中非常重要的一点是,无人机对即时通信要求很高,例如,在消防应急救援或者军事活动中,无人机需要时刻采集数据,拍摄照片,寻找救援目标或敌人位置,辨别目标真伪,然后给指挥中心报告,之后指挥人员下达命令等一系列操作。这就要求无人机和控制中心之间要有较低的时延。而BatsCode在译码端恢复信息时,需要接收到足够多的编码包之后才能开始译码,这就产生了较大的时延。发明内容本发明的目的在于,针对上述问题,在BATSCodes的基础上,引入滑窗的策略,将长码分段划分为多个短码块,通过采用逐个窗编码逐个窗译码逐个窗输出的方式来降低时延。另外,滑窗在窗与窗之间不需要增加反馈,发送足够的数据包后,窗口即可向下移动。窗与窗之间重叠的输入原始数据包在译码端译码完成后,将推动前一个或几个窗内编码包的译码。而更为重要的是,滑窗策略将虚拟的增加原始数据包的长度,使其译码性能不至大幅度的下降。BATSCodes的编码,包括外码和内码两个部分,外码是喷泉码的矩阵形式,内码采用随机线性网络编码。外码和内码的编码过程可以用一个唐纳图描述,如图1,圆圈表示变量节点,变量节点i对应第i个原始数据包bi,方块表示校验节点,校验节点j对应第j个batchYi。如果bi参与了Yi的生成,则说校验节点j与变量节点i相连。Gj表示与每个校验节点j相关的是生成矩阵,Hj为第j个校验节点的转移矩阵。具体编码过程详述如下:外码编码在源节点处进行,对输入数据包进行编码,顺序产生各个batch发送至中间节点。产生一个batch的方式如下:1.将原始数据等分为K个数据包,每个数据包包含L个符号,符号数值在有限域0~2q-1范围内。对度分布函数进行采样,以概率得到一个度di。2.在K个数据包中均匀地随机选取di个不同输入数据包,按列构成矩阵3.在有限域0~2q-1范围内随机产生一个系数矩阵生成矩阵,根据矩阵Gi中的列信息对di个输入数据包进行线性组合,生成M个编码包,用矩阵表示为BiGi,组成一个batch,以batch为单位在信道中进行传输。内码的功能是在中间节点对每个batch进行随机线性网络编码,然后发送至目的节点,Hi表示第i个batch的转移矩阵,Yi是其对应batch的输出编码数据包,可以得到Yi=XiHi=BiGiHi1其中,Hi的行数为M,列数与第i个batch接收到的编码包数有关。转移矩阵Hi与内码编码和网络的拓扑结构有关,不同的batch对应的Hi可以不同。BATSCodes译码过程详述如下:目的节点通过Yi以及Gi和Hi的信息进行译码,其中i=1,2,...,n,译码过程等价于解由式1生成的线性系统方程组。当K值很大时,采用高斯消元的方法解线性方程组的计算复杂度太高。因此本方案采用低复杂度的BP译码算法作为BATSCodes的译码算法。BP译码过程可以由图2来进行直观描述,图中,第一行是变量节点代表输入数据包,第二行是校验节点表示接收到的各个batch,它跟图1不同的是图2将图1的两次编码过程结合成一个过程,构成了一个整体转移矩阵,整体转移矩阵GiHi与校验节点i相关联。当第i个校验节点的秩rkGiHi等于它的度di时,校验节点i是可译的。因此Bi可以通过解方程Yi=BiGiHi恢复,且得到的是唯一解。当恢复出Bi中的di个原始数据包后,我们将这些恢复出的原始包替换到还未译码的批次中。假设bK在Bi中,如果只有一条边与变量节点k相连,边的另一个顶点是校验节点i,此时直接移除变量节点k,它不再参与后续译码过程;如果变量节点k还与校验节点j相连且j≠i,通过替换过程,校验节点j的度数降1,并删除Gj中对应于变量节点k的那一行,在译码图中,这个过程就相当于首先删除校验节点i以及与之相连的变量节点,然后更新与该变量节点相连的其他校验节点的信息,重复这些步骤直至没有可解的校验节点,最终译码得到原始分组。BATSCodes度分布优化,通过求解下述线性优化方程组获得最优度分布,其具体步骤如下:1.假设网络链路长度为k,由下列迭代公式计算出转移矩阵Hk的经验秩分布:如果k1:2.令x在η~1之间均匀采样,采样间隔尽可能小,3.求解下列线性方程组,最大化有效码率获得最优的度分布:其中η为译码失败率,D为度的最大值,D=Mη-1。本发明的技术方案如下:一种滑窗BATSCodes的设计方法,包括以下步骤:S1、在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,产生一个batch的具体过程为:a将原始数据等分为K个数据包,每个数据包包含L个符号,符号数值在有限域0~2q-1范围内,q取整数值,将其称为有限域的大小;b在K个数据包中均匀地随机选取di个不同输入数据包,按列构成矩阵c在有限域0~2q-1范围内随机产生一个系数矩阵根据矩阵Gi中的列信息对di个输入数据包进行线性组合,生成M个编码包,用矩阵表示为BiGi,组成一个batch;然后依次将batch发送至中间节点,在中间节点,对每一个batch内的编码包按照内码编码过程进行随机线性网络编码,具体为:定义Hi表示第i个batch的转移矩阵,Yi是其对应batch的输出编码数据包:Yi=BiGiHi其中,Hi的行数为M,列数与第i个batch接收到的编码包数有关;接着将batch依次发送至接收端;一个窗所对应发送batch数N由下式计算:其中hs对应信道秩分布;S2、当接收端接收到第一个窗发送的N个batch后,译码器按照译码过程,对接收到的batch进行译码,直至没有可译的校验节点;S3、当上一个窗译码结束后,窗口向下滑动s距离,按S1所述编码方式对当前窗口所包含的w个原始输入数据包进行编码,接收端接收到N个batch后,根据前一个窗中已恢复的变量节点对新产生的校验节点i进行更新,更新步骤具体如下,变量节点j对每一个batch:S31、如果已恢复的变量节点j如果与该校验节点相连,该校验节点的度数降1,Ai=Aij,Ai表示与第i个batch相连的变量节点的序号向量;S32、删除Gi中对应于变量节点j的那一行g;S33、对应的Yi=Yi-bjgHi,bj为变量节点j对应的原始数据包;S4、更新结束后再按照译码过程对接收到的N个batch进行译码,译码完成后,窗口向下滑动距离s;S5、跳转至步骤S3,重复S3、S4的过程,直至译码器完成最后一个窗口的译码。本发明的有益效果为,滑窗BATSCodes编译码的时延相对传统BATSCodes的性能有较大幅度的提升。附图说明图1是BATSCodes的编码结构图;图2是BATSCodes的译码结构图;图3是滑窗BATSCodes的结构图;图4是BATSCodes滑窗编译码的程序流程图;图5是BATSCodes与滑窗BATSCodes时延性能比较图;具体实施方式下面结合实施例和附图,详细说明本发明的实施方式。滑窗BATSCodes的结构如图3所示,窗长度为w,窗口从输入数据包的开端开始,以一定的步长s向下滑,直至数据的末端,窗与窗之间存在重合的部分,重合宽度为w-s。滑窗BATSCodes总共所需的窗数可用下式计算:在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,然后依次将batch发送至中间节点,在中间节点,对每一个batch内的编码包按照内码编码过程进行随机线性网络编码,接着将batch依次发送至接收端。一个窗所对应发送batch数可用下式计算:其中hs对应信道秩分布。当接收端接收到第一个窗发送的N个batch后,译码器按照译码过程,对接收到的batch进行译码,直至没有可译的校验节点。当第一个窗译码结束后,窗口向下滑动s距离,按相同编码方式对第二个窗所包含的w个输入数据包进行编码,将N个batch发送至接收端,接收端首先根据第一个窗中已恢复的变量节点对新产生的校验节点进行更新,更新步骤具体如下,变量节点j对每一个batch如校验节点k:1.如果已恢复的变量节点j如果与该校验节点相连,该校验节点的度数降1,Ak=Akj;2.删除Gk中对应于变量节点j的那一行g;3.对应的Yk=Yk-bjgHk。更新结束后再按照译码过程进行新一轮的译码,后面的过程如此往复,直到窗口滑至数据末端。这个过程我们用程序流程图4来进行说明。滑窗BATSCodes可以在任意窗后输出已恢复数据。输出数据具体方式为,例如,在T个窗后,目的节点开始输出数据,在第tt≥T,t≠Nw个窗译码结束后,译码器输出范围为1+t-Ts~t-1s内的已恢复原始数据包,在第Nw个窗译码结束后,译码器输出范围为1+t-Ts~K内的已恢复原始数据包。T越大,时延越高,译码性能越好,反之,T越小,时延越低,译码性能越差。实施例以两跳的删除网络为模型,分别对长码和中长码的时延性能进行了仿真,长码以K=[55000,44000,33000,22000,11000]为例,对应的窗长度分别为w=[10000,8000,6000,4000,2000],s=0.75w,删除概率为e=0.2,中长码以K=[1300,2200,3100,4000,4900]为例,对应的窗长度为固定值w=400,s=0.75w,删除概率为e=0.1。仿真结果以译码后的平均传输时延来衡量滑窗BATSCodes的时延性能。图5是时延性能比较图。忽略编译码的处理时间,用平均传输时延来衡量时延性能。由图5可见,滑窗BATSCodes的时延性能相比较传统BATSCodes有较大的提升,并且,随着K值的增大,性能差距也随之增大。所以,本发明将滑窗策略应用于BATSCodes中能有效降低时延,将其运用于无人机集群网络中,能较好的解决其对低时延的要求。

权利要求:1.一种滑窗BATSCodes的设计方法,其特征在于,包括以下步骤:S1、在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,产生一个batch的具体过程为:a将原始数据等分为K个数据包,每个数据包包含L个符号,符号数值在有限域0~2q-1范围内,q取整数值,将其称为有限域的大小;b在K个数据包中均匀地随机选取di个不同输入数据包,按列构成矩阵c在有限域0~2q-1范围内随机产生一个系数矩阵根据矩阵Gi中的列信息对di个输入数据包进行线性组合,生成M个编码包,用矩阵表示为BiGi,组成一个batch;然后依次将batch发送至中间节点,在中间节点,对每一个batch内的编码包按照内码编码过程进行随机线性网络编码,具体为:定义Hi表示第i个batch的转移矩阵,Yi是其对应batch的输出编码数据包:Yi=BiGiHi其中,Hi的行数为M,列数与第i个batch接收到的编码包数有关;接着将batch依次发送至接收端;一个窗所对应发送batch数N由下式计算:其中hs对应信道秩分布;S2、当接收端接收到第一个窗发送的N个batch后,译码器按照译码过程,对接收到的batch进行译码,直至没有可译的校验节点;S3、当上一个窗译码结束后,窗口向下滑动s距离,按S1所述编码方式对当前窗口所包含的w个原始输入数据包进行编码,接收端接收到N个batch后,根据前一个窗中已恢复的变量节点对新产生的校验节点i进行更新,更新步骤具体如下,变量节点j对每一个batch:S31、如果已恢复的变量节点j如果与该校验节点相连,该校验节点的度数降1,Ai=Aij,Ai表示与第i个batch相连的变量节点的序号向量;S32、删除Gi中对应于变量节点j的那一行g;S33、对应的Yi=Yi-bjgHi,bj为变量节点j对应的原始数据包;S4、更新结束后再按照译码过程对接收到的N个batch进行译码,译码完成后,窗口向下滑动距离s;S5、跳转至步骤S3,重复S3、S4的过程,直至译码器完成最后一个窗口的译码。

百度查询: 天府新区西南交通大学研究院;电子科技大学 一种滑窗BATS Codes的设计方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。