CN104852788B - 基于最大‑最小网络编码的数据广播arq方法 - Google Patents
基于最大‑最小网络编码的数据广播arq方法 Download PDFInfo
- Publication number
- CN104852788B CN104852788B CN201510261486.9A CN201510261486A CN104852788B CN 104852788 B CN104852788 B CN 104852788B CN 201510261486 A CN201510261486 A CN 201510261486A CN 104852788 B CN104852788 B CN 104852788B
- Authority
- CN
- China
- Prior art keywords
- packet
- user
- network code
- codinglist
- base station
- 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
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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1825—Adaptation of specific ARQ protocol parameters according to transmission conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于最大‑最小网络编码的数据广播ARQ方法,包括以下步骤:基站广播数据包;用户进行解码并将数据包的正确解码情况反馈给基站;基站将丢失原始信息进行最大‑最小网络编码方法生成网络编码数据包,并重传网络编码数据包,用户将重传阶段恢复出的数据包情况反馈给基站;重复步骤3)直至所有用户都正确接收到所有数据包。本发明最大‑最小网络编码方法构成的网络编码包个数等于丢失数据包最多的用户所丢失的数据包个数。因此,本发明最大‑最小网络编码方法能够优先确保丢失数据包最多的用户能够获得最大的网络编码增益。本发明具有平均重传次数小、广播效率高等特点,能够很好的应用于无线数据广播场景中。
Description
技术领域
本发明属于无线通信技术领域,涉及无线数据广播通信中的反馈重传技术,为一种基于最大-最小网络编码的ARQ,尤其涉及一种基于最大-最小网络编码的数据广播ARQ方法。
背景技术
自动重传请求技术(Automatic-Repeat-reQuset,ARQ)是用于在不可靠信道中提高通信可靠性的一种简单而有效的技术。“林舒,科斯特洛.差错控制编码(晏坚等译).北京:机械工业出版社,2007.6”,“Cam,R.;Leung,C.;,"Throughput analysis ofsomeARQprotocols in the presence of feedback errors,"Communications,IEEETransactions on,vol.45,no.1,pp.35-44,Jan1997”,“Yu,P.;Shu Lin;,"An EfficientSelective-RepeatARQ Scheme for Satellite Channels and ItsThroughputAnalysis,"Communications,IEEE Transactions on,vol.29,no.3,pp.353-363,Mar1981”。ARQ通过用户请求基站重传出错的数据单元以达到正确接收的目的,其实现方式简单,复杂度较低,常与前向纠错联合起来用于保证实际系统通信的可靠性“S.B.Wicker,Error Control Systems for Digital Communications and Storage,Prentice Hall,Englewood Cliffs,N.J.,1995”。
文献“Larsson,P.,&Johansson,N.Multi-user ARQ.In Vehicular TechnologyConference,2006.VTC 2006-Spring.IEEE 63rd,2006(Vol.4,pp.2052-2057):IEEE”针对两个用户的单播场景提出了一种适用于多用户系统的ARQ方案。该方案利用了网络编码的思想,在数据包重传阶段将不同用户的数据包异或合并的方式来减小重传数据包的发送数量,提高系统的吞吐量,用户利用已知的信息解出自己所需要的信息的方式来恢复自己需要的数据包。文献“肖潇,王伟平,杨路明,&张帅(2009).基于网络编码的无线网络广播重传方法.通信学报(9),69-75.”提出了一种基于网络编码的ARQ方法,其思想是在保证多个用户能够解码并获得有用数据包的前提下,将多个需要重传的数据包进行异或合并,从而极大的减少了数据包的平均重传次数。
通过将网络编码的思想应用在无线广播通信中,能够有效的提高广播的效率,现阶段已有的专利成果如下:
1.西安电子科技大学提出的基于网络编码的广播重传系统及其方法,公开了一种基于网络编码的广播重传系统及其方法,主要解决现有广播重传技术重传效率较低的问题。该发明的系统包括基站和多个用户,基站包括协商模块、动态列表模块、重传缓存模块、译码模块、反馈模块。该发明的实现步骤包括:(1)发送测试包;(2)获取系统单帧最大存活时间;(3)动态链表初始化;(4)发送信息帧;(5)更新动态列表;(6)构造重传帧;(7)发送重传帧;(8)再次更新动态列表;(9)处理动态列表中的剩余信息;(10)传输前准备;(11)接收数据帧;(12)重传帧译码。
2.哈尔滨工业大学提出的基于网络编码的发射端广播重传方法及系统,通过构建重传缓冲池、初始化重传缓冲池、组合重传数据包,然后发送重传数据包,减少了传输次数,提高了能量效率,当数据量较大时,减小了网络时延,提高了网络传输效率,减少了网络丢包率,增加了传输的可靠性,能达到网络最大信息流。
3.电子科技大学提出的WSN中引入基于同步机制的网络编码的广播方法,本发明公开了一种WSN中引入基于同步机制的网络编码实现高效率可靠方法,在广播的建立阶段,中心节点发送含有下次唤醒时间的同步数据包SYNC,来实现所有邻居节点的周期同步唤醒以及休眠;发送节点向其他节点广播第1到底N个数据包,并将这些数据包储存起来;返回ACK包,并储存收到的数据包;估算重传次数;重传所有终端都丢失的数据包;选择丢包进行编码组合;接收节点反馈。本发明在WSN中引入基于同步机制的网络编码实现高效率可靠广播方法,通过广播的建立,原始数据的广播,以及重传过程三个阶段的实现,减少了整个网络的能耗,实现了信息的可靠广播。
4.中国人民解放军理工大学提出的基于网络编码的加权广播重传方法,本发明公开了一种基于网络编码的加权广播重传方法,包括如下步骤:根据各接收节点数据包反馈的数据包状态信息和链路状态信息,构建加权数据包分布矩阵;以加权数据包分布矩阵为基础,在源节点进行编码数据包的选取;源节点将选取的数据包进行XOR编码后,广播重传给各接收节点;各接收节点在接收到编码数据包后进行译码,并将译码后的数据包状态信息和链路状态信息反馈给源节点;源节点根据接收节点的反馈信息,判断传输是否完成,如未完成则重新开始新一轮的编码重传。本发明的方法,能在链路状态不均衡的网络环境下,以低的计算复杂度实现高的传输效率。可广泛用于各种具有反馈的广播网络。
4.中国人民解放军理工大学提出的一种基于有限集合网络编码ARQ的大规模用户数据广播方法,本发明公开了一种基于有限集合网络编码ARQ的大规模用户数据广播方法,包括以下步骤:1)基站广播数据包;2)用户进行解码并根据解码情况计算各个预置网络编码方案的解码增益,然后反馈解码增益最大的方案序号;3)基站通过统计用户的反馈信息来确定本次重传采用的网络编码方案。本发明需要在基站和用户预置有限集合网络编码方案,并且将预置有限集合网络编码ARQ引入广播通信中,减小了反馈信息数量,降低了数据包平均重传次数,提高了广播通信的效率,主要解决了现有广播重传技术在有大量用户的情况下重传效率低、反馈信息数量过大的问题。
现有的网络编码ARQ方案在进行网络编码时没有考虑丢失数据包在不同用户间的分布情况,在实际系统中由于丢失数据包在各个用户之间分布的差异性,数据广播系统的广播效率是由丢失数据包最多的用户决定的。因此,丢失数据包最多的用户,其丢失的数据包需要优先进行网络编码才能够得到更好的广播效率性能。同时,由于丢失用户较多的数据包在进行网络编码时不容易和其他数据包进行配对,并且这类数据包重传时在用户能够提供更多的译码机会,因此对于这类数据包在进行网络编码时也需要进行优先考虑。
发明内容
本发明要解决的问题是针对上述现有技术的不足提供一种基于最大-最小网络编码的数据广播ARQ方法,本基于最大-最小网络编码的数据广播ARQ方法具有平均重传次数小、广播效率高等特点。
为解决上述技术问题,本发明的技术方案为:基于最大-最小网络编码的数据广播ARQ方法,其特征在于包括以下处理步骤:
步骤(1.1),基站广播数据包:
基站将原始信息进行信道编码、调制后形成原始数据包,然后基站向所有用户广播原始数据包;
步骤(1.2),用户处理与反馈:
用户对接收到的原始数据包进行软解调、信道译码,并且通过译码后的信息尾部的CRC校验判断是否正确译码;
若一个原始数据包在一个用户能够被正确译码,则该用户存储译码后的原始信息,并利用反馈信道反馈给基站以告知基站该数据包已经正确译码;反之,若该用户无法正确接收该原始数据包,则该用户利用反馈信道反馈给基站以告知基站该原始数据包丢失;若一轮数据广播结束后,一个用户正确接收到所有的原始数据包,则该用户进入静默状态;反之,若该用户存在原始数据包丢失,则该用户等待基站重传数据包;
步骤(1.3),结束广播或者基站重传:
基站根据接收到的各个用户反馈的数据包正确接收情况进行判断,如果所有用户都已经正确接收到所有原始数据包,则基站广播结束;反之,如果用户存在原始数据包丢失,则基站将丢失的原始数据包所对应的原始信息进行最大-最小网络编码生成网络编码数据包,并将网络编码数据包重传给所有用户;
用户从接收到的网络编码数据包的包头处信息获知参与网络编码的原始数据包集合,并对接收到的网络编码数据包进行软解调,之后利用本地存储的已正确译码的原始信息对软解调得到的网络编码数据包的软信息进行联合信道-网络译码,并且通过译码后的信息尾部的CRC校验判断是否正确译码;
如果正确译码,则用户将恢复的原始信息进行存储,同时利用反馈信道反馈给基站以告知基站该数据包已经正确译码;反之,若该用户无法正确译码该网络编码数据包,则该用户等待基站重传数据包;
若一轮重传结束后,一个用户已经正确接收到所有的原始数据包,则该用户进入静默状态;反之,若该用户仍然存在原始数据包丢失,则该用户等待基站重传数据包;
然后重复步骤(1.3),直到广播结束。
作为本发明进一步改进的技术方案,步骤(1.3)中所述的最大-最小网络编码包括以下步骤:
基站将所有用户的数据包接收到与否的情况存储在一个M×N的反馈矩阵T中,这里M表示系统中总的用户数,N表示总的数据包个数。T(i,j)=0表示用户i正确接收到第j个数据包,T(i,j)=1表示用户i没有正确接收第j个数据包;定义CodingList用于存储参与网络编码的丢失数据包的序号集合,定义UserList用于存储丢失相应数据包的用户序号集合;最大-最小网络编码包括以下四个步骤:
步骤(2.1),确定丢包率最大的用户的丢失数据包集合:
每个用户的丢包率可以表示为从所有用户中选择丢包率最高的用户,即所有数据包分成两个集合:用户Umax丢失的数据包集合LUmax和用户Umax正确接收的数据包集合其中集合中的元素个数为L,集合中的元素个数为N-L;
在进行网络编码时,每一个网络编码包都包含且仅包含一个数据包属于集合
步骤(2.2),确定参与网络编码的第一个数据包(集合中具有最大“度”的数据包):
第s个参与网络编码的丢失数据包的序号集合CodingList由如下步骤产生:
令s=1;
删除反馈矩阵T中元素全为“0”的列;
定义“度”为反馈矩阵T每列中“1”的个数,如第j列中“1”的个数可以表示为Gj=sum(T(:,j));
从集合中选择“度”最大的数据包Pmax,即将最大“度”存储到MaxDegree中,将具有最大度的数据包序号存储到CodingList中,将丢失该数据包的相应用户序号存储到UserList中;
从反馈矩阵T中删除CodingList中存储的数据包序号对应的列,从数据包集合中删除数据包Pmax;
令j=1;
步骤(2.3),更新CodingList和UserList:
如果反馈矩阵T中的第j列中“1”的个数等于MaxDegree,并且则将该列中元素为“1”的行所对应的用户序号存储到UserList_Temp中;UserList_Temp是一个临时变量集合
如果则UserList=UserList∪UserList_Temp,且CodingList=CodingList∪j,并从反馈矩阵T中删除第j列;
如果则UserList=UserList,且CodingList=CodingList;
其中表示“空集”,∩表示集合“交集”运算符,∪表示集合“并集”运算符;
如果j+1<λ,则清空UserList_Temp,令j=j+1,重复步骤(2.3);
如果j=λ,则清空UserList_Temp,令j=1,MaxDegree=MaxDegree-1;
如果MaxDegree>0,则重复步骤(2.3);
如果MaxDegree=0,则CodingList为生成的第s个参与网络编码的丢失数据包的序号集合,记为CodingList(s)=CodingList;
如果数据包集合则令s=s+1,重复步骤(2.2)和步骤(2.3),生成第s+1个参与网络编码的数据包序号集合。
反之,如果数据包集合则步骤(2.3)结束,进入步骤(2.4);
步骤(2.4),基于最小重叠的数据包合并:
反之,如果反馈矩阵T中所有元素均为“0”,即sum(T(:))=0,则整个网络编码过程结束;
如果反馈矩阵T中存在不为“0”的元素,即sum(T(:))≠0,则将没有进行的网络编码的数据包与步骤(2.3)生成的S个网络编码数据包CodingList(s),s=1,2,…,S按照最小重叠准则进行合并。由反馈矩阵T中不为“0”对应的列构成一个集合即最小重叠数据包合并包含以下两个步骤:
1)将集合中的数据包按照“度”从小到大的顺序进行排序;
2)将集合中“度”最小的数据包与S个网络编码数据包CodingList(s),s=1,2,…,S进行最小重叠合并。集合中的数据包i与CodingList(s)的重叠度定义为
与集合中的数据包i进行最小重叠合并的网络编码数据包可以表示为
因此,更新CodingList(j)=CodingList(j)∪i,并且从集合中删除数据包i;
重复步骤1)和2)直至集合
将CodingList(d)中存储的序号所对应的所有原始信息向量进行异或(XOR)运算,即
ac是经过网络编码的原始信息,将ac经过信道编码、调制后构成一个网络编码数据包;基站将该网络编码数据包重新广播给所有用户。
作为本发明进一步改进的技术方案,步骤(1.3)中所述的联合信道-网络编码包括以下步骤:
如果ac是经过网络编码的原始信息,假设一个用户丢失了其中的一个原始信息向量ao;
第l个用户接收到的网络编码数据包为yl,c,则编码后的信息向量bo的软信息可以由下式得到
其中,sign(·)表示取符号运算,\表示集合差集运算,表示调制符号xc\{o}(n)中与信息比特bc\{o}(m)对应的部分,且
本发明针对现有的网络编码ARQ方案在进行网络编码时没有考虑每个用户的数据包丢失情况、丢失数据包在各个用户间的分布情况等问题,提出了一种基于最大-最小网络编码的数据广播ARQ方法。本发明在进行最大-最小网络编码时,每一个网络编码包构造时将丢失数据包个数最多的用户所丢失的数据包作为参与网络编码的第一个数据包,将丢失数据包个数最多的用户正确接收的数据包按照度从大到小的顺序与之配对。总的网络编码个数确定为丢失数据包个数最多的用户所丢失的数据包个数,从而确保了丢失数据包个数最多的用户能够在重传过程中获得最大的性能增益。如果存在无法配对的数据包,将这些数据包按照最小重叠准则与已经生成的网络编码包进行合并。本发明基于最大-最小网络编码的数据广播ARQ方法具有平均重传次数小、广播效率高等特点,能够很好的应用于无线数据广播场景中。
附图说明
图1是本发明的实现框图。
图2是本发明的无线数据广播系统模型示意图。
图3是本发明的信号流程示意图。
图4是本发明的不同信噪比下平均传输次数性能图。
图5是本发明的不同数据包总数情况下平均传输次数性能图。
图6是本发明的不同用户个数情况下平均传输次数性能图。
下面结合附图及具体实施例对本发明的具体实施方式作进一步描述。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,一下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本基于最大-最小网络编码的数据广播ARQ方法,其特征在于包括以下处理步骤:
步骤(1.1),基站广播数据包:
基站将原始信息进行信道编码、调制后形成原始数据包,然后基站向所有用户广播原始数据包;
步骤(1.2),用户处理与反馈:
用户对接收到的原始数据包进行软解调、信道译码,并且通过译码后的信息尾部的CRC校验判断是否正确译码;
若一个原始数据包在一个用户能够被正确译码,则该用户存储译码后的原始信息,并利用反馈信道反馈给基站以告知基站该数据包已经正确译码;反之,若该用户无法正确接收该原始数据包,则该用户利用反馈信道反馈给基站以告知基站该原始数据包丢失;若一轮数据广播结束后,一个用户正确接收到所有的原始数据包,则该用户进入静默状态;反之,若该用户存在原始数据包丢失,则该用户等待基站重传数据包;
步骤(1.3),结束广播或者基站重传:
基站根据接收到的各个用户反馈的数据包正确接收情况进行判断,如果所有用户都已经正确接收到所有原始数据包,则基站广播结束;反之,如果用户存在原始数据包丢失,则基站将丢失的原始数据包所对应的原始信息进行最大-最小网络编码生成网络编码数据包,并将网络编码数据包重传给所有用户;
用户从接收到的网络编码数据包的包头处信息获知参与网络编码的原始数据包集合,并对接收到的网络编码数据包进行软解调,之后利用本地存储的已正确译码的原始信息对软解调得到的网络编码数据包的软信息进行联合信道-网络译码,并且通过译码后的信息尾部的CRC校验判断是否正确译码;
如果正确译码,则用户将恢复的原始信息进行存储,同时利用反馈信道反馈给基站以告知基站该数据包已经正确译码;反之,若该用户无法正确译码该网络编码数据包,则该用户等待基站重传数据包;
若一轮重传结束后,一个用户已经正确接收到所有的原始数据包,则该用户进入静默状态;反之,若该用户仍然存在原始数据包丢失,则该用户等待基站重传数据包;
然后重复步骤(1.3),直到广播结束。
作为优选方案,步骤(1.3)中所述的最大-最小网络编码包括以下步骤:
基站将所有用户的数据包接收到与否的情况存储在一个M×N的反馈矩阵T中,这里M表示系统中总的用户数,N表示总的数据包个数。T(i,j)=0表示用户i正确接收到第j个数据包,T(i,j)=1表示用户i没有正确接收第j个数据包;定义CodingList用于存储参与网络编码的丢失数据包的序号集合,定义UserList用于存储丢失相应数据包的用户序号集合;最大最小网络编码包括以下四个步骤:
步骤(2.1),确定丢包率最大的用户的丢失数据包集合:
每个用户的丢包率可以表示为从所有用户中选择丢包率最高的用户,即所有数据包分成两个集合:用户Umax丢失的数据包集合和用户Umax正确接收的数据包集合其中集合中的元素个数为L,集合中的元素个数为N-L。
在进行网络编码时,每一个网络编码包都包含且仅包含一个数据包属于集合
步骤(2.2),确定参与网络编码的第一个数据包(集合中具有最大“度”的数据包):
第s个参与网络编码的丢失数据包的序号集合CodingList由如下步骤产生:
令s=1;
删除反馈矩阵T中元素全为“0”的列;
定义“度”为反馈矩阵T每列中“1”的个数,如第j列中“1”的个数可以表示为Gj=sum(T(:,j));
从集合中选择“度”最大的数据包Pmax,即将最大“度”存储到MaxDegree中,将具有最大度的数据包序号存储到CodingList中,将丢失该数据包的相应用户序号存储到UserList中;
从反馈矩阵T中删除CodingList中存储的数据包序号对应的列,从数据包集合中删除数据包Pmax;
令j=1;
步骤(2.3),更新CodingList和UserList:
如果反馈矩阵T中的第j列中“1”的个数等于MaxDegree,并且则将该列中元素为“1”的行所对应的用户序号存储到UserList_Temp中;UserList_Temp是一个临时变量集合;
如果则UserList=UserList∪UserList_Temp,且CodingList=CodingList∪j,并从反馈矩阵T中删除第j列;
如果则UserList=UserList,且CodingList=CodingList;
其中表示“空集”,∩表示集合“交集”运算符,∪表示集合“并集”运算符;
如果j+1<λ,则清空UserList_Temp,令j=j+1,重复步骤(2.3);
如果j=λ,则清空UserList_Temp,令j=1,MaxDegree=MaxDegree-1;
如果MaxDegree>0,则重复步骤(2.3);
如果MaxDegree=0,则CodingList为生成的第s个参与网络编码的丢失数据包的序号集合,记为CodingList(s)=CodingList;
如果数据包集合则令s=s+1,重复步骤(2.2)和步骤(2.3),生成第s+1个参与网络编码的数据包序号集合;
反之,如果数据包集合则步骤(2.3)结束,进入步骤(2.4);
步骤(2.4),基于最小重叠的数据包合并:
反之,如果反馈矩阵T中所有元素均为“0”,即sum(T(:))=0,则整个网络编码过程结束;
如果反馈矩阵T中存在不为“0”的元素,即sum(T(:))≠0,则将没有进行的网络编码的数据包与步骤(2.3)生成的S个网络编码数据包CodingList(s),s=1,2,…,S按照最小重叠准则进行合并。由反馈矩阵T中不为“0”对应的列构成一个集合即最小重叠数据包合并包含以下两个步骤:
1)将集合中的数据包按照“度”从小到大的顺序进行排序;
2)将集合中“度”最小的数据包与S个网络编码数据包CodingList(s),s=1,2,…,S进行最小重叠合并,集合中的数据包i与CodingList(s)的重叠度定义为
与集合中的数据包i进行最小重叠合并的网络编码数据包可以表示为
因此,更新CodingList(j)=CodingList(j)∪i,并且从集合中删除数据包i;
重复步骤1)和2)直至集合
将CodingList(d)中存储的序号所对应的所有原始信息向量进行异或(XOR)运算,即
ac是经过网络编码的原始信息,将ac经过信道编码、调制后构成一个网络编码数据包;基站将该网络编码数据包重新广播给所有用户。
作为优选方案,步骤(1.3)中所述的联合信道-网络编码包括以下步骤:
如果ac是经过网络编码的原始信息,假设一个用户丢失了其中的一个原始信息向量ao;
第l个用户接收到的网络编码数据包为yl,c,则编码后的信息向量bo的软信息可以由下式得到
其中,sign(·)表示取符号运算,\表示集合差集运算,表示调制符号xc\{o}(n)中与信息比特bc\{o}(m)对应的部分,且
作为优选方案,对本基于最大-最小网络编码的数据广播ARQ方法进一步说明如下:
图2中显示一个基站、多个用户的无线广播场景。基站通过前向信道向大量用户广播数据,假设用户的数量为M,需要广播的数据包的个数为N。系统采用TDMA协议,在每个TDMA时隙内,刚好可以发送一个数据包,并假设一个时隙内信道增益不变,不同时隙内信道系数相互独立。
步骤(1.1),基站广播数据包:
如图3所示,在广播阶段,基站将待发送信息进行CRC校验后构成原始信息a1,a2…,aN,原始信息经过卷积码(RSC)编码器后构成原始数据包b1,b2,…,bN,原始数据包经过调制后的信号为x1,x2,…,xN;基站在广播阶段占用独立的N个TDMA时隙完成数据包的广播,第l(1≤l≤M)个用户接收到的第k(1≤k≤N)个数据包为
其中xk表示基站广播的第k个数据包,Ps为基站的发送功率,hl,k和nl分别表示第k个用户在第i个时隙内的信道系数和噪声,假设它们分别服从不同的复高斯分布,即由于用户的分布具有随机性,因此我们假设所有用户到基站的无线链路具有相同的分布,即
步骤(1.2),用户处理与反馈:
在完成数据包的接收后,用户l对数据包进行软解调,接收数据包bk的软信息可以表示为
将得到的软信息Ll(bk(i))送入RSC译码器得以恢复出原始信息并通过添加在原始信息尾部的CRC校验判断是否正确译码,其中表示恢复出的原始信息ak;
若一个原始数据包bk在一个用户l能够被正确译码,则该用户存储译码后的原始信息ak,并利用反馈信道反馈给基站该数据包已经正确译码;反之,若该用户无法正确该原始数据包,则该用户利用反馈信道反馈给基站该原始数据包丢失;
若一轮数据广播结束后,一个用户正确接收到所有的原始数据包,则该用户进入静默状态;
反之,若该用户存在原始数据包丢失,则该用户等待基站重传数据包。
步骤(1.3),结束广播或者基站重传:
基站根据接收到的各个用户反馈的数据包正确接收情况进行判断,如果所有用户都已经正确接收到所有原始数据包,则基站广播结束;
反之,如果用户存在原始数据包丢失,则基站将丢失原始信息进行最大-最小网络编码生成网络编码数据包,并将网络编码后的数据包ac重传给所有用户;
最大-最小网络编码方法的实现步骤如下:
基站将所有用户的数据包接收到与否的情况存储在一个M×N的反馈矩阵T中,这里M表示系统中总的用户数,N表示总的数据包个数。T(i,j)=0表示用户i正确接收到第j个数据包,T(i,j)=1表示用户i没有正确接收第j个数据包;定义CodingList用于存储参与网络编码的丢失数据包的序号集合,定义UserList用于存储丢失相应数据包的用户序号集合;最大-最小网络编码包括以下四个步骤:
步骤(2.1),确定丢包率最大的用户的丢失数据包集合:
每个用户的丢包率可以表示为从所有用户中选择丢包率最高的用户,即所有数据包分成两个集合:用户Umax丢失的数据包集合和用户Umax正确接收的数据包集合其中集合中的元素个数为L,集合中的元素个数为N-L。
在进行网络编码时,每一个网络编码包都包含且仅包含一个数据包属于集合
步骤(2.2),确定参与网络编码的第一个数据包(集合中具有最大“度”的数据包):
第s个参与网络编码的丢失数据包的序号集合CodingList由如下步骤产生:
令s=1;
删除反馈矩阵T中元素全为“0”的列;
定义“度”为反馈矩阵T每列中“1”的个数,如第j列中“1”的个数可以表示为Gj=sum(T(:,j));
从集合中选择“度”最大的数据包Pmax,即将最大“度”存储到MaxDegree中,将具有最大度的数据包序号存储到CodingList中,将丢失该数据包的相应用户序号存储到UserList中;
从反馈矩阵T中删除CodingList中存储的数据包序号对应的列,从数据包集合中删除数据包Pmax;
令j=1;
步骤(2.3),更新CodingList和UserList:
如果反馈矩阵T中的第j列中“1”的个数等于MaxDegree,并且则将该列中元素为“1”的行所对应的用户序号存储到UserList_Temp中;UserList_Temp是一个临时变量集合;
如果则UserList=UserList∪UserList_Temp,且CodingList=CodingList∪j,并从反馈矩阵T中删除第j列;
如果则UserList=UserList,且CodingList=CodingList;
其中表示“空集”,∩表示集合“交集”运算符,∪表示集合“并集”运算符;
如果j+1<λ,则清空UserList_Temp,令j=j+1,重复步骤(2.3);
如果j=λ,则清空UserList_Temp,令j=1,MaxDegree=MaxDegree-1;
如果MaxDegree>0,则重复步骤(2.3);
如果MaxDegree=0,则CodingList为生成的第s个参与网络编码的丢失数据包的序号集合,记为CodingList(s)=CodingList;
如果数据包集合则令s=s+1,重复步骤(2.2)和步骤(2.3),生成第s+1个参与网络编码的数据包序号集合。
反之,如果数据包集合则步骤(2.3)结束,进入步骤(2.4)。
步骤(2.4),基于最小重叠的数据包合并:
反之,如果反馈矩阵T中所有元素均为“0”,即sum(T(:))=0,则整个网络编码过程结束。
如果反馈矩阵T中存在不为“0”的元素,即sum(T(:))≠0,则将没有进行的网络编码的数据包与步骤(2.3)生成的S个网络编码数据包CodingList(s),s=1,2,…,S按照最小重叠准则进行合并。由反馈矩阵T中不为“0”对应的列构成一个集合即最小重叠数据包合并包含以下两个步骤:
1)将集合中的数据包按照“度”从小到大的顺序进行排序;
2)将集合中“度”最小的数据包与S个网络编码数据包CodingList(s),s=1,2,…,S进行最小重叠合并。集合中的数据包i与CodingList(s)的重叠度定义为
与集合中的数据包i进行最小重叠合并的网络编码数据包可以表示为
因此,更新CodingList(j)=CodingList(j)∪i,并且从集合中删除数据包i。
重复步骤1)和2)直至集合
将CodingList(d)中存储的序号所对应的所有原始信息向量进行异或(XOR)运算,即
ac是经过网络编码的原始信息,将ac经过信道编码、调制后构成一个网络编码数据包;基站将该网络编码数据包重新广播给所有用户。
用户从接收到的网络编码数据包xc的包头处信息获知参与网络编码的原始数据包集合,并对接收到的网络编码数据包进行软解调,之后利用本地存储的已正确译码的原始信息对软解调得到的网络编码数据包的软信息进行联合卷积码-网络译码,得到编码后的信息向量bo。
联合卷积码-网络译码器的实现如下:
如果ac是经过网络编码的原始信息,假设一个用户丢失了其中的一个原始信息向量ao;第l个用户接收到的网络编码数据包为yl,c,则编码后的信息向量bo的软信息可以由下式得到
其中,sign(·)表示取符号运算,\表示集合差集运算,表示调制符号xc\{o}(n)中与信息比特bc\{o}(m)对应的部分,且
将得到的软信息Ll(bo(n))送入RSC译码器得以恢复出原始信息并通过添加在原始信息尾部的CRC校验判断是否正确译码,其中表示恢复出的原始信息ao;通过译码后的信息ao尾部的CRC校验判断是否正确译码。
如果正确译码,则将恢复的原始信息进行存储,同时利用反馈信道反馈给基站该数据包已经正确译码。
反之,若该用户无法正确译码该网络编码数据包,则该用户等待基站重传数据包。
若一轮重传结束后,一个用户已经正确接收到所有的原始数据包,则该用户进入静默状态;
反之,若该用户仍然存在原始数据包丢失,则该用户等待基站重传数据包。
重复步骤(1.3),直到广播结束。
仿真验证:
为了验证提出的基于最大-最小网络编码的数据广播ARQ方法的性能,仿真了数据包平均传输次数与接收信噪比、用户个数M以及所有数据包个数N之间的关系。
图4分别给出了瑞利信道条件下,基于最大-最小网络编码的数据广播ARQ方法(最大-最小网络编码方法)、传统不考虑度分布的网络编码方法(传统网络编码)、XORing网络编码方法(XORing网络编码)、最大集选择网络编码方法的数据包平均传输次数的性能对比。可以看出,在相同的信噪比和用户个数情况下,提出的基于最大-最小网络编码的数据广播ARQ方法可以有效降低数据包的重传次数,提高广播通信的效率。
图5给出了信噪比为-2dB时,四种方案的平均传输次数性能随着数据包个数N的变化曲线。可以看出,在相同的信噪比和用户个数情况下,提出的基于最大-最小网络编码的数据广播ARQ方法具有最低的数据包的平均传输次数。
图6给出了数据包个数N=100时,四种方案的平均传输次数性能随着用户个数M的变化曲线。可以看出,在相同的信噪比和数据包个数情况下,提出的基于最大-最小网络编码的数据广播ARQ方法具有最低的数据包的平均传输次数。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于最大-最小网络编码的数据广播ARQ方法,其特征在于包括以下处理步骤:
步骤(1.1),基站广播数据包:
基站将原始信息进行信道编码、调制后形成原始数据包,然后基站向所有用户广播原始数据包;
步骤(1.2),用户处理与反馈:
用户对接收到的原始数据包进行软解调、信道译码,并且通过译码后的信息尾部的CRC校验判断是否正确译码;
若一个原始数据包在一个用户能够被正确译码,则该用户存储译码后的原始信息,并利用反馈信道反馈给基站以告知基站该数据包已经正确译码;反之,若该用户无法正确接收该原始数据包,则该用户利用反馈信道反馈给基站以告知基站该原始数据包丢失;若一轮数据广播结束后,一个用户正确接收到所有的原始数据包,则该用户进入静默状态;反之,若该用户存在原始数据包丢失,则该用户等待基站重传数据包;
步骤(1.3),结束广播或者基站重传:
基站根据接收到的各个用户反馈的数据包正确接收情况进行判断,如果所有用户都已经正确接收到所有原始数据包,则基站广播结束;反之,如果用户存在原始数据包丢失,则基站将丢失的原始数据包所对应的原始信息进行最大-最小网络编码生成网络编码数据包,并将网络编码数据包重传给所有用户;
用户从接收到的网络编码数据包的包头处信息获知参与网络编码的原始数据包集合,并对接收到的网络编码数据包进行软解调,之后利用本地存储的已正确译码的原始信息对软解调得到的网络编码数据包的软信息进行联合信道-网络译码,并且通过译码后的信息尾部的CRC校验判断是否正确译码;
如果正确译码,则用户将恢复的原始信息进行存储,同时利用反馈信道反馈给基站以告知基站该数据包已经正确译码;反之,若该用户无法正确译码该网络编码数据包,则该用户等待基站重传数据包;
若一轮重传结束后,一个用户已经正确接收到所有的原始数据包,则该用户进入静默状态;反之,若该用户仍然存在原始数据包丢失,则该用户等待基站重传数据包;
然后重复步骤(1.3),直到广播结束;
基站将所有用户的数据包接收到与否的情况存储在一个M×N的反馈矩阵T中,这里M表示系统中总的用户数,N表示总的数据包个数;T(i,j)=0表示用户i正确接收到第j个数据包,T(i,j)=1表示用户i没有正确接收第j个数据包;定义CodingList用于存储参与网络编码的丢失数据包的序号集合,定义UserList用于存储丢失相应数据包的用户序号集合;最大-最小网络编码包括以下四个步骤:
步骤(2.1),确定丢包率最大的用户的丢失数据包集合:
每个用户的丢包率可以表示为从所有用户中选择丢包率最高的用户,即所有数据包分成两个集合:用户Umax丢失的数据包集合和用户Umax正确接收的数据包集合其中集合中的元素个数为L,集合中的元素个数为N-L;
在进行网络编码时,每一个网络编码包都包含且仅包含一个数据包属于集合
步骤(2.2),确定参与网络编码的第一个数据包,集合中具有最大“度”的数据包:
第s个参与网络编码的丢失数据包的序号集合CodingList由如下步骤产生:
令s=1;
删除反馈矩阵T中元素全为“0”的列;
定义“度”为反馈矩阵T每列中“1”的个数,如第j列中“1”的个数可以表示为Gj=sum(T(:,j));
从集合中选择“度”最大的数据包Pmax,即 将最大“度”存储到MaxDegree中,将具有最大度的数据包序号存储到CodingList中,将丢失该数据包的相应用户序号存储到UserList中;
从反馈矩阵T中删除CodingList中存储的数据包序号对应的列,从数据包集合中删除数据包Pmax;
令j=1;
步骤(2.3),更新CodingList和UserList:
如果反馈矩阵T中的第j列中“1”的个数等于MaxDegree,并且则将该列中元素为“1”的行所对应的用户序号存储到UserList_Temp中;UserList_Temp是一个临时变量集合;
如果则UserList=UserList∪UserList_Temp,且CodingList=CodingList∪j,并从反馈矩阵T中删除第j列;
如果则UserList=UserList,且CodingList=CodingList;
其中表示“空集”,∩表示集合“交集”运算符,∪表示集合“并集”运算符;
如果j+1<λ,则清空UserList_Temp,令j=j+1,重复步骤(2.3);
如果j=λ,则清空UserList_Temp,令j=1,MaxDegree=MaxDegree-1;
如果MaxDegree>0,则重复步骤(2.3);
如果MaxDegree=0,则CodingList为生成的第s个参与网络编码的丢失数据包的序号集合,记为CodingList(s)=CodingList;
如果数据包集合则令s=s+1,重复步骤(2.2)和步骤(2.3),生成第s+1个参与网络编码的数据包序号集合;
反之,如果数据包集合则步骤(2.3)结束,进入步骤(2.4);
步骤(2.4),基于最小重叠的数据包合并:
反之,如果反馈矩阵T中所有元素均为“0”,即sum(T(:))=0,则整个网络编码过程结束;
如果反馈矩阵T中存在不为“0”的元素,即sum(T(:))≠0,则将没有进行的网络编码的数据包与步骤(2.3)生成的S个网络编码数据包CodingList(s),s=1,2,…,S按照最小重叠准则进行合并;由反馈矩阵T中不为“0”对应的列构成一个集合即 最小重叠数据包合并包含以下两个步骤:
1)将集合中的数据包按照“度”从小到大的顺序进行排序;
2)将集合中“度”最小的数据包与S个网络编码数据包CodingList(s),s=1,2,…,S进行最小重叠合并;集合中的数据包i与CodingList(s)的重叠度定义为
与集合中的数据包i进行最小重叠合并的网络编码数据包可以表示为
因此,更新CodingList(j)=CodingList(j)∪i,并且从集合中删除数据包i;
重复步骤1)和2)直至集合
将CodingList(d)中存储的序号所对应的所有原始信息向量进行异或(XOR)运算,即
ac是经过网络编码的原始信息,将ac经过信道编码、调制后构成一个网络编码数据包;基站将该网络编码数据包重新广播给所有用户。
2.根据权利要求1所述的基于最大-最小网络编码的数据广播ARQ方法,其特征是步骤(1.3)中所述的联合信道-网络译码包括以下步骤:
如果ac是经过网络编码的原始信息,假设一个用户丢失了其中的一个原始信息向量ao;
第l个用户接收到的网络编码数据包为yl,c,则编码后的信息向量bo的软信息可以由下式得到
其中,sign(·)表示取符号运算,\表示集合差集运算,表示调制符号xc\{o}(n)中与信息比特bc\{o}(m)对应的部分,且
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510261486.9A CN104852788B (zh) | 2015-05-20 | 2015-05-20 | 基于最大‑最小网络编码的数据广播arq方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510261486.9A CN104852788B (zh) | 2015-05-20 | 2015-05-20 | 基于最大‑最小网络编码的数据广播arq方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104852788A CN104852788A (zh) | 2015-08-19 |
CN104852788B true CN104852788B (zh) | 2018-03-13 |
Family
ID=53852161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510261486.9A Active CN104852788B (zh) | 2015-05-20 | 2015-05-20 | 基于最大‑最小网络编码的数据广播arq方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104852788B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017035727A1 (en) * | 2015-08-31 | 2017-03-09 | Qualcomm Incorporated | Broadcast automatic repeat request |
CN105721119B (zh) * | 2016-02-23 | 2019-03-08 | 重庆邮电大学 | 基于机会式网络编码搜寻最优关联包的重传方法 |
CN110086573B (zh) * | 2019-04-17 | 2021-09-21 | 浙江工商大学 | 一种基于网络编码与用户结对的数据传输方法 |
EP4128591A4 (en) * | 2020-03-24 | 2023-11-08 | Qualcomm Incorporated | METHOD FOR PROVIDING AN ADAPTIVE CODING RATE IN WIRELESS COMMUNICATIONS |
WO2022094974A1 (zh) * | 2020-11-06 | 2022-05-12 | Oppo广东移动通信有限公司 | 数据传输方法、装置、计算机设备及存储介质 |
CN113259057A (zh) * | 2021-06-16 | 2021-08-13 | 上海交通大学 | 一种缓存-信道联合编码广播方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102013966A (zh) * | 2010-11-30 | 2011-04-13 | 北京星河亮点通信软件有限责任公司 | 基于网络编码的数据包重传方法 |
CN103634083A (zh) * | 2013-12-20 | 2014-03-12 | 哈尔滨工业大学 | 一种适用于传感器网络的动态网络编码丢包重传方法 |
-
2015
- 2015-05-20 CN CN201510261486.9A patent/CN104852788B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102013966A (zh) * | 2010-11-30 | 2011-04-13 | 北京星河亮点通信软件有限责任公司 | 基于网络编码的数据包重传方法 |
CN103634083A (zh) * | 2013-12-20 | 2014-03-12 | 哈尔滨工业大学 | 一种适用于传感器网络的动态网络编码丢包重传方法 |
Non-Patent Citations (3)
Title |
---|
基于网络编码的数据传输技术研究;王欣;《中国优秀硕士学位论文全文数据库》;20150430;全文 * |
基于网络编码的无线传输关键技术研究;赵渊;《中国博士学位论文全文数据库》;20130131;第5.2节,图5-5、5-6、5-7 * |
基于网络编码的无线网络重传的研究;张涛;《中国优秀硕士学位论文全文数据库》;20130331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104852788A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104852788B (zh) | 基于最大‑最小网络编码的数据广播arq方法 | |
CN104009830B (zh) | 基于有限集合网络编码arq的大规模接收端数据广播方法 | |
CN103051424B (zh) | 一种不等错误保护喷泉码的无线传输方法 | |
CN101895376B (zh) | 用于实现多跳无线网络中数据广播的传输方法 | |
CN102833051B (zh) | 基于反馈的喷泉编码广播方法 | |
CN110166188A (zh) | 针对蜂窝集成设备到设备通信的基于终端组的混合自动重复请求的系统和方法 | |
CN103580803B (zh) | 基于网络编码的加权广播重传方法 | |
CN101848060B (zh) | 一种自适应网络编码协作中继方法 | |
CN108882195A (zh) | 无线传感器网络基于移动目的节点的协作数据收集方法 | |
CN101826935B (zh) | 一种基于低密度校验码的中继协作传输方法 | |
CN103067137A (zh) | 基于网络编码的多播重传方法 | |
CN108449161A (zh) | 一种中继协作无线网络中基于网络编码的重传方法 | |
CN103095439A (zh) | 基于网络编码的双向协作中继传输数据的方法和设备 | |
CN102811120A (zh) | 基于网络编码的双向中继harq控制系统与方法 | |
CN102223216A (zh) | 组播传输中网络编码混合自动请求重传方法 | |
Zhang et al. | Dual XOR in the air: a network coding based retransmission scheme for wireless broadcasting | |
Liu et al. | On-surface wireless-assisted opportunistic routing for underwater sensor networks | |
Platz et al. | Random network coding in wireless sensor networks: Energy efficiency via cross-layer approach | |
Xiong et al. | Evaluation framework for user experience in 5G systems: On systematic rateless-coded transmissions | |
WO2015096444A1 (zh) | 一种数据传输方法和系统 | |
CN105721119B (zh) | 基于机会式网络编码搜寻最优关联包的重传方法 | |
CN105162558B (zh) | 联合最大度机会传输与网络编码arq的数据广播方法 | |
CN103354489A (zh) | 非正交全分集协作混合自动重传请求控制系统和方法 | |
CN105049158A (zh) | 基于机会网络编码arq的双向中继系统的信号合并策略 | |
CN102013965A (zh) | 一种使用载波聚合技术传输广播业务并用网络编码进行重传的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |