黄 哲 杨永立 杨丹阳 毛 凯
(武汉科技大学信息科学与工程学院 武汉 430000)
随着物联网、大数据、云计算等互联网技术的快速发展以及移动终端数量的剧烈增长,传统蜂窝网络所提供的传输速率、系统容量以及本地服务难以满足现在的用户需求。D2D(device-to-device)通信技术是在一定的距离范围内用户设备直接进行通信、不需要通过基站转发的通信模式[1]。在蜂窝网络中引入D2D通信技术,用户设备间可以通过复用蜂窝资源的一个直通链路彼此传输数据,这样可以提高频谱利用率,扩大通信系统容量,提升通信系统性能,D2D技术已成为5G关键技术之一[2]。但是,D2D通信模式下D2D用户通过复用蜂窝用户频谱资源进行通信,会带来严重的同频干扰,如果不能有效抑制同频干扰,可能会降低频谱利用率,降低通信系统性能,严重影响通信服务质量。
目前大量研究表明,良好的资源分配和功率控制策略可以有效地抑制同频干扰、提高频谱效率和降低系统能耗[3],由于功率控制是一个非线性目标优化问题,现在越来越多的研究者将博弈论、贪婪算法等智能算法应用到资源分配和功率控制优化问题中。文献[4]考虑上行链路和下行链路,提出了基于博弈论算法的D2D资源分配方案。文献[5]提出了一种贪婪的启发式资源分配算法,有效抑制了同频干扰。文献[6]以系统性能为目标,提出了最小化通信网络设备总传输功率的优化策略,在保证用户服务质量的同时,将干扰控制到一定范围内。文献[7]设计了一个新的分布式功率控制迭代算法,逐步分配目标信噪比和传输功率。文献[4-7]只是单独考虑了资源分配或者功率控制,没有将二者联合考虑。文献[8]首先进行蜂窝用户和D2D用户的资源分配,然后在速率约束条件下,基于贪婪算法最大化总速率,对用户设备的发射功率进行了优化。文献[9]联合资源分配和功率控制,先为每个D2D用户寻找可复用的蜂窝用户频谱资源,再调节用户发射功率,使得D2D用户采用不低于门限值的最低发射功率,文献[8-9]所提分布式优化方案在一定程度上制约了系统性能,且算法复杂度较高。现有的D2D通信研究中,很少有将资源分配和功率控制联合考虑,部分文献中采用了分布式优化方案,割裂了资源分配和功率控制的联系,运用的经典智能算法在解决该优化问题时存在一定的缺陷,且大部分文献是以最大化用户速率和最大化系统吞吐量为研究目标,对于系统能量效率方面的研究比较少。
本文联合资源分配和功率控制优化问题,从信道资源使用的角度分析D2D系统能量效率,提出了一种基于樽海鞘群算法(Salp swarm algorithm, SSA)的资源分配策略,在保证用户最低速率需求的前提下最大化系统能量效率。
考虑引入D2D通信的单小区蜂窝通信系统,采用正交频分复用(orthogonal frequency division multiplexing,OFDM)技术,保证小区内蜂窝链路之间不存在干扰。由于基站功率比较高,复用下行链路会对用户造成很大干扰,因此考虑小区内D2D用户复用上行链路资源,系统模型如图1所示。所有通信用户随机分布在小区里,基站位于小区中心,有N个蜂窝用户(cellular user,CU),记为集合C={CU1,CU2,…,CUN},有M个D2D用户对(D2D user pair,DP),记为集合D={DP1,DP2,…,DPM},一个D2D用户对包含一个发送端和一个接收端,考虑系统满负荷的情况,即上行链路信道数等于蜂窝用户数,每个蜂窝用户占用一个信道,各信道服从瑞利衰落。基站知晓用户的信道状态和服务质量(quality of service,QoS)要求,规定一个D2D用户对能复用多个蜂窝用户的信道资源,一个蜂窝用户的信道资源至多能被一个D2D用户对复用。
图1 D2D通信系统模型
传统蜂窝网络中,能量效率定义为单位能量传输的数据比特数,公式如下:
(1)
其中ee为用户能量效率,R为用户传输速率,P为用户发射功率。
传统蜂窝网络中,每个蜂窝用户在基站控制下被唯一分配一个信道资源,通信网络中用户设备与信道资源是一一对应关系,因此系统能量效率可以定义为各用户能量效率之和,公式如下:
(2)
在蜂窝网络中引入D2D通信技术后,D2D用户可以复用蜂窝用户的信道资源,因此通信网络中用户设备与信道资源的关系有2种:(1)信道资源仅被蜂窝用户占用;(2)D2D用户与蜂窝用户共享同一信道资源。此时用户设备与信道资源不再是一一对应关系。
本文从信道资源使用的角度分析D2D通信系统的能量效率。
(1)当某一信道资源仅被蜂窝用户占用时,用户设备与信道资源是一一对应的,用户设备能量效率可以视为信道资源能量效率,公式如下:
(3)
式中,eeC为该信道资源能量效率,RC为该信道上的传输速率,PC为该信道上的传输功率。
(2)当某一信道资源被D2D用户和蜂窝用户共享时,该信道资源的能量效率为D2D用户和蜂窝用户的传输速率之和与传输功率之和的比值,公式如下:
(4)
式中,eeD为该信道资源能量效率,RC、PC分别为该信道上蜂窝用户的传输速率和传输功率,RD、PD分别为该信道上D2D用户的传输速率和传输功率。
基于上述分析,D2D通信系统的系统能量效率可以视为各信道资源能量效率之和,公式如下:
(5)
式中,EE表示系统能量效率,Rn、Pn分别表示CUn的传输速率和传输功率,Rm,n、Pm,n分别表示DPm复用CUn信道资源时的传输速率和传输功率,qm,n表示信道状态指示变量,当DPm复用CUn信道资源时,qm,n=1;否则,qm,n=0。
根据香农公式,系统中CUn的传输速率Rn为
(6)
系统中,DPm的传输速率Rm,n为
(7)
本文的优化目标是在保证蜂窝用户和D2D用户QoS的前提下最大化系统能量效率,同时减少用户间干扰,该优化问题可表述为
maxEE
(8)
qm,n∈{0,1}, ∀m∈M, ∀n∈N
(9)
(10)
(11)
(12)
(13)
(14)
令Q={qm,n}M×N为M×N维矩阵,Q表示该系统中所有D2D用户对的信道资源分配方案;令P={Pm,n}M×N为M×N维矩阵,P表示该系统中所有D2D用户对的功率控制方案。
樽海鞘是一种海洋生物,其身体结构和运动行为与水母十分相似。樽海鞘的群体行为与其他种群群体行为不同,它们通常是首尾相连形成链状结构,也被称为樽海鞘链,如图2所示。研究人员把樽海鞘链分为领导者和追随者两部分,领导者位于樽海鞘链的首端,它对环境和食物源有着最优的判断,其余的樽海鞘就是追随者,追随者依次跟随前一个樽海鞘,该移动方式有助于樽海鞘群快速协调移动和觅食。
图2 樽海鞘和樽海鞘链[13]
文献[13]在2017年建立了樽海鞘链的数学模型,提出了樽海鞘群算法用来解决一系列优化问题。设樽海鞘种群规模为J,空间维度或者变量数为I,食物源随机分布在J×I维的搜索空间中,所有樽海鞘的位置记为矩阵X,食物源的位置记为F。ub=ub1,ub2,…,ubI,lb=[lb1,lb2,…,lbI],分别表示各维度位置变化范围的上限和下限。
领导者在搜索空间中搜索食物源,并根据食物源更新位置,引导整个种群移动,其更新方式为
(15)
其中系数c1是SSA算法的收敛因子,在迭代过程中它能够平衡算法的全局搜索和局部开发,其定义如下:
(16)
式中,l为当前迭代次数,L为最大迭代次数。c1在迭代过程中自适应减小,迭代前期,c1的值比较大,SSA算法进行全局搜索;迭代后期,c1的值比较小,SSA算法进行局部开发。
追随者的运动方式符合牛顿运动定律,其更新方式为
(17)
(18)
综合式(15)和式(18)就建立了SSA算法的数学模型,在求解优化问题时,首先根据种群位置的上下限随机初始化樽海鞘位置,然后计算每只樽海鞘的适应度值,找出最优樽海鞘位置并将其分配给食物源,樽海鞘领导者根据式(15)更新位置,追随者根据式(18)顺次更新位置,追随者的顺次跟随运动方式能够降低SSA算法陷入局部最优的可能性。
(19)
为验证ASSA算法的性能,引入SSA算法、粒子群算法(particle swarm optimization,PSO)和遗传算法(genetic algorithm,GA)设计对比实验。表1为测试函数,实验参数设置:种群规模为30,最大迭代次数为200,每个对比实验运行20次,运行结果见表2。从平均值、标准差可以看出,相比于其他几个算法,ASSA算法优化效果最好。相比于SSA算法,ASSA算法的性能有很大提升。
本文的优化目标是优化2个矩阵变量Q和P,使D2D通信系统的能量效率最大化,其中资源分配矩阵Q是离散变量,功率控制矩阵P是连续变量,连续的ASSA算法不能直接用于求解本文优化问题。因此对ASSA算法中樽海鞘位置更新方式做出修改,樽海鞘的位置由Q和P构成,在迭代过程中,Q是根据约束条件式(9)、(10)随机分配信道资源的资源分配矩阵,P是对应Q的功率控制矩阵。
表1 测试函数
表2 算法优化结果对比
领导者位置更新方式为
Qj=Qb
(20)
(21)
式中,j=1,Qj和Pj为第j只樽海鞘(领导者)的位置,Qb和Pb为迭代过程中当前最优资源分配矩阵和功率控制矩阵,Pu和Pl为功率控制矩阵的上限和下限。
追随者的位置更新方式为
(22)
(23)
式中,j≥2,Qj和Pj为第j只樽海鞘(追随者)的位置,f(Qj,Pj)表示第j只樽海鞘的适应度值。
根据本文的D2D通信系统能量效率和约束条件,适应度函数为
f(qm,n,Pm,n)=EE-μy
(24)
(25)
式中,μ为惩罚因子,μ>0,根据式(25)删除不满足用户最低需求的方案。
结合本文D2D通信系统,ASSA算法流程如图3所示,输出的食物源最优位置表示使D2D通信系统能量效率最大的资源分配和功率控制方案。
图3 樽海鞘群算法流程
设计仿真系统半径为500 m的圆形小区,基站位于小区中央,所有用户随机分布在小区里,D2D对接收端与发射端距离小于100 m,其他参数设置如表3所示。文献[14]提出了一种基于粒子群优化的D2D通信系统能效最大化策略,将本文所提算法与标准樽海鞘群算法、粒子群算法、遗传算法进行仿真对比,仿真运行100次取平均值。
表3 仿真参数
图4是本文所提ASSA算法、SSA算法、PSO算法和GA算法的平均适应度收敛曲线,设置用户最低速率为2 bit/s/Hz。可以看出本文ASSA算法相对于SSA算法、PSO算法和GA算法能有效提升D2D通信系统的能量效率。虽然PSO算法的收敛速度略快,但是容易陷入局部最优,难以使系统能量效率最大化。相对于SSA算法,ASSA算法收敛速度更快,搜索精度更高。
图4 平均适应度收敛曲线
图5是不同最低速率情况下本文ASSA算法与SSA算法、PSO算法、GA算法的系统能量效率仿真对比。可以看出,随着用户最低速率的增加,系统能量效率逐渐减低,相比于PSO算法和SSA算法,ASSA算法在不同用户最低速率条件下均能使系统能量效率更高。事实上,随着用户最低速率的增加,用户设备的发送功率逐渐增加,而速率的变化率低于发送功率的变化率,故能量效率降低。
图5 不同最低速率时系统能量效率
图6是不同D2D用户对数情况下本文ASSA算法与SSA算法、PSO算法、GA算法的系统能量效率仿真对比图。用户最低速率为2 bit/s/Hz时,可以看出,随着D2D用户对数的增加,系统能量效率逐渐提升,当D2D用户对数达到一定数量后,部分D2D用户对复用蜂窝用户信道时不满足系统的约束条件,该分配方案会被删除,因此系统能量效率会基本保持稳定。
图6 不同D2D用户对数时系统能量效率
把某个复用信道上的蜂窝用户和D2D对用户看成一个D2D基本单元,图7是不同D2D用户间距情况下D2D基本单元的能量效率仿真对比,用户最低速率为2 bit/s/Hz。可以看出,随着D2D用户间距的增加,D2D基本单元能量效率逐渐降低,从而会导致系统能量效率的降低,因为路径损耗随着D2D用户间距的增加而增加。
图7 不同D2D用户间距时D2D基本单元能量效率
本文响应绿色通信理论,针对D2D通信系统中复用模型下的干扰问题和资源利用不充分问题,在现有文献研究的基础上,综合考虑资源分配和功率控制,从信道资源利用的角度分析了系统能量效率,提出了基于改进樽海鞘群优化算法的资源分配策略。从最低用户速率、D2D用户对数和D2D用户间距3个方面研究了系统能量效率,仿真表明所提算法有较快的收敛速度和较强的局部搜素能力,在不影响用户最低速率需求的前提下,能有效减少同频干扰,提高频谱利用率,提高系统能量效率。本文系统模型仅考虑单小区内的设备通信,未来可以在此基础上考虑多小区D2D通信系统的研究,使D2D技术得到更广泛的应用。