一种基于网络编码的双向无线中继传输方法与流程

文档序号:17600297发布日期:2019-05-07 20:11阅读:224来源:国知局
一种基于网络编码的双向无线中继传输方法与流程

本发明属于无线通信技术领域,具体来说是一种基于网络编码的双向无线中继传输方法。



背景技术:

在以对等通信为例的双向通信信道中,两个通信终端节点需要交互彼此感兴趣的数据信息。对于通信距离受限的无线信道或者无线mesh网络来说,当两个端节点之间的空间距离过长时,上述双向通信过程可以借助多个中继节点的顺序数据转发来加以实现,从而构成了一个双向的无线中继传输网络。

现有研究已经表明,当网络编码技术被应用于双向无线中继传输网络时,可以获得优于传统存储-转发技术的整体传输性能。例如,对于两跳的单中继双向传输网络来说,基于放大-转发方式的模拟网络编码技术能在每2个时隙内实现两个终端节点成功交互一次数据包,基于解码-转发方式的数字网络编码技术能在每3个时隙内实现两个终端节点成功交互一次数据包,而传统的存储-转发技术需要在每4个时隙内才能实现相同的通信功能。因此,与传统的存储-转发技术相比,基于放大-转发方式的模拟网络编码技术和基于解码-转发方式的数字网络编码技术能分别为单中继双向传输网络提供大约50%和33.33%的理论传输吞吐量增益。

其中,由于放大-转发方式可能会放大单个无线信道因误码所产生的传输错误,而模拟网络编码技术也需要每个端节点能够精确地执行自信息消除和准确地估计无线信道状态信息,因此基于放大-转发方式的模拟网络编码技术需要在基于较大的软硬件代价才可能获得实现,而其实际传输性能(包括误码率和传输吞吐量)也很难达到理论上的最优效果。另一方面,基于解码-转发方式的数字网络编码技术则能够有效地避免基于放大-转发方式的模拟网络编码技术的缺陷,因而具备很高的实用价值。

在现有研究中,《bi-directionalamplificationofthroughputinawirelessmulti-hopnetwork》已为三跳的2中继双向传输网络设计了一种基于解码-转发方式的数字网络编码技术,使得两个终端节点仍然能在3个时隙内成功交互一次数据包。然而,对于包含至少3个中继节点的双向中继传输网络来说,目前尚缺乏一种令人满意的基于解码-转发方式的数字网络编码技术来有效提高其整体传输性能。例如,对于任意中继节点个数为n(≥3)的双向中继传输网络来说,《aclassofbi-directionalmulti-relayprotocols》设计了一种能在每n+2个时隙内实现两个终端节点交互一次数据包的数字网络编码技术;《amultihoptransmissionschemewithdetect-and-forwardprotocolandnetworkcodingintwo-wayrelayfadingchannels》则为中继节点个数至少为5的双向中继传输网络设计了一种能在每5个时隙内实现两个终端节点交互一次数据包的数字网络编码技术;《novelmultihoptransmissionschemesusingselectivenetworkcodinganddifferentialmodulationfortwo-wayrelaynetworks》则提出了在每4个时隙内就能为任意中继节点数的双向中继传输网络实现两个终端节点交互一次数据包的数字网络编码技术。

此外,现有基于数字网络编码技术的双向中继传输机制均未对单个无线信道因误码所产生的传输错误设计适当的差错控制机制,导致这一传输错误可能在多跳的中继传输过程中被逐渐放大,并最终导致基于数字网络编码技术的双向中继传输机制无法正常运行。因此,能否基于解码-转发方式的数字网络编码技术进一步提升任意中继节点数的双向中继传输网络的传输性能以及如何为基于数字网络编码技术的双向中继传输机制设计适当的差错控制机制就成为两个亟待解决的问题。



技术实现要素:

本发明目的在于解决现有基于解码-转发方式的数字网络编码技术未能最大化双向中继传输网络整体传输性能和缺乏适当的差错控制机制等缺点,提出一种适用于由任意数量的中继节点所组成的双向无线中继传输网络并且具备差错控制能力的数字网络编码方法。一方面,该方法能通过减少两个终端节点交互一次数据包所需的时隙数,有效提升双向中无线继传输网络的整体传输性能。另一方面,该方法能够通过对错误数据包的适当重传和对每个节点执行数字网络编码的适当控制来有效避免单个无线信道的传输错误影响整个双向中继传输网络的正常运行。

对于一个如图1所示的由2个终端节点和n个中继节点所组成的双向中继传输网络,本发明设计了如下基于数字网络编码技术的双向无线中继传输算法:

第一步:将2个终端节点分别编号为0和n+1以及将n个中继节点分别编号为1,2,3,…,n,使得,对于任意整数i∈[0,n]来说,节点i和i+1均互为双向中继传输网络的邻居节点。

第二步:为双向中继传输网络的每个节点i∈[1,n]配置一个接收缓存区,以负责暂存该节点从邻居节点成功接收到的多个数据包以及执行异或操作所生成的待发送数据包。同时,为该网络的节点0(或者n+1)配置一个接收缓存区和一个编码缓存区,分别负责暂存由节点0(或者n+1)所生成的或接收到的多个数据包和由节点0(或者n+1)执行异或操作所生成的一个待发送数据包。其中,编码缓冲区的初始状态均为空。

第三步:从时隙0开始,双向中继传输网络的每个节点需要按照如下规则对节点0和n+1所发送的数据包进行中继传输:

(3.1)每个节点i∈[0,n+1]只能在时隙3t+(imodulo3)内向其邻居节点发送数据包,其中t为非负整数。当节点i∈[1,n]获得发送机会时,判断其接收缓存区是否非空,若是,节点将其接收缓存区所暂存的第1个数据包同时广播给节点i-1和i+1;若否,节点将保持沉默。当节点0(或者n+1)获得发送机会时,判断其编码缓存区是否非空,若是,它会向节点1(或者n)发送其接收缓存区所暂存的第1个数据包;若否,接着判断其接收缓存区是否非空,若是,它会向节点1(或者n)发送其编码缓存区所暂存的数据包;若否,节点将保持沉默。

(3.2)当节点i∈[0,n+1]成功接收到一个以它为目的节点的数据包时,判断它是否处于(4.1)所述的数据包重复发送过程中或者处于(4.2)所述的数据包重复接收过程中,若是,则按照(4.1)或者(4.2)进行操作;若否,判断其接收缓存区是否非空,若是,那么它会将该数据包与其接收缓存区暂存的第1个数据包进行异或;若否,用该数据包直接更新其接收缓存区;此时,节点i∈[1,n]会用该异或结果直接更新它的接收缓存区,而节点0或者n+1会继续执行如下三个操作:

(3.2.1)判断该异或结果是否为全部为0的数据包,若是,不做处理;若否,那么需要将该异或结果送往上层协议执行数据接收操作。

(3.2.2)将接收缓存区暂存的第1个数据包弹出,使得接收缓存区暂存的第2,3,…个数据包(如果有的话)分别成为其第1,2,…个数据包。

(3.2.3)判断更新后的接收缓存区是否非空,若是,那么需要将上述异或结果与其接收缓存区暂存的第1个数据包再次进行异或,并用最终的异或结果更新它的编码缓存区;若否,直接用该异或结果更新它的编码缓存区。

第四步:如果任意两个相邻节点之间的无线信道均可能出现由于信道误码所导致的数据包传输错误,那么每个节点i需要执行如下的两个规则,以确保单个无线信道上的传输错误不会被扩散以及双向无线中继传输算法的正确运行:

(4.1)对于任意非负整数t来说,判断节点i在时隙3t+(imodulo3)内是否成功发送数据包给它的所有邻居节点,即节点i-1、节点i+1或者节点i-1和i+1,若是,不做处理;若否,它会在时隙3(t+1)+(imodulo3),3(t+2)+(imodulo3),…内继续向上述邻居节点重传同一数据包,直到该数据包被上述邻居节点正确接收为止。与此同时,从时隙3t+(imodulo3)+1到节点i成功发送该数据包给上述邻居节点为止的时间段内,节点i会把它从其它邻居节点所成功接收到的数据包存储到接收缓存区已暂存数据包之后,但不会将该数据包与接收缓存区已暂存的数据包进行异或。另一方面,在成功发送该数据包之后,那么节点i需要进一步将接收缓存区暂存的两个数据包进行异或,用该异或结果直接更新为接收缓存区的第1个数据包,并删除接收缓存区暂存的第2个数据包。

(4.2)对于任意非负整数t来说,判断节点i是否在时隙3t+(imodulo3)内成功发送了一个数据包给节点i-1(或者i+1),同时在时隙3t+(imodulo3)+2(或者3t+(imodulo3)+1)内成功接收到节点i-1(或者i+1)发送给它的数据包,若是,不做处理;若否,节点i会在时隙3(t+1)+(imodulo3)+2(或者3(t+1)+(imodulo3)+1),3(t+2)+(imodulo3)+2(或者3(t+2)+(imodulo3)+1),…内继续尝试接收节点i-1(或者i+1)发送给它的数据包,直到它正确接收到节点i-1(或者i+1)发送的数据包为止。与此同时,从时隙3(t+1)+(imodulo3)(或者3t+(imodulo3)+2)到节点i成功接收到节点i-1(或者i+1)发送的数据包这段时间内,节点i会把它从节点i+1(或者i-1)成功接收到的数据包与其接收缓存区内暂存的第1个数据包进行异或,并用该异或结果直接更新为接收缓存区的第1个数据包,但会暂停发送任何数据包。

本发明的有益效果是:

本发明将组成一个双向中继传输网络的2个终端节点和n个中继节点(其中n≥2)划分为三个不同的种类,使得属于同一类的任意两个节点之间至少会间隔两个属于其它类的中继节点,以及要求在同一时隙内仅有一类节点能够发送数据包而其它两类节点则必须保持沉默,从而有效避免了相邻节点之间同时发送数据包而产生相互干扰,降低了同类节点之间由于同时发送数据包而产生相互干扰,并最终基于解码-转发方式的数字网络编码技术实现了,无论中继节点个数n有多大,2个终端节点在无信道误码的理想传输条件下总能在每3个时隙内交互一次数据包。

与之相对应的是,对于一个由2个终端节点和任意n个中继节点(其中n≥2)所组成的双向中继传输网络来说,传统的存储-转发技术只能实现2个终端节点在无信道误码的理想传输条件下总能在每5个时隙内交互一次数据包。这就意味着,与传统的存储-转发技术相比,本发明所提出的基于解码-转发方式的数字网络编码技术能为任意n中继双向传输网络提供最多66.67%的理论传输吞吐量增益。

最后,与现有基于解码-转发方式的数字网络编码技术相比,本发明不仅能为任意n中继双向传输网络在无信道误码的理想传输条件下提供更优的理论整体传输性能,又能在存在信道误码的实际传输条件下有效克服单个信道误码所导致的传输错误扩散问题,从而确保了双向中继传输网络的正常运行。

附图说明

图1为本发明所考虑的由2个终端节点和n个中继节点所组成的双向中继传输网络示意图。

图2显示了,在无信道误码的理想情况下,中继节点数为3的双向中继传输网络采用本发明所提方法进行双向中继传输的过程示意图。图中每个节点i∈[1,3]在每个时隙开始之前的方框代表该节点的接收缓存区在该时隙开始之前暂存的数据包,节点0(或者4)在每个时隙开始之前的左边和右边方框分别代表该节点的编码和接收缓存区在该时隙开始之前暂存的数据包,0表示一个内如为全0的数据包,而虚线双箭头代表相关节点未发送任何数据包。此外,每个代表接收缓存区的方框中,左边和右边的字母分别代表该接收缓存区当前暂存的第1和第2个数据包。

图3显示了,在存在信道误码的实际情况下,中继节点数为3的双向中继传输网络采用本发明所提方法进行双向中继传输的过程示意图。图中每个节点i∈[1,3]在每个时隙开始之前的方框代表该节点的接收缓存区在该时隙开始之前暂存的数据包,节点0(或者4)在每个时隙开始之前的左边和右边方框分别代表该节点的编码和接收缓存区在该时隙开始之前暂存的数据包,0表示一个内容为全0的数据包,而虚线双箭头代表相关节点未发送任何数据包。此外,每个代表接收缓存区的方框中,左边和右边的字母分别代表该接收缓存区当前暂存的第1和第2个数据包。

图4显示了,在无信道误码的理想情况下,中继节点数为3的双向中继传输网络采用一种存储-转发方法进行双向中继传输的过程示意图。图中节点i∈[1,3]在每个时隙开始之前的左边和右边方框分别代表该节点在该时隙开始之前暂存的从节点i+1接收且在得到发送机会时需向节点i-1发送的数据包和从节点i-1接收且在得到发送机会时需向节点i+1发送的数据包,节点0(或者4)在每个时隙开始之前的方框代表该节点在得到发送机会时需发送的数据包,而虚线箭头代表相关节点未发送任何数据包。

图5显示了,在无信道误码的理想情况下,中继节点数为3~7的双向中继传输网络采用本发明所提方法和图4所示存储-转发方法的整体传输吞吐量对比图。

图6显示了,在无信道误码的理想情况下,中继节点数为3~7的双向中继传输网络采用本发明所提方法和两种现有数字网络编码方法的整体传输吞吐量对比图。

图7显示了,在信道误码的实际情况下,中继节点数为5的双向中继传输网络采用本发明所提方法的吞吐量随数据包平均传输成功概率变化的仿真结果图。

图8显示了,在每个数据包的平均传输成功概率为0.9时,双向中继传输网络采用本发明所提方法的吞吐量随中继节点个数变化的仿真结果图。

具体实施方式

下面结合附图详细描述明本发明的技术方案。

为了方便分析,假设两个端节点(即节点0和n+1)发送的数据包长度均固定为8472bit。在无信道误码的理想情况下,任意两个相邻节点之间的无线信道传输速率固定为11mbit/s。

图1为本发明所考虑的由2个终端节点和n个中继节点所组成的双向中继传输网络示意图。特别地,当n=3时,图1所示的双向中继传输网络即为如图2所示的3中继双向无线传输网络。此时,本发明所设计的基于数字网络编码技术的双向中继传输算法包含如下步骤:

第一步:将2个终端节点分别编号为0和n+1以及将n个中继节点分别编号为1,2,3,…,n,使得,对于任意整数i∈[0,n]来说,节点i和i+1均互为双向中继传输网络的邻居节点。

第二步:为图2所示双向中继传输网络的每个节点i∈[1,3]配置一个接收缓存区,以负责暂存该节点从邻居节点成功接收到的多个数据包以及执行异或操作所生成的待发送数据包。同时,为该网络的节点0(或者4)配置一个接收缓存区和一个编码缓存区,分别负责暂存由节点0(或者4)所生成的或接收到的多个数据包和由节点0(或者4)执行异或操作所生成的一个待发送数据包。其中,编码缓冲区的初始状态均为空。

第三步:从时隙0开始,双向中继传输网络的每个节点需要按照如下规则对节点0和4所发送的数据包进行中继传输:

(3.1)将组成图2所示双向中继传输网络的5个节点,即节点0,1,2,3,4,分为了三类。其中节点0和节点3属于第一类,它们只能在时隙0,3,6,…内向其邻居节点发送数据包;节点1和节点4属于第二类,它们只能在时隙1,4,7,…内向其邻居节点发送数据包;而节点2属于第三类,它们只能在时隙2,5,8,…内向其邻居节点发送数据包。当节点i∈[1,3]获得发送机会时,判断其接收缓存区是否非空,若是,它将其接收缓存区所暂存的第1个数据包同时广播给节点i-1和i+1;若否,它会保持沉默。当节点0(或者4)获得发送机会时,判断其编码缓存区是否非空,若是,它会向节点1(或者3)发送其编码缓存区所暂存的数据包;若否,判断其接收缓存区是否非空,若是,它会向节点1(或者3)发送其接收缓存区所暂存的第1个数据包;若否,它会保持沉默。

(3.2)当节点i∈[0,4]成功接收到一个以它为目的节点的数据包时,判断它是否处于(4.1)所述的数据包重复发送过程中或者处于(4.2)所述的数据包重复接收过程中,若是,则按照(4.1)或者(4.2)进行操作;若否,判断其接收缓存区是否非空,若是,它会将该数据包与其接收缓存区暂存的第1个数据包进行异或;若否,用该数据包直接更新其接收缓存区。此时,节点i∈[1,3]会用该异或结果直接更新它的接收缓存区,而节点0或者4会继续执行如下三个操作:

(3.2.1)判断该异或结果是否为全0的数据包,若是,丢弃该结果;若否,它需要将该异或结果送往上层协议执行数据接收操作。例如,在时隙1(或者时隙4)内,由于节点0接收到的数据包a(或者b)与其接收缓存区暂存的第1个数据包a(或者b)的异或结果为一个全0的数据包,因此它不会该异或结果送往上层协议执行数据接收操作。另一方面,在时隙7内,节点0会将接收的数据包c⊕x与其接收缓存区暂存的第1个数据包c进行异或,并该异或结果(即数据包x)送往上层协议执行数据接收操作。类似地,在时隙3(或者时隙6)内,节点4会分别将接收的数据包a⊕x(或者b⊕y)与其接收缓存区暂存的数据包x(或者y)进行异或,并将该异或结果,即数据包a(或者b),送往上层协议执行数据接收操作。

(3.2.2)将接收缓存区暂存的第1个数据包弹出,使得接收缓存区暂存的第2,3,…个数据包(如果有的话)分别成为其第1,2,…个数据包。例如,在时隙4(或者时隙7)内成功接收到节点1发送的数据包b(或者c⊕x)并执行异或操作之后,节点0需要进一步将接收缓存区暂存的第1个数据包b(或者c)弹出,使得接收缓存区暂存的第2个数据包c(或者d)成为其第1个数据包。

(3.2.3)判断更新后的接收缓存区是否非空,若是,那么需要将上述异或结果与其接收缓存区暂存的第1个数据包再次进行异或,并用最终的异或结果更新它的编码缓存区;若否,直接用该异或结果更新它的编码缓存区。例如,在时隙7的末尾,节点0会将送往上层协议的异或结果,即数据包x,与其接收缓存区的第1个数据包d再次进行异或,并用最终的异或结果,即数据包d⊕x,更新它的编码缓存区。类似地,在时隙3(或者时隙6)的末尾,节点4会分别将送往上层协议的异或结果,即数据包a(或者b),与其接收缓存区的第1个数据包y(或者z)再次进行异或,并用最终的异或结果,即数据包a⊕y(或者b⊕z),更新它的编码缓存区。

第四步:如图3所示,如果任意两个相邻节点之间的无线信道均可能出现由于信道误码所导致的数据包传输错误,那么每个节点i需要执行如下的两个规则,以确保单个无线信道上的传输错误不会被扩散以及双向无线中继传输算法的正确运行:

(4.1)对于任意非负整数t来说,判断节点i是否在时隙3t+(imodulo3)内成功发送数据包给它的所有邻居节点,即节点i-1、节点i+1或者节点i-1和i+1,若是,不做处理;若否,它会在时隙3(t+1)+(imodulo3),3(t+2)+(imodulo3),…内继续向上述邻居节点重传同一数据包,直到该数据包被上述邻居节点正确接收为止。例如,如图3所示,由于节点3在时隙3内未能成功发送数据包a⊕x给节点2,因此它会在时隙6,9,…内继续尝试向节点2重传同一数据包a⊕x,直到该数据包在时隙6内被节点2正确接收为止。

与此同时,从时隙3t+(imodulo3)+1到节点i成功发送该数据包给所述邻居节点为止的时间段内,节点i会把它从其它邻居节点所成功接收到的数据包存储到接收缓存区已暂存数据包之后,但不会将该数据包与接收缓存区已暂存的数据包进行异或。例如,从时隙4到节点3成功发送数据包a⊕x给节点2为止的时间段(即时隙4到时隙6)内,节点3会把它从另一邻居节点(即节点4)在时隙4内所成功接收到的数据包a⊕y存储为接收缓存区的第2个数据包,但不会将数据包a⊕y与其接收缓存区已暂存的数据包a⊕x进行异或。

另一方面,在成功发送该数据包之后,节点i需要进一步将接收缓存区暂存的两个数据包进行异或,用该异或结果直接更新为接收缓存区的第1个数据包,并删除接收缓存区暂存的第2个数据包。例如,在时隙6成功发送数据包a⊕x之后,节点3需要进一步将其接收缓存区暂存的第1个数据包a⊕x和第2个数据包a⊕y进行异或,用该异或结果x⊕y直接更新为接收缓存区的第1个数据包,并删除接收缓存区暂存的第2个数据包a⊕y。

(4.2)对于任意非负整数t来说,判断节点i是否在时隙3t+(imodulo3)内成功发送了一个数据包给节点i-1(或者i+1),同时在时隙3t+(imodulo3)+2(或者3t+(imodulo3)+1)内成功接收到节点i-1(或者i+1),若是,不做处理;若否,节点i会在时隙3(t+1)+(imodulo3)+2(或者3(t+1)+(imodulo3)+1),3(t+2)+(imodulo3)+2(或者3(t+2)+(imodulo3)+1),…内继续尝试接收节点i-1(或者i+1)发送给它的数据包,直到它正确接收到节点i-1(或者i+1)发送给它的数据包为止。例如,由于节点2在时隙2内成功发送了一个数据包a给节点3,但在时隙3内未能成功接收到节点3发送给它的数据包a⊕x,因此节点2会在时隙6,9,…内继续尝试接收节点3发送给它的数据包,直到它在时隙6内正确接收到节点3发送给它的数据包a⊕x为止。

与此同时,从时隙3(t+1)+(imodulo3)(或者3t+(imodulo3)+2)到节点i成功接收到节点i-1(或者i+1)发送的数据包这段时间内,节点i会把它从节点i+1(或者i-1)成功接收到的数据包与其接收缓存区内暂存的第1个数据包进行异或,并用该异或结果直接更新为接收缓存区的第1个数据包,但会暂停发送任何数据包。例如,从时隙4到节点2成功接收到节点3发送给它的数据包这一时间段(即时隙4到时隙6)内,节点2会把它在时隙4内成功接收到的由节点1发送的数据包b与其接收缓存区内的数据包a进行异或,并用该异或结果a⊕b直接更新为接收缓存区的第1个数据包,但会暂停发送任何数据包。

由图2可知,在无信道误码的理想情况下,中继节点数为3的双向中继传输网络基于本发明所提方法可以确保两个端节点(即节点0和4)从时隙7开始在每3个时隙内就可以实现一次数据包的交互。由图3可知,在存在信道误码的实际传输条件下,中继节点数为3的双向中继传输网络基于本发明所提方法可以有效避免单个无线信道误码所导致的传输错误扩散到整个双向中继传输网络,从而确保了双向中继传输过程的正常运行。

图4显示了,在无信道误码的理想情况下,中继节点数为3的双向中继传输网络采用一种存储-转发方法进行双向中继传输的过程示意图。由图可以看出,该方法能够确保中继节点数为3的双向中继传输网络在每5个时隙内就可以实现一次数据包的交互。图5则显示了,在无信道误码的理想情况下,中继节点数为3~7的双向中继传输网络采用本发明所提方法和图4所示存储-转发方法的吞吐量对比图。由图可知,在双向中继传输网络运行到稳定状态下,本发明所提方法能获得高于图4所示存储-转发方法大约66%的传输吞吐量。

图6显示了,在无信道误码的理想情况下,中继节点数为3~7的双向中继传输网络采用本发明所提方法和两种现有数字网络编码方法,即《amultihoptransmissionschemewithdetect-and-forwardprotocolandnetworkcodingintwo-wayrelayfadingchannels》和《novelmultihoptransmissionschemesusingselectivenetworkcodinganddifferentialmodulationfortwo-wayrelaynetworks》的整体传输吞吐量对比图。由图可知,在双向中继传输网络运行到稳定状态下,本发明所提方法能获得明显高于两种现有数字网络编码方法的传输吞吐量。

图7显示了,在信道误码的实际情况下,中继节点数为3的双向中继传输网络采用本发明所提方法的吞吐量随数据包平均传输成功概率变化的仿真结果图。而图8则显示了,在每个数据包的平均传输成功概率为0.9时,双向中继传输网络采用本发明所提方法的吞吐量随中继节点个数变化的仿真结果图。可以看出,在存在信道误码的实际传输条件下,双向中继传输网络基于本发明所提方法也可以有效避免单个无线信道误码所导致的传输错误扩散到整个双向中继传输网络,从而确保了双向中继传输过程的正常运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1