彭雷,郎百和,王冰鑫
(长春理工大学 电子信息工程学院,长春 130022)
近年来,随着多媒体业务的快速发展,对无线通信需求的不断增加,导致频谱资源的不足越来越严重。设备到设备(Device-to-Device,D2D)通信引入蜂窝系统不仅可以提高系统的频谱利用率,还可以减少延迟和能耗,并且可以进一步提高系统的覆盖范围和吞吐量。但是多个D2D对和蜂窝用户(cellular user,CU)的共存会不可避免地产生相互干扰,这使得蜂窝系统的通信性能大大降低。
D2D通信中针对干扰管理的研究受到越来越多的关注。早期的研究考虑一个简化情况,CU复用只有一个D2D对的子信道[1-2],这显然不利于频谱利用率的提高。因此,近来的研究[3-9]集中在允许多个D2D对复用频带以改善频谱效率,在多个D2D对和CU使用同一子信道的情况下,一个关键的问题是利用功率控制来抑制D2D对之间以及CU与D2D用户(D2D user,DU)之间的相互干扰,由此导致了非凸优化问题。这个问题的现有解决方案大多可以分为以下两类,一类是通过迭代算法求出一个近似最优解,即找出一系列的凸优化问题,这些问题可以用标准凸优化方法(如内点法)求解[3-5],但是其计算复杂度相当高;另一类是利用博弈论设计分布式功率控制方法[6-9],然而通过博弈论获得的纳什均衡点的性能并不总是最优的,因此,这些不足和缺陷促使重新讨论蜂窝网络中多个D2D通信干扰的功率控制问题。文献[10]提出了一种基于传统遗传算法的资源配置方案,基于遗传算法的干扰控制策略一定程度上提高了通信系统的吞吐量,但是传统遗传算法局部寻优能力差并且易产生早熟现象,导致优化结果偏离最佳的系统吞吐量,寻优精度低。
基于上述研究存在的问题,提出一种在满足用户最低信干噪比和最高发射功率的前提下,从功率控制角度以最大化系统吞吐量为目标的自适应遗传和声算法(adaptive genetic harmony algorithm,AGHA),AGHA根据种群适应值的分散程度来自适应地改变音调微调概率。
在图1中显示出了N个D2D对和一个蜂窝用户在单个小区下复用相同传输频带的情况,同时假设小区间干扰控制机制得到有效管理[11],主要分析CU和DU对共存造成的干扰。每个DU对由D2D发射用户设备和D2D接收用户设备组成。由于D2D链路使用上行链路资源是有利的[12-13],因此仅关注D2D链路使用上行蜂窝资源的情况。
图1 系统模型
D2D对数量为N,p0和pn分别表示CU和第n个D2D对发射端(D2D-Tx)的发射功率,系统发射功率为p={p0,...,pN}。分别将从CU到基站(base station,BS)的信道功率增益表示为g0,从第n个D2D-Tx到其接收端(D2D-Rx)的信道功率增益表示为gn,n,从第n个D2D-Tx到BS的干扰链路信道功率增益用表示,从第m个D2D-Tx到第m′个D2D-Rx的干扰链路的信道功率增益由表示。蜂窝用户的信干噪比(signal to interference and noise ratio,SINR)由BS给出:
其中,σ2是噪声功率。第n个D2D-Rx的SINR为:
其中,g0,n是从CU到第n个D2D-Rx的干扰链路的信道功率增益。蜂窝D2D通信系统在一个频带中的总吞吐量为:
其中,B为频带带宽。
通过寻找最佳的用户发送功率来最大化系统的总吞吐量,同时满足用户的最小SINR和最大发射功率要求。在数学上,优化问题即目标函数可以表示如下:
其中,n={0,1,...,N},SINRth是用户通信的最小SINR,即信干噪比阈值,pmax是用户通信的最大发射功率。
由于目标函数是非线性和非凸的,标准凸优化方法只能得到局部最优解,因此提出一种自适应遗传和声算法来解决非凸优化问题。
遗传算法(genetic algorithm,GA)是一种模拟达尔文生物进化的自然选择和遗传机制的计算模型,是一种通过模拟自然进化过程搜索最优解的方法[14],GA以并行方式搜索种群,而不是单点,即同时搜索解空间的多个区域,因此,GA具有较高的全局优化能力和较快的收敛速度,但局部优化性能较差,容易早熟。和声搜索(harmony search,HS)算法是Geem Z W等人提出的一种新型智能优化算法,HS模拟了音乐演奏的原理[15],HS算法通用性强,原理简单,易于与其他算法结合,构造出更优性能的算法,在每次迭代中生成一个新的和声矢量,具有较强的局部搜索能力,但全局寻优能力差,收敛速度慢,对初始记忆库依赖的性强。
考虑到GA和HS的优点与缺点,将两种算法结合,并且使音调微调概率(pitch adjusting rate,PRA)自适应变化,形成自适应遗传和声算法(adaptive genetic harmony algorithm,AGHA),具体思路为:在每次遗传迭代过程中,先利用GA对问题的解空间进行搜索,经过选择、交叉和变异操作后生成新一代较优解的种群;然后将前一步得到的新种群作为和声记忆库,引入HS对和声记忆库进行操作,最后得到更新后的和声记忆库,更新的和声记忆库就是当前迭代新种群,其中适应值最佳的个体即为迭代的最优值。PAR自适应变化地计算公式[16]为:
其中,fitnessave为种群平均适应值,fitnessmax为种群最大适应值,k1,k2均为常数。PAR的自适应变化呈非线性,arcsin随fitnessave变大增加得更快,因此能够很好地反映种群适应值的集中分散程度。当<π/6时,种群适应值较分散,种群丰富多样性好,设置PAR为小数值;时,种群适应值比较集中,设置PAR为较大数值,提高微调概率,实现在优良个体周边的局部搜索,产生更优的个体。
AGHA解决优化问题(即式(4))的具体步骤如下:
(1)初始化算法参数。所提算法的参数有变量数目,即D2D通信中的用户数(N)、选择概率(Ps)、交叉概率(Pc)、变异概率(Pm)、和声记忆库大小(HMS)、记忆库取值概率(HMCR)、音调微调概率(PAR)、微调步长(bw)、最大遗传代数(maxiter)。
(3)计算个体适应度值。取系统吞吐量f(p)=为适应度函数,针对约束条件C1、C2,利用罚函数进行处理,使不满足条件的个体适应值为0,提高越界个体淘汰概率,令D2D通信复用同一频带的用户间干扰降到最小,则带罚函数的适应度函数为:
(5)生成新和声。将上一步生成的新种群作为和声记忆库,分别以1-HMCR和HMCR的概率在和声库外与和声库内进行搜索,在和声库内搜索时,以自适应PAR进行微调扰动操作,在和声库外搜索时进行随机选择,最终获得新的候选和声向量[15]
(7)新和声记忆库中使目标函数最大的个体为本次迭代的功率最优解。如果遗传迭代次数达到最大遗传代数(maxiter),则算法终止;否则转步骤2,循环运行直到满足算法终止条件。
以上是自适应遗传和声算法优化问题的具体操作,当算法结束运行时最后保存的和声个体即为使吞吐量最大的用户功率分配。
考虑圆形单个小区情形,利用MATLAB工具仿真分析自适应遗传和声算法进行功率控制的性能。具体仿真参数设置如表1所示,用户位置分布如图2所示,式(5)中k1,k2分别取值为0.5和1.0。
表1 仿真参数
图2 用户位置分布
算法中语句执行的次数称为时间频度,记为T(n);算法基本操作的重复执行次数是问题规模n的某个函数,用T(n)表示,即是时间频度,如果有一个辅助函数f(n),当n趋近于无穷大时,T(n)f(n)的极限是一个不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度,简称时间复杂度。分析GA解决问题(4)的MATLAB程序代码,得出算法的时间频度为T(n)=3×maxiter×HMS+4×maxiter+2×HMS+10,则T(n)的同数量级为maxiter×HMS,GA的时间复杂度为O(maxiter×HMS);同样,AGHA的时间频度为T(n)=maxiter×HMS+21×maxiter+2×HMS+12,maxiter×HMS是T(n)的同数量级,得出AGHA的时间复杂度为O(maxiter×HMS),因此可知两种算法的时间复杂度是一样的。
设置最大遗传代数为1000,总用户数为9,种群数量为40,选择概率为0.75,交叉概率为0.95,变异概率为0.02,记忆库取值概率为0.75,微调步长为0.2。在用户最大发射功率为pmax=20mW和pmax=200mW两种情况下,对AGHA与GA各实验100次,根据每代最佳吞吐量的平均值,绘制系统平均吞吐量随遗传代数变化图,如图3所示,前15遗传代数的算法仿真数据如表2所示。观察表2数据,pmax=20mW时,AGHA的计算结果始终高于GA,并且两者之间的差值逐渐变大,pmax=200mW时,刚开始GA值要高于AGHA,在迭代次数为9时,AGHA优化值首次高于GA,此后直到迭代15次,AGHA均优于GA。结合表2和图3可以看出,AGHA能够解决非凸优化问题(4)并且提高吞吐量,迭代次数从15往后,AGHA在两个最大发射功率值的约束下求解的最优系统吞吐量仍高于GA算法,在相同操作代数下,AGHA使得吞吐量优化结果更接近最优值,这表明所提算法具有高精度的性能,在达到相同的系统吞吐量数值时,AGHA所需的遗传代数更少,说明AGHA收敛速度更快;另外,两种最大发射功率值约束代表两种不同的功率解向量空间,相比于小解空间,AGHA在大的解空间下提升系统吐吞量的效果更为明显,因此从中可知AGHA全局和局部寻优能力均比较强。
图3 系统平均吞吐量随遗传代数变化
图4表示系统吞吐量的累计分布状况,对比了利用AGHA和GA优化系统吞吐量的CDF曲线。从中可以看出,使用GA时系统吞吐量小于11.5Gbps的比例已经达到了100%,而使用AGHA时系统吞吐量小于11.5Gbps的比例仅为22.7%;另外,基于AGHA的功率控制方案系统吞吐量相比于GA算法方案平均有0.414Gbps的增益,系统吞吐量平均提升3.68%。虽然两种算法的时间复杂度相同,但AGHA使得系统的总吞吐量显著地提升。
表2 前15迭代次数的仿真数据
图4 系统吞吐量CDF曲线
图5分别考虑了D2D对数量为4和8两种情况下,D2D用户的SINR阈值变化对系统吞吐量的影响。在图中,随着D2D用户SINR阈值逐渐增加,两种算法优化的系统吞吐量逐渐降低,这时因为SINR阈值的提高使得能够成功建立通信连接的D2D用户数减少,尽管系统吐吞量逐渐下降,但是AGHA的优化值总是高于GA,这说明在不同的用户数情况下,AGHA的高精度性能不会改变。
图5 系统吞吐量随D2D用户SINR阈值变化
针对单小区D2D用户复用蜂窝用户上行链路频带的情况,为降低同频干扰,在保证DU和CU传输速率和信干噪比的前提下,提出一种音调微调概率(PAR)自适应变化的遗传和声算法对DU和CU进行功率控制,最大化系统吞吐量。仿真实验证明了相比于传统遗传算法,基于自适应遗传和声算法的功率控制方案使系统吞吐量精度提高了5.1%,并且有平均0.414Gbps的增益和3.68%的提升,另外AGHA还具有收敛速度快,全局寻优能力强的优点。