孙 晨,张 波
(南昌航空大学 软件学院,南昌 330063)
D2D 通信[1]被国际标准化组织3GPP 纳入新一代移动通信系统的开发框架中,并已成为第五代移动通信的关键技术之一[2]。与传统的蜂窝通信相比,使用D2D 通信技术,蜂窝系统中的移动终端可以在不通过基站转发的情况下直接传输数据[3]。同时,中继通信也可以通过多跳传输改善信号质量并降低能耗[4-5]。基于D2D 和中继异构蜂窝网络进行资源复用,可以提高资源利用率,降低终端功耗,解决无线通信中频谱资源不足的问题,但在获得性能增益的同时,也引入了新的干扰问题。
目前,关于中继链路/D2D 链路和宏蜂窝链路之间干扰协调技术[6]的研究主要有功率控制、资源分配以及两者相结合的方法。文献[7]考虑了多小区中继网络中的非合作分配博弈,但其仅旨在提高系统吞吐量而忽略了功率效率问题。文献[8]在传统的中继通信系统下提出了基于博弈论的功率控制和资源分配算法。与等功率分配相比,其使用较低的传输功率,可以达到提高系统吞吐量的目的。文献[9]通过部分频率复用,将蜂窝小区划分为中心区域和边缘区域,根据D2D 用户的位置为其分配资源,有效地减小了D2D 与蜂窝用户之间的干扰。文献[10]研究了基于非合作博弈框架的博弈方法在D2D 通信的资源分配中的应用。文献[11]提出一种改进的基于博弈论的D2D 通信功率算法,在提高系统吞吐量的同时,还将代价因素引入效用函数,使用户具有更高的公平性。文献[12]在比例公平调度算法的基础上设计了启发式D2D 资源分配方案,通过调整用户优先级,在最大化系统吞吐量与保证用户被调度的公平性之间进行折中。文献[13]提出一种新的联合功率控制和资源调度方案,并且设计一种计算复杂度低和开销小的基于比例公平的资源调度算法,以提高网络吞吐量和D2D 通信网络的用户公平性。文献[14]提出一种基于博弈论的分布式方法,通过联合优化D2D 和传统蜂窝链路的资源分配和功率控制来定义移动小区的整体系统并使其目标最大化。以上文献都是以提高系统吞吐量和优化功率分配为目的,在传统蜂窝的基础上研究中继通信或者D2D 通信,但并没有研究这三者结合下的异构蜂窝网络。
近年来,研究者也开展了较多针对D2D、小蜂窝(Small Cell,SC)和宏蜂窝的异构网络下的干扰协调技术研究。文献[15]研究了上行链路中由宏基站(Base Station,BS)、多个微微BS 和D2D 通信对组成的异构网络中的能效和频谱效率之间的权衡,提出了权衡效用最大化算法,将权衡效用最大化问题转换为蜂窝和D2D 用户的联合信道分配和功率控制问题。文献[16]针对D2D用户设备(Device User Equipment,DUE)和蜂窝用户设备(Cell User Equipment,CUE)复用宏蜂窝上行频谱资源时带来的干扰问题,给出一种基于拍卖理论的资源分配算法来进行DUE 和CUE 的资源分配,并在拍卖过程中引入最大拍卖预算值和二次拍卖机制,其所给出的算法能有效地提高系统的吞吐量,而且可以在一定程度上保证复用用户间的公平性。
本文通过将传统蜂窝通信、中继通信、D2D 通信这3 种场景相结合,构成D2D 和中继的异构蜂窝网络来展开研究,并在提高系统吞吐量的同时尽可能使用较少的功率。为避免多D2D 通信对和中继用户设备(Relay User Equipment,RUE)正交复用蜂窝上行频谱资源产生干扰,本文提出一种功率和资源分配博弈(Power and Resource Allocation Game,PRAG)算法。通过建立关于功率的效用函数,求出每个复用用户的最佳发射功率,并将其代入效用函数中,生成效用函数矩阵,使复用用户通过博弈选择合适的蜂窝用户资源。
如图1 所示,本文系统模型包括基站(BS)、中继节点(Relay Node,RN)、蜂窝用户设备(CUE)、中继用户设备(RUE)和D2D 用户设备(DUE)。
图1 异构网络上行通信模型Fig.1 Uplink communication model of heterogeneous network
假设小区中存在随机分布的M个蜂窝用户和N对D2D 用户,分别用i=1,2,…,M和j=1,2,…,N表示,且M>N。此外,存在Q个RUE用户,用k=1,2,…,Q表示。其中,Q的个数由随机分布的蜂窝用户数量和RN 的覆盖范围共同决定。由于蜂窝用户之间使用正交频谱资源,因此不存在干扰。DUE 和RUE 正交复用蜂窝上行资源,因此它们之间也不存在干扰。从图1 中可以看出用户间存在多条干扰,D2D 通信在复用蜂窝上行资源时,发射端产生的信号会对接收数据的基站BS 产生干扰,同时,D2D 通信的接收端也会被其复用的蜂窝用户干扰。同样地,中继通信的RUE 在复用蜂窝上行资源时也会对基站BS 产生干扰,同时,被其复用的蜂窝用户又会对作为数据中转站的中继节点RN 产生干扰。
在上行通信链路中,D2D 用户的信号对干扰加噪声比(Signal to Interference plus Noise Ratio,SINR)如式(1)所示:
其 中:Pj,i表示第j个D2D 对用户复用第i个蜂窝用户资源时发射端的发射功率;Gj,j'表示第j个D2D 对用户之间的链路增益;αj,i表示第j个D2D 对用户复用第i个蜂窝用户资源;Ii,j’表示第i个蜂窝用户对 第j个D2D 对用户的接收端的干扰,Ii,j'=Pi,j'Gi,j‘,Pi,j'是第j个D2D 对用户接收到的第i个蜂窝用户的发射功 率,Gi,j'是 第i个蜂窝用户与第j个D2D 对用户接收端之间的链路增益;B表示一个物理资源块(Physical Resource Block,PRB)[17]的带宽;N0表示噪声功率谱密度。
此时,蜂窝用户CUE 的SINR 如式(2)所示:
其中:Pi,BS表示基站BS 接收到的第i个蜂窝用户的发射功率;Gi,BS表示第i个蜂窝用户与基站BS 之间的链路增益;Ij,BS表示第j个D2D 对用户对基站BS(即第i个蜂窝用户的接收端)产生的干扰,Ij,BS=Pj,BSGj,BS,Pj,BS是基站BS 接收到的第j个D2D 对用户的发射功率,Gj,BS是 第j个D2D 对用户与基站BS 之间的链路增益。
同样地,在中继接入链路中,中继用户RUE 的SINR 如式(3)所示:
其中:i'∊M;Pk,i'表示第k个RUE 复用第i'个蜂窝用户资源时的发射功率;Gk,RN表示第k个RUE 与中继节 点RN 之间的 链路增 益;βk,i'表示第k个RUE 复 用第i'个蜂窝 用户资 源;Ii',RN表示第i'个蜂窝用户对RN(即 第k个RUE 的接收端)产生的干扰,Ii',RN=Pi',RNGi',RN,Pi',RN是中继节点RN 接收到的第i'个蜂窝用户的发射功率,Gi',RN是第i'个蜂窝用户与中继节点之间的链路增益。
此时,蜂窝用户CUE 的SINR 如式(4)所示:
其 中:Pi',BS表示基 站BS 接收到的第i'个蜂窝用户的发射功率;Gi',BS表示第i'个蜂窝用户与基站BS 之 间的链路增益;Ik,BS表示第k个RUE 对基站BS(即第i'个蜂窝用户的接收端)产生的干扰,Ik,BS=Pk,BSGk,BS,Pk,BS是基站BS 接收到的第k个RUE 的发射功率,Gk,BS是第k个RUE 与基站BS 之间 的链路增 益。
综上,根据香农公式,系统的总吞吐量为:
从上文分析可知,复用频率资源使得系统的干扰增加。如果蜂窝用户CUE 与D2D 用户DUE 之间、蜂窝用户CUE 与中继用户RUE 之间不进行相互协调,那么它们之间所带来的干扰将严重影响链路的通信质量。因此,本文提出PRAG 算法,通过资源分配和功率控制来解决用户之间的干扰问题,从而保证各个链路获得良好的通信性能。
在博弈中,蜂窝用户CUE 与D2D 用户DUE 组成一个卖家-买家对,CUE 拥有信道资源,可作为卖家,而DUE 需要复用CUE 的信道资源,故作为买家。具体过程可以描述为:CUE 提供预先分配的信道资源,而多个D2D 对用户必须选择CUE 的信道资源进行复用。如何复用就需要多个D2D 对用户之间通过自身能付出的代价进行博弈。最终,通过博弈,D2D获得了较好的信道资源,满足了通信要求,而另一方面,也控制了D2D 链路对CUE 链路的干扰,使得系统的通信速率得到了提高。
D2D 用户的效用函数由收益函数和代价函数两部分组成,可用式(6)表示:
其中:λ为D2D 用户的功率代价因子。此效用函数的最优化问题,即通过匹配合适的D2D 对用户的发射功率以及复用合适的蜂窝用户CUE 的信道资源,使得效用函数达到最优,如式(7)和式(8)所示:
其中:Pmin和Pmax分别表示允许D2D 对用户的发射端发射的最小和最大发射功率。
将式(1)代入式(6),可得:
对式(9)所示效用函数计算Pj,i的一阶偏导,可得:
令一阶偏导为0,可得:
由求导得出的式(11)可以看出,D2D 用户的效用函数存在极值。对式(9)所示效用函数计算Pj,i的二阶偏导,可得:
由式(12)可以看出,D2D 用户的效用函数存在极大值。如果极大值Pj,i∊[Pmin,Pmax],则Pj,i为效用函数的最大值点;否则,Pmin或者Pmax为效用函数的最大值点。根据以上公式推导,可以证明纳什均衡的解存在且唯一[18]。
综上,D2D 用户DUE 会遍历所有进行资源复用的蜂窝用户CUE,从而选择可以使其效用函数最优的复用对象,同时,也决定了复用当前蜂窝用户CUE时D2D 用户发射端的发射功率大小。
中继通信有许多传统蜂窝通信所不具备的优点,例如可以提高信号传输的覆盖范围和边缘用户的通信性能等。因为在中继通信中存在两跳链路,分别为接入链路和回传链路,所以要对它们分别进行讨论。
在中继通信的接入链路中,与一般的通信方式相同,都是通过用户接入进行传输。既然有用户可以进行中继通信,那么为了提高资源的复用率,它们就可以复用蜂窝用户的资源,这就与D2D 通信复用蜂窝用户的资源有了相似之处。关于中继用户的选择,本文对中继节点RN 设置一定的通信覆盖范围,在其覆盖范围内的中继用户RUE 方可进行中继通信。因此,中继用户的效用函数用数学公式可以表示为式(13):
其中:δ为中继用户的功率代价因子。
同样地,将式(3)代入式(13),对Pk,i'求一阶偏导并令其为0,可得:
对式(13)求关于Pk,i'的二阶偏导,可得其二阶偏导恒小于0。因此,在中继通信的接入链路中,中继用户的效用函数存在极大值。如果极大值Pk,i'∊,则Pk,i'为效用函数的最大值点;否则,Pmin或者Pmax为效用函数的最大值点。
在中继通信中,因为中继链路的第1 跳链路和第2 跳链路的传输速率是由其中一跳链路中传输速率较小的链路决定的[19],所以在本文中做如下的设置:在第2 跳传输时隙中,优先给回传链路分配资源,确保接入链路的传输数据可以全部在回传链路中进行传输,然后再为蜂窝用户分配资源。
本文算法在保证系统吞吐量最大化的同时,也考虑到了系统的整体通信质量。在D2D 用户之间设置干扰门限,只有满足门限值的要求,用户之间才能进行D2D 通信;对于中继用户,对中继节点设置了通信接入范围,从而保证通信质量。本文算法重复以下4 个步骤并取平均值。
步骤1根据上文所提出的效用函数,每个D2D都复用一个蜂窝用户资源,对每个蜂窝用户CUE 进行遍历,形成一个M×N的矩阵;同样地,RUE 也对每个蜂窝用户CUE 进行遍历,形成一个M×Q的矩阵。
步骤2步骤1 中所形成的矩阵用于存放用户的发射功率,分别记为PM×N和PM×Q;将矩阵中的值代入效用函数中,形成效用矩阵,分别记为UM×N和UM×Q。各效用函数之间进行博弈,通过其值的大小来决定复用资源的归属。若两个效用函数复用的为同一个蜂窝用户资源,那么按照博弈,价高者得。
步骤3经过步骤2,用户复用资源的对象已经基本确定。为了保证用户的公平性,在分配PRB 时,本文采用了轮循调度算法,然后根据香农公式,算出各自的吞吐量。
步骤4在步骤3 中,中继接入链路的吞吐量决定了中继回传链路所拥有PRB 的数量。通过分配给回传链路合适的资源,保证中继通信的质量和系统吞吐量的最大化。
本文研究的是单蜂窝小区下的通信仿真,其中包含1 个定向基站BS、1 个中继节点RN、若干蜂窝用户设备CUE、中继用户设备RUE 以及D2D 用户设备DUE。蜂窝用户设备和中继用户设备的链路传播模型参考3GPP 标准TR 36.814 中的异构系统仿真基线参数[20],D2D 用户设备间的链路传播模型参考3GPP 标 准TR 36.843[21]。每个中继用户设备或者D2D 用户设备只能复用一个蜂窝用户资源,且它们之间不进行复用。本文采用轮循调度算法进行通信资源块调度。具体仿真参数见表1。
表1 系统仿真参数Table 1 System simulation parameters
图2 是利用本文提出的基于博弈论算法,通过仿真工具绘制的某一次实验仿真拓扑模型(图中实线代表通信链路,虚线代表复用时产生的干扰)。可以看出,D2D 用户和中继用户都是复用了距离自己较远的蜂窝用户资源,这样可以减小用户复用时带来的干扰,由此验证了本文算法的有效性。
图2 仿真拓扑模型Fig.2 Simulation topology model
通过多次实验仿真,本文绘制了关于吞吐量的CDF曲线图,从而较为直观地验证本文算法的优越性。
图3 反映了PRAG 算法与等功率分配随机(Equal Power Allocation Randow,EPAR)算法之间的DUE 吞吐量对比。从中可以看出,本文算法使DUE 的吞吐量得到大幅提高。一方面,在前4%左右的概率分布中,本文算法的DUE 吞吐量快速增加,而EPAR 算法的吞吐量变化并不大,这体现了本文算法的优越性;另一方面,通过实验数据分析得知,在PRAG 算法下的DUE 的总吞吐量比EPAR算法的DUE总吞吐量平均提高了27%左右。
图3 DUE 吞吐量CDF 曲线图Fig.3 CDF diagram of DUE throughput
图4 反映了PRAG 算法与EPAR 算法之间的RUE 吞吐量对比。从中可以看出,本文算法使RUE的吞吐量也得到了大幅提高。在前3%左右的概率分布中,本文算法的RUE 吞吐量快速增加,而EPAR算法增长比较平缓,这是因为在本文算法下,中继用户RUE 可以准确地匹配到使得自身利益,即吞吐量最大化的复用对象蜂窝用户CUE;同时,通过实验数据分析得知,PRAG 算法下的RUE 总吞吐量比EPAR算法提高了18%左右。
图4 RUE 吞吐量CDF 曲线图Fig.4 CDF diagram of RUE throughput
为进一步探究D2D 对的数量变化对系统吞吐量产生的影响,本文通过改变D2D 对的个数,绘制平均吞吐量曲线图来进行比较分析。
由图5 可以看出,2 种算法下D2D 对数的增加都给系统的性能带来了增益。但是,基于本文所提PRAG 算法较基于EPAR 算法可使系统总平均吞吐量的提高更明显。随着D2D 对数的增加,2 种算法的优势差距从0.14×106bit/s 增加到了0.25×106bit/s左右,并且可以看出,随着D2D 对数的增加,PRAG算法性能优势更为明显。
图5 总平均吞吐量对比Fig.5 Comparison of total average throughput
由图6 可以看出,D2D 对数的增加给CUE 的吞吐量也带来了增益,其中,本文所提PRAG 算法下的增益更加明显,并且随着D2D 对数的增加,CUE 的平均吞吐量的差距也越来越大,这同样表明随着D2D 对数的增加,PRAG 算法的优势更为明显。
图6 CUE 平均吞吐量对比Fig.6 Comparison of average CUE throughput
由图7 可以看出,随着D2D 对数的增加,DUE 的平均吞吐量也随之提高,这是因为D2D 对数的增加使得DUE 可以复用更多的CUE 资源;另一方面,随着D2D 对数的增加,DUE 和CUE 之间的选择更多样,DUE 可以匹配到更合适的CUE 资源。对比EPAR 算法可以看出,无论D2D 对数如何改变,本文所提PRAG 算法都可以保持相对平稳的优势。
图7 DUE 平均吞吐量对比Fig.7 Comparison of average DUE throughput
本文针对D2D 和中继异构蜂窝网络研究中资源复用存在的干扰问题,提出一种功率和资源分配博弈(PRAG)算法,通过功率控制和用户资源分配建模效用函数,以期在用户消耗更少发射功率的同时提高系统吞吐量。仿真实验表明,与等功率分配随机(EPAR)算法相比,PRAG 算法可以在使用更少功率的基础上获得更大的系统吞吐量。此外,本文也通过仿真研究指出,D2D 对数的增加不仅给D2D 通信本身带来了增益,同时也提高了整个系统的性能。随着通信技术的发展,蜂窝通信网络会趋于多层异构演变,从而使系统之间的干扰越来越复杂,因此,需要设计更高效的优化算法。后续将考虑运用机器学习、智能优化等算法研究多层异构通信网络,进一步提高系统性能。