CN109547165B - 一种滑窗BATS Codes的设计方法 - Google Patents
一种滑窗BATS Codes的设计方法 Download PDFInfo
- Publication number
- CN109547165B CN109547165B CN201910072501.3A CN201910072501A CN109547165B CN 109547165 B CN109547165 B CN 109547165B CN 201910072501 A CN201910072501 A CN 201910072501A CN 109547165 B CN109547165 B CN 109547165B
- Authority
- CN
- China
- Prior art keywords
- window
- decoding
- batch
- node
- codes
- 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
Links
Images
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/0076—Distributed coding, e.g. network coding, involving channel coding
-
- 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/0047—Decoding adapted to other signal detection operation
-
- 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/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络编码技术领域,具体涉及一种滑窗BATS Codes的设计方法。本发明在BATS Codes的基础上,引入滑窗的策略,将长码分段划分为多个短码块,通过采用逐个窗编码逐个窗译码逐个窗输出的方式来解决无人机集群网络中对低时延的需求。滑窗BATS Codes在窗与窗之间不需要增加反馈,发送足够的数据包后,窗口即可向下移动。窗与窗之间重叠部分的输入原始数据包在译码端译码完成后,将推动前一个(或几个)窗内编码包的译码。而更为重要的是,滑窗策略将虚拟的增加原始数据包的长度,使其译码性能不至大幅度的下降。通过这样的一种设计方法,使得BATS Codes在无人机集群网络中得以应用,确保通信的可靠性,且时延性能可以得到较大的提升。
Description
技术领域
本发明属于网络编码技术领域,具体涉及一种滑窗BATS Codes的设计方法。
背景技术
近年来,无线通信在世界范围内迅速发展,并且诸如移动TV和推送型信息等无线服务已广泛地应用在实际生活中。其中,多播和广播是此类应用中的常见操作,引起了研究者的极大兴趣。然而,由于无线信道衰落和信号干扰,多播网络的数据传输变得不可靠。为了提高网络的可靠性,杨伟豪和张珍提出网络编码(Network Coding,NC)的思想,即允许中间节点对输入数据包进行编码。网络编码在增强无线网络可靠性的同时,还实现更高的网络吞吐量。然而,网络编码在提升可靠性和吞吐量等性能的同时,也面临着系数开销大、长延迟等问题,使其无法广泛地应用到实际生活中。
为了平衡编码开销/译码复杂度和吞吐量问题,Shenghao Yang等人于2011年提出了批量稀疏码(Batched Sparse Codes,BATS Codes)的概念。BATS Codes是一种将喷泉码和网络编码相结合的一种新型编译码方案,在发送端将要传送的数据信息分成特定长度的源数据包,根据度分布函数选出源数据包并对其进行喷泉码编码(外码),生成以batch(批次)为单位的编码包在信道上进行传输。在中继节点,对接收到的batch进行batch内的随机线性网络编码(内码)后,再传输到接收端。在经过信道传输后,接收端不需要考虑信道条件只要保证接收到足够数量的batch,就一定可以成功译码从而恢复要传送的源数据信息。BATS Codes作为一种较新颖的信道编码技术,其继承了喷泉码和网络编码的优点。凭借其无码率特性,以及无需反馈、中断可续传、吞吐量高、安全性高、复杂度低的优点,近些年成为通信领域研究的热点之一。
众所周知,无人机在现代通信领域中扮演着越来越重要的角色,与有人驾驶飞机相比,无人机具有成本低、留空时间长、航程远、过载能力强、机动性好、无飞行人员伤亡等优点,这些优点使得无人机受到越来越多的重视。随着任务需求的增加,赋予无人机的功能越来越复杂,单架无人机已很难满足复杂任务的需要,无人机集群网络的关键技术和应用已经称为了当下科学家们研究的热点。
在无人机集群通信网络中,需要对无人机拍摄的大量图像数据进行交换和管理,由于无线信道衰落和信号干扰等因素的影响,对数据链路的可靠性和吞吐量的性能提出了很高的要求。结合之前BATS Codes的优点,将其运用于无人机集群网络中能有效提高网络通信质量,但同时也面临着诸多问题和挑战。这其中非常重要的一点是,无人机对即时通信要求很高,例如,在消防应急救援或者军事活动中,无人机需要时刻采集数据,拍摄照片,寻找救援目标或敌人位置,辨别目标真伪,然后给指挥中心报告,之后指挥人员下达命令等一系列操作。这就要求无人机和控制中心之间要有较低的时延。而Bats Code在译码端恢复信息时,需要接收到足够多的编码包之后才能开始译码,这就产生了较大的时延。
发明内容
本发明的目的在于,针对上述问题,在BATS Codes的基础上,引入滑窗的策略,将长码分段划分为多个短码块,通过采用逐个窗编码逐个窗译码逐个窗输出的方式来降低时延。另外,滑窗在窗与窗之间不需要增加反馈,发送足够的数据包后,窗口即可向下移动。窗与窗之间重叠的输入原始数据包在译码端译码完成后,将推动前一个(或几个)窗内编码包的译码。而更为重要的是,滑窗策略将虚拟的增加原始数据包的长度,使其译码性能不至大幅度的下降。
BATS Codes的编码,包括外码和内码两个部分,外码是喷泉码的矩阵形式,内码采用随机线性网络编码。外码和内码的编码过程可以用一个唐纳图描述,如图1,圆圈表示变量节点,变量节点i对应第i个原始数据包bi,方块表示校验节点,校验节点j对应第j个batch Yi。如果bi参与了Yi的生成,则说校验节点j与变量节点i相连。Gj表示与每个校验节点j相关的是生成矩阵,Hj为第j个校验节点的转移矩阵。具体编码过程详述如下:
外码编码在源节点处进行,对输入数据包进行编码,顺序产生各个batch发送至中间节点。产生一个batch的方式如下:
3.在有限域0~(2q-1)范围内随机产生一个系数矩阵(生成矩阵),根据矩阵Gi中的列信息对di个输入数据包进行线性组合,生成M个编码包,用矩阵表示为BiGi,组成一个batch,以batch为单位在信道中进行传输。
内码的功能是在中间节点对每个batch进行随机线性网络编码,然后发送至目的节点,Hi表示第i个batch的转移矩阵,Yi是其对应batch的输出编码数据包,可以得到
Yi=XiHi=BiGiHi (1)
其中,Hi的行数为M,列数与第i个batch接收到的编码包数有关。转移矩阵Hi与内码编码和网络的拓扑结构有关,不同的batch对应的Hi可以不同。
BATS Codes译码过程详述如下:
目的节点通过Yi以及Gi和Hi的信息进行译码,其中i=1,2,...,n,译码过程等价于解由式(1)生成的线性系统方程组。当K值很大时,采用高斯消元的方法解线性方程组的计算复杂度太高。因此本方案采用低复杂度的BP译码算法作为BATS Codes的译码算法。
BP译码过程可以由图2来进行直观描述,图中,第一行是变量节点代表输入数据包,第二行是校验节点表示接收到的各个batch,它跟图1不同的是图2将图1的两次编码过程结合成一个过程,构成了一个整体转移矩阵,整体转移矩阵GiHi与校验节点i相关联。
当第i个校验节点的秩rk(GiHi)等于它的度di时,校验节点i是可译的。因此Bi可以通过解方程Yi=BiGiHi恢复,且得到的是唯一解。当恢复出Bi中的di个原始数据包后,我们将这些恢复出的原始包替换到还未译码的批次中。假设bK在Bi中,如果只有一条边与变量节点k相连,边的另一个顶点是校验节点i,此时直接移除变量节点k,它不再参与后续译码过程;如果变量节点k还与校验节点j相连且j≠i,通过替换过程,校验节点j的度数降1,并删除Gj中对应于变量节点k的那一行,在译码图中,这个过程就相当于首先删除校验节点i以及与之相连的变量节点,然后更新与该变量节点相连的其他校验节点的信息,重复这些步骤直至没有可解的校验节点,最终译码得到原始分组。
BATS Codes度分布优化,通过求解下述线性优化方程组获得最优度分布,其具体步骤如下:
1.假设网络链路长度为k,由下列迭代公式计算出转移矩阵Hk的经验秩分布:
如果k>1:
其中η为译码失败率,D为度的最大值,D=M/η-1。
本发明的技术方案如下:
一种滑窗BATS Codes的设计方法,包括以下步骤:
S1、在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,产生一个batch的具体过程为:
a)将原始数据等分为K个数据包,每个数据包包含L个符号,符号数值在有限域0~(2q-1)范围内,q取整数值,将其称为有限域的大小;
然后依次将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=Ai/j,Ai表示与第i个batch相连的变量节点的序号向量;
S32、删除Gi中对应于变量节点j的那一行g;
S33、对应的Yi=Yi-bjgHi,bj为变量节点j对应的原始数据包;
S4、更新结束后再按照译码过程对接收到的N个batch进行译码,译码完成后,窗口向下滑动距离s;
S5、跳转至步骤S3,重复S3、S4的过程,直至译码器完成最后一个窗口的译码。
本发明的有益效果为,滑窗BATS Codes编译码的时延相对传统BATS Codes的性能有较大幅度的提升。
附图说明
图1是BATS Codes的编码结构图;
图2是BATS Codes的译码结构图;
图3是滑窗BATS Codes的结构图;
图4是BATS Codes滑窗编译码的程序流程图;
图5是BATS Codes与滑窗BATS Codes时延性能比较图;
具体实施方式
下面结合实施例和附图,详细说明本发明的实施方式。
滑窗BATS Codes的结构如图3所示,窗长度为w,窗口从输入数据包的开端开始,以一定的步长s向下滑,直至数据的末端,窗与窗之间存在重合的部分,重合宽度为w-s。滑窗BATS Codes总共所需的窗数可用下式计算:
在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,然后依次将batch发送至中间节点,在中间节点,对每一个batch内的编码包按照内码编码过程进行随机线性网络编码,接着将batch依次发送至接收端。一个窗所对应发送batch数可用下式计算:
其中hs对应信道秩分布。
当接收端接收到第一个窗发送的N个batch后,译码器按照译码过程,对接收到的batch进行译码,直至没有可译的校验节点。
当第一个窗译码结束后,窗口向下滑动s距离,按相同编码方式对第二个窗所包含的w个输入数据包进行编码,将N个batch发送至接收端,接收端首先根据第一个窗中已恢复的变量节点对新产生的校验节点进行更新,更新步骤具体如下,变量节点j对每一个batch(如校验节点k):
1.如果已恢复的变量节点j如果与该校验节点相连,该校验节点的度数降1,
Ak=Ak/j;
2.删除Gk中对应于变量节点j的那一行g;
3.对应的Yk=Yk-bjgHk。
更新结束后再按照译码过程进行新一轮的译码,后面的过程如此往复,直到窗口滑至数据末端。这个过程我们用程序流程图4来进行说明。
滑窗BATS Codes可以在任意窗后输出已恢复数据。输出数据具体方式为,例如,在T个窗后,目的节点开始输出数据,在第t(t≥T,t≠Nw)个窗译码结束后,译码器输出范围为(1+(t-T)s)~(t-1)s内的已恢复原始数据包,在第Nw个窗译码结束后,译码器输出范围为(1+(t-T)s)~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。仿真结果以译码后的平均传输时延来衡量滑窗BATS Codes的时延性能。
图5是时延性能比较图。忽略编译码的处理时间,用平均传输时延来衡量时延性能。由图5可见,滑窗BATS Codes的时延性能相比较传统BATS Codes有较大的提升,并且,随着K值的增大,性能差距也随之增大。所以,本发明将滑窗策略应用于BATS Codes中能有效降低时延,将其运用于无人机集群网络中,能较好的解决其对低时延的要求。
Claims (1)
1.一种滑窗BATS Codes的设计方法,其特征在于,包括以下步骤:
S1、在第一个窗内,对w个输入数据包进行编码,在源节点处按照外码编码过程产生各个batch,产生一个batch的具体过程为:
a)将原始数据等分为K个数据包,每个数据包包含L个符号,符号数值在有限域0~(2q-1)范围内,q取整数值,将其称为有限域的大小;
然后依次将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=Ai/j,Ai表示与第i个batch相连的变量节点的序号向量;
S32、删除Gi中对应于变量节点j的那一行g;
S33、对应的Yi=Yi-bjgHi,bj为变量节点j对应的原始数据包;
S4、更新结束后再按照译码过程对接收到的N个batch进行译码;
S5、跳转至步骤S3,重复S3、S4的过程,直至译码器完成最后一个窗口的译码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910072501.3A CN109547165B (zh) | 2019-01-25 | 2019-01-25 | 一种滑窗BATS Codes的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910072501.3A CN109547165B (zh) | 2019-01-25 | 2019-01-25 | 一种滑窗BATS Codes的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109547165A CN109547165A (zh) | 2019-03-29 |
CN109547165B true CN109547165B (zh) | 2021-01-08 |
Family
ID=65838252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910072501.3A Active CN109547165B (zh) | 2019-01-25 | 2019-01-25 | 一种滑窗BATS Codes的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109547165B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430011B (zh) * | 2019-07-09 | 2020-04-24 | 武汉大学 | 基于规则变量节点度分布的bats码编码方法 |
CN110430018B (zh) * | 2019-08-02 | 2021-10-26 | 电子科技大学 | 一种均衡保护的滑动窗口bats码传输方法 |
CN111726635B (zh) * | 2020-06-23 | 2021-08-17 | 电子科技大学 | 一种基于滑窗bats码的低时延图像渐进传输方法 |
CN111917512A (zh) * | 2020-07-08 | 2020-11-10 | 西安交通大学 | 一种在多跳传输系统中基于bats码的高效编码设计方法 |
WO2022036679A1 (en) * | 2020-08-21 | 2022-02-24 | Qualcomm Incorporated | Sliding window coding techniques for wireless communications systems |
CN112804029A (zh) * | 2020-12-30 | 2021-05-14 | 西南交通大学 | 基于ldpc码的bats码的传输方法、装置、设备及可读存储介质 |
CN115549850A (zh) * | 2021-06-29 | 2022-12-30 | 华为技术有限公司 | 发送数据和接收数据的方法以及通信装置 |
CN114598425B (zh) * | 2022-03-23 | 2023-03-17 | 西南交通大学 | 基于bats码的数据传输方法、装置、设备及可读存储介质 |
CN114900273B (zh) * | 2022-03-30 | 2024-05-24 | 上海交通大学 | 一种基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325540A (zh) * | 2007-06-11 | 2008-12-17 | 华为技术有限公司 | 提高基于随机网络编码的多播传输效率的方法及装置 |
CN103152359A (zh) * | 2013-03-25 | 2013-06-12 | 重庆大学 | 一种端到端无线传输控制协议线性网络编码的改进方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10387900B2 (en) * | 2017-04-17 | 2019-08-20 | DataRobot, Inc. | Methods and apparatus for self-adaptive time series forecasting engine |
-
2019
- 2019-01-25 CN CN201910072501.3A patent/CN109547165B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325540A (zh) * | 2007-06-11 | 2008-12-17 | 华为技术有限公司 | 提高基于随机网络编码的多播传输效率的方法及装置 |
CN103152359A (zh) * | 2013-03-25 | 2013-06-12 | 重庆大学 | 一种端到端无线传输控制协议线性网络编码的改进方法 |
Non-Patent Citations (2)
Title |
---|
"Structured random linear codes(SRLC):Bridging the gap between block and convolutional codes";Kazuhisa Matsuzono etal;《2014 IEEE Global Communications Conference》;20150212;全文 * |
"基于时空稀疏编码的动态人脸识别";陈亚楠等;《通信技术》;20170424;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109547165A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547165B (zh) | 一种滑窗BATS Codes的设计方法 | |
KR101795484B1 (ko) | 무선 통신 시스템에서 파운틴 부호를 이용한 데이터 송신 장치 및 방법 | |
JP2014528201A5 (zh) | ||
CN111050291B (zh) | 一种基于系统在线喷泉码的高编码符号度值广播方法 | |
CN105262564A (zh) | 一种分布式喷泉码的二维度分布设计方法 | |
CN111917512A (zh) | 一种在多跳传输系统中基于bats码的高效编码设计方法 | |
CN108966259B (zh) | 一种基于网络编码的抗干扰传输方法 | |
WO2017152839A1 (en) | Message passing algorithm decoder and methods | |
CN110430018B (zh) | 一种均衡保护的滑动窗口bats码传输方法 | |
CN113490239B (zh) | 基于自适应网络编码的异构无线链路并发传输控制方法 | |
CN110430011B (zh) | 基于规则变量节点度分布的bats码编码方法 | |
CN113543206B (zh) | 数据传输的方法、系统和装置 | |
CN111988114B (zh) | 具有不等差错保护策略的在线喷泉码的编解码方法 | |
CN115378548A (zh) | 一种面向无连接的二元叠加确定线性网络编码传输方法 | |
CN105141386B (zh) | 一种适用于濒死信道的无速率编码传输方法 | |
CN111865488B (zh) | 一种用于多跳短分组通信的编码选择方法 | |
CN107248900A (zh) | 一种双中继分布式lt码编译码及传输方法 | |
Li et al. | Random network coding based on adaptive sliding window in wireless multicast networks | |
CN107147470B (zh) | 一种网络编码转发速率在线控制方法及装置 | |
CN112438023B (zh) | 极化编码和解码 | |
Niu et al. | Buffer-aided and weight-based non-orthogonal network coding for wireless broadcasting | |
Jayasooriya et al. | An Improved Sliding Window BATS Code | |
Younus et al. | Video Delivery Based on Random Linear Network Coding | |
CN112751651B (zh) | 一种Turbo码与神经网络相结合的信号传输方法 | |
WO2024164946A1 (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 |