多小区场景下融合社交信息的D2D链路选择方法转让专利

申请号 : CN201710387641.0

文献号 : CN107182129B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴丹杨莲新蔡跃明曲君跃龙彦汕敖亮

申请人 : 中国人民解放军理工大学

摘要 :

本发明公开了一种多小区场景下融合社交信息的D2D链路选择方法,包括以下步骤:第一步:将多小区D2D通信场景退化为两个蜂窝小区共存的D2D通信场景进行研究。基站根据网络中用户的位置分布对用户进行分类,以便用户对干扰的区分;第二步:采用效用不可转移联盟形成博弈对两个用户都处在同一个小区的区内D2D对进行链路选择;第三步:对两个用户处在两个小区的跨区D2D对进行链路选择,在链路选择的过程中考虑跨区D2D对对两个小区链路资源使用的均衡性。本发明所提供的链路选择方法实现简单,信令开销小,且保证了跨区D2D对两个小区链路资源使用的均衡性。

权利要求 :

1.一种多小区场景下融合社交信息的D2D链路选择方法,其特征在于包括以下步骤:第一步:将多小区D2D通信场景退化为两个蜂窝小区共存的D2D通信场景进行研究,基站根据网络中用户的位置分布对用户进行分类,以便用户对干扰的区分;

具体如下:选取任意两个小区作为研究对象,小区用平面直角坐标系进行衡量,基站在两小区相邻区域给定分界线l1和l2,其直线方程为l1:y1=a1x1+b1和l2:y2=a2x2+b2,其中,a1,b1,a2,b2是直线l1和l2方程中的参数,x1和x2是两条直线对应的横坐标,y1和y2是两条直线对应的纵坐标,1和2分别指示分界线l1和l2;处在两个小区之间分界线外的蜂窝用户被标记为正交链路蜂窝用户,网络中剩余用户被标记为非正交链路蜂窝用户;同一小区内蜂窝用户使用正交的链路资源,小区内对应的正交链路蜂窝用户使用正交的链路资源,两个小区内非正交链路蜂窝用户两两之间使用相同的链路资源;

第二步:采用效用不可转移联盟形成博弈,对两个用户都处在同一个小区的区内D2D对进行链路选择,此时用户不受来自另一小区用户的干扰,在两个小区的区内D2D对的链路选择完成之后,进入第三步;

区内D2D对进行链路选择具体方法如下:采用效用不可转移联盟形成博弈进行链路选择:区内D2D对和对应小区内的蜂窝用户被建模为博弈参与者,根据博弈参与者链路复用后的可达速率是否有所改善以及蜂窝用户的可达速率是否满足其社交门限值,来确定复用关系能否建立;其中,区内D2D对复用小区内蜂窝用户链路资源会受到来自蜂窝用户和与其选择相同蜂窝链路的D2D对的干扰,而蜂窝用户会受到来自复用其链路的D2D对的干扰,蜂窝用户的社交门限值为蜂窝用户和D2D对之间社交关系的负指数函数;

第三步:对两个用户处在两个小区的跨区D2D对进行链路选择,在链路选择的过程中考虑跨区D2D对对两个小区链路资源使用的均衡性;

对用户处在两个小区的跨区D2D对进行链路选择具体方法如下:采用效用不可转移联盟博弈进行链路选择:跨区D2D对和对应小区内的蜂窝用户被建模为博弈参与者,根据博弈参与者进行链路复用后的可达速率是否有所改善、蜂窝用户的可达速率是否满足其社交门限值以及两个小区链路资源的使用状态,来确定复用关系能否建立;其中,跨区D2D对选择复用正交链路蜂窝用户链路资源时,不会受到来自另一个小区的干扰,但当其选择复用非正交链路蜂窝用户链路资源时,其会受到来自另一个小区的干扰;博弈参与者重复策略选择过程,直到所有的跨区D2D对均已完成链路选择。

2.根据权利要求1所述的多小区场景下融合社交信息的D2D链路选择方法,其特征在于第一步具体步骤如下:

将多小区D2D通信场景退化为两个蜂窝小区共存的D2D通信场景进行研究,得到以下参数:小区1蜂窝用户集 C1为正整数,表示小区1中的蜂窝用户数,j为[1,C1]范围内任一正整数;小区1中区内D2D对集 D1为正整数,表示小区1中的D2D对数,t为[1,D1]范围内任一正整数;小区2蜂窝用户集C2为正整数,表示小区2中的蜂窝用户数,m为[1,C2]范围内任一正整数;小区2中区内D2D对集 D2为正整数,表示小区2中的D2D对数,l为[1,D2]范围内任一正整数;两个小区间跨区D2D对集D={d1,...,dn,...,dD},D为正整数,用以表示跨区D2D对数,n为[1,D]范围内任一正整数;以及两个小区的边界线l1和l2;根据边界线l1和l2,对网络中的蜂窝用户进行分类,确定小区1与小区2中的小区间蜂窝用户集Cin,1={cin,1,1,...,cin,1,f,...,cin,1,F}、Cin,2={cin,2,1,...,cin,2,f,...,cin,2,F},Cin,1和Cin,2中的对应蜂窝用户使用相同的链路资源,F为正整数,表示两个小区中使用非正交链路的蜂窝用户数,f为[1,F|范围内任一正整数;小区边界蜂窝用户集Cout,1和Cout,2,Cout,1和Cout,2中的蜂窝用户使用相互正交的链路资源;Cout,1={cout,1,1,...,cout,1,b,...,cout,1,B},B为正整数,表示小区1中的边界蜂窝用户数,满足B+F=C1,b为[1,B]范围内任一正整数,Cout,2={cout,2,1,...,cout,2,q,...,cout,2,Q},Q为正整数,表示小区2中的边界蜂窝用户数,满足Q+F=C2,q为[1,Q]范围内任一正整数。

3.根据权利要求2所述的多小区场景下融合社交信息的D2D链路选择方法,其特征在于第二步具体步骤如下:

采用效用不可转移联盟形成博弈模型,对D1中的区内D2D对在小区1中进行链路选择,同时对D2中的区内D2D对在小区2中进行链路选择;博弈模型为Gx=(Nx,ux,Sx),其中指博弈参与者,代表小区x中的区内D2D对和蜂窝用户,x为小区编号,x=1,2,ux指小区x中博弈参与者的效用值,Sx指联盟结构,是博弈参与者采取的策略,联盟结构Sx是不同的联盟所构成的集合,即 其中,K为正整数,用以表示联盟结构Sx中的联盟个数,k为[1,K]范围内任一正整数;小区x中的蜂窝用户与区内D2D对之间的链路复用标志用Cx×Dx阶矩阵sx表示,其中Cx表示小区x中的蜂窝用户数,Dx表示小区x中的D2D对数;s1(c1j,d1t)=1表明小区1中蜂窝用户c1j与区内D2D对d1t共享链路,否则两者不共享链路;链路选择的过程如下:

(1)初始化sx为全0矩阵,确定区内D2D对和蜂窝用户进行合并的顺序:首先计算各区内D2D对和蜂窝用户单独处在一个联盟的效用值,对于小区x中区内D2D对dxr,r用来指示小区中的D2D对,当x=1时,r=t,当x=2时,r=l,其单独处在联盟中的效用值定义为其中,N表示信号接收者处的加性高斯白噪声的功率,pd表示区内D2D对的发送功率,指区内D2D对dxr到小区x基站BSx的信道增益;对于蜂窝用户cx,rr,rr用来指示小区中的蜂窝用户,当x=1时,rr=j,当x=2时,rr=m,其单独处在联盟中的效用值定义为其中,pc表示蜂窝用户的发送功率, 指蜂窝用户cx,rr到小区x基站BSx的信道增益;然后,将小区x中区内D2D对以及蜂窝用户单独处在联盟中的效用值分别进行升序排列,排序结果分别存储在before_Dx和before_Cx中,其中,before_Dx为包含Dx个元素的一维向量,向量中的每一个元素代表一个区内D2D对单独处在联盟中的效用值;before_Cx为包含Cx个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值;排序后用户的下标结果分别存储在Dx和Cx中,其中,Dx为包含Dx个元素的一维向量,其中的元素为[1,Dx]任一正整数,代表不同区内D2D对的下标;Cx为包含Cx个元素的一维向量,其中的元素为[1,Cx]任一正整数,代表不同蜂窝用户的下标;同时,定义向量after_Dx和after_Cx,其中,after_Dx为包含Dx个元素的一维向量,after_Cx为包含Cx个元素的一维向量,并让after_Dx=before_Dx和after_Cx=before_Cx;iix为[1,Dx]任一正整数,用来指示向量Dx中小区x中的区内D2D对的位置,并初始化iix=1;

(2)jjx为[1,Cx]任一正整数,用来指示向量Cx中小区x中的蜂窝用户的位置,并初始化jjx=1;

(3)如果蜂窝用户Cx(jjx)的链路已经被其他区内D2D对所复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cx(jjx)的位置和发送功率通知区内D2D对Dx(iix),此时,根据已经与区内D2D对Dx(iix)共享链路的蜂窝用户和蜂窝用户Cx(jjx)构成的集合 计算区内D2D对Dx(iix)的效用值为

其中, 指区内D2D对Dx(iix)发送者到其接收者的信道增益, 指蜂窝用户c到区内D2D对Dx(iix)接收者的信道增益, 指更新后的带宽,指集合 中元素的个数;

计算出效用值之后,区内D2D对Dx(iix)判断效用值是否满足其中, 指区内D2D对能够进行正常通信的最低效用要求;

并将判断的结果上报给基站BSx;同时基站BSx计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值为

其中, 为蜂窝用户Cx(jjx)到基站BSx的信道增益, 为区内D2D对Dx(iix)到基站BSx的信道增益;

计算出效用值之后,基站BSx判断集合 任一蜂窝用户Cx(jjx)的效用值是否满足其中,μ指社交影响因子,指蜂窝用户Cx(jjx)对社交关系的重视程度, 指区内D2D对Dx(iix)与蜂窝用户Cx(jjx)之间的社交关系强度, 指当蜂窝用户Cx(jjx)完全自私时能够进行正常通信的最低效用要求;基站BSx处拥有蜂窝用户与D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;

如果针对区内D2D对Dx(iix)和集合 任一蜂窝用户Cx(jjx)的判断有任意一者不满足,直接转到第(4)步,否则,将after_Dx中对应Dx(iix)的效用值更新为 将after_Cx中对应集合 任一蜂窝用户Cx(jjx)的效用值更新为 判断after_Dx(Dx(iix))≥before_Dx(Dx(iix))是否满足,如果满足,且至少有一个是严格大于的,那么基站BSx置复用标志sx(Cx(jjx),Dx(iix))=1,并更新

before_Dx=after_Dx

after_Cx=before_Cx

然后转到第(4)步;否则,直接转到第(4)步;

(4)jjx=jjx+1,如果jjx<Cx+1,转到第(3)步,否则,说明此时Cx中所有的蜂窝用户已经被Dx中区内D2D对检测,iix=iix+1,如果iii<Dx+1,转到第(2)步,否则,表明Dx中所有的区内D2D对已经完成链路选择;

基站BSx此时已经拥有区内D2D对的链路选择方案,在区内D2D对进行通信的时候,基站BSx就会分配相应的链路资源给他们;两个小区的基站实时进行信息交互,来确认两个小区对其小区内的区内D2D对的链路选择是否结束;当两个小区都已经完成对区内D2D对的链路选择时,进入第三步,否则继续第二步。

4.根据权利要求3所述的多小区场景下融合社交信息的D2D链路选择方法,其特征在于第三步,两个小区的基站进行交互,对D中的跨区D2D对进行链路选择方案:

1)、D中的跨区D2D对尝试复用Cin,x中蜂窝用户的链路,其中,x=1,2,为小区编号;博弈模型为Gin,x=(Nin,x,uin,x,Sin,x),其中 指博弈参与者,代表小区x中的蜂窝用户和跨区D2D对,uin,x指博弈参与者的效用值,Sin,x指联盟结构,是博弈参与者采取的策略,小区x中的蜂窝用户与跨区D2D对之间的链路复用标志用F×D阶矩阵sin,x表示,其中F表示小区x中使用非正交链路的蜂窝用户数,D表示跨区D2D对数;当跨区D2D对dn复用cin,x,f∈Cin,x的链路资源时,链路复用标志sin,x(cin,x,f,dn)=1,否则sin,x(cin,x,f,dn)=0;

(1)初始化sin,x为全0矩阵,确定跨区D2D对和Cin,x中蜂窝用户进行合并的顺序;首先计算各跨区D2D对和Cin,x中蜂窝用户单独处在一个联盟的效用值,跨区D2D对dn单独处在联盟中的效用值定义为

其中, 指跨区D2D对dn到基站BS1的信道增益;蜂窝用户cin,x,f单独处在联盟中的效用值定义为

其中, 指蜂窝用户cin,x,f到小区x基站BSx的信道增益;然后,将跨区D2D对以及Cin,x中蜂窝用户单独处在联盟中的效用值分别进行升序排列,排序结果分别存储在before_D和before_Cinx中,其中,before_D为包含D个元素的一维向量,向量中的每一个元素代表一个跨区D2D对单独处在联盟时的效用值;before_Cin,x为包含F个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值;排序后用户的下标结果分别存储在D和Cin,x中,其中,D为包含D个元素的一维向量,其中的元素为[1,D]任一正整数,代表不同跨区D2D对的下标;Cin,x为包含F个元素的一维向量,其中的元素为[1,F]任一正整数,代表不同蜂窝用户的下标;同时,定义向量after_D和after_Cin,x,其中,after_D为包含D个元素的一维向量,after_Cin,x为包含F个元素的一维向量,并让before_Dout=after_Dout,after_Dout=before_D,after_D=before_D,after_Cin,x=before_Cin,x;ii为[1,D]任一正整数,用来指示向量D中跨区D2D对的位置,并初始化ii=1;

(2)jj为[1,F]任一正整数,用来指示向量Cin,x中蜂窝用户的位置,并初始化jj=1;

(3)如果蜂窝用户Cin,x(jj)的链路已经被其他跨区D2D对复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cin,x(jj)的位置和发送功率通知跨区D2D对D(ii);跨区D2D对D(ii)可能会受到以下用户带来的干扰:i)蜂窝用户Cin,x(jj),与Cin,x(jj)共享链路的小区x中区内D2D对集Dxr,假设一个蜂窝用户的链路至多只能被1个同类D2D对复用,Dxr至多只存在一个D2D对,用vvxr表示Dxr是否有D2D对,vvxr=0,1,vvxr=0表明Dxr为空集,否则表示Dxr中存在D2D对;ii)已经与跨区D2D对D(ii)共享链路的小区x中的蜂窝用户集合CD(ii)x,其中,CD(ii)x中属于Cin,x的蜂窝用户集为CD(ii),in,x,属于Cout,x的蜂窝用户集为CD(ii),out,x,以及与CD(ii),in,x中蜂窝用户共享链路资源的D2D对DD(ii),in,x,与CD(ii),out,x中蜂窝用户共享链路资源的D2D对DD(ii),out,x;根据以上信息,跨区D2D对D(ii)的效用值计算过程如下:a)记CD(ii),out,2中蜂窝用户的数目为numout,2,更新后的带宽为其中,|·|指集合中元素的个数;

b)跨区D2D对D(ii)复用蜂窝用户cin,x,f的链路时的效用值为其中,hD(ii)为跨区D2D对D(ii)的信道增益, 表示蜂窝用户cin,x,f到跨区D2D对D(ii)的信道增益;同时,定义

其中,dxr为集合Dxr非空时对应的D2D对;

c)计算跨区D2D对D(ii)复用CD(ii),in,1中蜂窝用户链路资源时的效用值:记CD(ii),in,x中任意一个蜂窝用户为 用 来指示DD(ii),in,x中是否存在与 共享链路资源的D2D对,如果存在把该D2D对记为 且 否则 此时跨区D2D对D(ii)复用CD(ii),in,1中蜂窝用户链路资源时的效用值为其中, 和 分别为蜂窝用户 以及D2D对 到跨区D2D对D(ii)的信道增益;

d)计算跨区D2D对D(ii)复用CD(ii),out,1中蜂窝用户链路资源时的效用值:记CD(ii)x,out,1中任意一个蜂窝用户为 用 来指示DD(ii),out,1中是否存在与 共享链路资源的D2D对,如果存在,把该D2D对记为 且 否则 据此,得到跨区D2D对D(ii)复用CD(ii),out,1中蜂窝用户链路资源时的效用值为其中, 和 分别为蜂窝用户 和D2D对 到跨区D2D对D(ii)的信道增益;

e)计算跨区D2D对D(ii)复用CD(ii),out,2中蜂窝用户链路资源时的效用值:记CD(ii),out,2中任意一个蜂窝用户为 用 来指示DD(ii),out,2中是否存在与 共享链路资源的D2D对,如果存在把该D2D对记为 且 否则 据此,得到跨区D2D对D(ii)复用CD(ii),out,2中蜂窝用户链路资源时的效用值为其中, 和 分别为蜂窝用户 和D2D对 到跨区D2D对D(ii)的信道增益;

综上,得到跨区D2D对D(ii)复用蜂窝用户Cin,x(jj)链路时的效用值为uD(ii)=u1+u2+u3+u4

计算出效用值之后,跨区D2D对D(ii)判断效用值是否满足其中, 指区内D2D对能够进行正常通信的最低效用要求;

并将判断结果上报给基站BSx;同时基站BSx计算集合CD(ii)x每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值为

其中, 表示跨区D2D对D(ii)到基站BSx的信道增益, 用来指示与蜂窝用户Cin,x(jj)共享链路的区内D2D对din,x是否存在; 为区内D2D对din,x到基站BSx的信道增益;

计算出效用值之后,基站BSx判断集合CD(ii)x任一蜂窝用户Cin,x(jj)的效用值是否满足其中,μ指社交影响因子,指蜂窝用户Cin,x(jj)对社交关系的重视程度, 指区内D2D对D(ii)与蜂窝用户Cin,x(jj)之间的社交关系强度, 指当蜂窝用户Cin,x(jj)完全自私时能够进行正常通信的最低效用要求;基站BSx处拥有蜂窝用户与跨区D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;

如果针对区内D2D对D(ii)和集合CD(ii)x任一蜂窝用户Cin,x(jj)的判断有任意一者不满足,直接转到第(4)步,否则,将after_D中对应D(ii)的效用值更新为uD(ii),将after_Cin,x中对应集合CD(ii)x任一蜂窝用户Cin,x(jj)的效用值更新为 判断after_D(D(ii))≥before_D(D(ii))是否满足,如果满足,且至少有一个是严格大于的,那么基站BSx置复用标志sin,x(Cin,x(jj),D(ii))=1,并更新

before_D=after_D

after_Cin,x=before_Cin,x转到第(4)步;否则,直接转到第(4)步;

(4)jj=jj+1,如果jj<F+1,转到第(3)步,否则,说明此时Cin,x中所有的蜂窝用户已经被D中跨区D2D对检测,ii=ii+1,如果ii<D+1,转到第(2)步,否则,表明D中所有的跨区D2D对已经完成链路选择;

2)、D中的跨区D2D对复用Cout,x中蜂窝用户的链路,x=1,2为小区编号;

设置链路资源使用均衡性门限ζ,根据跨区D2D对与小区x中使用非正交链路资源的蜂窝用户的复用标志sin,x,计算各跨区D2D对链路资源使用的均衡性,计算结果存储在E中,E为一个包含D个元素的一维向量,其中的元素为跨区D2D对两个小区链路资源使用的均衡性,计算公式为

其中,Lx指小区x中已经被跨区D2D对复用的蜂窝用户的链路数,可以由sin,x得到,比如,第1个跨区D2D对复用小区1中的蜂窝用户链路数为矩阵sin,x第1列中非0元素的个数;联盟形成博弈模型为Gout,x=(Nout,x,uout,x,Sout,x),其中 指博弈参与者,代表小区x中的边界蜂窝用户和跨区D2D对,uout,x指博弈参与者的效用值,Sout,x指联盟结构,是博弈参与者采取的策略,小区x中的边界蜂窝用户与跨区D2D对之间的链路复用标志用X×D阶矩阵sout,x表示,其中X=B,Q表示小区x中的边界蜂窝用户数,D表示跨区D2D对数;当跨区D2D对dn复用cout,x,w∈Cout,x的链路资源时,其中,w用来指示小区中的边界蜂窝用户,当x=1时,w=b,当x=2时,w=q,链路复用标志Sout,x(cout,x,w,dn)=1,否则sout,x(cout,x,w,dn)=0;

(1)初始化sout,x为全0矩阵,确定Cout,x中蜂窝用户进行合并的顺序;首先Cout,x中蜂窝用户单独处在一个联盟中的效用值,边界蜂窝用户cout,x,w单独处在联盟中的效用值定义为其中, 指蜂窝用户cout,x,w到小区x基站BSx的信道增益;然后,将Cout,x中蜂窝用户单独处在联盟中的效用值进行升序排列,排序结果分别存储在before_Cin,x中,其中,before_Cin,x为包含X个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值;排序后蜂窝用户的下标结果存储在Cout,x中,其中,Cout,x为包含X个元素的一维向量,其中的元素为[1,X]任一正整数,代表不同蜂窝用户的下标;同时,定义向量after_Cout,x,其中,after_Cout,x为包含X个元素的一维向量,并让after_Cout,x=before_Cout,x;iiout为[1,D]任一正整数,用来指示向量D中跨区D2D对的位置,并初始化iiout=1;

jjout,x为[1,X]任一正整数,用来指示向量Cout,x中蜂窝用户的位置,并初始化jjout,x=1;

(2)判断E(D(iiout))<ζ,如果是,action=1,否则,action=2,action用来指示跨区D2D尝试复用哪个小区边界蜂窝用户的链路资源;

(3)如果蜂窝用户Cout,action(jjout,action)的链路已经被其他跨区D2D对复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cout,action(jjout,action)的位置和发送功率通知跨区D2D对D(iiout);跨区D2D对D(iiout)可能会受到以下用户带来的干扰:i)蜂窝用户Cout,x(jjout,x),与Cout,x(jjout,x)共享链路的小区x中区内D2D对集Dout,x,r,假设一个蜂窝用户的链路至多只能被1个同类D2D对复用,Dout,x,r至多只存在一个D2D对,用gxr表示Dout,x,r是否有D2D对,gxr=0,

1,gxr=0表明Dout,x,r为空集,否则表示Dout,x,r中存在D2D对;ii)已经与跨区D2D对D(iiout)共享链路的小区x中的蜂窝用户集合 其中, 中属于Cin,x的蜂窝用户集为属于Cout,x的蜂窝用户集为 以及与 中蜂窝用户共享链路资源的D2D对 与CD(ii),out,x中蜂窝用户共享链路资源的D2D对 根据以上信息,跨区D2D对D(iiout)的效用值计算过程如下:a)记 中蜂窝用户的数目为nout,2,此时更新后的带宽为其中,|·|指集合中元素的个数;

b)跨区D2D对D(iiout)复用蜂窝用户Cout,x(jjout,x)链路时的效用值为其中, 为跨区D2D对D(iiout)的信道增益, 表示蜂窝用户Cout,x(jjout,x)到跨区D2D对D(iiout)的信道增益;同时,定义其中,dout,x,r为集合Dout,x,r非空时对应的D2D对;

c)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与 共享链路资源的D2D对,如果存在把该D2D对记为 且 否则此时跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值为其中, 和 分别为蜂窝用户 以及D2D对 到跨区D2D对D(iiout)的信道增益;

d)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与 共享链路资源的D2D对,如果存在,把该D2D对记为 且 否则据此,得到跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值为

其中, 和 分别为蜂窝用户 和D2D对 到跨区D2D对D(iiout)的信道增益;

e)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与共享链路资源的D2D对,如果存在把该D2D对记为 且 否则 据此,得到跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值为

其中, 和 分别为蜂窝用户 和D2D对 到跨区D2D对D(iiout)的信道增益;

综上,得到跨区D2D对D(iiout)复用蜂窝用户Cout,action(jjout,action)链路时的效用值为计算出效用值之后,跨区D2D对D(iiout)判断效用值是否满足其中, 指区内D2D对能够进行正常通信的最低效用要求;

并将判断结果上报给基站BSaction;同时基站BSaction计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值

其中, 表示跨区D2D对D(iiout)到基站BSaction的信道增益, 用来指示与蜂窝用户Cout,action(jjout,action)共享链路的区内D2D对din,action是否存在;

为跨区D2D对din,acion到基站BSx的信道增益;

计算出效用值之后,基站BSaction判断集合 任一蜂窝用户Cout,action(jjout,action)的效用值是否满足其中,μ指社交影响因子,指蜂窝用户Cout,action(jjout,action)对社交关系的重视程度,指跨区D2D对D(iiout)与蜂窝用户Cout,action(jjout,action)之间的社交关系强度, 指当蜂窝用户Cout,action(jjout,action)完全自私时能够进行正常通信的最低效用要求;基站BSaction处拥有蜂窝用户与跨区D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;

如果针对跨区D2D对D(iiout)和集合 任一蜂窝用户Cout,action(jjout,action)的判断有任意一者不满足,jjout,action=jjout,action+1,转到第(5)步,否则,将after_D中对应D(iiout)的效用值更新为 将after_Cout,action中对应集合 任一蜂窝用户Cout,action(jjout,action)的效用值更新为 判断after_D(D(iiout))≥before_D(D(iiout))after_Cout,action(Cout,action(jjout,action))≥before_Cout,action(Cout,action(jjout,action))是否满足,如果满足,且至少有一个是严格大于的,那么基站BSaction置复用标志sout,action(Cout,action(jjout,action),D(iiout))=1,并更新before_D=after_D

after_Cout,action=before_Cout,actionjjout,action=jjout,action+1,转到第(4)步;否则,jjout,action=jjout,action+1,转到第(5)步;

(4)计算跨区D2D对D(iiout)对两个小区链路资源使用的均衡性其中,Lx指小区x中已经被跨区D2D对复用的蜂窝用户的链路数,可以由sin,x和sout,action得到,比如,当action=1时,则L1为矩阵sin,x第1列中非0元素的个数加上矩阵sout,action第1列中非0元素的个数;判断E(D(iiout))<ζ是否满足,如果满足,action=1,否则,action=

2,如果jjout,action<Xout,action+1,转到第(3)步,否则,说明此时Cout,action中所有的蜂窝用户已经被D中跨区D2D对检测,iiout=iiout+1,如果iiout<D+1,jjout,action=1,转到第(3)步;

(5)如果jjout,action<Xout,action+1,转到第(3)步,否则,说明此时Cout,action中所有的蜂窝用户已经被D中跨区D2D对检测,iiout=iiout+1,如果iiout<D+1,jjout,action=1,转到第(3)步,否则,表明D中所有的跨区D2D对已经完成链路选择。

5.根据权利要求1或2所述的多小区场景下融合社交信息的D2D链路选择方法,其特征在于:两个小区的边界线分别为l1和l2,其直线方程为l1:y1=a1x1+b1和l2:y2=a2x2+b2,其中,a1,b1,a2,b2是直线l1和l2方程中的参数;对小区1的蜂窝用户进行分类的具体过程为:初始化Cin,1=φ,Cout,1=φ;对小区1中任意蜂窝用户c1j的坐标(x01j,y01j),如果y01j>a1x01j+b1,说明蜂窝用户c1j在边界线l1的右侧,更新Cout,1=Cout,1∪c1j,否则更新Cin,1=Cin,1∪c1j,直到对小区1中的所有蜂窝用户完成判断;对小区2的蜂窝用户进行分类的具体过程为:初始化Cin,2=φ,Cout,2=φ;对小区2中任意蜂窝用户c2m的坐标(x02m,y02m),如果y02m>a2x02m+b2,说明蜂窝用户c2m在边界线l2的右侧,更新Cin,2=Cin,2∪c2m,否则更新Cout,2=Cout,2∪c2m,直到对小区2中的所有蜂窝用户完成判断。

6.根据权利要求1所述的多小区场景下融合社交信息的D2D链路选择方法,其特征在于:为了保证链路资源使用的公平性,第二步和第三步可以根据网络中各类D2D对的对数或者随着时间交换次序,即小区内的D2D对保持静默,先对跨区D2D对进行链路选择,随后,根据获得的链路选择方案,再对小区内的D2D对进行链路选择。

说明书 :

多小区场景下融合社交信息的D2D链路选择方法

技术领域

[0001] 本发明涉及一种多小区场景下融合社交信息的D2D链路选择方案。具体地,针对多个小区共存的蜂窝网络,考虑网络中区内D2D对(进行D2D通信的两个用户处在同一个小区中)和跨区D2D对(进行D2D通信的两个用户分处在两个小区)复用蜂窝用户链路时的一种链路选择方法。

背景技术

[0002] 在下一代蜂窝网络中,移动数据流量呈现出迅猛的激增态势,业务内容也趋向于多元化。为了缓解基站的压力,并且充分利用网络中数量庞大且分布广泛的移动智能终端,D2D(Device-to-Device)通信受到人们越来越多的关注。D2D通信允许距离较近的终端用户直接通信而不经过基站的转接,可以有效降低时延、能量消耗以及提高网络吞吐量。特别地,当D2D对复用蜂窝用户的链路而不是由基站分配专门的链路时,网络的频谱效率更能明显提高。但是,链路复用会给双方带来严重的干扰,从而影响D2D通信的应用。因此,要想使D2D通信在下一代移动通信中得以应用,必须设计有效的资源管理机制对干扰进行协调。一种有效协调干扰的方法是合理选择D2D对所复用的蜂窝用户的链路,具体而言,当D2D对复用蜂窝用户的链路时,同时对D2D对和蜂窝用户遭受到的干扰进行衡量,来确定D2D对的最终链路选择方案。
[0003] 现有研究大多集中在单小区场景下D2D通信的链路选择,即D2D对和蜂窝用户分布在同一个小区中。在这种情况下,用户不会接收到来自其他小区的干扰,D2D对的链路选择由小区内的控制节点(如基站)集中完成或者由小区内的用户分布式完成。但是,一种更实际的场景为多小区D2D通信场景,D2D对与蜂窝用户分处在多小区中。这种情况下,由于小区间频谱的复用,小区间的干扰将不容忽视。但是,在考虑D2D对的链路选择问题时,一方面,进行D2D通信的两个用户处在相邻两个小区中的场景居多,即两个用户分别处在相邻的两个小区边缘,此时,对这类跨区D2D对的链路选择仅仅涉及到这两个小区基站之间的交互,其他小区对跨区D2D对链路选择的影响仅仅是给用户带来一定的干扰。另一方面,考虑到小区边界用户使用正交的链路资源以及其他小区的用户到这两个小区用户之间的距离较大,在研究的过程中可以忽略来自其他小区的干扰,此时的多小区D2D场景便退化为两个小区共存的D2D通信场景。此外,在考虑跨区D2D对链路选择时,跨区D2D对对两个小区中链路资源使用的均衡性不能忽视。2016年在China Communications第13卷第4期的30到37页发表的“An Advanced Spectrum Allocation for the Across-cell D2D communication in LTE Network with Higher throughput”就根据相邻两个小区流量的不同对跨区D2D对的频谱分配进行了研究,但是该论文仅仅考虑了给跨区D2D对分配频谱资源,而没有明确给出某一D2D对应该具体使用哪些频谱资源。
[0004] 目前,对多小区场景下D2D通信的链路选择主要集中在对用户物理性能的研究上。实际上,网络中各式各样的设备都是由人所携带,并且在很大程度上设备的拥有具有唯一化,一人一设备。这样一来,用户之间形成的稳定的社交关系便会影响蜂窝用户与D2D对之间的链路共享方案。比如,针对同一个蜂窝用户而言,由于其与D2D对社交关系的存在,该蜂窝用户对不同D2D对的干扰容忍程度会有所不同。这样一来,原本能够贡献链路给D2D对的蜂窝用户的正常通信需求就有可能满足不了,此时该D2D对就不能复用该蜂窝用户的链路。
2015年发表在IEEE Transactions on Wireless Communications第14卷第11期第5927到
5940页的“Context-Aware Small Cell Networks:How Social Metrics Improve Wireless Resource Allocation”就研究了用户之间的社交关系在小蜂窝场景下频谱资源分配过程中的应用。因此,在研究多小区D2D通信场景下的链路选择方案时,用户之间的社交关系不容忽视。

发明内容

[0005] 本发明针对多小区D2D通信场景下的D2D对链路选择问题,基于效用不可转移联盟形成博弈提出了一种基于物理-社交信息的链路选择方案。该方案分析了蜂窝用户和D2D对之间的社交关系对蜂窝用户贡献链路时的影响,在满足多小区资源使用均衡性的前提下,通过让蜂窝用户与D2D对形成的联盟结构,最终确定D2D对的链路选择方案。与现有技术相比,本发明将应用场景从单小区拓展到了多小区,同时,本发明不但考虑了用户之间社交关系对链路选择的影响,还保证了资源使用的均衡性。
[0006] 本发明是通过以下技术方案实现的:
[0007] 一种多小区场景下融合社交信息的D2D链路选择方法,其特征在于包括以下步骤:
[0008] 第一步:将多小区D2D通信场景退化为两个蜂窝小区共存的D2D通信场景进行研究,基站根据网络中用户的位置分布对用户进行分类,以便用户对干扰的区分;
[0009] 第二步:采用效用不可转移联盟形成博弈对两个用户都处在同一个小区的区内D2D对进行链路选择,此时用户不受来自另一小区用户的干扰,在两个小区的区内D2D对的链路选择完成之后,进入第三步;
[0010] 第三步:对两个用户处在两个小区的跨区D2D对进行链路选择,在链路选择的过程中考虑跨区D2D对对两个小区链路资源使用的均衡性。
[0011] 具体过程如下:第一步:将多小区D2D通信场景退化为两个小区共存的D2D通信场景进行研究。对于一个存在两个蜂窝小区的网络,小区1中存在C1个蜂窝用户构成小区1蜂窝用户集 C1为正整数,用以表示小区
1中的蜂窝用户数,j为[1,C1]范围内任一正整数,D1个区内D2D对,构成小区1中区内D2D对集D1为正整数,用以表示小区1中的D2D对数,t为[1,D1]范围内任一
正整数;小区2中存在C2个蜂窝用户 构成小区2蜂窝用户集
C2为正整数,用以表示小区2中的蜂窝用户数,m为[1,C2]范围内任
一正整数,D2个区内D2D对,构成小区2中区内D2D对集 D2为正整
数,用以表示小区2中的D2D对数,l为[1,D2]范围内任一正整数;两个小区间存在D个跨区D2D对,构成跨区D2D对集 D为正整数,用以表示跨区D2D对数,n为[1,
D]范围内任一正整数。两个小区的边界线分别为l1和l2,其直线方程为l1:y1=a1x1+b1和l2:
y2=a2x2+b2,其中,a1,b1,a2,b2是直线l1和l2方程中的参数。根据边界线l1和l2,对网络中的蜂窝用户进行分类,确定小区1与小区2中的小区间蜂窝用户集 和 以及小区边界蜂窝用户集 和 对小区1的蜂窝用户进行分类的具体过程为:初始化
给定小区1中蜂窝用户c1的坐标(x01,y01),如果y01>a1x01+b1,说明蜂窝
用户c1在边界线l1的右侧,更新 否则更新 直到对小区1中的
所有蜂窝用户完成判断。对小区2的蜂窝用户进行分类的具体过程为:初始化
给定小区2中蜂窝用户c2的坐标(x02,y02),如果y02>a2x02+b2,说明蜂窝
用户c2在边界线l2的右侧,更新 否则更新 直到对小区2中
的所有蜂窝用户完成判断。
两个集合中的对应蜂窝用户使用相同的链路资源,F为正整数,用以表示两个小区中使用非正交链路的蜂窝用户数,f为[1,F]范围内任一正整数; B
为正整数,用以表示小区1中的边界蜂窝用户数,满足B+F=C1,b为[1,B]范围内任一正整数, Q为正整数,用以表示小区2中的边界蜂窝用户数,满
足Q+F=C2,q为[1,Q]范围内任一正整数。 和 中的蜂窝用户使用相互正交的链路资源。此外,所有的蜂窝用户和D2D对的发送功率相同且保持不变,分别用pc和pd表示,信号接收者处的加性高斯白噪声的功率为N。
[0012] 第二步:效用不可转移联盟形成博弈模型,对 中的区内D2D对在小区1中进行链路选择,同时对 中的区内D2D对在小区2中进行链路选择。联盟形成博弈模型为其中 指博弈参与者,代表小区x中的区内D2D对和蜂窝用户,
x为小区编号,x=1,2,ux指小区x中博弈参与者的效用值, 指联盟结构,是博弈参与者采取的策略,联盟结构 是不同的联盟所构成的集合,即 其中,K为正
整数,用以表示联盟结构 中的联盟个数,k为[1,K]范围内任一正整数;小区x中的蜂窝用户与区内D2D对之间的链路复用标志用Cx×Dx阶矩阵sx表示,其中Cx表示小区x中的蜂窝用户数,Dx表示小区x中的D2D对数。s1(c1j,d1t)=1表明小区1中蜂窝用户c1j与区内D2D对d1t共享链路,否则两者不共享链路。链路选择的过程如下:
[0013] (1)初始化sx为全0矩阵,确定区内D2D对和蜂窝用户进行合并的顺序:首先计算各区内D2D对和蜂窝用户单独处在一个联盟中的效用值,对于小区x中区内D2D对dxr,r用来指示小区中的D2D对,当x=1时,r=t,当x=2时,r=l,其单独处在联盟中的效用值定义为[0014]
[0015] 其中, 指区内D2D对dxr到小区x基站BSx的信道增益;对于蜂窝用户cx,rr,rr用来指示小区中的蜂窝用户,当x=1时,rr=j,当x=2时,rr=m,其单独处在联盟中的效用值定义为
[0016]
[0017] 其中, 指蜂窝用户cx,rr到小区x基站BSx的信道增益;然后,将小区x中区内D2D对以及蜂窝用户单独处在联盟中的效用值分别进行升序排列,排序结果分别存储在before_Dx和before_Cx中,其中,before_Dx为包含Dx个元素的一维向量,向量中的每一个元素代表一个区内D2D对单独处在联盟中的效用值;before_Cx为包含Cx个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值。排序后用户的下标结果分别存储在Dx和Cx中,其中,Dx为包含Dx个元素的一维向量,其中的元素为[1,Dx]任一正整数,代表不同区内D2D对的下标;Cx为包含Cx个元素的一维向量,其中的元素为[1,Cx]任一正整数,代表不同蜂窝用户的下标。同时,定义向量after_Dx和after_Cx,其中,after_Dx为包含Dx个元素的一维向量,after_Cx为包含Cx个元素的一维向量,并让after_Dx=before_Dx和after_Cx=before_Cx。iix为[1,Dx]任一正整数,用来指示向量Dx中小区x中的区内D2D对的位置,并初始化iix=1。
[0018] (2)jjx为[1,Cx]任一正整数,用来指示向量Cx中小区x中的蜂窝用户的位置,并初始化jjx=1。
[0019] (3)如果蜂窝用户Cx(jjx)的链路已经被其他区内D2D对所复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cx(jjx)的位置和发送功率通知区内D2D对Dx(iix),此时,根据已经与区内D2D对Dx(iix)共享链路的蜂窝用户和蜂窝用户Cx(jjx)构成的集合 计算区内D2D对Dx(iix)的效用值为
[0020]
[0021] 其中, 指区内D2D对Dx(iix)发送者到其接收者的信道增益, 指蜂窝用户c到区内D2D对Dx(iix)接收者的信道增益, 指更新后的带
宽, 指集合 中元素的个数;
[0022] 计算出效用值之后,区内D2D对Dx(iix)判断效用值是否满足
[0023]
[0024] 其中, 指区内D2D对能够进行正常通信的最低效用要求;
[0025] 并将判断的结果上报给基站BSx;同时基站BSx计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值为
[0026]
[0027] 其中, 为蜂窝用户Cx(jjx)到基站BSx的信道增益, 为区内D2D对Dx(iix)到基站BSx的信道增益;
[0028] 计算出效用值之后,基站BSx判断集合 任一蜂窝用户Cx(jjx)的效用值是否满足
[0029]
[0030] 其中,μ指社交影响因子,指蜂窝用户Cx(jjx)对社交关系的重视程度,指区内D2D对Dx(iix)与蜂窝用户Cx(jjx)之间的社交关系强度, 指当蜂窝用户Cx(jjx)完全自私时能够进行正常通信的最低效用要求;基站BSx处拥有蜂窝用户与D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;
[0031] 如果针对区内D2D对Dx(iix)和集合 任一蜂窝用户Cx(jjx)的判断有任意一者不满足,直接转到第(4)步,否则,将after_Dx中对应Dx(iix)的效用值更新为 将after_Cx中对应集合 任一蜂窝用户Cx(jjx)的效用值更新为 判断
[0032] after_Dx(Dx(iix))≥before_Dx(Dx(iix))
[0033]
[0034] 是否满足,如果满足,且至少有一个是严格大于的,那么基站BSx置复用标志sx(Cx(jjx),Dx(iix))=1,并更新
[0035] before_Dx=after_Dx
[0036] after_Cx=before_Cx
[0037] 然后转到第(4)步;否则,直接转到第(4)步;
[0038] (4)jjx=jjx+1,如果jjx
[0039] 基站BSx此时已经拥有区内D2D对的链路选择方案,在区内D2D对进行通信的时候,基站BSx就会分配相应的链路资源给他们;两个小区的基站实时进行信息交互,来确认两个小区对其小区内的区内D2D对的链路选择是否结束;当两个小区都已经完成对区内D2D对的链路选择时,进入第三步,否则继续第二步。
[0040] 第三步:两个小区的基站进行交互来确定 中的跨区D2D对的链路选择方案。
[0041] 1)、 中的跨区D2D对尝试复用 中蜂窝用户的链路,其中,x=1,2,为小区编号。联盟形成博弈模型为 其中 指博弈参与者,代表小区x中的蜂窝用户和跨区D2D对,uin,x指博弈参与者的效用值, 指联盟结构,是博弈参与者采取的策略,小区x中的蜂窝用户与跨区D2D对之间的链路复用标志用F×D阶矩阵sin,x表示,其中F表示小区x中使用非正交链路的蜂窝用户数,D表示跨区D2D对数。当跨区D2D对dn复用 的链路资源时,链路复用标志sin,x(cin,x,f,dn)=1,否则sin,x(cin,x,f,dn)=
0。
[0042] (1)初始化sin,x为全0矩阵,确定跨区D2D对和 中蜂窝用户进行合并的顺序;首先计算各跨区D2D对和 中蜂窝用户单独处在联盟中的效用值,跨区D2D对dn单独处在联盟中的效用值定义为
[0043]
[0044] 其中, 指跨区D2D对dn到基站BS1的信道增益;蜂窝用户cin,x,f单独处在联盟中的效用值定义为
[0045]
[0046] 其中, 指蜂窝用户cin,x,f到小区x基站BSx的信道增益;然后,将跨区D2D对以及 中蜂窝用户单独处在联盟中的效用值分别进行升序排列,排序结果分别存储在before_D和before_Cinx中,其中,before_D为包含D个元素的一维向量,向量中的每一个元素代表一个跨区D2D对单独处在联盟时的效用值;before_Cin,x为包含F个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值。排序后用户的下标结果分别存储在D和Cin,x中,其中,D为包含D个元素的一维向量,其中的元素为[1,D]任一正整数,代表不同跨区D2D对的下标;Cin,x为包含F个元素的一维向量,其中的元素为[1,F]任一正整数,代表不同蜂窝用户的下标。同时,定义向量after_D和after_Cin,x,其中,after_D为包含D个元素的一维向量,after_Cin,x为包含F个元素的一维向量,并让before_Dout=after_Dout,after_Dout=before_D,after_D=before_D和,after_Cin,x=before_Cin,x。ii为[1,D]任一正整数,用来指示向量D中跨区D2D对的位置,并初始化ii=1。
[0047] (2)jj为[1,F]任一正整数,用来指示向量Cin,x中蜂窝用户的位置,并初始化jj=1。
[0048] (3)如果蜂窝用户Cin,x(jj)的链路已经被其他跨区D2D对复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cin,x(jj)的位置和发送功率通知跨区D2D对D(ii)。跨区D2D对D(ii)可能会受到以下用户带来的干扰:i)蜂窝用户Cin,x(jj),与Cin,x(jj)共享链路的小区x中区内D2D对集 假设一个蜂窝用户的链路至多只能被1个同类D2D对复用, 至多只存在一个D2D对,用vvxr表示 是否有D2D对,vvxr=0,1,vvxr=0表明 为空集,否则表示中存在D2D对;ii)已经与跨区D2D对D(ii)共享链路的小区x中的蜂窝用户集合 其中,中属于 的蜂窝用户集为 属于 的蜂窝用户集为 以及与中蜂窝用户共享链路资源的D2D对 与 中蜂窝用户共享链路资源的
D2D对 根据以上信息,跨区D2D对D(ii)的效用值计算过程如下:
[0049] a)记 中蜂窝用户的数目为numout,2,更新后的带宽为
[0050]
[0051] 其中,|·|指集合中元素的个数;
[0052] b)跨区D2D对D(ii)复用蜂窝用户cin,x,f的链路时的效用值为
[0053]
[0054] 其中,hD(ii)为跨区D2D对D(ii)的信道增益, 表示蜂窝用户cin,x,f到跨区D2D对D(ii)的信道增益;同时,定义
[0055]
[0056] 其中,dxr为集合 非空时对应的D2D对;
[0057] c)计算跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值:记 中任意一个蜂窝用户为cD(ii),in,x,用qqD(ii),in,x来指示 中是否存在与cD(ii),in,x共享链路资源的D2D对,如果存在把该D2D对记为dD(ii),in,x,且qqD(ii),in,x=1,否则qqD(ii),in,x=0;此时跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值为
[0058]
[0059] 其中, 和 分别为蜂窝用户cD(ii),in,x以及D2D对dD(ii),in,x到跨区D2D对D(ii)的信道增益。
[0060] d)计算跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为cD(ii),out,1,用zD(ii),oxt,1来指示 中是否存在与cD(ii),out,x共享链路资源的D2D对,如果存在,把该D2D对记为dD(ii),out,1,且zD(ii),out,1=1,否则zD(ii),out,1=
0;据此,得到跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值为
[0061]
[0062] 其中, 和 分别为蜂窝用户cD(ii),out,1和D2D对dD(ii),out,1到跨区D2D对D(ii)的信道增益。
[0063] e)计算跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为cD(ii),out,2,用zzD(ii),out,2来指示 中是否存在与cD(ii),out,2共享链路资源的D2D对,如果存在把该D2D对记为dD(ii),out,2,且zzD(ii),out,2=1,否则zzD(ii),out,2=0;据此,得到跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值为:
[0064]
[0065] 其中, 和 分别为蜂窝用户cD(ii),out,2和D2D对dD(ii),out,2到跨区D2D对D(ii)的信道增益。
[0066] 综上,得到跨区D2D对D(ii)复用蜂窝用户Cin,x(jj)链路时的效用值为
[0067] uD(ii)=u1+u2+u3+u4
[0068] 计算出效用值之后,跨区D2D对D(ii)判断效用值是否满足
[0069]
[0070] 其中, 指区内D2D对能够进行正常通信的最低效用要求;
[0071] 并将判断结果上报给基站BSx;同时基站BSx计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值为
[0072]
[0073] 其中, 表示跨区D2D对D(ii)到基站BSx的信道增益, 用来指示与蜂窝用户Cin,x(jj)共享链路的区内D2D对din,x是否存在; 为区内D2D对din,x到基站BSx的信道增益。
[0074] 计算出效用值之后,基站BSx判断集合 任一蜂窝用户Cin,x(jj)的效用值是否满足
[0075]
[0076] 其中,μ指社交影响因子,指蜂窝用户Cin,x(jj)对社交关系的重视程度,指区内D2D对D(ii)与蜂窝用户Cin,x(jj)之间的社交关系强度, 指当蜂窝用户Cin,x(jj)完全自私时能够进行正常通信的最低效用要求;基站BSx处拥有蜂窝用户与跨区D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;
[0077] 如果针对区内D2D对D(ii)和集合 任一蜂窝用户Cin,x(jj)的判断有任意一者不满足,直接转到第(4)步,否则,将after_D中对应D(ii)的效用值更新为uD(ii),将after_Cin,x中对应集合 任一蜂窝用户Cin,x(jj)的效用值更新为 判断
[0078] after_D(D(ii))≥before_D(D(ii))
[0079]
[0080] 是否满足,如果满足,且至少有一个是严格大于的,那么基站BSx置复用标志sin,x(Cin,x(jj),D(ii))=1,并更新
[0081] before_D=after_D
[0082] after_Cin,x=before_Cin,x
[0083] 转到第(4)步;否则,直接转到第(4)步;
[0084] (4)jj=jj+1,如果jj
[0085] 2)、 中的跨区D2D对复用 中蜂窝用户的链路,x=1,2为小区编号。
[0086] 设置链路资源使用均衡性门限ζ,根据跨区D2D对与小区x中使用非正交链路资源的蜂窝用户的复用标志sin,x,计算各跨区D2D对链路资源使用的均衡性,计算结果存储在E中,E为一个包含D个元素的一维向量,其中的元素为跨区D2D对两个小区链路资源使用的均衡性e,其计算公式为
[0087]
[0088] 其中,Lx指小区x中已经被跨区D2D对复用的蜂窝用户的链路数,可以由sin,x得到,比如,第1个跨区D2D对复用小区1中的蜂窝用户链路数为矩阵sin,x第1列中非0元素的个数。联盟形成博弈模型为 其中 指博弈参与者,代
表小区x中的边界蜂窝用户和跨区D2D对,uout,x指博弈参与者的效用值, 指联盟结构,是博弈参与者采取的策略,小区x中的边界蜂窝用户与跨区D2D对之间的链路复用标志用X×D阶矩阵sout,x表示,其中X=B,Q表示小区x中的边界蜂窝用户数,D表示跨区D2D对数。当跨区D2D对dn复用 的链路资源时,其中,w用来指示小区中的边界蜂窝用户,当x=
1时,w=b,当x=2时,w=q,链路复用标志sout,x(cout,x,w,dn)=1,否则sout,x(cout,x,w,dn)=0;
[0089] (1)初始化sout,x为全0矩阵,确定 中蜂窝用户进行合并的顺序;首先 中蜂窝用户单独处在一个联盟中的效用值,边界蜂窝用户cout,x,w单独处在联盟中的效用值定义为
[0090]
[0091] 其中, 指蜂窝用户cout,x,w到小区x基站BSx的信道增益;然后,将 中蜂窝用户单独处在联盟中的效用值进行升序排列,排序结果分别存储在before_Cin,x中,其中,before_Cin,x为包含X个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值。排序后蜂窝用户的下标结果存储在Cout,x中,其中,Cout,x为包含X个元素的一维向量,其中的元素为[1,X]任一正整数,代表不同蜂窝用户的下标。同时,定义向量after_Cout,x,其中,after_Cout,x为包含X个元素的一维向量,并让after_Cout,x=before_Cout,x。iiout为[1,D]任一正整数,用来指示向量D中跨区D2D对的位置,并初始化iiout=1;jjout,x为[1,X]任一正整数,用来指示向量Cout,x中蜂窝用户的位置,并初始化jjout,x=1。
[0092] (2)判断E(D(iiout))<ζ,如果是,action=1,否则,action=2,action用来指示跨区D2D尝试复用哪个小区边界蜂窝用户的链路资源。
[0093] (3)如果蜂窝用户Cout,action(jjout,action)的链路已经被其他跨区D2D对复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cout,action(jjout,action)的位置和发送功率通知跨区D2D对D(iiout)。跨区D2D对D(iiout)可能会受到以下用户带来的干扰:i)蜂窝用户Cout,x(jjout,x),与Cout,x(jjout,x)共享链路的小区x中区内D2D对集 假设一个蜂窝用户的链路至多只能被1个同类D2D对复用, 至多只存在一个D2D对,用gxr表示 是否有D2D对,gxr=0,1,gxr=0表明 为空集,否则表示 中存在D2D对;ii)已经与跨区D2D对D(iiout)共享链路的小区x中的蜂窝用户集合 其中, 中属于 的蜂窝
用户集为 属于 的蜂窝用户集为 以及与 中蜂窝用户共享
链路资源的D2D对 与 中蜂窝用户共享链路资源的D2D对 根据
以上信息,跨区D2D对D(iiout)的效用值计算过程如下:
[0094] a)记 中蜂窝用户的数目为nout,2,此时更新后的带宽为
[0095]
[0096] 其中,|·|指集合中元素的个数;
[0097] b)跨区D2D对D(iiout)复用蜂窝用户Cout,x(jjout,x)链路时的效用值为
[0098]
[0099] 其中, 为跨区D2D对D(iiout)的信道增益, 表示蜂窝用户Cout,x(jjout,x)到跨区D2D对D(iiout)的信道增益;同时,定义
[0100]
[0101] 其中,dou,x,r为集合 非空时对应的D2D对;
[0102] c)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与
共享链路资源的D2D对,如果存在把该D2D对记为 且 否则
此时跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值为
[0103]
[0104] 其中, 和 分别为蜂窝用户 以及D2D对到跨区D2D对D(iiout)的信道增益。
[0105] d)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与
共享链路资源的D2D对,如果存在,把该D2D对记为 且 否
则 据此,得到跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效
用值为
[0106]
[0107] 其中, 和 分别为蜂窝用户 和D2D对到跨区D2D对D(iiout)的信道增益。
[0108] e)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与
共享链路资源的D2D对,如果存在把该D2D对记为 且 否
则 据此,得到跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效
用值为
[0109]
[0110] 其中, 和 分别为蜂窝用户 和D2D对到跨区D2D对D(iiout)的信道增益。
[0111] 综上,得到跨区D2D对D(iiout)复用蜂窝用户Cout,action(jjout,action)链路时的效用值为
[0112]
[0113] 计算出效用值之后,跨区D2D对D(iiout)判断效用值是否满足
[0114]
[0115] 其中, 指区内D2D对能够进行正常通信的最低效用要求;
[0116] 并将判断结果上报给基站BSaction;同时基站BSaction计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值
[0117]
[0118] 其中, 表示跨区D2D对D(iiout)到基站BSaction的信道增益,用来指示与蜂窝用户Cout,action(jjout,action)共享链路的区内D2D对din,action是否存在;
为跨区D2D对din,action到基站BSx的信道增益。
[0119] 计算出效用值之后,基站BSaction判断集合 任一蜂窝用户Cout,action(jjout,action)的效用值是否满足
[0120]
[0121] 其中,μ指社交影响因子,指蜂窝用户Cout,action(jjout,action)对社交关系的重视程度, 指跨区D2D对D(iiout)与蜂窝用户Cout,action(jjout,action)之间的社交关系强度, 指当蜂窝用户Cout,action(jjout,action)完全自私时能够进行正常通信的最低效用要求;基站BSaction处拥有蜂窝用户与跨区D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;
[0122] 如果针对跨区D2D对D(iiout)和集合 任一蜂窝用户Cout,action(jjout,action)的判断有任意一者不满足,jjout,action=jjout,action+1,转到第(5)步,否则,将after_D中对应D(iiout)的效用值更新为 将after_Cout,action中对应集合 任一蜂窝用户Cout,action(jjout,action)的效用值更新为 判断
[0123] after_D(D(iiout))≥before_D(D(iiout))
[0124] after_Cout,action(Cout,action(jjout,action))≥before_Cout,action(Cout,action(jjout,action))
[0125]
[0126] 是否满足,如果满足,且至少有一个是严格大于的,那么基站BSaction置复用标志sout,action(Cout,action(jjout,action),D(iiout))=1,并更新
[0127] before_D=after_D
[0128] after_Cout,action=before_Cout,action
[0129] jjout,action=jjout,action+1,转到第(4)步;否则,jjout,action=jjout,action+1,转到第(5)步;
[0130] (4)计算跨区D2D对D(iiout)对两个小区链路资源使用的均衡性
[0131]
[0132] 其中,Lx指小区x中已经被跨区D2D对复用的蜂窝用户的链路数,可以由sin,x和sout,action得到;当action=1时,则L1为矩阵sin,x第1列中非0元素的个数加上矩阵sout,action第1列中非0元素的个数。判断E(D(iiout))<ζ是否满足,如果满足,action=1,否则,action=2,如果jjout,action
[0133] (5)如果jjout,action
[0134] 与现有技术相比,本发明具有以下有益效果:
[0135] 1.场景更加实际。不仅考虑了两个用户处在同一个小区的区内D2D对的链路选择,也考虑了两个用户分处两个小区的跨区D2D对的链路选择,更加符合实际的通信场景。同时,分析了用户之间的社交关系在链路选择中的作用。各式设备都是由人来携带,并且是专人保管,人们之间的社交关系在一定程度上会影响设备之间的交互,比如是否同意基站将自身已经占用的链路分配给其他用户。
[0136] 2.链路资源使用均衡性提高。当两个用户分别处在两个小区中时,两个小区都承担着为其贡献链路的责任,而不仅仅两方中的某一方独自承担。在对跨区D2D对进行链路选择的时候,当其尝试复用 或 中蜂窝用户的链路时,都会对两个小区链路资源的均衡性进行判断,以确保两个小区能够共同为跨区D2D对提供链路。
[0137] 3.实现复杂度低,信令开销小。一方面,采用分布式的联盟形成博弈进行链路选择,将所需要的计算从基站转嫁一部分到终端设备上,一定程度上降低了链路选择实现的复杂度。对于D2D对而言,只需要知道蜂窝用户的发送功率,蜂窝用户到其接收者的信道增益,并且对于已经被同类D2D对复用的蜂窝用户的链路,D2D对没有必要知道这些蜂窝用户到其接收者的信道增益;对于蜂窝用户而言,由于其干扰承受者为基站,其就没有必要知道网络中的其他信息;对于基站而言,其需要维护蜂窝用户与D2D对之间的社交关系表、D2D对的发送功率以及D2D对发送者到其的信道增益。由于网络中的设备需要实时与基站进行信息交互,这些信息都比较容易获取。另一方面,整个链路选择过程被分成两步完成,首先对区内D2D对进行链路选择,其次再对跨区D2D对进行链路选择,降低了D2D对之间、蜂窝用户与D2D对之间干扰的复杂性,从而降低了最终算法的复杂度。
[0138] 本发明在进行链路选择时,考虑了蜂窝用户与D2D对之间的社交关系强度对蜂窝用户贡献链路时的影响,并将这种影响建模在蜂窝用户的最低通信需求上。本发明所提供的链路选择方法实现简单,信令开销小,且保证了跨区D2D对使用两个小区链路资源的均衡性。

附图说明

[0139] 图1为本发明中系统模型图。
[0140] 图2为本发明的流程图。
[0141] 图3为本发明的方法中小区内D2D对链路选择流程图。
[0142] 图4为本发明的方法中跨区D2D对复用 和 中蜂窝用户链路流程图。
[0143] 图5为本发明的方法跨区D2D对复用 和 中蜂窝用户链路流程图。
[0144] 图6为仿真实验用户的位置分布图。
[0145] 图7为小区1中区内D2D对效用值比较图。
[0146] 图8为小区2中区内D2D对效用值比较图。
[0147] 图9为本发明中跨区D2D对效用值比较图。
[0148] 图10为不考虑链路使用均衡性的跨区D2D对效用值比较图。
[0149] 图11为两种方案下跨区D2D对链路资源均衡性比较图。

具体实施方式

[0150] 下面结合附图,对本发明的技术方案进行详细的说明。
[0151] 如图1至图5所示,本发明的一种多小区场景下融合社交信息的D2D链路选择方案,包括以下步骤:
[0152] 第一步:对于一个如图1中(a)所示多小区的蜂窝网络,每个小区中都存在着蜂窝用户和D2D对,并且相邻两个小区还会存在跨区D2D对,如存在于小区1和小区2之间的跨区D2D对d12,存在于小区3和小区4之间的跨区D2D对d34,D2D对可以复用蜂窝用户的链路进行通信。对于跨区D2D对d12而言,d12的两个用户处在相邻的两个小区中,即小区1和小区2。此时,对d12的链路选择仅仅涉及到小区1和小区2基站之间的交互,其他小区仅仅会对d12带来一定的干扰。但是由于小区边界用户使用正交的链路资源,其他小区的用户到小区1和小区2中的用户距离较大,这些干扰可以直接忽略,此时的多小区D2D场景便退化为两个小区共存的D2D通信场景,如图1中(b)所示。
[0153] 小区1中存在C1个蜂窝用户 构成小区1蜂窝用户集C1为正整数,用以表示小区1中的蜂窝用户数,j为[1,C1]范围内任
一正整数,D1个区内D2D对,构成小区1中D2D对集 D1为正整数,用以表
示小区1中的D2D对数,t为[1,D1]范围内任一正整数;小区2中存在C2个蜂窝用户
构成小区2蜂窝用户集 C2为正整数,用以表示小
区2中的蜂窝用户数,m为[1,C2]范围内任一正整数,D2个区内D2D对,构成小区2中D2D对集D2为正整数,用以表示小区2中的D2D对数,l为[1,D2]范围内任一
正整数;两个小区间存在D个跨区D2D对,构成跨区D2D对集 D为正整
数,用以表示跨区D2D对数,n为[1,D]范围内任一正整数。两个小区的边界线分别为l1和l2,其直线方程为l1:y1=a1x1+b1和l2:y2=a2x2+b2,其中,a1,b1,a2,b2是直线l1和l2方程中的参数。根据边界线l1和l2,对网络中的蜂窝用户进行分类,确定小区1与小区2中小区间蜂窝用户集 和 以及小区边界蜂窝用户集 和 对小区1的蜂窝用户进行分类的具体
过程为:初始化 给定小区1中蜂窝用户c1的坐标(x01,y01),如果y01>a1x01+
b1,说明蜂窝用户c1在边界线l1的右侧,更新 否则更新 直到对
小区1中的所有蜂窝用户完成判断。同时,对小区2的蜂窝用户进行分类的具体过程为:初始化 给定小区2中蜂窝用户c2的坐标(x02,y02),如果y02>a2x02+b2,说明蜂
窝用户c2在边界线l2的右侧,更新 否则更新 直到对小区2
中的所有蜂窝用户完成判断。
两个集合中的对应蜂窝用户使用相同的链路资源,F为正整数,用以表示两个小区中使用非正交链路的蜂窝用户数,f为[1,F]范围内任一正整数; B
为正整数,用以表示小区1中的边界蜂窝用户数,满足B+F=C1,b为[1,B]范围内任一正整数, Q为正整数,用以表示小区2中的边界蜂窝用户数,满
足Q+F=C2,q为[1,Q]范围内任一正整数。 和 中的蜂窝用户使用相互正交的链路资源。此外,所有的蜂窝用户和D2D对的发送功率相同且保持不变,分别用pc和pd表示,信号接收者处的加性高斯白噪声的功率为N。
[0154] 图2给出了本发明中D2D对链路选择的流程图。
[0155] 第二步:对 中的区内D2D对在小区1中进行链路选择,同时对 中的区内D2D对在小区2中进行链路选择。流程图如图3所示。效用不可转移联盟形成博弈模型为其中 指博弈参与者,代表小区x中的区内D2D对和蜂窝用户,
x为小区编号,x=1,2,ux指小区x中博弈参与者的效用值, 指联盟结构,是博弈参与者采取的策略,联盟结构 是不同的联盟所构成的集合,即 其中,K为正
整数,用以表示联盟结构 中的联盟个数,k为[1,K]范围内任一正整数;小区x中的蜂窝用户与区内D2D对之间的链路复用标志用Cx×Dx阶矩阵sx表示,其中Cx表示小区x中的蜂窝用户数,Dx表示小区x中的D2D对数。sx(cxj,dxt)=1表明小区x中蜂窝用户cxj与区内D2D对dxt共享链路,否则两者不共享链路。s1(c1j,d1t)=1表明小区1中蜂窝用户c1j与区内D2D对d1t共享链路,否则两者不共享链路。链路选择的过程如下:
[0156] (1)初始化sx为全0矩阵,确定区内D2D对和蜂窝用户进行合并的顺序:首先计算各区内D2D对和蜂窝用户单独处在一个联盟中的效用值,对于小区x中区内D2D对dxr,r用来指示小区中的D2D对,当x=1时,r=t,当x=2时,r=l,其单独处在联盟中的效用值定义为[0157]
[0158] 其中, 指区内D2D对dxr到小区x基站BSx的信道增益;对于蜂窝用户cx,rr,rr用来指示小区中的蜂窝用户,当x=1时,rr=j,当x=2时,rr=m,其单独处在联盟中的效用值定义为
[0159]
[0160] 其中, 指蜂窝用户cx,rr到小区x基站BSx的信道增益;然后,将小区x中区内D2D对以及蜂窝用户单独处在联盟中的效用值分别进行升序排列,排序结果分别存储在before_Dx和before_Cx中,其中,before_Dx为包含Dx个元素的一维向量,向量中的每一个元素代表一个区内D2D对单独处在联盟中的效用值;before_Cx为包含Cx个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值。排序后用户的下标结果分别存储在Dx和Cx中,其中,Dx为包含Dx个元素的一维向量,其中的元素为[1,Dx]任一正整数,代表不同区内D2D对的下标;Cx为包含Cx个元素的一维向量,其中的元素为[1,Cx]任一正整数,代表不同蜂窝用户的下标。同时,定义向量after_Dx和after_Cx,其中,after_Dx为包含Dx个元素的一维向量,after_Cx为包含Cx个元素的一维向量,并让after_Dx=before_Dx和after_Cx=before_Cx。iix为[1,Dx]任一正整数,用来指示向量Dx中小区x中的区内D2D对的位置,并初始化iix=1。
[0161] (2)jjx为[1,Cx]任一正整数,用来指示向量Cx中小区x中的蜂窝用户的位置,并初始化jjx=1。
[0162] (3)如果蜂窝用户Cx(jjx)的链路已经被其他区内D2D对所复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cx(jjx)的位置和发送功率通知区内D2D对Dx(iix),此时,根据已经与区内D2D对Dx(iix)共享链路的蜂窝用户和蜂窝用户Cx(jjx)构成的集合 计算区内D2D对Dx(iix)的效用值为
[0163]
[0164] 其中, 指区内D2D对Dx(iix)发送者到其接收者的信道增益, 指蜂窝用户c到区内D2D对Dx(iix)接收者的信道增益, 指更新后的带
宽, 指集合 中元素的个数;
[0165] 计算出效用值之后,区内D2D对Dx(iix)判断效用值是否满足
[0166]
[0167] 其中, 指区内D2D对能够进行正常通信的最低效用要求;
[0168] 并将判断的结果上报给基站BSx;同时基站BSx计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值为
[0169]
[0170] 其中, 为蜂窝用户Cx(jjx)到基站BSx的信道增益, 为区内D2D对Dx(iix)到基站BSx的信道增益;
[0171] 计算出效用值之后,基站BSx判断集合 任一蜂窝用户Cx(jjx)的效用值是否满足
[0172]
[0173] 其中,μ指社交影响因子,指蜂窝用户Cx(jjx)对社交关系的重视程度,指区内D2D对Dx(iix)与蜂窝用户Cx(jjx)之间的社交关系强度, 指当蜂窝用户Cx(jjx)完全自私时能够进行正常通信的最低效用要求;基站BSx处拥有蜂窝用户与D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;
[0174] 如果针对区内D2D对Dx(iix)和集合 任一蜂窝用户Cx(jjx)的判断有任意一者不满足,直接转到第(4)步,否则,将after_Dx中对应Dx(iix)的效用值更新为 将after_Cx中对应集合 任一蜂窝用户Cx(jjx)的效用值更新为 判断
[0175] after_Dx(Dx(iix))≥before_Dx(Dx(iix))
[0176]
[0177] 是否满足,如果满足,且至少有一个是严格大于的,那么基站BSx置复用标志sx(Cx(jjx),Dx(iix))=1,并更新
[0178] before_Dx=after_Dx
[0179] after_Cx=before_Cx
[0180] 转到第(4)步;否则,直接转到第(4)步;
[0181] (4)jjx=jjx+1,如果jjx
[0182] 两个小区的基站实时进行信息交互,来确认两个小区对其小区内的D2D对的链路选择是否结束。当两个小区都已经完成对区内D2D对的链路选择时,进入第三步,否则继续第二步。
[0183] 第三步:两个小区的基站进行交互来确定 中的跨区D2D对的链路选择方案。
[0184] 1) 中的跨区D2D对尝试复用 和 中蜂窝用户的链路,确定跨区D2D对与两个小区蜂窝用户的链路复用方案,流程图如图4所示。联盟形成博弈模型为
其中,x=1,2,为小区编号。 指博弈参与者,代表小
区x中的蜂窝用户和跨区D2D对,uin,x指博弈参与者的效用值, 指联盟结构,是博弈参与者采取的策略,小区x中的蜂窝用户与跨区D2D对之间的链路复用标志用F×D阶矩阵sin,x表示,其中F表示小区x中使用非正交链路的蜂窝用户数,D表示跨区D2D对数。当跨区D2D对dn复用 的链路资源时,链路复用标志sin,x(cin,x,f,dn)=1,否则sin,x(cin,x,f,dn)=
0;
[0185] (1)初始化sin,x为全0矩阵,确定跨区D2D对和 中蜂窝用户进行合并的顺序;首先计算各跨区D2D对和 中蜂窝用户单独处在一个联盟中的效用值,跨区D2D对dn单独处在联盟中的效用值定义为
[0186]
[0187] 其中, 指跨区D2D对dn到基站BS1的信道增益;蜂窝用户cin,x,f单独处在联盟中的效用值定义为
[0188]
[0189] 其中, 指蜂窝用户cin,x,f到小区x基站BSx的信道增益;然后,将跨区D2D对以及 中蜂窝用户单独处在联盟中的效用值分别进行升序排列,排序结果分别存储在before_D和before_Cin,x中,其中,before_D为包含D个元素的一维向量,向量中的每一个元素代表一个跨区D2D对单独处在联盟时的效用值;before_Cin,x为包含F个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值。排序后用户的下标结果分别存储在D和Cin,x中,其中,D为包含D个元素的一维向量,其中的元素为[1,D]任一正整数,代表不同跨区D2D对的下标;Cin,x为包含F个元素的一维向量,其中的元素为[1,F]任一正整数,代表不同蜂窝用户的下标。同时,定义向量after_D和after_Cin,x,其中,after_D为包含D个元素的一维向量,after_Cin,x为包含F个元素的一维向量,并让before_Dout=after_Dout,after_Dout=before_D,after_D=before_D,after_Cin,x=before_Cin,x。ii为[1,D]任一正整数,用来指示向量D中跨区D2D对的位置,并初始化ii=1。
[0190] (2)jj为[1,F]任一正整数,用来指示向量Cin,x中蜂窝用户的位置,并初始化jj=1。
[0191] (3)如果蜂窝用户Cin,x(jj)的链路已经被其他跨区D2D对复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cin,x(jj)的位置和发送功率通知跨区D2D对D(ii)。跨区D2D对D(ii)可能会受到以下用户带来的干扰:i)蜂窝用户Cin,x(jj),与Cin,x(jj)共享链路的小区x中区内D2D对集 假设一个蜂窝用户的链路至多只能被1个同类D2D对复用, 至多只存在一个D2D对,用vvxr表示 是否有D2D对,vvxr=0,1,vvxr=0表明 为空集,否则表示中存在D2D对;ii)已经与跨区D2D对D(ii)共享链路的小区x中的蜂窝用户集合 其中, 中属于 的蜂窝用户集为 属于 的蜂窝用户集为 以及与
中蜂窝用户共享链路资源的D2D对 与 中蜂窝用户共享链路资源的
D2D对 根据以上信息,跨区D2D对D(ii)的效用值计算过程如下:
[0192] a)记 中蜂窝用户的数目为numout,2,更新后的带宽为
[0193]
[0194] 其中,|·|指集合中元素的个数;
[0195] b)跨区D2D对D(ii)复用蜂窝用户cin,x,f的链路时的效用值为
[0196]
[0197] 其中,hD(ii)为跨区D2D对D(ii)的信道增益, 表示蜂窝用户cin,x,f到跨区D2D对D(ii)的信道增益;同时,定义
[0198]
[0199] 其中,dxr为集合 非空时对应的D2D对;
[0200] c)计算跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值:记 中任意一个蜂窝用户为cD(ii),in,x,用qqD(ii),in,x来指示 中是否存在与cD(ii),in,x共享链路资源的D2D对,如果存在把该D2D对记为dD(ii),in,x,且qqD(ii),in,x=1,否则qqD(ii),in,x=0;此时跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值为
[0201]
[0202] 其中, 和 分别为蜂窝用户cD(ii),in,x以及D2D对dD(ii),in,x到跨区D2D对D(ii)的信道增益。
[0203] d)计算跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为cD(ii),out,1,用zD(ii),out,1来指示 中是否存在与cD(ii),out,1共享链路资源的D2D对,如果存在,把该D2D对记为dD(ii),out,1,且zD(ii),out,1=1,否则zD(ii),out,1=
0;据此,得到跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值为
[0204]
[0205] 其中, 和 分别为蜂窝用户cD(ii),out,1和D2D对dD(ii),out,1到跨区D2D对D(ii)的信道增益。
[0206] e)计算跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为cD(ii),out,2,用zzD(ii),out,2来指示 中是否存在与cD(ii),out,2共享链路资源的D2D对,如果存在把该D2D对记为dD(ii),out,2,且zzD(ii),out,2=1,否则zzD(ii),out,2=0;据此,得到跨区D2D对D(ii)复用 中蜂窝用户链路资源时的效用值为:
[0207]
[0208] 其中, 和 分别为蜂窝用户cD(ii),out,2和D2D对dD(ii),out,2到跨区D2D对D(ii)的信道增益。
[0209] 综上,得到跨区D2D对D(ii)复用蜂窝用户Cin,x(jj)链路时的效用值为
[0210] uD(ii)=u1+u2+u3+u4
[0211] 计算出效用值之后,跨区D2D对D(ii)判断效用值是否满足
[0212]
[0213] 其中, 指区内D2D对能够进行正常通信的最低效用要求;
[0214] 并将判断结果上报给基站BSx;同时基站BSx计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值为
[0215]
[0216] 其中, 表示跨区D2D对D(ii)到基站BSx的信道增益, 用来指示与蜂窝用户Cin,x(jj)共享链路的区内D2D对din,x是否存在; 为区内D2D对din,x到基站BSx的信道增益。
[0217] 计算出效用值之后,基站BSx判断集合 任一蜂窝用户Cin,x(jj)的效用值是否满足
[0218]
[0219] 其中,μ指社交影响因子,指蜂窝用户Cin,x(jj)对社交关系的重视程度,指区内D2D对D(ii)与蜂窝用户Cin,x(jj)之间的社交关系强度, 指当蜂窝用户Cin,x(jj)完全自私时能够进行正常通信的最低效用要求;基站BSx处拥有蜂窝用户与跨区D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;
[0220] 如果针对区内D2D对D(ii)和集合 任一蜂窝用户Cin,x(jj)的判断有任意一者不满足,直接转到第(4)步,否则,将after_D中对应D(ii)的效用值更新为uD(ii),将after_Cin,x中对应集合 任一蜂窝用户Cin,x(jj)的效用值更新为 判断
[0221] after_D(D(ii))≥before_D(D(ii))
[0222]
[0223] 是否满足,如果满足,且至少有一个是严格大于的,那么基站BSx置复用标志sin,x(Cin,x(jj),D(ii))=1,并更新
[0224] before_D=after_D
[0225] after_Cin,x=before_Cin,x
[0226] 转到第(4)步;否则,直接转到第(4)步;
[0227] (4)jj=jj+1,如果jj
[0228] 2)、 中的跨区D2D对复用 中蜂窝用户的链路,x=1,2为小区编号。链路复用流程图如图5所示。
[0229] 设置链路资源使用均衡性门限ζ,根据跨区D2D对与小区x中使用非正交链路资源的蜂窝用户的复用标志sin,x,计算各跨区D2D对链路资源使用的均衡性,计算结果存储在E中,E为一个包含D个元素的一维向量,其中的元素为跨区D2D对两个小区链路资源使用的均衡性,计算公式为
[0230]
[0231] 其中,Lx指小区x中已经被跨区D2D对复用的蜂窝用户的链路数,可以由sin,x得到,比如,第1个跨区D2D对复用小区1中的蜂窝用户链路数为矩阵sin,x第1列中非0元素的个数。联盟形成博弈模型为 其中 指博弈参与者,代
表小区x中的边界蜂窝用户和跨区D2D对,uout,x指博弈参与者的效用值, 指联盟结构,是博弈参与者采取的策略,小区x中的边界蜂窝用户与跨区D2D对之间的链路复用标志用X×D阶矩阵sout,x表示,其中X=B,Q表示小区x中的边界蜂窝用户数,D表示跨区D2D对数。当跨区D2D对dn复用 的链路资源时,其中,w用来指示小区中的边界蜂窝用户,当x=
1时,w=b,当x=2时,w=q,链路复用标志sout,x(cout,x,w,dn)=1,否则sout,x(cout,x,w,dn)=0;
[0232] (1)初始化sout,x为全0矩阵,确定 中蜂窝用户进行合并的顺序;首先 中蜂窝用户单独处在一个联盟中的效用值,边界蜂窝用户cout,x,w单独处在联盟中的效用值定义为
[0233]
[0234] 其中, 指蜂窝用户cout,x,w到小区x基站BSx的信道增益;然后,将 中蜂窝用户单独处在联盟中的效用值进行升序排列,排序结果分别存储在before_Cin,x中,其中,before_Cin,x为包含X个元素的一维向量,向量中的每一个元素代表一个蜂窝用户单独处在联盟中的效用值。排序后蜂窝用户的下标结果存储在Cout,x中,其中,Cout,x为包含X个元素的一维向量,其中的元素为[1,X]任一正整数,代表不同蜂窝用户的下标。同时,定义向量after_Cout,x,其中,after_Cout,x为包含X个元素的一维向量,并让after_Cout,x=before_Cout,x。iiout为[1,D]任一正整数,用来指示向量D中跨区D2D对的位置,并初始化iiout=1;jjout,x为[1,X]任一正整数,用来指示向量Cout,x中蜂窝用户的位置,并初始化jjout,x=1。
[0235] (2)判断E(D(iiout))<ζ,如果是,action=1,否则,action=2,action用来指示跨区D2D尝试复用哪个小区边界蜂窝用户的链路资源。
[0236] (3)如果蜂窝用户Cout,action(jjout,action)的链路已经被其他跨区D2D对复用,直接转到第(4)步,否则,基站BSx将蜂窝用户Cout,action(jjout,action)的位置和发送功率通知跨区D2D对D(iiout)。跨区D2D对D(iiout)可能会受到以下用户带来的干扰:i)蜂窝用户Cout,x(jjout,x),与Cout,x(jjout,x)共享链路的小区x中区内D2D对集 假设一个蜂窝用户的链路至多只能被1个同类D2D对复用, 至多只存在一个D2D对,用gxr表示 是否有D2D对,gxr=0,1,gxr=0表明 为空集,否则表示 中存在D2D对;ii)已经与跨区D2D对D(iiout)共享链路的小区x中的蜂窝用户集合 其中, 中属于 的蜂窝
用户集为 属于 的蜂窝用户集为 以及与 中蜂窝用户共享
链路资源的D2D对 与 中蜂窝用户共享链路资源的D2D对 根据
以上信息,跨区D2D对D(iiout)的效用值计算过程如下:
[0237] a)记 中蜂窝用户的数目为nout,2,此时更新后的带宽为
[0238]
[0239] 其中,|·|指集合中元素的个数;
[0240] b)跨区D2D对D(iiout)复用蜂窝用户Cout,x(jjout,x)链路时的效用值为
[0241]
[0242] 其中, 为跨区D2D对D(iiout)的信道增益, 表示蜂窝用户Cout,x(jjout,x)到跨区D2D对D(iiout)的信道增益;同时,定义
[0243]
[0244] 其中,dout,x,r为集合 非空时对应的D2D对;
[0245] c)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与
共享链路资源的D2D对,如果存在把该D2D对记为 且 否
则 此时跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值为
[0246]
[0247] 其中, 和 分别为蜂窝用户 以及D2D对到跨区D2D对D(iiout)的信道增益。
[0248] d)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与
共享链路资源的D2D对,如果存在,把该D2D对记为 且 否
则 据此,得到跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效
用值为
[0249]
[0250] 其中, 和 分别为蜂窝用户 和D2D对到跨区D2D对D(iiout)的信道增益。
[0251] e)计算跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效用值:记中任意一个蜂窝用户为 用 来指示 中是否存在与
共享链路资源的D2D对,如果存在把该D2D对记为 且 否
则 据此,得到跨区D2D对D(iiout)复用 中蜂窝用户链路资源时的效
用值为
[0252]
[0253] 其中, 和 分别为蜂窝用户 和D2D对到跨区D2D对D(iiout)的信道增益。
[0254] 综上,得到跨区D2D对D(iiout)复用蜂窝用户Cout,action(jjout,action)链路时的效用值为
[0255]
[0256] 计算出效用值之后,跨区D2D对D(iiout)判断效用值是否满足
[0257]
[0258] 其中, 指区内D2D对能够进行正常通信的最低效用要求;
[0259] 并将判断结果上报给基站BSaction;同时基站BSaction计算集合 每一个蜂窝用户的上行链路效用值,对于 其上行链路效用值
[0260]
[0261] 其中, 表示跨区D2D对D(iiout)到基站BSaction的信道增益,用来指示与蜂窝用户Cout,action(jjout,action)共享链路的区内D2D对din,action是否存在;
为跨区D2D对din,action到基站BSx的信道增益。
[0262] 计算出效用值之后,基站BSaction判断集合 任一蜂窝用户Cout,action(jjout,action)的效用值是否满足
[0263]
[0264] 其中,μ指社交影响因子,指蜂窝用户Cout,action(jjout,action)对社交关系的重视程度, 指跨区D2D对D(iiout)与蜂窝用户Cout,action(jjout,action)之间的社交关系强度, 指当蜂窝用户Cout,action(jjout,action)完全自私时能够进行正常通信的最低效用要求;基站BSaction处拥有蜂窝用户与跨区D2D对之间的社交关系信息,这个信息可以是由用户直接向基站进行通报得到,也可以由基站根据用户之间的线上交互信息推断得到;
[0265] 如果针对跨区D2D对D(iiout)和集合 任一蜂窝用户Cout,action(jjout,action)的判断有任意一者不满足,jjout,action=jjout,action+1,转到第(5)步,否则,将after_D中对应D(iiout)的效用值更新为 将after_Cout,action中对应集合 任一蜂窝用户Cout,action(jjout,action)的效用值更新为 判断
[0266] after_D(D(iiout))≥before_D(D(iiout))
[0267] after_Cout,action(Cout,action(jjout,action))≥before_Cout,action(Cout,action(jjout,action))
[0268]
[0269] 是否满足,如果满足,且至少有一个是严格大于的,那么基站BSaction置复用标志sout,action(Cout,action(jjout,action),D(iiout))=1,并更新
[0270] before_D=after_D
[0271] after_Cout,action=before_Cout,action
[0272] jjout,action=jjout,action+1,转到第(4)步;否则,jjout,action=jjout,action+1,转到第(5)步;
[0273] (4)计算跨区D2D对D(iiout)对两个小区链路资源使用的均衡性
[0274]
[0275] 其中,Lx指小区x中已经被跨区D2D对复用的蜂窝用户的链路数,可以由sin,x和sout,action得到,比如,当action=1时,则L1为矩阵sin,x第1列中非0元素的个数加上矩阵sout,action第1列中非0元素的个数。判断E(D(iiout))<ζ是否满足,如果满足,action=1,否则,action=2,如果jjout,action
[0276] (5)如果jjout,action
[0277] 至此,两个小区共存的蜂窝网络中D2D对的链路选择已经完成,当任意一个D2D对进行通信时,基站可以根据最终的链路选择方案分配给其相应的蜂窝用户链路。同时,为了保证链路资源使用的公平性,第二步和第三步可以根据网络中各类D2D对的对数或者随着时间交换次序。假如当前链路选择过程首先对小区内的D2D对进行,那么在下一个链路选择过程可以首先对跨区D2D对进行链路选择。值得强调的一点是,在进行多小区D2D通信场景下的链路选择时,进行D2D通信的两个用户处在相邻两个小区中的场景居多,此时,对这类跨区D2D对的链路选择仅仅涉及到这两个小区基站之间的交互,其他小区对这类跨区D2D对链路选择的影响仅仅是对用户带来一定的干扰。但是由于小区边界用户使用正交的链路资源,并且其他小区的用户到这两个小区用户的距离较大,这些干扰可以直接忽略,此时的多小区D2D通信场景便退化为两个小区共存的D2D通信场景。当两个小区共存的蜂窝网络中D2D对的链路选择完成之后,也就意味着多小区D2D通信场景下的链路选择完成。因此,本发明中提出的针对两个小区共存的蜂窝网络的链路选择机制能够解决多小区D2D通信场景下的链路选择问题。
[0278] 本发明的接入方法和现有技术的方法进行对比仿真试验。假设小区1中 中有10个蜂窝用户, 中有12个用户, 中有3个区内D2D对;小区1中 中有10个蜂窝用户,中有15个用户, 中有4个区内D2D对; 中有3个跨区D2D对,每个小区的半径均假设为500米,用户位置的分布图如图6所示。在产生用户位置的时候,已经根据两个小区的边界线对用户的位置进行了区分,因此,本发明的第一步已经完成。
[0279] 第二步对 中的3个区内D2D对在小区1中进行链路选择,对 中的4个区内D2D对在小区2中进行链路选择。该理论仿真试验使用MATLAB软件进行数值分析,信道模型采用准静态瑞利衰落信道,D2D链路的衰减因子取3,蜂窝链路的衰减因子取4。设定D2D对的门限为所有D2D对蜂窝模式通信时速率的平均值,为了使更多的蜂窝用户能够达到设定的通信门限,常数 设为所有蜂窝用户不为D2D对贡献频谱时的最小速率。图7和图8分别比较了小区1和小区2中的区内D2D对在不同的通信模式下的效用值。可以看出,进入联盟复用蜂窝用户链路通信的D2D对均能达到最大的效用值,而那些没有进入联盟而采用蜂窝模式通信的D2D对要么是在复用情况下正常的通信需求不能满足,要么是相比蜂窝模式通信,效用值没有得到改善。
[0280] 第三步是对 中的3个跨区D2D对进行链路选择。图9给出了在本发明机制下跨区D2D对的效用比较。可见,3对跨区D2D对均能进入对应的联盟而复用蜂窝用户链路进行通信,这是因为跨区D2D对距离服务基站较远,而跨区D2D对的两个用户距离较近,直接通信的优势更加明显。此外,本发明考虑了跨区D2D对在两个小区中的链路资源使用的均衡性,在不考虑小区链路资源使用均衡性的情况下,跨区D2D对的效用值的比较如图10所示。并且,从图9和图10中可以看出,跨区D2D对在不考虑链路资源使用均衡性的情况其效用值要比本发明中的效用值大。这是由于在考虑资源使用均衡性的情况下,跨区D2D对对于两个小区链路资源的使用具有一定的限制条件,在这种约束下,本来可以复用的蜂窝用户链路却由于资源使用不均衡而不能被复用,而在不考虑链路资源使用的均衡性时,跨区D2D对可以任意选择要复用的蜂窝用户,因此,跨区D2D对能达到更大的效用值。但是即使本发明中跨区D2D对达到的速率值比不考虑链路资源使用均衡性时小,但是这些效用值能够保证跨区D2D对正常的通信需求。图11给出了本发明与不考虑链路资源使用均衡性的情况下的均衡值的比较图,可见,本发明中所提供的机制能够使跨区D2D对更加均衡地使用两个小区中蜂窝用户的链路资源。