基于网络编码的数据包重传方法

文档序号:7767634阅读:594来源:国知局
专利名称:基于网络编码的数据包重传方法
技术领域
本发明涉及无线通信技术领域,尤其涉及一种基于网络编码的数据包重传方 法。
背景技术
在无线广播系统中,有一个发送节点(称之为信源)和M个接收节点(称之为 用户),信源向所有用户广播相同的信息。为在无线数字广播系统中保证可靠性传输, 需要采用差错控制技术。ARQ (Automatic Retransmission-reQuest,自动重传请求)技术 和FEC (Forward Error Correction,前向纠错)技术是两类常用的差错控制技术。ARQ和 FEC 可以结合使用,这种技术叫做 HARQ (HybirdAutomatic Retransmission-reQuest,混合 ARQ) 0在ARQ和HARQ技术中,当接收机接收到一个数据包后,经过检测译码过程恢 复出原始发送信息,如果恢复出来的信息与原始发送信息相比发生错误的数量(以下简 称误码率)超过了系统要求的最大值,接收机将通过反馈信道,要求发射机重新发送一 次,否则将信息输出。利用重新发送的信号再次进行原始信息的检测,若误码率仍超过 了系统要求的最大值,接收机将再次向发射机要求重传数据包,直到接收机恢复出来的 信号质量达到系统要求或者系统达到最大的重传次数后仍然没有恢复出理想的信息,则 此次数据传输视为失败。图1是一个简单的ARQ/HARQ系统示意图。NC(Network Coding,网络编码)是一种能够提高网络的传输容量的新技术,可 以和ARQ结合使用。传统的通信网络传送数据的方式是存储转发,即除了数据的发送 节点和接收节点以外的节点只负责路由,而不对数据内容做任何处理,中间节点扮演着 转发器的角色。而在网络编码中,允许中间节点对来自不同信源的数据包进行组合再转 发。诸如多播和广播等问题中,恰当地使用网络编码能够实现理论上的最大传输容量。在无线数字广播系统中,为了每个用户都能获得足够高质量的广播信息,ARQ/ HARQ被用于进行差错控制。在无线广播中采用常规的ARQ/HARQ,每个用户接收到 一个广播数据包(packet)后独立进行译码,如果某个用户译码后出错(即误码率不能达到 预定要求),则反馈一个NAK (Negative AcKnowledge)信号。如果一个广播包没有被所 有用户成功接收,则信源对该广播包再次进行广播,没有成功接收到的用户继续接收该 包,直到所有用户均成功获得该包,再进行下一个数据包的广播。由于在任意时刻,广播系统中有用户没有获得所需数据包的概率较大,因此常 规的ARQ/HARQ需要较高的重传开销。为了改善ARQ/HARQ在广播系统中的性能, 出现了一种结合网络编码的ARQ/HARQ,即NC-HARQ。NC-HARQ通过引入网络编 码来形成重传包,每个用户将重传包和自己接收到的某些正确包进行合并,得到自己需 要重传的包,这样每个用户可以在一次重传中恢复不同的数据,从而显著减少广播应用 下的重传次数。其具体操作如下在NC-HARQ中,接收端如果没有正确接收到某一 个数据包,则立即给发送端发送一个NAK信号。发送端并不在收到NAK信号后立即重 发丢失的包,而是将丢失的包及其对应的接收端保存到一个列表中。列表有一定的长度限制,设为N,重发在N个时隙后开始。在重发阶段,发送端从每个接收端的丢失数据 包列表中各取一个数据包,进行按位异或运算,然后将运算得到的包重传给所有的接收 端。在重传过程中,组合的数据包仍然可能丢失,如果发生丢失,则需要再次重传组合 数据包,但是组合数据包会根据各个接收端的接收情况进行动态调整。这样通过每次重 传,每个用户均可能恢复它的一个错误包(即丢失的数据包,也称为丢包lostpacket)。 下面以图2为例,说明传统的NC-HARQ方法的步骤。图2中Rl和R2中的χ分别表示接收端1和接收端2的丢失数据包,数字为数 据包的标号。发送端首先发送1 3 (符号表示“和”、“合并”的意思),如果接收端 1正确接收到了 1 3,则可以通过已知的3算出1 ;如果接收端2没有正确接收到1Φ3,则 发送端要重传组合数据包。由于接收端1已经得到了 1,所以将组合数据包调整为3 4, 再发送给所有接收端。重复这个过程,直到Rl和R2中不再有丢失的数据包。图2中 的每个将“X”圈起来的圈表示该次重传中需要恢复的数据包。由此可见,传统的NC-HARQ方法在不同用户的不同错误包间引入网络编码, 可以使得不同用户通过一次重传恢复不同丢包。但其未在同一用户的错误包间引入网络 编码,对于一个用户一次重传最多只能恢复一个错误包。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何在一次重传中恢复更多的错误包,从而减少 重传次数,提高频谱效率。(二)技术方案为解决上述技术问题,本发明提供了一种基于网络编码的数据包重传方法,包 括以下步骤Si,信源在原始数据包发送阶段形成一个丢包表,信源根据当前丢包表选择在 此轮重传中每个用户需要恢复的数据包,其中,假设所有用户需要恢复的数据包集合为 Α; S2,确定每个用户所需要进行合并的数据包b1;S3,由所有用户的Id1得到一个丨bj的集合B,将集合B中的所有元素进行按位 异或运算得到重传包b;S4,信源广播该重传包b,然后各用户进行译码,恢复集合A中所包含的自己的 错误包,并对所述信源发送反馈信息,所述信源根据所述反馈信息更新丢包表,若没有 错误包,则进入下一轮的原始数据包的发送阶段;否则返回步骤Si。其中,在步骤Sl中,信源选择每个用户需要恢复的数据包的原则是使集合A 尽量大,同时保证集合A中来自同一个用户的错误包最多只有两个。其中,将所述丢包表用一个MXN的矩阵H表示,矩阵中的每个元素、为 或 1,其中hy = 0表示用户i成功接收了数据包j,、= 1表示用户丨丢失数据包」_,则数据 包j成为了错误包;此时,所述步骤Sl具体包括步骤S101,对丢包表矩阵H进行行交换,形成新的丢包表矩阵H',使得新的丢包 表矩阵H第i行中1的数量大于或等于第i+Ι行中1的数量;
S102,建立选择矩阵G,初始化G = H';S103,对于选择矩阵G进行如下操作从第一行中选择前两个矩阵元素为1的 位置,将该位置所代表的数据包放入A中,对矩阵G第一行其余元素为1的位置对应的 列中的矩阵元素置零,得到更新的选择矩阵G;然后逐行进行与上述步骤c相同的操作, 直至所有行的操作都完成,从而得到该轮重传中的选择矩阵G,选择矩阵G中所有含元 素1的列对应的包组成的集合即为A,G中第i行中的元素1对应的列表示该轮重传中用 户i需要恢复的数据包。其中,在步骤S2中,确定数据包ID1的原则如下对于用户i,若该轮重传需要恢复其一个错误包au,则1^ =知;对于用户i,若该轮重传需要恢复其两个错误包au和al2,贝U:其中,q表示这是au和al2的第q轮重传,1为非零正整数,or表示任意选取au 和al2中的一个进行传输。其中,步骤S4中用户利用联合检测方法进行译码。所述联合检测方法优选为最 大似然联合检测方法或比特级合并联合检测方法。(三)有益效果本发明对重传的包进行网络编码形成新的重传包,由于网络编码的过程不仅在 不同用户间的错误包间进行,同时也在同一用户间的不同错误包间进行,再结合物理层 的联合检测及包合并方法,使得通过一次重传能够恢复比传统NC-HARQ方法更多的错 误包。本发明还对具体网络编码的策略进行设计,使得该重传方式能够在获得同传统 NC-HARQ方法一样的最优的分集阶数的同时,减少重传次数,提高频谱效率。


图1是ARQ系统框图;图2示出了现有技术中基于时间的重传算法;图3是本发明实施例的方法流程图;图4是本发明与现有技术相比,每个错误包的平均重传次数的对比曲线图;图5是本发明与现有技术相比,平均每次传输成功比率的对比曲线图;图6示出了本发明实施例的重传方法。
具体实施例方式下面结合附图和具体实施方式
,对本发明做进一步说明。在本发明中,ARQ/HARQ分为两个阶段原始数据包发送阶段(Initial Transmission Phase)禾口原始数据包重传阶段(RetransmissionPhase)。在原始数据包发送阶段,信源依次发送N个原始数据包。每个用户在接收 到每个数据包后进行译码和对是否成功接收进行判定,如果成功接收则向信源反馈 ACK(ACKnowledge)信号,如果不成功接收则向信源反馈NAK信号。信源在原始数据 包发送阶段不进行重传,只记录每个包在哪些用户丢失,形成一个丢包表。该丢包表可以用一个MXN的矩阵H表示,矩阵中的每个元素为0或1,其中矩阵H中的元素、=0 表示用户i成功接收到了包j,hy = 1表示用户i丢失包j。N个原始数据包发送完毕后, 若H = 0,则跳过重传阶段,进入下一轮的原始数据包的发送阶段;否则进入原始数据包 的重传阶段。在原始数据包重传阶段,信源根据当前丢包表进行数据重传,目的是让所有用 户成功获得所有数据包。如图3所示,其具体步骤如下Si,信源根据当前丢包表选择在该轮重传中每个用户需要恢复的数据包;所有 用户待恢复的数据包集合设为A。在选择的过程中,要保证A集合尽量大,同时要保证 A集合中来自同一个用户的错误包最多只有两个。其中一种易于编程实现的选择方法如 下S101.对丢包表矩阵H进行行交换,形成新的丢包矩阵H',使得新的丢包表矩 阵H第i行中1的数量大于或等于第i+Ι行中1的数量。S102.建立选择矩阵G。初始化G = H'。S103.对于G进行如下操作从第一行中选择前两个矩阵元素为1的位置,其所 代表的丢包放入A中,对G矩阵第一行其余元素为1的位置对应的列中的矩阵元素置零, 得到更新的G。接下来逐行进行与上述步骤S103相同的操作,当所有行的操作都完成时,得到 该次重传中最终的选择矩阵G。G中所有含元素1的列对应的包组成的集合即为A。G中第i行中的元素1对应 的列表示该次重传中用户i准备恢复的包。S2,根据上述步骤Sl所得到的G,确定每个用户所需要进行(利用网络编码的 方法)合并的包bi。具体方法如下对于用户i,若该轮重传只需要恢复其一个丢包au则b, = aI10对于用户i,若该轮重传需要恢复其两个丢包au和al2,贝1J:
αη θ αη, α = 21 +1b,=\ Λ '2'.其中,q表示这是au和al2的第q轮重传,1为非零正整数,or表示可以任意选 取au和al2中的一个进行传输。S3,由所有用户的b,得到一个丨bj的集合B。重复的b,在集合B中只包含一 次。将集合B中的所有元素进行按位异或即得到重传包b。S4,信源广播该重传包b。各用户利用所有相关的接收信号样本进行联合译码, 试图恢复A中所包含的自己的错误包。若恢复成功则回馈ACK,否则回馈NAK。信源 根据反馈信息更新丢包表矩阵H,若H = 0,则进入下一轮的原始数据包的发送阶段;否 则返回步骤Si。其中,所述相关的接收信号样本是指各用户接收到的信号样值(而非经 解调后的符号判决结果)中,与网络编码后形成的重传包有关的所有数据包。为了展示本发明的优越性,通过仿真分析和理论推导得出了该方法与现有技术 的方法的性能比较。图4和图5分别比较了二者的每个错误包的平均重传次数和平均每 次传输成功的比率(该比率以传输带宽利用率来度量)。从这两个对比结果来看,本发 明所提方法显著减少了重传次数,提高了频谱利用率,表现都优于NC-HARQ方法。其中,图4、5中的SNR表示信噪比。以下举例说明本发明的方法。本实施例中以两用户8个原始数据包为例说明所提方法的具体操作。 的原始数据包发送阶段后,两个用户丢包情况如下
经过初始
权利要求
1. 一种基于网络编码的数据包重传方法,其特征在于,包括以下步骤Si,信源在原始数据包发送阶段形成一个丢包表,信源根据当前丢包表选择在此轮 重传中每个用户需要恢复的数据包,其中,假设所有用户需要恢复的数据包集合为A;S2,确定每个用户所需要进行合并的数据包Id1 ;S3,由所有用户的Id1得到一个丨bj的集合B,将集合B中的所有元素进行按位异或 运算得到重传包b ;S4,信源广播该重传包b,然后各用户进行译码,恢复集合A中所包含的自己的错误 包,并对所述信源发送反馈信息,所述信源根据所述反馈信息更新丢包表,若没有错误 包,则进入下一轮的原始数据包的发送阶段;否则返回步骤Si。
2.如权利要求1所述的基于网络编码的数据包重传方法,其特征在于,在步骤Sl 中,信源选择每个用户需要恢复的数据包的原则是使集合A尽量大,同时保证集合A 中来自同一个用户的错误包最多只有两个。
3.如权利要求1或2所述的基于网络编码的数据包重传方法,其特征在于,将所述丢 包表用一个MXN的矩阵H表示,矩阵中的每个元素、为0或1,其中、=0表示用户i 成功接收了数据包j,hy = 1表示用户i丢失数据包j,则数据包j成为了错误包;此时, 所述步骤Sl具体包括步骤S101,对丢包表矩阵H进行行交换,形成新的丢包表矩阵H',使得新的丢包表矩 阵H第i行中1的数量大于或等于第i+Ι行中1的数量;S102,建立选择矩阵G,初始化G = H';S103,对于选择矩阵G进行如下操作从第一行中选择前两个矩阵元素为1的位 置,将该位置所代表的数据包放入集合A中,对矩阵G第一行其余元素为1的位置对应的 列中的矩阵元素置零,得到更新的选择矩阵G;然后逐行进行与上述步骤c相同的操作, 直至所有行的操作都完成,从而得到该轮重传中的选择矩阵G,选择矩阵G中所有含元 素1的列对应的包组成的集合即为A,G中第i行中的元素1对应的列表示该轮重传中用 户i需要恢复的数据包。
4.如权利要求3所述的基于网络编码的数据包重传方法,其特征在于,在步骤S2 中,确定数据包b,的原则如下对于用户i,若该轮重传需要恢复其一个错误包au,则1^ =知;对于用户i,若该轮重传需要恢复其两个错误包au和al2,则Γ αη θ ai2, q = 21+ \bt = <[α,j or ai2, q = 21 + 2其中,q表示这是au和al2的第q轮重传,1为非零正整数,or表示任意选取au和al2 中的一个进行传输。
5.如权利要求1或2所述的基于网络编码的数据包重传方法,其特征在于,步骤S4 中用户利用联合检测方法进行译码。
6.如权利要求5所述的基于网络编码的数据包重传方法,其特征在于,所述联合检测 方法为最大似然联合检测方法或比特级合并联合检测方法。
全文摘要
本发明公开了一种基于网络编码的数据包重传方法,包括步骤S1,信源在原始数据包发送阶段形成一个丢包表,信源根据当前丢包表选择在此轮重传中每个用户需要恢复的数据包,其中,假设所有用户要恢复的数据包集合为A;S2,确定每个用户需要进行合并的数据包bi;S3,由所有用户的bi得到一个{bi}的集合B,将集合B中的所有元素进行按位异或运算得到重传包b;S4,信源广播重传包b,然后各用户进行译码,恢复集合A中所包含的自己的错误包,并对信源发送反馈信息,信源根据反馈信息更新丢包表,若没有错误包,则进入下一轮的原始数据包的发送阶段;否则返回步骤S1。本发明在一次重传中恢复比传统NC-HARQ方法更多的错误包,减少了重传次数,提高了频谱效率。
文档编号H04L1/18GK102013966SQ201010574058
公开日2011年4月13日 申请日期2010年11月30日 优先权日2010年11月30日
发明者吕铁军, 张长 申请人:北京星河亮点通信软件有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1