基于SWIPT的多用户双向中继协作系统资源分配算法研究

2020-05-16 06:33张信明
计算机应用与软件 2020年5期
关键词:资源分配传输速率中继

周 方 张信明

(中国科学技术大学计算机科学与技术学院 安徽 合肥 230027)

0 引 言

在无线传感器网络中,节点在中继节点的辅助下传输数据,可以有效地提高系统吞吐量、鲁棒性和覆盖范围。TW-CRNs(Two-WayCooperativeRelayingNetworks,TW-CRNs)[1]则被认为是中继协助两个源节点间进行信息交换的有效解决方案。中继节点利用广播特性,将收到的来自不同源节点的数据编码转发,实现了比半双工单向中继协作有更高的能量效率和频谱效率。在能源有限的TW-CRNs中,能源短缺是一个限制TW-CRNs性能的关键因素。无线能量信息协同传输(SimultaneousWirelessInformationandPowerTransfer,SWIPT)[2]作为一种先进的能量采集技术(EnergyHarvesting,EH),可以使接收器从接收到的无线射频信号中获取能量和信息,延长无线传感器网络中低功耗传感器的使用寿命,增强传输速率和能量之间的权衡,提高系统性能。在基于SWIPT的TW-CRNs中,由于节点可以采集能量并使用积累的能量传输信息,使节点的传输功率、传输时间等资源变成了可控的量,因此设计合理的资源分配算法是提升系统性能的关键举措。

不同于单中继双向数据场景,多用户对多中继双向协作系统(Multi-userMulti-relayTW-CRNs,MM-TW-CRNs)比较复杂,除了要考虑一些可控资源的合理分配外,在资源分配算法中还必须要考虑节点间传输干扰。文献[3]考虑配备多天线的中继节点和配备多天线的源节点的MM-TW-CRNs,通过对传输功率、传输时间等的分配策略,来优化系统的渐近频谱和能量效率的波束成形,以最大化数据传输的分集增益,最大化系统传输速率。文献[4]则考虑单天线多中继和多源节点共享其频带(载波)资源形成虚拟路径以实现空间分集,通过考虑子载波的功率分配以及子载波配对来增大分集增益,提高系统吞吐量。以上相关工作均是干扰减轻的资源分配算法,利用最大合并比技术或者波束形成等技术使多节点可同时向同一个节点传输数据且保证数据仍可被正确接收,考虑一些可控的资源分配,提高节点间的协作分集增益,提升传输成功率,增大系统吞吐量。基于干扰避免的资源分配算法,在避免多个节点同时发送数据造成严重干扰的基础上,考虑系统资源的分配。相比于干扰减轻的资源分配算法,其实现简单、复杂度相对较低,且可扩展性好,因此本文主要关注MM-TW-CRNs中避免干扰的资源分配算法的设计。文献[5]提出的干扰避免资源分配算法可被扩展到MM-TW-CRNs中,通过考虑能量分配下的传输功率分配算法,来平衡两个源节点的不同传输速率,并在每个时隙中利用优化的功率选出一组源-中继-源传输数据,最大化系统能效,但是其链路利用率较低。面对MM-TW-CRNs数据传输的复杂性,本文立足于基于SWIPT的多用户多中继双向中继协作系统,提出基于TDMA的资源分配算法(ResourceAllocationBasedonSWIPTandTDMA,RABST),除了考虑节点传输功率、SWIPT技术下信息和能量分配比例和传输时间等资源的分配外,还考虑多用户链路调度对资源分配的影响,提升链路总传输速率和利用率,最大化系统吞吐量。本文主要贡献在于:

1) 为了最大化系统的吞吐量,RABST充分利用节点的广播特性,允许多条不冲突链路在同一时隙同时传输信息以减小传输时延提升链路利用率,并考虑了调度链路上的信息量分配,以及传输速率资源的分配,以减小传输时延,增大系统吞吐量。

2)RABST考虑了源节点和中继节点传输时间资源、传输功率资源的分配,以及中继节点的能量和信息分配比例。源节点的传输时间决定着中继节点收到的信息总量,决定中继节点的能量和信息的分配,中继节点的能量制约着中继节点的传输功率以及传输时间,对传输时间的分配也对系统中信息和能量的分配产生影响,通过考虑这些因素使系统能量和信息达到均衡,增大系统吞吐量。

3)RABST综合考虑了能量和信息传输量的分配、节点的传输功率分配以及链路资源的调度和流量分配,并将其建模成优化问题,通过对优化问题的求解,得到最优的传输顺序以及最优资源的分配,最终最大化系统吞吐量。

1 系统模型

如图1所示,多用户多中继双向中继协作系统被抽象成G=(N,L),其中N={S,R}代表网络中的节点集合,相应的|N|代表节点总个数,L={lab|a,b∈N}代表链路集合,其中lab代表节点a到节点b的通信链路。具体的,系统由源节点集S={Sπ|π=1,2}(其中Sπ={Sπi|i=1,2,…,Mπ})和中继节点集R={Rj|j=1,2,…,K}组成,中继R协助S1和S2进行消息交换。系统中的所有节点均配备单天线,因此不支持同时发送和接收数据。所有源节点都周期性发送数据给中继,中继节点应用解码转发(Decode-and-Forward,DF)[6]协议,并采用基于功率分裂技术(Power Splitting,PS)接收机[7]的SWIPT技术来真正实现信息和能量的同时传输,中继节点有两个接收器可以同时将信号转化成能量和信息,在源的发送时隙中使用信息解码发送器和能量采集器来处理信号,并以ρ:(1-ρ)的比例进行能量和信息的分配,其中ρ(0≤ρ≤1)是功率分裂因子。在该模型中,所有涉及信息传输的链路都遵循块衰落模型,在持续时间T的每个时隙中链路状态独立改变。

图1 多用户多中继双向中继协作模型

2 信息交换资源分配算法

基于以上系统模型及假设,本节关注多用户多中继双向中继协作系统的信息交换资源分配算法RABST的设计。首先,以最大化系统吞吐量为目标,通过将传输功率、传输时间、能量-信息分配比例和调度链路的传输速率建模成优化变量,将系统节点数据传输所要满足的约束转化成不等或等式约束条件,从而将资源分配问题建模成数学优化问题。其次,通过对上述优化问题的求解得到最优的系统资源分配方案,最大化系统吞吐量。

2.1 信息交换系统的数据传输建模

在图1所示的系统中,对于节点i(∀i∈N)均有“进”、“出”两个方向的数据流,分别用I(i)和O(i)来表示“进”流的发送节点和“出流”的接收节点集合,该资源分配需要解决两个问题:在时间限制下流传输数据的传输速率和传输时长如何设置可最大化系统的吞吐量以及数据流的分配保证同时传输不冲突。为了最大化吞吐量,本文首先给出了在多用户信息交换场景下系统应该满足的约束,其次通过设置数据流的代价上的代价以及关于吞吐量的效用来建模该分布式的资源分配策略。传输单位比特数据流的代价表示为CD,接收单位比特数据流的代价表示为CE。

1) 数据量约束 由于在系统数据传输应满足数据量守恒规则,因此在时间T内,对于该中继系统来说,所有”进”方向的数据量之和应该等于所有”出”方向上数据量之和,也即是系统的数据量C,可表示为:

(1)

式中:节点“进”(“出”)方向的数据量等于所有“进”(“出”)方向的数据流的流速率rxi(riy)与该数据流传输时间txi(tiy)的乘积。

2) 能量约束 对于中继节点来说,得益于PS技术,可以将从源节点x(x∈I(i))接收的信号转化成能量exi来维持系统的不间断运行,可以表示为:

exi=ηρxiPxihxitxii∈R

(2)

式中:η为定值代表能量转换效率,Pxi和txi分别代表lxi链路上数据传输的发送功率和时间,ρxi和hxi则分别表示在当前lxi数据流上的功率分裂因子和链路相关系数,那么在时间T内,中继节点积累的总能量Ei是所有“进“流数据传输所提供的能量之和,可表示为:

(3)

由于在具有能量采集的系统中,节点需要满足能量中立条件,即中继节点在其所有”出”数据流liy上传输数据所消耗的能量以及其接收信息所消耗的能量不能超过节点i积累的能量,因此对于时间T内的能量约束有:

(4)

3) 链路带宽约束 首先,由于系统的每一个节点均是单天线半双工节点,节点不能向多个节点同时发送或者同时接收多个节点的数据,或者发送即在该节点所涉及的所有数据流,不论是“进”流还是“出”流,总的流传输速率都不应该超过其带宽,因此有:

(5)

式中:Wi代表节点传输数据的最大带宽。其次,在节点i的某一“进”流传输情况下,还需满足如下链路带宽限制:

(6)

上式实际意义为:当节点z有一条“进”流(假设记为lnz)在传输数据时,以节点n有链路且为“出”流的所有链路的数据传输不能包括此时lnz这条链路,ljk则代表着“出”流中可以和lnz在同一时隙同时传输的链路。数据流ljk是根据文献[8]选择出来的数据流,其大致方法是首先根据该信息交换拓扑图在多项式时间内构建无向冲突图G′,对于冲突图来说,顶点代表数据流,如果两条或者多跳数据流有共同的节点,则顶点(即数据流)之间有一条边,即为冲突图的边。其次利用贪婪算法为冲突图上的顶点着色,有边连接的顶点不能着同一种颜色,在多种着色方案中选择利用颜色种类最少的方案为最佳着色方案。最后每一种颜色对应的数据流即为可以同时传输的数据流,最终确定了liy对应的所有数据流ljk。确定ljk可以使得同一时隙有多条链路可以同时传输,增大链路利用率,同时多条链路的同时传输也增大了整体的链路容量。

4) 时间约束及其他隐含约束 数据流传输数据所用的总时间T′不能超过设定的时间T:

(7)

每条数据流的传输速率不能小于可令数据传输成功的最小传输速率rmin:

rab≥rmina,b∈N

(8)

有关系统吞吐量Thou的效用函数可以表示为:

U(t,P,ρ,r)=CT′

(9)

式中:t=(txi,tiy);P=(Pxi,Piy);ρ=(ρxi);r=(rxi,riy),那么系统的资源分配问题可以被建模成如下优化问题P0:

(10)

s.t. (1)~(11)

在P0中通过约束每一跳数据流的传输速率来保证多条链路传输不冲突,通过对节点传输功率的分配来调节链路容量,功率分裂因子和传输时间的分配增强了能量和信息的均衡,有利于最大化系统的吞吐量。求解P0则可以得到系统的资源分配以及系统最大吞吐量。

2.2 RABST算法描述

在2.1节中,对新的资源分配算法RABST进行建模,并形成了优化问题P0,求解优化问题P0得到的最优解即是系统资源分配的最优方案,因此对问题P0的求解过程即是RABST算法详细步骤。

由于式(2)-式(3)在传输功率、功率分裂因子和传输时间上反映为非凸性,式(1)、式(4)数据流传输速率和传输时间上反映为非凸性,且式(5)-式(6)中的变量是在形成冲突图的基础上被约束的,因此问题P0是一个复杂的非凸优化问题。为了求解P0,首先需要建立该多用户多中继双向中继协作模型的无冲突图,在无冲突图中明确各个节点和链路之间的传输顺序,其次通过BCD(Block Coordinate Descent)方法[8]来分解P0,BCD方法是坐标下降法的一个扩展,可以采用固定某些使问题变成非凸的变量使之变成凸问题,并沿着一个坐标方向进行搜索其余变量的局部最小值,将非凸优化问题分而治之。最后通过联合优化同一时隙可同时传输的链路上的数据流量、传输速率、传输时间变量来确定系统资源分配分案,最大化系统吞吐量,具体过程如下:

1) 建立系统无冲突图 参照文献[9],根据当前系统的资源分配情况,建立该多用户多中继双向中继协作模型的无冲突图,得到无冲突图上可行的无冲突传输的顺序Order={Orderq|q=1,2,…,K},代表需要最少K个时隙实现无冲突传输,每个时隙中包含可同时传输的链路集合,记为Φ(Orderq)。

2) 分解问题P0 步骤1)给出了无冲突传输集合Φ(Orderq),但是并未对其涉及节点的资源进行优化,因此在步骤1)的基础上,优化节点和链路的资源分配变量,由于传输时间与其他变量在式(1)-式(4)中有乘积关系,使式(1)-式(4)成为了非凸约束,同理,传输功率与功率分裂因子变量的乘积使式(2)-式(3)为非凸约束,通过BCD方法首先将P0问题分解成三个具有强对偶性的凸优化子问题:传输功率和传输速率资源分配子问题P1、能量-信息资源分配子问题P2和传输时间资源分配子问题P3,分而治之。

(1) 固定功率分裂因子和传输时间,式(2)-式(3)、式(6)-式(7)为关于传输功率变量的线性约束,式(1)、式(4)变为关于数据流速率变量的线性约束,其余均为线性约束,形成传输功率和传输速率资源分配子问题P1:

(11)

s.t. (1)~(8)

(2) 固定功率分裂因子和数据流传输速率P*、r*以及传输时间t,此时式(2)-式(3)变为功率分裂因子变量的线性约束,形成功率分裂因子分配子问题(能量-信息资源分配子问题)P2:

(12)

s.t. (1)~(8)

(3) 固定功率分裂因子和数据流传输速率P**、r**以及功率分裂因子P*,此时式(1)-式(4)为关于传输时间变量的线性约束,形成传输时间资源分配子问题P3:

(13)

s.t. (1)~(8)

3) 迭代求解问题P0 由于问题P0是一个非凸问题,不可能一次求解就得到最优解,因此需要对问题P0迭代优化求解。问题P0的一次迭代过程如下:初始化系统资源的分配,执行步骤1,再结合文献[8]中类似的求解过程,优化步骤2中涉及的变量t、P、ρ和r并使Φ(Orderq)得到更新,其中对变量t、P、ρ和r的优化是通过文献[10]中的方法,求解P1、P2和P3对应的拉格朗日对偶问题来优化t、P、ρ和r。

优化步骤2的具体过程如下:首先,固定传输功率分裂因子和传输时间变量给出传输功率分裂因子和传输时间策略,通过对问题P1的求解得到此次迭代优化后的传输功率P*和传输时间r*,对传输功率和传输速率的优化使系统吞吐量得到优化。其次,为了使得问题P0更加优化,根据当前传输功率、传输速率以及传输时间策略去求解问题P2,得到此次迭代优化后的ρ*,通过对功率分裂因子的优化来均衡信息-能量之间的均衡,进一步优化吞吐量。最后,通过设置功率分裂因子和数据流传输速率和传输功率(P、ρ和r)策略来求解问题P3,得到此次迭代优化后的t*。在优化的传输功率、传输速率和功率分裂因子的基础上对传输时间的优化,使传输时延减小,吞吐量进一步得到优化。

根据变量下降方向和更新后的变量值设置新的资源分配策略,根据新的资源分配方案重复迭代过程。每次迭代使系统的资源得到优化,Φ(Orderq)得到更新,吞吐量得到优化。迭代终止于问题收敛或者达到最大的迭代次数。

步骤1-步骤3则组成了整个RABST资源分配算法,包括源链路选择,链路传输速率分配、信息传输的时间分配和能量传输的时间分配,最大化系统的吞吐量,且RABST算法可以扩展到大规模的信息交换场景(如文献[11]描述的大规模信息交换场景),该RABST算法描述见算法1。

算法1 RABST算法

1. 初始化系统各个节点的能量,并彼此找到其邻居;设置最大迭代次数w,初始化Order和Φ(Orderq);

2. 针对当前系统节点和链路上资源的分配情况,建立无冲突图,得到Order和Φ(Orderq)执行优化资源的迭代;

3. while 迭代次数未超过w

4. 对于给定的功率分裂因子和传输时间策略,求解传输功率和传输速率资源分配子问题P1;

5. 对于给定的传输功率、传输速率和传输时间策略,求解能量-信息资源分配子问题P2;

6. 对于给定的传输功率、传输速率和功率分裂因子策略,传输时间资源分配子问题P3;

7. end while

8.重复循环2-7;

9. output: 最大化的系统吞吐量和对应的系统资源分配方案,包括传输功率、传输速率、传输时间、能量-信息分配比例的最优分配以及最优Φ(Orderq)。

RABST算法包含两层循环:优化传输顺序循环和优化资源变量循环。由于RABST允许多个传输链路在同一时隙传输信息,K个时隙也意味着有K个无冲突节点集合,优化迭代K个无冲突传输节点集合时间复杂度为O(|N|-K+1)。在优化每个无冲突集合Φ(Orderq)时,还需要根据此时节点应满足数据量和带宽约束,建立无冲突图并得到无冲突集合Φ(Orderq),如文献[9]所描述,其复杂度为多项式时间,具体与节点的数量和链路数量有关,表示为O(polynomial(|N|)。优化资源变量循环是通过BCD方法来完成的,其复杂度与迭代次数相关,而最大的迭代次数为w,因此其时间复杂度上限为O(w),因此该算法的时间复杂度为O(polynomial(|N|)×(|N|-K+1)×w)。该算法复杂度为多项式时间,与节点个数与迭代次数密切相关。

3 仿真与实验

在本节中,以数值方式评估对所提出RABST资源分配算法在基于SWIPT的多用户多中继双向中继协作系统中的性能并使用MATLAB进行仿真。详细初始仿真参数设置如下:

节点的初始电池能量在50~100 J随机取值,其传输功率的阈值为0.1 mW,中继节点和源节点均被随机放置在10×10 m的正方形区域中。每个源节点的能量收集率被设置为均匀分布在0~40 mW之间的随机变量,以此能量来传输数据。链路带宽为10 kHz,按照参考文献[11]将噪声功率设置为-124 dBm。本文还设定能量协同传输的能量转换效率为0.8,传输时间阈值T=100 s。本文将RABST资源分配算法与Zhang等[5]提出的资源分配算法进行对比,其中Zhang等的方案是通过事先确定传输功率并且每次只选择一个源-中继-源对来进行数据传输。

首先,设置需要信息交换的源节点对8对,中继节点4个,图2展示了随着时槽的增加,系统吞吐量的变化。RABST资源分配算法与Zhang等[5]提出的资源分配算法相比,系统吞吐量提升了18.64%。由于RABST资源分配算法允许在一个时槽中不只有一个源-中继-源这三个节点的传输,在优化过程中,考虑了同一时槽多个传输不冲突的节点同时传输的情况,使得在每个时槽中链路的信息量增大,吞吐量提升。同时发现在第一个时槽两个方案拥有一样的吞吐量,是因为该时槽选定的链路与Zhang等资源分配方案的相同,又同时是数据传输的开始,因此在第一时槽时吞吐量相等。

图2 时隙vs吞吐量

其次,源节点数量不变,通过改变中继节点的数量,来改变节点之间的连接关系和链路数量进行实验,其中中继节点的数量被设置为2~10个。如图3所示,反映了不同中继节点数量下,本文提出的RABST算法与Zhang等资源分配算法导致的系统吞吐量变化。可以发现随着中继节点数量的增多,多个中继可以协助源节点传输更多的数据,因此系统吞吐量增大。除此之外,随着中继数量的增多,两种资源分配方案所得到的系统吞吐量差值越来越大,这是由于在中继节点数量较少时,在同一个时隙中同时传输的链路数量及其有限,极端情况为仅有一个中继节点的情况,系统中将不存在同时传输的多链路,每次只能允许一条链路传输数据,此时RABST算法与Zhang等资源分配算法有着相同的系统性能。随着中继节点增多,可用链路增多,RABST算法允许在每个时隙传输多条链路且对每条链路上的资源进行了优化分配,使得RABST算法在多用户多中继协作双向系统中吞吐量优于Zhang等资源分配算法获得的系统吞吐量。

图3 中继数量vs吞吐量

最后,按照图2的节点个数和各项参数设置,描绘了本文提出的基于SWIPT的多用户多中继双向中级协作资源分配算法的应用情况,如图4所示。在该算法中结合了中继节点的能量、信息、时间以及链路流量等资源的分配,并将该算法建模成优化问题,运行该算法即是得到优化问题的解,由于有非凸约束的存在,本文采用了块坐标下降法,通过松弛变量和固定变量一次求解的办法来求得系统局部最优资源分配方案。通过图4可说明本文提出的RABST资源分配算法是收敛的。

图4 迭代次数vs吞吐量

4 结 语

本文针对多用户多中继双向协作系统设计了一个基于SWIPT和TDMA的资源分配算法,通过允许同一个时隙中有多条不冲突的链路传输,优化链路上的传输功率、传输流量、传输时间等资源,使系统的吞吐量明显提升。该算法具有很好的扩展性,可以直接被用在大规模信息交换场景中。在未来,将会专注于设计考虑系统安全性的干扰避免资源分配算法。

猜你喜欢
资源分配传输速率中继
新研究揭示新冠疫情对资源分配的影响 精读
三星利用5G毫米波 实现创纪录传输速率
“鹊桥号”成功发射
Link—16中继时隙自适应调整分配技术研究
基于动态规划理论的特种设备检验资源分配研究
基于动态规划理论的特种设备检验资源分配研究
退化型高斯中继广播信道的信道容量研究
云环境下公平性优化的资源分配方法
夏季滨海湿地互花米草植物甲烷传输研究
数据传输速率