本发明具体涉及一种新型蜂窝下行通信能效优化方法。
背景技术:
随着新媒体、增强现实、虚拟现实、移动云等移动互联网业务的普及,万物互联的内在需求与物联网市场的高速发展,下一代移动通信网必须要注重能量效率和频谱效率的提升。d2d通信模式被广泛认同为提升蜂窝网络能量与频谱效率的一种可行技术,其主要作用表现如下:1)地理位置上邻近的通信对之间能够通过d2d模式直接传输数据,减轻了基站的邻近区域数据中转量,从而提升了为远距离通信对提供流量中继服务的能力;2)远离基站的蜂窝边缘节点或非视距范围内节点可以通过d2d中继节点改善与基站通信的链路质量,从而提升蜂窝上下行吞吐量。本
技术实现要素:
属于后者范畴,且仅考虑单一蜂窝内一定资源约束下的下行通信能效优化问题。
d2d通信可分为带外d2d和带内d2d。带外d2d通信模式使用非授权的免费频谱,如wifi或蓝牙技术等所采用的频段。因此,存在如下问题:1)非授权的免费频谱不受蜂窝基站控制,可能会导致很差的服务质量,2)至少具有两类无线接口(例如,lte和wifi)的设备才可以使用带外d2d通信,并涉及不同类型无线接口之间的电源管理、不同无线通信协议数据包的解码和编码、更复杂的d2d用户之间的发现和连接设置等问题,因此,对用户设备配置要求较高。带内d2d通信使用蜂窝运营商的授权频谱,又可以分为专用模式(dedicatedmode,在一些文献中也被称为overlaymode或者orthogonalmode)和共享模式(sharedmode,在一些文献中也被称为underlaymode或者non-orthogonalmode)。前者将授权频谱划分为两部分,一部分专供d2d用户使用,一部分给蜂窝用户使用,从而避免了相互干扰。后者允许d2d通信与蜂窝通信共享频谱资源,因此,存在同频干扰问题,需要有效的方法来控制干扰的影响。本专利采用的是共享模式。
当给定了一个蜂窝内的信道资源总量,并限定了基站的最大发射功率,能够为随机发生的大量用户请求提供的下行吞吐量的上限在哪里?通常这个问题属于np难范畴,存在不同的近似求解方法,有文献提出的一种穷尽搜索的贪婪算法,其主要思路是由蜂窝基站为蜂窝内获得蜂窝信道的每个下行流量的接收节点确定是直接从基站接收?还是选择一个d2d中继节点帮它从基站转发?尽管该类方法实现简单,但存在的一些问题有待解决:1)由基站运行全网穷尽搜索的贪婪算法,导致基站负担过重;2)采用带外d2d通信对用户设备配置具有更高要求;3)规定每个下行数据接收节点至多选择一个d2d中继节点可能无法满足远离基站的蜂窝边缘节点或非视距范围内节点的下行吞吐量需求;4)未对发射节点的功率进行调节,蜂窝通信能效仍有提升空间;5)未约束d2d中继节点的能量储备水平,难以保障所建立的传输路径的持续服务能力。
发明内容
本发明的目的在于提供一种能够将实际执行的计算与通信开销在基站和数据的接收端节点之间进行合理分担,从而实现高效经济通信目标的新型蜂窝下行通行能效优化方法。
本发明提供的这种新型蜂窝下行通行能效优化方法,包括如下步骤:
基站分配中继信道的步骤:具体包括蜂窝中继节点信道分配的步骤和d2d中继链路信道分配的步骤;
基站辅助链路接收端节点调节发射端功率的步骤:具体包括调节基站对接收节点的发射功率的步骤、调节基站对d2d中继节点的发射功率的步骤、调节d2d中继链路发射端的功率的步骤和基站辅助ue进行功率调节的步骤,所述的ue为用户设备;
确定数据接收模式的步骤:具体包括接收节点确定数据接收模式的步骤和d2d中继节点确定数据接收模式的步骤。
所述的蜂窝中继节点信道分配的步骤,具体为所分配的信道用于从基站直接接收数据,具体包括如下步骤:
步骤1.0:将lrm的每个元素初始化为0;创建集合uc和ur,并初始化为空;进入步骤1.1;所述lrm为基站与用户之间的中继信道分配关系数组,其任一元素lrj的值为k且k∈{1,…,n},则表示从基站到用户j之间的链路被分配了中继信道k,否则表示没有分配中继信道;j∈{1,…,m};
步骤1.1:针对lcm,n中的每个元素lcj,k,若存在lcj,k为“真”,则将j节点加入到uc集合中,否则加入到ur集合中;进入步骤1.2;lcm,n表示用户直接与基站通信的信道分配关系矩阵,其任一元素lcj,k的值若为“真”,则表示用户j被分配了信道k用于与基站直接通信;若为“假”,则表示没有分配信道;
步骤1.2:针对ur中的每个距离小于rth且大于rth的元素,用j表示,创建集合d并初始化为空;进入步骤1.3;
步骤1.3:针对ur中的每个距离小于rth且大于rth的非j元素,用k表示,计算k与j之间关于基站的夹角
步骤1.4:针对uc集合中的每个元素,用i表示,计算i与j之间关于基站的夹角
步骤1.5:创建集合e,其中的元素由集合c中所有不在集合d中的元素组成,从集合e中随机取出一个元素k,并将k赋值给lrj;重复步骤1.2,直至遍历完ur中的每个元素。
所述的d2d中继链路信道分配的步骤,为分配的d2d中继链路信道用于接收d2d中继链路发射端发射的数据;具体包括如下步骤:
步骤2.0:将lrm,m中的每个元素初始化为0;lrm,m表示用户之间的中继信道分配关系矩阵,其任一元素lri,j的值若为k,k∈{1,…,n},表示从用户i到用户j之间的链路被分配了中继信道k,否则表示没有分配中继信道;
步骤2.1:针对ur中的每个距离大于rth的元素,创建集合d并初始化为空;进入步骤2.2。
步骤2.2:若lrj大于0,则将lrj加入到d中;进入步骤2.3。
步骤2.3:针对uc中的每个元素,以i表示,若i是j的邻居集合vj中元素,则在lcm,n中找到i与基站直接通信时使用的信道k,并将k加入到d中;进入步骤2.4;
步骤2.4:针对ur中的每个距离小于rth且大于rth的元素,以i表示,若i是j的邻居集合vj中元素且lri大于0,则将lri加入到d中;进入步骤2.5;
步骤2.5:针对j的邻居集合vj内的每个元素,以i表示,若lri,j大于0,则将lri,j加入到d中;进入步骤2.6;
步骤2.6:针对j的邻居集合vj内的每个元素,以k表示,针对k的邻居集合vk内的每个元素,以l表示,若lrl,k大于0,则将lrl,k加入到d中;进入步骤2.7;
步骤2.7:针对j的邻居集合vj内的每个元素,以i表示,若i到基站的距离大于j到基站的距离且lrj,i为0,则创建集合d`并初始化为空;进入步骤2.8;
步骤2.8:针对uc中的每个元素,以m表示,计算m与i之间关于基站的夹角
步骤2.9:针对ur中的每个距离小于rth且大于rth的元素,以m表示,计算m与i之间关于基站的夹角
步骤2.10:针对i的邻居vi内的每个元素,以k表示,针对k的邻居vk内的每个元素,以m表示,若lrk,m大于0,则将lrk,m加入到d`中;进入步骤2.11;
步骤2.11:创建集合e,其中的元素由集合c中所有不在集合d和d`中的元素组成,从集合e中随机取出一个元素k,或从集合e中取出第一个元素k,并将k赋值给lrj,i;重复步骤2.7,直至遍历完vj内的每个元素;进入步骤2.12;
步骤2.12:重复步骤2.1,直至遍历完ur中的每个元素。
所述的调节基站对接收节点的发射功率的步骤,具体包括如下步骤:
步骤0.0:事先获得全网所有节点的最大发射功率参数;
步骤1.0:针对从基站直接接收自己数据的节点,以j表示,初始化p0j为0,若从基站接收到tsmax,psmax,tshalf,pshalf,则判断从基站到自身的距离d0,j是否小于rth,如果小于则进入步骤1.1,否则不进行功率调节;所述的psmax和pshalf表示包括潜在d2d链路和直接通信链路在内的整个网络潜在通信链路的发射端的总功耗最大值和对半值,而tsmax和tshalf表示整个网络中潜在通信链路的吞吐能力的最大值和对半值;
步骤1.1:计算基站对自身采用发射功率p0half下的效益μjhalf和信噪比,以及最大功率下p0max的效益μjmax,若μjhalf大于等于μjmax并且在一半功率情况下的信噪比大于等于预设的信噪比阈值γth,将p0j赋值为p0half,否则将p0j赋值为p0max,并将p0j发送给基站,进入步骤1.2;p0half为最大发射功率p0max的一半;
步骤1.2:若从基站接收到ts和ps的更新信息,则进入步骤1.3;若从基站接收到终止信息,则结束运行;若未接收到任何信息,则继续等待;
步骤1.3:若j与基站的距离d0,j小于rth,则计算基站采用p0j减去步长ε后的值作为发射功率时的效益μ`j和信噪比,以及采用p0j作为发射功率时的效益μj,若μ`j大于μj且信噪比大于预设的信噪比阈值γth,则将p0j的值更新为减去了步长ε后的值,并将更新后的p0j发送给基站,并重复步骤1.2。
所述的调节基站对d2d中继节点的发射功率的步骤,具体包括如下步骤:
步骤0.0:事先获得全网所有节点的最大发射功率参数;
步骤2.0:针对从基站接收其他节点数据的中继节点,以j表示。初始化p0j为0,若从基站接收到tsmax,psmax,tshalf,pshalf,则判断从基站到自身的距离d0,j是否小于rth且大于rth,若满足条件则进入步骤2.1,否则不进行功率调节;
步骤2.1:计算基站对自身采用发射功率p0half下的效益μjhalf和信噪比,以及最大功率下p0max的效益μjmax,若μjhalf大于等于μjmax并且在一半功率情况下的信噪比大于等于预设的信噪比阈值γth,将p0j赋值为p0half,否则将p0j赋值为p0max,并将p0j发送给基站,进入步骤2.2;
步骤2.2:若从基站接收到ts和ps的更新信息,则进入步骤2.3;若从基站接收到终止信息,则结束运行;若未接收到任何信息,则继续等待;
步骤2.3:若j与基站的距离d0,j小于rth且大于rth,则计算基站采用p0j减去步长ε后的值作为发射功率时的效益μ`j和信噪比,以及采用p0j作为发射功率时的效益μj,若μ`j大于μj且信噪比大于预设的信噪比阈值γth,则将p0j的值更新为减去了步长ε后的值,并将更新后的p0j发送给基站,并重复步骤2.2。
所述的调节d2d中继链路发射端的功率的步骤,具体包括如下步骤:
步骤0.0:事先获得全网所有节点的最大发射功率参数;
步骤3.0:针对任一d2d中继节点,以j表示,若从基站接收到tsmax,psmax,tshalf,pshalf,则针对自己邻居集合vj中所有已分配中继信道的邻居,以i表示,初始化pij为0;进入步骤3.1;
步骤3.1:计算i对j采用发射功率pihalf时的效益μjhalf和信噪比,以及最大功率下pimax的效益μjmax,若μjhalf大于等于μjmax并且在一半功率情况下的信噪比大于等于预设的信噪比阈值γth,则将pij赋值为pihalf,否则将pij赋值为pimax;进入步骤3.2;
步骤3.2:若邻居集合vj中的元素未遍历完,则返回步骤3.1;否则将发射功率集合{pij|i∈vj}中的所有功率值发送给基站,然后进入步骤3.3;
步骤3.3:若从基站接收到ts和ps的更新信息,则进入步骤3.4;若从基站接收到终止信息,则结束运行;若未接收到任何信息,则继续等待;
步骤3.4:针对自己邻居集合vj中所有已分配中继信道的邻居,以i表示,计算i采用pij减去步长ε后的值作为发射功率时的效益μ`j和信噪比,以及采用pij作为发射功率时的效益μj,若μ`j大于μj且信噪比大于预设的信噪比阈值γth,则将pij的值更新为减去了步长ε后的值;在遍历完邻居集合vj中的所有元素后,将发射功率集合{pij|i∈vj}中的所有功率值发送给基站,并重复步骤3.3。
所述的基站辅助ue进行功率调节的步骤,具体包括如下步骤:
步骤0.0:基站事先获得全网所有节点的最大发射功率参数;
步骤4.0:计算所有发射端都采用最大功率时的吞吐量之和tsmax和功率之和psmax,以及所有发射端都采用最大功率的一半时的吞吐量之和tshalf和功率之和pshalf,然后向所有节点广播tsmax,psmax,tshalf,pshalf;进入步骤4.1;
步骤4.1:初始化功率改变标志flag为“假”,将定时器tδ设置为δ,在定时器tδ没有超时的情况下,若基站收到来自任一ue的功率报告,则检验功率有无发生变化,若发生了变化,则将功率改变标志flag置为“真”;进入步骤4.2;
步骤4.2:若功率改变标志flag为“真”,则更新ts和ps值,并将更新的ts和ps广播给所有的ue,并重复步骤4.1;否则,向所有节点广播功率调节终止包,结束算法的运行。
所述的接收节点确定数据接收模式的步骤,具体包括如下步骤:
步骤1.0:针对任一获得蜂窝信道的从基站接收自己数据的节点,以uei表示,若收到基站的功率调节终止信息,则将α0j、αji、tjiin、tjiout初始化为0,将集合di初始化为“空”,将标志位flag初始化为“假”;进入步骤1.1;
步骤1.1:针对i的邻居集合vi中的每个邻居,以j表示;若j到基站的距离d0,j小于rth,则计算tjiin,否则计算tjiout;对所有的tjiin和tjiout分别按从大到小的顺序排序;进入步骤1.2;
步骤1.2:若标志位flag为“假”,则找到当前最大的tjiin并赋值给tjimax,然后将当前最大的tjiin值置为0,否则,找到当前最大的tjiout并赋值给tjimax,然后将当前最大的tjiout值置为0;进入步骤1.3;
步骤1.3:若tjimax大于0,则说明选择中继比直接通信效果更好,因此,继续判断路径延时与中继能量约束是否满足要求;若dji小于延迟阈值dth并且j的剩余能量ej大于能量阈值eth,进入步骤1.4,否则,返回步骤1.2;若tjimax不大于0且标志位flag为“假”,则将标志位flag置为“真”,返回步骤1.2,否则,说明当前节点找不到合适的中继,结束运行;
步骤1.4:给邻居j发送中继请求包;将定时器tδ设置为δ,在定时器tδ没有超时的情况下,若收到了j的响应中继请求的响应包,则将αji和α0j分别置为1,将j加入集合给di,退出等待接收响应包的操作;若定时器tδ超时且未选中中继(即αji为0),则返回步骤1.2;若选中了中继(即αji为1),则结束运行。
所述的d2d中继节点确定数据接收模式的步骤,具体包括如下步骤:
步骤2.0:针对任一d2d中继节点,以j表示,若接收到任一邻居i的中继请求包,查看自身是否已充当了中继,若没有为任何邻居充当中继,则向i发送中继请求的响应包,否则,不发送任何响应;并进入步骤2.1;
步骤2.1:将α0k、αkj、tkjiin、tkjiout分别初始化为0,将集合dj初始化为“空”,将标志位flag初始化为“假”;进入步骤2.2;
步骤2.2:针对j的邻居集合vj中的每个邻居,以k表示;若k到基站的距离d0,k小于rth且大于rth,则计算tkjiin,否则,若k到基站的距离d0,k不小于rth,则计算tkjiout;对所有的tkjiin和tkjiout分别按从大到小的顺序排序;进入步骤2.3;
步骤2.3:若标志位flag为“假”,则找到当前最大的tkjiin并赋值给tkjimax,然后将当前最大的tkjiin值置为0,否则,找到当前最大的tkjiout并赋值给tkjimax,然后将当前最大的tkjiout值置为0;进入步骤2.4;
步骤2.4:若tkjimax大于0,则说明选择中继比直接通信效果更好,因此,继续判断路径延时与中继能量约束是否满足要求;若dkji小于延迟阈值dth并且k的剩余能量ek大于能量阈值eth,进入步骤2.5,否则,返回步骤2.3;若tkjimax不大于0且标志位flag为“假”,则将标志位flag置为“真”,返回步骤2.3,否则,说明当前节点找不到合适的中继,结束运行;
步骤2.5:给邻居k发送中继请求包;将定时器tδ设置为δ,在定时器tδ没有超时的情况下,若收到了k的中继响应包,则将αkj和α0k分别置为1,将k加入集合给dj,不再接收其它响应包;若定时器tδ超时且未选中中继,则返回步骤2.3;若选中了中继,则结束运行。
本发明提供的这种新型蜂窝下行通行能效优化方法,在保留了现有方法实现的简单有效特征的同时,将基站运行的集中式方式改进为基站辅助的分布式方式,有效减轻了基站负担;采用带内共享模式的d2d通信以提升频谱利用率、避免带外d2d通信模式中干扰的不可控性,同时也可以降低对用户设备配置(尤其是无线接口类型)的要求;由基站为潜在的d2d中继节点集中规划蜂窝信道的复用规则,尽可能确保被分配者复用其一跳通信范围以外的信道资源,从而尽可能避免发生一跳通信范围内的同频干扰;通过引入博弈机制,依据提出的新效用函数,潜在的d2d中继链路发射端独立调节其发射功率,以达到本链路能效的优化目标;采用以接收节点为中心的一跳通信范围内的局部搜索,以确定接收节点是采用蜂窝链路从基站直接接收数据还是将蜂窝链路与d2d链路串联成数据传输路径来接收蜂窝下行数据,相比现有技术的全局部搜索,降低寻找合适中继与构建传输路径的开销;在选用d2d中继时,通过约束d2d中继节点的能量储备水平以保障所建立的传输路径具有更好的持续服务能力;最后,本发明规定d2d中继节点必须执行接收节点同样的数据接收模式决策过程,从而有可能为接收节点扩展接收数据的路径跳数、进一步改善远离基站的蜂窝边缘节点或非视距范围内节点与基站之间的通信质量。
附图说明
图1为本发明方法的方法流程图。
图2为蜂窝下行平均传输路径能量效率随固定区域中节点数量的变化趋势示意图。
图3为蜂窝下行平均传输路径持续服务能力随固定区域中节点数量的变化趋势示意图。
具体实施方式
如图1所示为本发明方法的方法流程图:
本发明中涉及的计算公式与相关参数阐述如下:
对任一用户设备(userequipment,ue)(如i),若它采用从基站直接接收数据的通信方式,则可获得的吞吐量可使用香农公式估算,具体表示如下:
t0i=bi·log2(1+γi)(1)
在公式(1)中,t0i和γi分别是从基站到uei的通信链路上的吞吐量和信号干扰噪声比(signaltointerferencenoiseratio,sinr);bi是该链路上的信道带宽。γi可由公式(2)估算。
在公式(2)中,ni表示uei感知到的环境噪声功率;fi表示当基站通过蜂窝信道向uei发送数据时,uei感知到的来自其他链路的干扰,pi是基站向uei发射数据时采用的发射功率(通常取10瓦);gi表示从基站到uei的链路上的信道衰减系数;pi与gi的乘积表示uei感知到的接收功率强度;gi的值涉及路径损耗、多径衰落、阴影衰落等因素,通常较难获得。既然pi与gi的乘积表示uei感知到的接收功率强度,我们可采取如下近似公式直接得到接收功率。
在公式(3)和(4)中,gt和gr分别是发射天线和接收天线增益;ht和hr分别是发射天线高度和接收天线高度;λ和l分别是载波信号波长和系统损耗因子;du,v表示发射节点u与接收节点v之间的距离;当发射节点u向接收节点v发射数据时,ptu,v和pru,v分别表示发射节点u的发射功率和接收节点v的接收功率。依据任一对通信节点间的距离与节点交叉距离dcrossover之间的关系,确定使用公式(3)和(4)中的哪一个。对任一链路u→v,若其链路长度小于dcrossover,则使用公式(3),否则使用公式(4)。交叉距离dcrossover由公式(5)得到。
任一ue(如i)通过中继ue(如j)的数据转发来提升下行吞吐量,uej从基站获得的吞吐量可由公式(6)估算。
t0j=bj·log2(1+γj)(6)
在公式(6)中,t0j和γj分别表示从基站到uej的直接链路上的吞吐量和信号干扰噪声比。
当中继uej将数据转发给uei时,其d2d链路的吞吐量可由公式(7)估算。
tji=bji·log2(1+γji)(7)
在公式(7)中,tji和γji分别是从uej到uei的d2d链路上的吞吐量和信号干扰噪声比;bji是该d2d链路上的信道带宽。γji由公式(8)估算。
在公式(8)中,pji是uej向uei发射数据时采用的发射功率;gji表示从uej到uei的链路上的信道衰减系数;既然pji与gji的乘积表示uei感知到的接收功率强度,我们可采用公式(3)或(4)近似得到;fi表示当uei使用某个蜂窝信道接收数据时,uei感知到的来自其他同频链路的干扰,包括来自基站的干扰,以及来自邻居范围内采用同频信道的ue的干扰。由公式(9)估算。
在公式(9)中,ii表示uei所有的干扰源集合,而uek表示该集合中的一个元素;pk是发射端k采用的发射功率;gki表示从发射端k到uei的链路上的信道衰减系数;pk与gki的乘积表示uei感知到的干扰功率强度,同样我们可采用公式(3)或(4)近似得到之。
uei通过信道状态更优的中继uej进行数据转发,达到优化该通信路径下行吞吐量的目的,综合公式(6)和(7),其吞吐量值可由公式(10)估算。
为进一步优化下行链路吞吐量,uei通过信道状态更优的中继uek和uej依次进行数据转发,同理,该通信路径下行吞吐量值可由公式(11)估算。
vi,vj分别表示uei与uej的邻居节点集合,对uei来说,vi集合内的任一节点以给定的发射功率(如pue,通常取值为0.1瓦)向uei发送数据都应保证接收端uei的误码率不高于设定的ber值(可取10-10)。vi集合内节点的分布范围(即接收节点uei的覆盖半径di)可根据公式(12)估算得到。
在公式(12)中,γth是与设定的ber值对应的信号干扰噪声比值,其值可以通过公式(13)得到。
γth=-2lnber(13)
由于任一接收节点(如uei)无法获得实际的干扰节点数目、分布、干扰节点采用的发射功率等估算干扰大小的相关信息,因此,fi是一个不确定的值。在本发明中,通过合理的信道分配,尽量避免同频信道干扰的存在,因此,在计算覆盖半径di时,我们将fi置为0。同理,基站以最大功率(可取10瓦)发射且满足最低误码率情况下的覆盖半径rth的计算公式如下。
在(14)中,p0max表示基站的最大发射功率,而navg表示蜂窝内的平均噪声功率。该rth值说明,在不考虑干扰的情况下,若某节点到基站的距离小于rth,在基站以最大功率对其传输数据,必然满足最低误码率要求,因此,也可能存在调节功率的余地。若该范围内(即以基站为中心的半径rth范围内)的节点未获得蜂窝信道,则无法作为接收节点,但可以充当其他接收节点(通常位于以基站为中心的半径rth范围外)的中继,为其转发来自基站的数据,因此,需要为这样的中继节点分配中继信道。为了避免这样的中继离基站太近,本发明限制了其距离基站的距离大于rth(可取值为120米)才给其分配中继信道。
本发明中假定基站采用方向天线发射信息,因此,处于基站方向天线角度范围内且与基站使用同频信道的链路的接收端才可能受到基站发射信号的干扰。在基站、信道的复用者(如uej)、被复用者(如uek)所形成的三角形区域中,以基站为中心的夹角(如
在本发明关注的问题场景(即只考虑单一蜂窝内的干扰,或假定相邻蜂窝间的同频干扰能得到很好管控)下,对一个蜂窝信道来说,能够方便地确定保障接收端接收误码率不低于接收比特误码率阈值(该阈值间接反映了用户的网络应用体验)的发射功率,只要知道用户设备的接收比特误码率阈值(如10-10),接收端的环境噪声功率,信道带宽、信道衰减系数(基于接收端测量的csi信息进行量化得到)即可。若接收比特误码率阈值表示为ber,结合公式(13),相应的吞吐量和发射功率可以通过公式(16),(17)估算得到。
若从基站到任一接收端i之间的蜂窝信道的发射端功率不小于按式(17)所得的pith,则可确保接收端接收误码率不低于接收比特误码率阈值ber。若发射端的最大发射功率达不到pith,则最好采用最大发射功率以尽量保障接收质量。
对任一采用蜂窝信道的d2d通信链路j→i来说,为确保接收端i的比特误码率不高于ber,发射端j的发射功率不应低于
实际上,接收端i的潜在干扰源的发射功率可能会随时被调整,因此,fi的值只能基于当前所已知的信息做估算,而获得的
在(19),右边第一项表示整个网络通信潜能的改善给个体(例如,d2d通信链路j→i或直接通信链路0→i,这里0表示基站)带来的效用,而右边第二项表示个体的效用,在这里,效用的具体含义是能量效率,即单位能耗所能传输的数据量。
参与者(即某条通信链路)的行为规则集可具体化为它对自身发射端功率的调节级别(即预先定义的一个步长),每次决策时,通过使用当前发射功率减去一个步长得到调整后的功率,再依据效用函数判断,若更新后的功率能带来更高的收益,则确定使用更新后的功率,否则,仍使用更新前的功率。
根据已存在的一种潜博弈决策过程算法(即betterresponsealgorithm[2]),能使得各自参与者的发射功率值分布更为合理,从而获得更高网络整体效用。但是,该算法从高到底顺序调整发射功率的决策过程导致系统收敛慢(即到达每个参与者都不再更新发射功率的均衡点所需时间更长),尤其在步长太小的情况下,网络应用将无法容忍极慢的收敛速度。若步长太大,则达到均衡点时的整体效用会不够理想。因此,基于该算法思想,本发明提出一种更快的博弈决策过程算法,其基本思路是,先通过折半查找缩短顺序调整发射功率的行动集空间,然后从高到底顺序调整发射功率。
在本发明中,若uei选择uej作为其从基站接收数据的中继,则优先选择与基站的距离小于rth的中继。因为这类中继与基站之间信道条件更好,且已经被分配了从基站到自身的中继信道,能够直接与基站通信;而与基站的距离大于rth的中继没有分配与基站直接通信的中继信道,因此,它要么需要寻找离基站更近的邻居作为中继,要么复用基站分配给uei的信道以达到与基站直接通信的目的。
当中继uej位于以基站为中心的半径rth范围内时,从基站通过uej中转到达uei的最大吞吐量,相比于从基站到uei的直接链路的最大吞吐量,其提升幅度值表示为tjiin;若uej位于以基站为中心的半径rth范围外时,其提升幅度值表示为tjiout。相应的度量由公式(21)~(22)估算。
类似地,若中继uej继续选择任一节点(如uek)作为中继,则相应的吞吐量提升度量公式由(23)~(24)估算。
本发明算法描述中用到的一些数据结构描述如下:为方便算法描述,定义如下数据结构:1)lcm,n表示用户直接与基站通信的信道分配关系矩阵,其任一元素
另外,若uej作为中继从基站接收别的ue的数据,则将α0j置为1来记录这种情况,同样,若uei选择中继uej帮它转发数据,则将αji置为1来记录这种情况。dji表示数据经过uej的中转从基站传输到接收端uei的传输延时;dkji表示数据依次经过uek、uej的中转从基站传输到接收端uei的传输延时;dth表示延时阈值(可取110纳秒/比特)。
通信链路j→i的帧成功率f(γi)可由公式(25)计算得到。
在公式(25)中,l和γi分别是数据包的帧格式长度和接收节点i的sinr。基于计算得到的链路帧成功率和本实施方案给定的延时定义,通信链路j→i的数据传输延时值主要取决于接收端i的转发能力,若接收端i为传输路径上最终的接收者,则其不再转发,故不再计算其转发延时。通过下列公式(26)可得到接收端i的转发延时,其中,tbi是uei的数据包转发能力。
从基站经过中继uej到达接收端uei的传输延时由公式(27)近似得到。
从基站依次经过中继uek和uej到达接收端uei的传输延时由公式(28)近似得到。
使用蜂窝下行平均传输路径数据量来衡量蜂窝下行平均传输路径持续服务能力,可由公式(29)计算得到。
avgd=sumd/amountd2d(29)
其中avgd表示平均传输路径数据量,sumd表示所有完整的d2d路径的传输路径数据量之和,amountd2d表示系统中存在的所有d2d路径的数目,不包括与基站直接通信的节点的路径数目。某条路径的传输路径数据量,其值(如下行传输路径k→j→i)可由公式(30)计算得到。
在(30)中,dkji表示接收节点i通过下行传输路径k→j→i从基站接收的数据包的数量;tr是接收节点i的持续服务时长,其值取决于中继节点k和j能量储备和功耗;rblk和rblj分别是中继节点k,j的剩余能量储备;pk和pj则分别是中继节点k,j作为链路发射端时的发射功耗;中继节点k,j处理每比特数据的电子元器件耗能,相比于其作为发射端每比特的数据传输耗能,其值可以忽略不计。
本发明提供的这种新型蜂窝下行通行能效优化方法,总共分为三个阶段,共8个部分,具体步骤如下:
第1阶段:基站分配中继信道
算法1-1:蜂窝中继节点的信道(用于从基站直接接收数据)分配方法
步骤1.0:将lrm的每个元素,以lrj为例,初始化为0;创建集合uc和ur,并初始化为空。进入步骤1.1。
步骤1.1:针对lcm,n中的每个元素,以
步骤1.2:针对ur中的每个距离小于rth且大于rth的元素,以j为例,创建集合d并初始化为空。进入步骤1.3。
步骤1.3:针对ur中的每个距离小于rth且大于rth的非j元素,以k为例,根据公式(15)计算k与j之间关于基站的夹角
步骤1.4:针对uc集合中的每个元素,以i为例,根据公式(15)计算i与j之间关于基站的夹角
步骤1.5:创建集合e,其中的元素由集合c中所有不在集合d中的元素组成,从集合e中随机取出一个元素k,并将k赋值给lrj。重复步骤1.2,直至遍历完ur中的每个元素。
算法1-2:d2d中继链路信道(用于接收d2d中继链路发射端发射的数据)分配方法
步骤2.0:将lrm,m中的每个元素,以lri,j为例,初始化为0。
步骤2.1:针对ur中的每个距离大于rth的元素,以j为例,创建集合d并初始化为空。进入步骤2.2。
步骤2.2:若lrj大于0,则将lrj加入到d中。进入步骤2.3。
步骤2.3:针对uc中的每个元素,以i为例,若i是j的邻居集合vj中元素,则在lcm,n中找到i与基站直接通信时使用的信道k,并将k加入到d中。进入步骤2.4。
步骤2.4:针对ur中的每个距离小于rth且大于rth的元素,以i为例,若i是j的邻居集合vj中元素且lri大于0,则将lri加入到d中。进入步骤2.5。
步骤2.5:针对j的邻居集合vj内的每个元素,以i为例,若lri,j大于0,则将lri,j加入到d中。进入步骤2.6。
步骤2.6:针对j的邻居集合vj内的每个元素,以k为例,针对k的邻居集合vk内的每个元素,以l为例,若lrl,k大于0,则将lrl,k加入到d中。进入步骤2.7。
步骤2.7:针对j的邻居集合vj内的每个元素,以i为例,若i到基站的距离大于j到基站的距离且lrj,i为0,则创建集合d`并初始化为空。进入步骤2.8。
步骤2.8:针对uc中的每个元素,以m为例,根据公式(15)计算m与i之间关于基站的夹角
步骤2.9:针对ur中的每个距离小于rth且大于rth的元素,以m为例,根据公式(15)计算m与i之间关于基站的夹角
步骤2.10:针对i的邻居vi内的每个元素,以k为例,针对k的邻居vk内的每个元素,以m为例,若lrk,m大于0,则将lrk,m加入到d`中。进入步骤2.11。
步骤2.11:创建集合e,其中的元素由集合c中所有不在集合d和d`中的元素组成,从集合e中随机取出一个元素k,(或从集合e中取出第一个元素k),并将k赋值给lrj,i。重复步骤2.7,直至遍历完vj内的每个元素。进入步骤2.12。
步骤2.12:重复步骤2.1,直至遍历完ur中的每个元素。
第2阶段:链路接收端节点在基站的辅助下调节其发射端功率
算法2-1:调节基站对接收节点的发射功率
该算法由下行流量的接收节点(即在lcm,n中记录了已获得蜂窝信道的节点)执行,该类节点需要事先获得全网所有节点的最大发射功率参数。
步骤1.0:针对从基站直接接收自己数据的节点,以j为例,初始化p0j为0,若从基站接收到tsmax,psmax,tshalf,pshalf,则判断从基站到自身的距离d0,j是否小于rth,如果小于则进入步骤1.1,否则不进行功率调节。
步骤1.1:根据公式(19)计算基站对自身采用发射功率p0half下(即最大发射功率p0max的一半)的效益μjhalf和信噪比,以及最大功率下p0max的效益μjmax,若μjhalf大于等于μjmax并且在一半功率情况下的信噪比大于等于预设的信噪比阈值γth,将p0j赋值为p0half,否则将p0j赋值为p0max,并将p0j发送给基站,进入步骤1.2。
步骤1.2:若从基站接收到更新的信息(即更新的ts和ps),则进入步骤1.3;若从基站接收到终止信息,则结束运行;若未接收到任何信息,则继续等待。
步骤1.3:若j与基站的距离d0,j小于rth,则根据公式(19)计算基站采用p0j减去步长ε后的值作为发射功率时的效益μ`j和信噪比,以及采用p0j作为发射功率时的效益μj,若μ`j大于μj且信噪比大于预设的信噪比阈值γth,则将p0j的值更新为减去了步长ε后的值,并将更新后的p0j发送给基站。重复步骤1.2。
算法2-2:调节基站对d2d中继节点的发射功率
该算法由蜂窝中继节点(即在lcm,n中记录了未获得蜂窝信道,但在lrm中记录了已获得中继信道的节点)执行,该类节点需要事先获得全网所有节点的最大发射功率参数。
步骤2.0:针对从基站接收其他节点数据的中继节点,以j为例。初始化p0j为0,若从基站接收到tsmax,psmax,tshalf,pshalf,则判断从基站到自身的距离d0,j是否小于rth且大于rth,若满足条件则进入步骤2.1,否则不进行功率调节。
步骤2.1:根据公式(19)计算基站对自身采用发射功率p0half下(即最大发射功率p0max的一半)的效益μjhalf和信噪比,以及最大功率下p0max的效益μjmax,若μjhalf大于等于μjmax并且在一半功率情况下的信噪比大于等于预设的信噪比阈值γth,将p0j赋值为p0half,否则将p0j赋值为p0max,并将p0j发送给基站,进入步骤2.2。
步骤2.2:若从基站接收到更新的信息(即更新的ts和ps),则进入步骤2.3;若从基站接收到终止信息,则结束运行;若未接收到任何信息,则继续等待。
步骤2.3:若j与基站的距离d0,j小于rth且大于rth,则根据公式(19)计算基站采用p0j减去步长ε后的值作为发射功率时的效益μ`j和信噪比,以及采用p0j作为发射功率时的效益μj,若μ`j大于μj且信噪比大于预设的信噪比阈值γth,则将p0j的值更新为减去了步长ε后的值,并将更新后的p0j发送给基站。重复步骤2.2。
算法2-3:调节d2d中继链路发射端的功率
该算法由d2d中继节点(即在lcm,n中记录了未获得蜂窝信道,但在lrm,m中记录了已获得中继信道的节点)执行,该类节点需要事先获得全网所有节点的最大发射功率参数。
步骤3.0:针对任一d2d中继节点,以j为例,若从基站接收到tsmax,psmax,tshalf,pshalf,则针对自己邻居集合vj中所有已分配中继信道的邻居,以i为例,初始化pij为0。进入步骤3.1。
步骤3.1:根据公式(19)计算i对j采用发射功率pihalf(即最大发射功率pimax的一半)时的效益μjhalf和信噪比,以及最大功率下pimax的效益μjmax,若μjhalf大于等于μjmax并且在一半功率情况下的信噪比大于等于预设的信噪比阈值γth,则将pij赋值为pihalf,否则将pij赋值为pimax。进入步骤3.2。
步骤3.2:若邻居集合vj中的元素未遍历完,则返回步骤3.1;否则将发射功率集合{pij|i∈vj}中的所有功率值发送给基站,然后进入步骤3.3。
步骤3.3:若从基站接收到更新的信息(即更新的ts和ps),则进入步骤3.4;若从基站接收到终止信息,则结束运行;若未接收到任何信息,则继续等待。
步骤3.4:针对自己邻居集合vj中所有已分配中继信道的邻居,以i为例,根据公式(19)计算i采用pij减去步长ε后的值作为发射功率时的效益μ`j和信噪比,以及采用pij作为发射功率时的效益μj,若μ`j大于μj且信噪比大于预设的信噪比阈值γth,则将pij的值更新为减去了步长ε后的值;在遍历完邻居集合vj中的所有元素后,将发射功率集合{pij|i∈vj}中的所有功率值发送给基站。重复步骤3.3。
算法2-4:基站辅助ue进行功率调节
该算法基站执行,且基站需要事先获得全网所有节点的最大发射功率参数。
步骤4.0:先根据公式(20)计算所有发射端都采用最大功率时的吞吐量之和tsmax和功率之和psmax,以及所有发射端都采用最大功率的一半时的吞吐量之和tshalf和功率之和pshalf,然后向所有节点广播tsmax,psmax,tshalf,pshalf。进入步骤4.1。
步骤4.1:初始化功率改变标志flag为“假”,将定时器tδ设置为δ,在定时器tδ没有超时的情况下,若基站收到来自任一ue的功率报告,则检验功率有无发生变化,若发生了变化,则将功率改变标志flag置为“真”。进入步骤4.2。
步骤4.2:若功率改变标志flag为“真”,则根据公式(20)更新ts和ps值,并将更新的ts和ps广播给所有的ue,并重复步骤4.1。否则,向所有节点广播功率调节终止包,结束算法的运行。
第3阶段:数据接收模式的确定
算法3-1:接收节点确定数据接收模式
该算法由下行流量的接收节点(即在lrm,m中记录了已获得蜂窝信道的节点)执行。
步骤1.0:针对任一获得蜂窝信道的从基站接收自己数据的节点,以uei为例,若收到基站的功率调节终止信息,则将α0j、αji、tjiin、tjiout初始化为0,将集合di初始化为“空”,将标志位flag初始化为“假”。进入步骤1.1。
步骤1.1:针对i的邻居集合vi中的每个邻居,以j为例。若j到基站的距离d0,j小于rth,则根据公式(21)计算tjiin,否则根据公式(22)计算tjiout。对所有的tjiin和tjiout分别按从大到小的顺序排序。进入步骤1.2。
步骤1.2:若标志位flag为“假”,则找到当前最大的tjiin并赋值给tjimax,然后将当前最大的tjiin值置为0,否则,找到当前最大的tjiout并赋值给tjimax,然后将当前最大的tjiout值置为0。进入步骤1.3。
步骤1.3:若tjimax大于0,则说明选择中继比直接通信效果更好,因此,继续判断路径延时与中继能量约束是否满足要求;若dji小于延迟阈值dth并且j的剩余能量ej大于能量阈值eth,进入步骤1.4,否则,返回步骤1.2;若tjimax不大于0且标志位flag为“假”,则将标志位flag置为“真”,返回步骤1.2,否则,说明当前节点找不到合适的中继,结束运行。
步骤1.4:给邻居j发送中继请求包;将定时器tδ设置为δ,在定时器tδ没有超时的情况下,若收到了j的响应中继请求的响应包,则将αji和α0j分别置为1,将j加入集合给di,退出等待接收响应包的操作;若定时器tδ超时且未选中中继(即αji为0),则返回步骤1.2;若选中了中继(即αji为1),则结束运行。
算法3-2:d2d中继节点确定数据接收模式
该算法由d2d中继节点(即在lcm,n中记录了已获得中继信道的节点)执行。
步骤2.0:针对任一d2d中继节点,以j为例,若接收到任一邻居i的中继请求包,查看自身是否已充当了中继,若没有为任何邻居充当中继,则向i发送中继请求的响应包,否则,不发送任何响应。并进入步骤2.1。
步骤2.1:将α0k、αkj、tkjiin、tkjiout分别初始化为0,将集合dj初始化为“空”,将标志位flag初始化为“假”。进入步骤2.2。
步骤2.2:针对j的邻居集合vj中的每个邻居,以k为例。若k到基站的距离d0,k小于rth且大于rth,则根据公式(23)计算tkjiin,否则,若k到基站的距离d0,k不小于rth,则根据公式(24)计算tkjiout。对所有的tkjiin和tkjiout分别按从大到小的顺序排序。进入步骤2.3。
步骤2.3:若标志位flag为“假”,则找到当前最大的tkjiin并赋值给tkjimax,然后将当前最大的tkjiin值置为0,否则,找到当前最大的tkjiout并赋值给tkjimax,然后将当前最大的tkjiout值置为0。进入步骤2.4。
步骤2.4:若tkjimax大于0,则说明选择中继比直接通信效果更好,因此,继续判断路径延时与中继能量约束是否满足要求;若dkji小于延迟阈值dth并且k的剩余能量ek大于能量阈值eth,进入步骤2.5,否则,返回步骤2.3;若tkjimax不大于0且标志位flag为“假”,则将标志位flag置为“真”,返回步骤2.3,否则,说明当前节点找不到合适的中继,结束运行。
步骤2.5:给邻居k发送中继请求包;将定时器tδ设置为δ,在定时器tδ没有超时的情况下,若收到了k的中继响应包,则将αkj和α0k分别置为1,将k加入集合给dj,不再接收其它响应包;若定时器tδ超时且未选中中继(即αkj为0),则返回步骤2.3;若选中了中继(即αkj为1),则结束运行。
以下以一个仿真实例说明本发明方法与现有技术的差别:
本发明(为方便表述,称为deeo-gpa)和接收节点直接与基站通信(为方便表述,称为orgin)在平均传输路径能量效率上进行了比较。平均传输路径能量效率特指接收节点所在下行传输路径上的数据接收能力与付出的功率代价(包括基站和中继节点的发射功率之和)之比的平均值;本发明也与未对中继进行能量约束的方案(为方便表述,称为deeo-no-eth),在平均传输路径持续服务能力方面进行了比较。可用平均传输路径数据量来衡量平均传输路径持续服务能力,其特指接收节点所在下行传输路径断连之前,接收节点平均从基站接收的数据包的个数。
基本仿真参数设置如下:仿真网络是半径为500m的圆形区域,一个基站位于该区域中央,拥有的可分配蜂窝信道数量n为500,该区域内ue数量m变化范围从1000到2800,延时约束阈值dth、能量约束阈值eth分别设置为110纳秒/比特,0.1焦耳,信道带宽设置为2兆赫兹。其它参数取值见表1。
表1仿真参数设置表
采用omnet++4.6网络仿真器得到图2至图3所示结果。从图2我们可以发现,无论蜂窝内节点数量m如何变化,deeo-gpa的平均传输路径能量效率始终优于orgin。其主要原因是,对于远离基站的蜂窝边缘节点来说,deeo-gpa通过中继链路辅助其接收基站数据,高比特误码率得到了有效地控制,而直接通信中,基站即使以最大功率发射,也无法满足蜂窝边缘处节点的比特误码率。而根据公式(6)~(13)可知,低比特误码率提升了下行数据传输路径的吞吐量,从而也提升了单位耗能所获得的吞吐量增益。另外,deeo-gpa通过改进的博弈决策过程算法将中继节点的发射功率控制在合理的范围内,在下行传输路径吞吐量没有降低的基础上,降低了中继节点的发射功率,从而进一步地提升了蜂窝下行通信的能量效率。
从图3可观察到类似于图2的变化趋势,无论蜂窝内节点数量m如何变化,deeo-gpa的平均传输路径持续服务能力始终优于未对中继的剩余能量进行约束的deeo-no-eth方案。虽然deeo-no-eth算法可能会有更多的接收节点选择中继,但是实质上吞吐量的增长率比不上中继数目的增长,并且,当ue数目达到一定数目后,由于ue的邻居也随之增多,可选择的中继也增多了,最终导致两个方案选择的中继几乎一样多,deeo-no-eth方案未对中继的剩余能量进行约束,导致其可能会选择更多的较低能量储备的中继。因此由公式(29)和(30)可知,在平均传输路径持续服务能力方面,deeo-gpa会高于deeo-no-eth的方案。