D2D 中继辅助通信的能效优化算法研究

2020-04-06 08:25王雪金涛钱志鸿胡良帅王鑫
通信学报 2020年3期
关键词:接收端中继蜂窝

王雪,金涛,钱志鸿,胡良帅,王鑫,2

(1.吉林大学通信工程学院,吉林 长春 130012;2.吉林农业大学信息技术学院,吉林 长春 130118)

1 引言

作为5G 的关键技术之一,D2D(device-todevice)通信技术是指通信网络中邻近设备不通过基站而直接交换信息的技术[1]。在无线通信系统中加入D2D 通信技术,不仅可以提高系统频谱效率,降低时延,还可以减轻核心网络的负载[2]。但是,当D2D 通信中用户间距离较远或者链路质量较差时,需要引入中继来保证信息的可靠、有效传输。并且,引入中继可以扩大蜂窝系统的覆盖范围[3-4]。随着用户设备的大量增长以及终端设备电池容量的限制,如何有效地提高能量效率,实现绿色通信,是未来无线通信发展的关键。

现有的文献大多研究的是蜂窝通信与D2D 直连通信并存场景下的能效优化问题。文献[5]通过使用联合迭代拍卖算法,优化了包括蜂窝用户在内的所有终端设备的能效。文献[6]考虑D2D 通信复用蜂窝链路下行频谱资源,在满足蜂窝用户QoS(quality of service)的条件下,最大化系统总D2D链路的能量效率。文献[7]则考虑的是D2D 通信复用蜂窝链路上行频谱资源,基于能效构造D2D 链路与蜂窝链路之间的二分图,利用盖尔-沙普利算法解决D2D 用户与蜂窝用户之间的匹配问题。文献[8]通过联合解决D2D 直连通信下的功率控制和信道分配问题,最大化系统D2D 用户对的能效。文献[9]将非凸形式的能效优化问题转换为凸函数进行求解,提出了一种联合信道分配和功率控制的两层优化算法。文献[10]在D2D 直连通信中加入了能量采集(EH,energy harvesting)技术,研究了包含能量采集时隙、功率和信道分配的能效优化问题。

在蜂窝通信与D2D 中继通信并存场景下,可以从模式选择、功率控制、中继选择/信道分配等多个方面去优化能效。文献[11-12]考虑从功率控制角度优化能效,不同的是,前者利用非线性整数规划方法解决了单个D2D 中继链路的能效最大化问题,后者则利用在线学习策略从全局角度最大化系统的能量效率。考虑功率控制和信道分配2 个方面,文献[13]首先最大化D2D 中继通信的第一跳链路和第二跳链路的能效,然后基于两跳链路的能效值,采用匹配算法选择合适的中继,最大化系统中D2D链路的总能效。文献[14]假设中继具有从射频信号中获得能量的EH 技术功能,研究D2D 通信中的功率控制和中继选择问题。文献[15]提出了一种基于能效最优的模式选择策略,在确定最优中继数量的条件下,通过选择使用中继通信或者协同通信的方式来优化系统的能效。文献[16]考虑了D2D 通信的直连、中继及协同3 种通信方式共存的场景,通过将优化问题拆分成联合模式选择、功率控制和信道分配3 个子问题分别求解,提高了系统的D2D 链路能效。

文献[11-16]大多只是从功率控制和中继选择,或者功率控制和信道分配两方面考虑优化D2D 中继通信的能效,缺乏联合三者的研究,因此,本文在D2D 中继辅助通信系统中,通过联合考虑功率控制、中继选择以及信道分配以最大化系统D2D用户的总能效。本文首先建模能效优化问题,并将能效优化问题拆分为功率控制、中继选择和信道分配3 个子问题。然后,利用非线性整数规划及凸优化理论解决功率控制问题,利用强化学习中的Q 学习算法解决中继选择问题。最后,基于功率控制和中继选择,结合匹配理论,使用匈牙利算法求解信道分配问题。仿真结果表示,与现有文献对比,本文所提的算法在保证蜂窝用户和D2D 用户的传输速率的条件下,有效地增加D2D 用户的能量效率。

2 系统模型及问题描述

2.1 系统模型

假设在单小区蜂窝系统中,存在N 对D2D 用户、L 个理想中继以及K 个蜂窝用户,其中,一对D2D 用户包含一个D2D 发射端和一个D2D 接收端。D2D 用户对的索引集合表示为 M={1,2,…,N},D2D 发射端的索引集合表示为 S={1,2,…,N},D2D接收端的索引集合表示为 D={1,2,…,N},中继的索引集合表示为 R={1,2,…,L},蜂窝用户的索引集合表示为 C={1,2,…,K}。假设D2D 用户的发射端与接收端之间由于链路质量较差,没有直连通路,只能通过中继进行通信,且中继均采用放大转发协议,同时每个蜂窝用户都已经预先分配了正交信道。系统模型如图1 所示,假设某一D2D 用户对m=(s,d)(m ∈M,s ∈S,d ∈D)复用蜂窝用户c ∈C的上行链路频谱资源,通过中继r ∈ R进行通信。在D2D 中继通信第一跳链路中,中继r 和基站的信干噪比(SINR,signal to interference plus noise ratio)分别为

图1 系统模型

其中,Ps和Pc分别表示D2D 发射端和蜂窝用户的传输功率,Gsr、Gsb、Gcr和Gcb分别表示D2D 发射端到中继、D2D 发射端到基站、蜂窝用户到中继和蜂窝用户到基站的信道增益,N0表示加性高斯白噪声。

在D2D 中继通信第二跳链路中,D2D 接收端d和基站的信干噪比分别为

其中,Pr表示中继的传输功率,Grd、Grb和Gcd分别表示中继到D2D 接收端、中继到基站和蜂窝用户到D2D 接收端的信道增益。

2.2 问题描述

根据式(1)和式(3),D2D 发射端s 到D2D 接收端d 的能效表达式为

其中,xmr表示中继选择因子,当D2D 用户对m 通过中继r 完成通信时xmr=1,否则xmr=0;Pcir、W 和η 分别表示电路功率、信道带宽和功率放大系数。

本文旨在最大化整个系统的D2D 用户对的能效,具体表达式为

其中,X 表示中继选择矩阵,矩阵X 第m 行、第r列的元素是中继选择因子xmr;Y 表示信道选择矩阵,矩阵Y 第m 行、第c 列的元素是信道复用因子ymc,当D2D 对m 复用蜂窝用户c 的信道通信时ymc=1,否则ymc=0;向量和分别表示D2D 发射端、中继和蜂窝用户的传输功率向量;表示D2D 发射端和中继的最大传输功率;表示蜂窝用户的最大传输功率;表示D2D 通信链路必须满足的最小传输速率;表示蜂窝用户必须满足的最小传输速率。

约束式(7)和式(8)保证一个中继只能服务一个D2D 用户对,并且一个D2D 用户对只能复用一个中继。类似地,约束式(9)和式(10)保证一条信道只能被一个D2D 用户对复用,并且一个D2D 用户对只能复用一条蜂窝用户的信道。约束式(11)~式(13)分别是D2D 发射端、中继和蜂窝用户的传输功率限制。约束式(14)~式(16)分别是D2D 第一跳链路、D2D 第二跳链路和蜂窝用户链路的传输速率限制。

由多个约束条件和变量可以看出,本文的能效优化问题是一个混合整数非线性规划(MINLP,mixed integer non-linear programing)的NP-hard 问题,而NP-hard 问题没有一个有效的直接求解方法。为了求解这个优化问题,本文将其分为功率控制、中继选择和信道分配3 个子问题进行求解。

3 功率控制、中继选择和信道分配算法

3.1 基于Dinkelbach 方法和拉格朗日乘子法的功率控制算法

假设D2D 用户对m 通过中继r 进行通信,并且复用蜂窝用户c 的信道资源,则xmr=1 且ymc=1,D2D 发送端s 到接收端d 的能效优化问题为

由式(5)可得出,D2D 发射端到接收端的能效是关于蜂窝用户功率Pc的减函数,所以为了最大化D2D 发射端到接收端的能效,功率Pc需要取得最小值。根据约束式(13)、式(16)和文献[11],得出蜂窝用户最小传输功率为

式(19)是一个分数形式的非凸函数,所以利用Dinkelbach 方法将其转换成等价的凸函数形式。首先,用变量表示D2D 发射端到接收端的能效值,并且定义式(19)所示的最大能效为

引理1当且仅当以下条件成立时得到

证明证明过程请参考文献[17]。

证毕。

由引理1 可将优化问题式(19)从分数形式转化为等价的减式形式,即

式(23)为一个带约束条件的凸优化问题,可使用拉格朗日乘子法求解,但是所得结果与有关,为了获得的值,本文通过迭代进行计算。假设在第 n 次迭代中功率变量为 Ps(n)以及能效值为q1(n-1),则式(23)的增广拉格朗日式为

其中,δ(n)和 θ(n)分别是约束式(14)和式(20)的拉格朗日算子。根据拉格朗日对偶分解,式(19)的能效优化问题等价为

由KKT(Karush-Kuhn-Tucker)条件可求得

其中,{ x}+=max{0,x}。拉格朗日算子 δ(n)和 θ(n)的值可由梯度下降法迭代更新,计算式为

其中,τ 表示拉格朗日算子的第τ 次迭代,α 为步长。中继的最优功率的计算式为

在功率控制问题的求解过程中包含两层迭代。其中,外层迭代是为了求解q1,迭代次数用n 表示,最大迭代次数为Iouter,迭代误差为 Δ1;内层迭代为了更新拉格朗日算子δ 和θ,迭代次数用τ 表示,最大迭代次数为Iinner,迭代误差为 Δ2。功率控制的具体步骤如算法1 所示。

算法1基于Dinkelbach 方法和拉格朗日乘子法的功率控制算法

输入Gsr、Gsb、Gcr、Gcb、Grd、Grb、Gcd、N0、W、

输出

3.2 基于Q 学习的中继选择算法

在为每个D2D 用户对选择合适的中继之前,为了减小计算复杂度,本文为每个D2D 用户对划分了备选的中继集合。对于D2D 用户对m,可选用中继的区域划分如图2 所示,备选中继所在区域处于以D2D 发射端s 和D2D 接收端d 的距离Dsd为半径,分别以D2D 发射端s 和D2D 接收端d 为圆心所画的2 个圆的重合区域。D2D 用户对m 的备选中继集合可表示为

其中,Dsr和Drd分别表示D2D 发射端到中继和中继到D2D 接收端的距离。

图2 备选中继区域示意

在给每个D2D 用户对划分备选中继区域之后,为了保证D2D 用户对的正常通信,本文设计优先完成备选中继数较少的D2D 用户对的中继选择。具体地,用|Gm|表示D2D 用户对m 的备选中继数,根据|Gm|的大小升序排列,得到新的D2D 用户对集合M*。然后,利用本文提出的基于Q 学习的中继选择算法完成每个D2D 用户对的中继选择。

Q 学习是一种典型的强化学习算法,可以在任意给定的马尔可夫决策过程中通过学习过程找到最优的动作[18]。在一次学习过程中,学习的主体称为智能体(agent),智能体通过感知周围的环境,判断当前所处的状态st,其中t 表示在一次迭代学习过程的时刻。之后根据一定的策略(例如ε-贪婪算法)从动作集合At选择某个动作at。在执行某个动作之后,智能体会收到环境的反馈,称为奖赏Rt,Rt反映了所执行动作的好坏。在每次选择动作时,智能体通常会大概率地选择当前已知的最优动作,但是也会小概率地去尝试新的动作,最终达到最大化总奖赏值的目的。Q 学习通过更新学习动作状态值函数 Q(st,at)来获得最优策略,其中 Q(st,at)表示在给定状态st下执行动作at的收益。动作状态值函数 Q(st,at)在时刻t 的更新式为

其中,α∈(0,1]表示学习因子,Rt表示奖赏值,γ 表示折扣因子。从式(31)可以看出,从状态st出发,依照某种策略选择动作at,随后更新Q 值函数。当所有的动作状态值都被频繁地执行后,Q 估计值最终会收敛到最优Q 值上,从而获得最优策略。

本文将中继选择的过程建模为D2D 用户对学习寻找最优中继的过程,分别定义Q 学习中的智能体,动作集合At、状态集合St和奖赏函数Rt如式(32)~式(34)所示。

智能体:所有D2D 用户对。

其中,al表示选择中继l 完成通信。在t 时刻的动作at可以是集合At中任一元素。

其中,EEs,d表示D2D 发射端到D2D 接收端的能效值,可通过功率控制进行计算;EEth表示D2D 链路的能效阈值。

其中,λ 表示放大系数。奖赏函数反映了中继选择的好坏,若选择的中继满足D2D 链路的最小能效时,返回一个正值;若不满足,返回一个负值。当每对D2D 用户完成Q 学习过程后,会生成对应于中继的Q 表,根据Q 表,便可以选择最优中继。具体的基于Q 学习的中继选择过程如算法2 所示。

算法2基于Q 学习的中继选择算法

3.3 基于匹配理论的信道分配算法

在3.1 节和3.2 节中,通过功率控制和中继选择可以得到D2D 用户对在复用某一蜂窝用户信道下的最大能效,本节讨论如何为每个D2D 用户对分配合适的信道以最大化系统总D2D 用户的能效。

由于蜂窝用户集合C 和D2D 用户集合M 是2 个互不相交的集合,因此本文构建二分图G=(V ,E),其中二分图中顶点V 表示蜂窝用户集合和D2D 用户对集合,边E 表示为D2D 用户对和蜂窝用户之间的连线。在3.1 节的功率控制中,通过约束式(16)已经满足蜂窝用户的QoS,所以在信道分配时,只需要考虑如何最大化系统总D2D 用户对的能效。因此,设定D2D 用户与蜂窝用户之间边的权重表示的是该D2D 用户复用该蜂窝用户信道时的能效值。引入N ×K 的矩阵T 表示权重矩阵,矩阵的行表示D2D 用户对,矩阵的列表示蜂窝用户。

根据以上分析,信道分配问题可以转换为最大二部图匹配问题,并使用匈牙利算法进行求解。由匈牙利算法计算出一个包含信道分配信息的布尔矩阵Y,根据矩阵Y 便可为每个D2D 用户分配合适的信道。具体信道分配过程如算法3 所示。

算法3基于匹配理论的信道分配算法

3.4 复杂度分析

本文所提出的能效优化算法由3 个部分组成,分别是基于Dinkelbach 方法和拉格朗日乘子法的功率控制算法、基于Q 学习的中继选择算法和基于匹配理论的信道分配算法。在假设D2D 用户获得确定辅助的中继以及复用的信道情况下,得出单一D2D 用户能效最大时的功率分配解。之后,基于功率分配的解,在假设复用信道确定的条件下,利用Q 学习计算D2D 用户在复用任意一条信道时的最佳中继。基于功率控制和中继选择,计算D2D 用户复用每条可用信道时的能效矩阵,利用匈牙利算法得到信道分配解。虽然本文提出的能效算法复杂度较高,但是能在理论上获得系统总D2D 用户的最大能效值。

本文所提能效优化算法的复杂度取决于功率控制、中继选择和信道分配算法。基于Dinkelbach方法和拉格朗日乘子法的功率控制算法复杂度为O(IouterIinner),考虑N 个D2D 用户对,K 个蜂窝用户以及每个D2D 用户对可复用的最大中继数L,则功率控制算法的复杂度为O(MNRIouterIinner)。基于Q 学习的中继选择算法的复杂度取决于Q 学习中状态集合数|St|和动作集合数|At|,所以中继选择算法的复杂度为O(|St||At|)。基于匹配理论的信道分配算法复杂度为O(K3),其中K 为蜂窝用户数。综上所述,本文提出的联合功率控制、中继选择和信道分配的能效优化算法的复杂度为O(MNRIouterIinner+|St||At|+K3)。

4 仿真结果及分析

本文使用Matlab 仿真工具对算法进行仿真,重复执行1 000 次蒙特卡洛实验,然后对结果取平均值。每一次算法执行过程中,中继、蜂窝用户和D2D 用户均随机分布在系统中。假设系统内D2D与蜂窝链路的阴影衰落均服从均值为0、标准差分别为12 dB 与10 dB 的对数正态分布,其余主要仿真参数如表1 所示。

表1 实验仿真参数

仿真中,将本文所提算法与文献[13]的BEEPER 算法、随机中继选择算法和随机信道分配算法进行对比。其中,文献[13]的BEEPER 算法分别优化D2D 中继通信的第一跳和第二跳链路的能效,然后再完成中继选择,但是并没有考虑信道的分配,所以,为了全面评价本文所提算法,与BEEPER 算法进行对比时,在BEEPER 算法中加入了本文提出的信道分配算法。随机中继选择算法是本文所提功率控制和信道分配算法的结合,而每个D2D 用户的辅助中继是从备选中继区域中随机选择的。随机信道分配算法是本文所提功率控制和中继选择算法的结合,而信道的分配是随机的。

图3 是在N=K=10、L=50 和Dmax=100 的条件下,系统D2D 用户总能效的累计分布函数曲线。由图3 可知,本文所提算法最大可达能效大于其余3 种算法,且比BEEPER 算法约高2%,比随机中继选择算法高13%,比随机信道分配算法高41%。本文所提算法优于BEEPER 算法的原因是本文算法直接对D2D 发射端到接收端的能效优化问题进行求解,而BEEPER 算法通过分别最大化D2D 通信第一跳和第二跳链路的能效来解决问题。本文所提算法优于随机中继选择算法和随机信道分配的原因是前者考虑从功率、中继和信道3 个方面优化系统中D2D 用户的总能效,而后两者仅是从功率和中继或者功率和信道2 个方面去优化能效。

图3 D2D 用户总能效的累计分布函数曲线

当L=50 和Dmax=100 时,系统总D2D 用户对能效随D2D 用户对数目变化的曲线如图4 所示。随着D2D 用户数目的增加,4 种算法的D2D 链路总能效都呈现了递增的趋势。在D2D 用户数相同的情况下,本文所提算法的性能明显优于其他3 种优化算法。这是因为本文所提算法联合考虑从功率控制、中继选择和信道分配3 个方面优化系统中D2D 用户的总能效,并且在解决功率控制问题时,在假设的条件下,直接求解出D2D 发射端到接收端的最大能效。当N=K=15 时,本文所提算法的能效值比BEEPER 算法约高2%,比随机中继选择算法高13%,比随机信道分配算法高41%。

图4 D2D 用户总能效随D2D 用户数变化曲线

图5 是当N=K=10 和L=50 时,系统总D2D 用户对能效随D2D 发射端与接收端最大传输距离Dmax变化的曲线。从图5 中可以看出,随着Dmax的增大,总能效呈递减的趋势。这是因为当Dmax增大时,D2D 发射端和中继需要增加发射功率以保证传输质量,从而降低了能效。但是从整体上来说,本文所提算法优于其余3 种对比算法。当Dmax=50 时,本文算法的能效值比BEEPER 算法约高1%,比随机中继选择算法高13%,比随机信道分配算法高41%。

图5 D2D 用户总能效随Dmax变化曲线

图6 给出了当K=N=10 和Dmax=100 时,D2D用户总能效随着中继数L 变化的曲线。随着L 的增加,本文所提算法、BEEPER 算法和随机信道分配算法的曲线呈现递增的趋势,而随机中继选择算法的曲线平缓,没有太大的波动。这是因为随着中继数目增加,加入了中继选择过程的本文所提算法、BEEPER 算法和随机信道分配算法会选择更合适的中继进行通信,而随机中继选择算法在选择中继时是随机的,所以关于系统D2D 用户总能效的曲线没有太大波动。当L=150 时,本文所提算法的能效值高于BEEPER 算法2%,高于随机中继选择算法26%,高于随机信道分配算法34%。

图6 D2D 用户总能效随中继数变化曲线

图3~图6 的仿真中D2D 用户数和蜂窝用户数是相等的,也就是说,D2D 用户数与可复用信道数是一致的,而图7 给出了D2D 用户数与信道数不一致的情况下,每种算法的能效曲线。在图7 中,仿真参数分别为K=10、L=50 和Dmax=100。随着N增加,本文所提算法、BEEPER 算法和随机中继选择算法的曲线呈现递增并趋于平缓的趋势,而随机信道分配算法曲线平缓,没有太大的波动。因为信道资源的增加,加入了信道分配过程的3 种算法会被分配到更合适的信道进行通信,而随机信道分配算法在信道分配时是随机的,所以能效曲线没有太大波动。当N=20 时,本文所提算法的能效值高于BEEPER 算法2%,高于随机中继选择算法10%,高于随机信道分配算法49%。

图7 D2D 用户总能效随蜂窝用户数变化曲线

5 结束语

为了提高D2D 中继通信系统中D2D 用户的能效,本文提出了一种联合功率控制、中继选择和信道分配的能效优化算法。首先,在保证D2D 用户和蜂窝用户的QoS 条件下,建模能效优化问题。其次,使用Dinkelbach 方法与拉格朗日乘子法,求解能效的最优值。再次,根据功率控制得到的能效值,通过Q 学习算法选择合适的中继。最后,基于D2D用户集合与蜂窝用户集合构建二分图,设置集合间边的权重值为能效值,利用匈牙利算法完成信道分配。仿真结果表明,本文所提算法有效地提高了系统D2D 用户的总能效。

猜你喜欢
接收端中继蜂窝
热塑性蜂窝板的平压性能分析
基于扰动观察法的光通信接收端优化策略
蜂窝住宅
基于多接收线圈的无线电能传输系统优化研究
基于Alamouti 码的OFDM 协作系统中继选择算法
自适应多中继选择系统性能分析
手机无线充电收发设计
“蜂窝”住进轮胎里
一种基于无线蜂窝网络的共享中继模型
中继测控链路动态分析与计算方法研究