李中捷,谢东朋
(智能无线通信湖北省重点实验室(中南民族大学),武汉 430074)
随着通信技术的发展、物联网及多媒体等应用的广泛使用,移动通信网络的数据流量获得爆炸性的增长。终端直通(Device-to-Device, D2D)通信具有较高的无线传输速率和较低的时延,有着广阔的应用前景[1-3]。因此,未来的5G网络将是由宏蜂窝用户(Cellular User, CU)、小蜂窝用户、D2D用户(D2D User, DU)共存的混合通信网络。因为D2D用户、小蜂窝用户和宏蜂窝用户共享信道资源时会产生严重的同频干扰,所以如何有效地进行干扰管理、提高频谱资源利用率是当前研究的热点。
目前,学术界对蜂窝网络中D2D通信的干扰管理问题进行了大量研究。文献[4]提出一种贪婪式启发式算法,D2D用户通过复用蜂窝用户信道资源造成的干扰程度的大小选择资源块,但是没有对用户发射功率进行控制。文献[5]采用减轻D2D通信对整个系统的权重影响来降低其产生的干扰,但此方法付出的代价是降低D2D用户的吞吐量。文献[6]提出一种只考虑个体干扰的资源分配方案,并设计一种迭代算法解决D2D用户和蜂窝用户之间的干扰,虽然该方案保护了蜂窝用户的服务质量,但并没有考虑D2D用户的服务质量。文献[7]提出一种异构网络中基于网络辅助设备控制的D2D智能资源管理方案,能够有效提升系统的性能。文献[8]提出一种基于背包理论的干扰感知资源分配算法,虽然这个方案的目的是为了最小化系统干扰的同时保持系统总速率,但很多情况下不能提供一个可行的分配方案。文献[9]提出一种基于博弈理论的联合集群策略和功率控制方案来最小化传输时间,但并没有对信道资源进行分配。文献[10]提出了一种基于估价理论的资源分配算法,尽管该算法在一定程度上提升了系统容量,但在系统环境较差的情况下,性能达不到理想的效果。文献[11]和文献[12]提出一种基于非合作博弈论的功率控制与资源分配方案,在该方案中蜂窝用户和D2D用户各自独立决定自己的功率以使得各自的能量效率最大。文献[13]首先通过限制D2D用户的发射功率来保证蜂窝用户的服务质量,然后在求出D2D用户的发射功率后运用Relax-based算法解决D2D用户的资源分配问题。文献[14]提出基于Gale-Shapley算法的资源分配算法,该方案有以下不足:1)只考虑了由宏蜂窝用户和D2D用户组成的系统环境,并没有考虑到小蜂窝用户对系统的干扰;2)该方案只是获得了一个稳定匹配,并没有最大化系统容量;3)系统中用户的发射功率固定,并不能最大限度提升系统性能。
针对文献[14]中所提出方案的不足,本文在异构蜂窝网络环境下,提出了一种联合功率控制的资源分配方案。该方案首先根据系统干扰模型和约束条件推导出每个D2D用户和小蜂窝用户复用宏蜂窝用户信道资源时的最优发射功率;其次采用Gale-Shapley算法得到一个稳定的匹配解;最后通过交换搜索算法进一步优化分配方案。仿真结果表明该方案在有效保证用户通信服务质量的前提下,系统总容量逼近最优解。
由宏基站和多个小蜂窝基站构成的异构蜂窝网络模型如图1所示,宏基站位于中心,小蜂窝基站服从密度为λs的齐次泊松点过程,系统中随机分布三种用户,集合H={1,2,…,D},M={1,2,…,C},W={1,2,…,J}分别表示D2D用户集合,宏蜂窝用户集合,小蜂窝用户集合。
图1 异构蜂窝网络
D2D用户d复用信道n时的信号干扰噪声比(Signal to Interference and Noise Ratio, SINR)为:
(1)
其中:Pd是D2D用户d的发射功率,Pc为宏蜂窝用户c的发射功率。Gdt,dr是D2D用户d的发射方dt和接收方dr之间的信道增益,Gc,dr是宏蜂窝用户c到D2D接收方dr的信道增益,N0是噪声功率。
小蜂窝用户j复用信道n时的SINR为:
(2)
其中:bj为小蜂窝用户j接入的小蜂窝基站,Pj是小蜂窝用户j的发射功率,Gj,bj是小蜂窝用户j和小蜂窝基站bj之间的信道增益,Gc,bj是宏蜂窝用户c和小蜂窝基站bj之间的信道增益。
宏蜂窝用户c在信道n的SINR为:
(3)
假设N个信道资源已被宏蜂窝用户全部占用,且宏蜂窝用户以最大的发射功率PM发射,即Pc=PM,在保证用户通信质量前提下,以最大化系统总容量为准则,为D2D用户和小蜂窝用户选择最佳发射功率并分配信道资源。由香农公式得到优化问题的目标函数及约束条件如式(4)~(11)所示:
(4)
(5)
(6)
(7)
(8)
(9)
(10)
0≤Pd≤PM,0≤Pj≤PM
(11)
式(5)、(6)、(7)保证了宏蜂窝用户、小蜂窝用户和D2D用户的SINR大于阈值;式(8)、(9)确保每个小蜂窝用户或者D2D用户只能复用一个宏蜂窝用户的信道资源,且每个信道资源只能被一个D2D用户或者小蜂窝用户复用;式(10)确保小蜂窝用户和D2D用户不能同时复用一个宏蜂窝用户的信道资源;式(11)表示小蜂窝和D2D用户的发射功率不能大于最大发射功率。
式(4)~(11)定义的资源分配问题是混合整数非线性规划问题,可由遍历法得到最优解,但该方法复杂度太高,因此需采用复杂度较低、逼近最优解的次优算法。式(4)定义最大化系统总容量的目标函数,式(5)~(11)定义的约束条件能保证当小蜂窝用户和D2D用户对宏蜂窝用户造成过多的干扰时,不复用该信道资源,有效地保证了用户的通信服务质量和系统的稳定性。
由1.2节式(1)、(3)、(7)、(11)可以得到D2D用户d复用信道n时的发射功率变化区间为:
(12)
其中:
(13)
(14)
信道n的容量为:
(15)
(16)
由C1n(Pd)对Pd求导后等于0可得到关于Pd的一元二次方程。求得该方程的根式判别式为:
Δ=4Gdt,drGd,BGB,cPM(GB,cN0+PMGB,cGc,dr-Gdt,drN0)
(17)
(18)
(19)
根据2.1节获得的每个D2D用户和小蜂窝用户在各信道上的最优发射功率,通过香农公式求得各个用户在不同信道上发射获得的信道容量。将D2D用户和小蜂窝用户看作甲方,信道看作乙方,则甲乙双方的匹配问题可以通过Gale-Shapley算法来进行信道资源的优化分配。
每个D2D用户和小蜂窝用户根据在信道上获得的容量建立用户偏好列表Ue_list,如果当前有m个D2D用户和n个小蜂窝用户接入,则用编号1~m表示D2D用户,编号m+1到m+n代表小蜂窝用户。信道根据让不同的用户通信获得信道总容量大小建立偏好列表Channel_list。表1表示由2个D2D用户和3个小蜂窝用户复用6个信道资源的用户偏好列表,偏好列表每行的第一个元素具有最高的优先级,有些用户在某些优先级上的元素为空,说明在这些信道上找不到合适的发射功率,例如偏好列表中的D2D用户1只能在信道5,3,4,1,6上通信。
表1 D2D用户和小蜂窝用户的偏好列表
算法还需要定义以下参数:
1)信道与D2D对和小蜂窝用户之间联系的集合(Association),集合Association(k)表示信道k包含已经匹配的D2D或小蜂窝用户;
2)定义当前D对D2D和K个小蜂窝用户最想复用的信道列表Pre=[δ1,δ2,…,δD,δD+1,…,δD+K],由信道偏好列表知δk是Ue_list(k)列表的第一个元素;
3)没有匹配的D2D对和小蜂窝用户集合表示为UNMATCH,信道总数为Channel_num。
具体算法的伪码如算法1所示。
算法1 基于Gale-Shapley的资源分配算法。
1)
初始化用户数目,信道总数,发射功率,路径损耗,集合Association,UNMATCH
2)
建立用户和信道的偏好列表
3)
根据式(18)(19)求出用户在不同信道上的最优发射功率,并求得吞吐量
4)
fori∈W∪Hdo
5)
Association[i]=∅
6)
end
7)
whileUNMATCH=∅ do
8)
for ∀k∈UNMATCHdo
9)
temp=δk
10)
ifAssociation[temp]=∅ and 满足式(5)~(8)
11)
Association[temp]=k
12)
UNMATCH=UNMATCH-{k}
13)
else
14)
P1=用户k在Channel_list的偏好值
15)
P2=用户Association[temp]在Channel_list的偏好值
16)
ifP1 17) Mid_ue=Association[temp] 18) Association[temp]=k 19) UNMATCH=UNMATCH-{k} 20) UNMATCH=UNMATCH+{Mid_ue} 21) Ue_list(Mid_ue)=Ue_list(Mid_ue)-δMid_ue,更新Pre 22) else 23) Ue_list(k)=Ue_list(k)-δk,更新Pre 24) end 25) end 26) ifUe_list(w)=∅(w∈H) 27) UNMATCH=UNMATCH-{w} 28) end 29) end 30) end 算法1的详细步骤如下: 1)首先初始化用户数目、信道数目、发射功率、路径损耗等系统参数,建立D2D用户和信道的偏好列表,集合Association,未被匹配的D2D对集合UNMATCH,发射功率等参数; 2)第4)~6)行初始化D2D用户和小蜂窝用户匹配的信道为空; 3)第7)~25)行是算法1的核心部分,只有所有接入的D2D用户和小蜂窝用户找到合适的信道,while循环才会中止。对于每个接入的D2D用户或者小蜂窝用户,根据偏好列表找到最想复用的信道资源,如果这个信道资源已经被其他用户复用,则信道根据偏好列表从当前两个用户中找到更合适的用户进行匹配,拒绝另一个用户,被拒绝的接入用户更新偏好列表,下一次循环将从未被拒绝的信道中找到优先级最高的信道发出通信请求。 4)算法第26)~28)表示在算法的最后阶段,某些D2D用户和小蜂窝用户因为SINR阈值的限制无法找到合适的信道资源,也假设这种用户已找到合适的资源,从集合UNMATCH中移除这些用户。 通过2.2 节的Gale-Shapley资源分配算法,可以从集合Association中可以获得用户和信道的一个稳定匹配,该匹配并不能从最大限度上提升系统总容量,因此在该匹配结果的基础上通过交换搜索算法来进一步提高系统总容量。假设2.2节经过算法1的匹配获得的系统容量为R,对于两个不同的接入用户,交换各自匹配的信道,如果交换信道后的系统容量R1大于当前的系统容量,则更新集合Association,否则保持原来的匹配。具体的伪码如算法2所示。 算法2 交换搜索算法。 1) for ∀i,j∈H∪Wandi≠j 2) Current_match=Association 3) FRONT=Association(i) 4) Association(i)=Association(j) 5) Association(j)=FRONT 6) 一组用户交换匹配信道后的系统容量为R1 7) ifR1 8) Association=Current_match 9) end 10) end 为了验证本文所提方案的有效性,考虑在长期演进-频分双工(Long Term Evolution-Frequency Division Duplex, LTE-FDD)异构蜂窝系统下,通过Matlab软件进行系统级仿真,对比表2中5种方案的系统性能,验证了不同情形下系统的总系统容量、系统能量效率以及D2D用户和小蜂窝用户的SINR和发射功率分布情况。系统仿真采用第三代合作伙伴计划-长期演进(3rd Generation Partnership Project-Long Term Evolution, 3GPP-LTE)所规定的正交频分多址接入(Orthogonal Frequency Division Multiple Access, OFDMA)系统参数,具体参数设置如表3所示。 表2 5种资源分配方案 表3 仿真参数 图2表示当宏蜂窝用户一定的情况下,系统总容量随接入用户数的变化情况。从图2中可以看出,随着可接入用户数目的增加,系统的总容量不断增加。其中:方案4是本文所提方案,因为该方案联合功率控制,并且结合算法1和算法2,所以获得的系统总容量近似达到方案5最优穷搜索算法的系统容量;最优穷举搜索算法需要遍历所有的分配情况,计算量太高;随机资源分配算法因为没有优化目标函数,计算复杂度最低,但是性能最差。 图2 资源分配方案的系统总容量对比 图3表示系统总容量和宏蜂窝用户SINR门限的关系, 从图中可以看出,随着宏蜂窝用户SINR门限的提高,系统总容量不断降低,因为SINR门限的提高会导致某些宏蜂窝用户不能正常通信。而且,从式(1)、(2)、(3)可以看出,SINR门限提高会导致一些D2D用户和小蜂窝用户因避免对宏蜂窝用户造成过多干扰而无法正常通信,所以系统总容量不断降低。 图3 宏蜂窝用户SINR门限对系统总容量的影响 图4表示接入用户SINR的累积分布函数(Cumulative Distribution Function, CDF)。从图中可以看出,通信用户的SINR都大于阈值,因此用户的通信服务质量得到有效的保障。进行功率控制优化的D2D用户和小蜂窝用户的SINR低于固定功率时的SINR,宏蜂窝用户的SINR则优于未进行功率控制时的SINR,因为在功率优化控制的情况下,D2D用户和小蜂窝用户的发射功率并不是最大的发射功率,所以减少了对宏基站的干扰。 图4 接入用户的SINR累计分布函数 图5表示当宏蜂窝用户一定时,系统能量效率和接入用户数的关系。从图中可以看出,随着接入用户的增加,尽管资源复用方案可以提高系统吞吐量,但是用户消耗的总功率也增加,因此采用固定发射功率的方案1和方案2会出现能量效率降低的情况。由于方案3、方案4和方案5对接入用户的发射功率进行了优化,能量效率得到提升。方案5虽然可以达到最优的系统能量效率,但需要遍历所有的情况,计算量太大。 图5 资源分配方案的系统能量效率对比 图6表示SINR门限值分别取-10 dB、-5 dB和0 dB时,接入用户的功率分布。从图中可以看出,各用户发射功率分布在区间[0,200] mW中,其中区间[0,40] mW和[160,200] mW的用户数目最多。[160,200] mW区间的用户数目随SINR门限的增加不断减少,因为SINR门限的提高会导致宏蜂窝用户能接受的最大干扰变小,所以在功率较高区间的用户数目会减少。 图6 接入用户的发射功率分布 本文提出一种在异构网络中D2D用户和小蜂窝用户复用宏蜂窝用户上行信道资源的联合功率控制资源分配方案。该方案首先根据系统干扰模型及约束条件动态调整D2D用户和小蜂窝用户的发射功率,然后采用Gale-Shapley算法和交换搜索算法得到信道分配的优化方案。仿真结果表明,该方案能够达到近似最优的系统总容量,有效提高频率利用率和系统能量效率。下一步的工作是构建功率控制和系统容量的联合目标函数,研究对该目标函数的优化求解问题,进一步提高频率利用率。2.3 交换搜索算法
3 仿真实验
4 结语