发明内容
综上所述,本发明提出了NOMA系统中的功率分配方法,适用于包括1个基站和2K个用户的下行NOMA系统,且基站和用户都配置单天线。
实现本发明的技术思路是:基站根据信道条件以及每个用户的速率需求计算每个用户所需的最低功率以及每个簇所需的最低功率,推导每个簇的用户最低信干噪比与该簇的总功率之间的关系,以每个簇所需的最低功率以及所有簇需要的总功率作为约束条件,建立使得最低用户速率最大化的功率分配优化问题,在求解该问题的过程中,首先为每个簇分配满足速率需求的初始功率,然后通过多次调整部分簇的功率得到用户最低信干噪比最大化时每个簇的功率,然后为每个用户分配功率。
本发明的技术方案是,NOMA系统中的功率分配方法,适用于包括1个基站和2K个用户的下行NOMA系统,且基站和用户都配置单天线,步骤如下:
A,基站根据自身到2K个用户的信道将用户分簇,每个簇包含两个用户,共分为K个簇,分别用uk1和uk2表示第k个簇的用户,k=1,2,…,K,基站到uk1和uk2的信道增益分别为hk1和hk2,|hk1|≥|hk2|,基站为每个簇分配一个子频段,簇间子频段正交;
B,分别用p
k1和p
k2表示基站为u
k1和u
k2分配的功率,p
k=p
k1+p
k2,p
k是基站为第k个簇分配的总功率,基站根据信道计算u
k1译码自身期望接收信号时的信干噪比s
k1,
基站根据信道计算u
k2译码自身期望接收信号时的信干噪比s
k2,
K是簇的总数,σ
2是用户接收到的噪声的方差;
C,基站根据u
k1要求的最低单位带宽速率r
k1得到u
k1所需的功率满足
a
k1是u
k1的最低单位带宽速率需求r
k1对应的信干噪比,
基站根据u
k2要求的最低单位带宽速率r
k2得到u
k2所需的功率满足
a
k2是u
k2的最低单位带宽速率需求r
k2对应的信干噪比,
K是簇的总数;
D,基站根据步骤C得到的u
k1和u
k2所需的最低功率以及p
k=p
k1+p
k2计算得到第k个簇所需的最低功率p
k0,
K是簇的总数;
E,令
v
k是第k个簇内两个用户的信干噪比的最小值,推导v
k与该簇的总功率p
k的关系可得,
其中,K是簇的总数,
Δ
k1是a
k1>a
k2且u
k1和u
k2的速率相同时该簇所需的最低功率,
Δ
k2是a
k1≤a
k2且u
k1和u
k2的速率相同时该簇所需的最低功率;
F,基站设置总功率
建立使得2K个用户中最低速率最大化的功率分配优化问题,
其中,约束条件C1表示基站的总功率为Pmax,约束条件C2表示为第k个簇分配的功率不能低于该簇所需的最低功率,否则无法满足第k个簇内用户的速率需求,pk′是为第k个簇分配的最优功率,k=1,2,…,K,K是簇的总数;
G,基站求解步骤F中的优化问题,得到pk′,k=1,2,…,K,K是簇的总数;
H,根据步骤G求得的p
k′,k=1,2,…,K,为每个用户分配功率,分别用p
k1′和p
k2′表示为u
k1和u
k2分配的功率,若a
k1>a
k2且p
k′≤Δ
k1,
若a
k1>a
k2且p
k′>Δ
k1,
进一步,所述步骤G具体包括:
G1,令
令p
k=p
k0+β,用minrate表示最小的信干噪比,令minrate=0且i=0,令矩阵U为空矩阵,k=1,2,…,K,K是簇的总数,i表示迭代次数,U的每行用来存放每次迭代过程中的功率;
G2,根据pk计算vk,k=1,2,…,K,K是簇的总数,令mv=min{vk,k=1,2,…,K},若mv大于minrate,令index=0且执行步骤G3及其后面的步骤,若mv小于等于minrate,则已经找出了最优功率,U(i-1,k)就是为第k个簇分配的功率,即pk′=U(i-1,k),无需执行步骤G3;
G3,令i=i+1且U(i,k)=pk,k=1,2,…,K,令集合V为空集,将vk放在集合V中,找出V中最小的元素对应的下标,用j表示,令pj=pj+θ,θ是大于0的正数且θ<β,θ的取值可调整,K是簇的总数;
G4,找出V中的最大的元素对应的下标,用m表示,若pm0+θ<pm,令pm=pm-θ且index=1,若pm0+θ≥pm,从V中删除vm,再次执行该步骤,直到index=1;
G5,令minrate=min{vk,k=1,2,…,K},再次执行步骤G2、步骤G3、步骤G4和G5,直至找到最优的功率分配。
有益效果:
本发明与已有的NOMA中的功率分配方案相比,本发明公开的方法不再为每个簇分配相同的功率,根据总功率、用户的信道条件和用户速率需求这三个因素为用户分配功率,在满足用户速率需求的同时,使得最低的用户速率达到最大。
具体实施方式
下面给出本发明的一种实施例,对本发明做进一步详细的说明。考虑NOMA的下行系统,如图1所示,包含1个基站和2K个用户,基站和用户都配置单根天线。用户被分为K个簇,每个簇包含两个用户,分别用uk1和uk2表示第k个簇的用户,假定uk1是近距离用户,uk2是远距离用户。基站到uk1和uk2的信道增益分别为hk1和hk2,|hk1|≥|hk2|。基站为第k个簇分配的功率为pk,为uk1和uk2分配的功率分别为pk1和pk2,pk=pk1+pk2。基站为每个簇分配一个子频段,簇间子频段正交。
分别用yk1和yk2表示uk1和uk2的接收信号,yk1和yk2的表达形式为,
其中,xk1和xk2分别是uk1和uk2的期望接收信号,nk1和nk2分别是uk1和uk2的接收到的高斯白噪声,均值为零方差为σ2。
uk1是近距离用户,uk1首先检测出uk2的期望接收信号xk2,并消除xk2对yk1的干扰,然后再检测自身的期望接收信号xk1。uk1译码xk2时的信干噪比(SINR)为
若要正确译码xk2,SINRktemp必须高于某一值,假定该值是a0,即SINRktemp要不低于a0。uk1消除xk2对yk1造成的干扰后,再译码xk1,此时SINR为
uk2是远距离用户,直接译码自身的期望接收信号xk2。uk2译码xk2时的SINR为
u
k1和u
k2的单位带宽的速率分别为
和
功率分配的目标是:在满足每个用户速率需求的情况下,最大化最低的用户速率,用公式表示如下:
C4:
其中,C1表示基站的总功率为P
max,C2表示u
k1的最低单位带宽速率需求是r
k1,C3表示u
k2的最低单位带宽速率需求是r
k2,C4表示u
k1译码x
k2时对SINR的要求。p
k1′和p
k2′是为u
k1和u
k2分配的最优功率,k=1,2,…,K。
接下来推导每个簇所需的最低功率。由式(6)中的C2和C3可得
其中,
a
k1是u
k1的最低单位带宽速率需求r
k1对应的SINR,a
k2是u
k2的最低单位带宽速率需求r
k2对应的SINR。
由于a
0仅仅是正确译码x
k2时对SINR的最低要求,因此a
0≤a
k2即可。
是x的单调递增函数且|h
k1|≥|h
k2|,式(8)成立时,式(6)中的C4必定成立。因此,p
k1和p
k2满足式(7)和式(8)时,式(6)中C2、C3和C4成立。用p
k0表示第k个簇所需的最低功率,p
k0为
每个簇都有最低功率要求,这就要求总功率P
max满足
否则无法满足所有用户的速率需求。
令
接下来推导p
k≥p
k0时v
k与功率p
k的关系,分两种情况推导,分别是a
k1>a
k2和a
k1≤a
k2。
首先推导a
k1>a
k2时v
k的取值。若a
k1>a
k2,则u
k1要求的最低SINR高于u
k2要求的最低SINR。为了增大v
k,应首先为u
k1分配最低功率
且为u
k2分配的功率高于该用户所需的最低功率,以提高u
k2的SINR,直到两者的SINR相同,即
若此时还有剩余的功率,则同时为两个用户增加功率,并且要使得两个用户的SINR相同,这样才能最大化vk。
u
k1的功率为
且(10)成立时,
此时两个用户的总功率为
若p
k≤Δ
k1,为u
k1分配最低功率
其余的功率分配给u
k2,u
k2的功率为
此时,
并且u
k2的SINR仍低于u
k1的SINR(当p
k=Δ
k1时,两者的SINR相等),由此可得,a
k1>a
k2且p
k≤Δ
k1时
若pk>Δk1,通过调整功率可以使得两个用户的SINR相同,此时pk1和pk2满足
推导可得,(11)成立时,
此时,两个用户的SINR均为
根据以上分析,ak1>ak2时vk的取值为
接下来推导a
k1≤a
k2时v
k的取值。若a
k1≤a
k2,则u
k1要求的最低SIN R低于u
k2要求的最低SINR。为了增大v
k,应增大u
k1的功率p
k1,由于
增大p
k1的同时,也会增大p
k2,只要
此时用户2的SINR为a
k2,高于用户1的SINR。增大p
k1,直到两个用户的SINR相同,若此时还有剩余的功率,则同时为两个用户增加功率,并且要使得两个用户的SINR相同,这样才能最大化v
k。
u
k2的功率为
且(10)成立时,计算可得,
此时,两个用户的SINR均为a
k2。
令
在p
k由p
k0增加到Δ
k2时,增加p
k1而令
在这个过程中用户1的SINR在增加而用户2的SINR保持不变,并且用户1的SINR小于用户2的SINR(当p
k=Δ
k2时,用户1的SINR等于用户2的SINR),此时,用户1的SINR为
从而
因此,a
k1≤a
k2且p
k≤Δ
k2时,
当pk大于Δk2时,同时增加两个用户的功率,并且要使得两个用户的SINR相同,即式(10)成立,此时两个用户的SINR均为
根据以上分析,ak1≤ak2时vk的取值为
综上,vk的取值为
式(6)中的优化问题可以转化为
采用如下迭代的方法求解式(15)中的优化问题,步骤如下:
步骤1,令
令p
k=p
k0+β,用minrate表示最小的信干噪比,令minrate=0且i=0,令矩阵U为空矩阵,k=1,2,…,K,K是簇的总数,i表示迭代次数,U的每行用来存放每次迭代过程中的功率;
步骤2,根据pk计算vk,k=1,2,…,K,令mv=min{vk,k=1,2,…,K},若mv大于minrate,令index=0且执行步骤3及其后面的步骤,若mv小于等于minrate,则已经找出了最优功率,U(i-1,k)就是为第k个簇分配的功率,即pk′=U(i-1,k),无需执行步骤3;
步骤3,令i=i+1,U(i-1,k)=pk,k=1,2,…,K,令集合V为空集,将vk放在集合V中,找出V中最小的元素对应的下标,用j表示,令pj=pj+θ,θ是大于0的正数且θ<β;
步骤4,找出V中的最大的元素对应的下标,用m表示,若pm0+θ<pm,令pm=pm-θ且index=1,若pm0+θ≥pm,从V中删除vm,再次执行该步骤,直到index=1;
步骤5,令minrate=min{vk,k=1,2,…,K},再次执行步骤2、步骤3、步骤4和5,直至找到最优的功率分配。
在步骤1中,首先为用户k分配满足速率需求的最低功率pk0,然后将剩余的功率平均分配给每个用户,此时用户k的功率为pk=pk0+β。
每次迭代都要执行步骤2、步骤3和步骤4,每次迭代都要调整功率。mv表示本次迭代过程中的最低SINR,minrate表示前一次迭代过程中的最低SINR。若mv小于等于minrate,则表示前一次迭代时的功率即为最优功率,若mv大于minrate,则表示此次迭代的功率优于前一次迭代时的功率,有必要继续进行功率调整以增大最低的SINR,即要执行步骤3和步骤4,步骤3中找到SINR最低的簇,增加该簇的功率,在步骤4中,找到SINR较高且可以减少功率的簇,减少该簇的功率,并且要保证减少后的功率不能低于该簇所需的最低功率。
i表示迭代次数,U的每行是每次迭代中的功率,θ表示每次迭代过程中功率调整量,θ是大于0的正数,θ的大小是可以调整的,不能超过β。index表示每次迭代过程中是否调整过功率,若index=1表示已经调整过功率,可以进行下一次迭代。在步骤4中,首先找出V中的最大的元素对应的下标,用m表示,若将第m个簇的功率减少后θ仍不低于该簇所需的最低功率,则将pm-θ赋值给pm且令index=1,否则不要调整该簇的功率,并且从V中删除vm,采用同样的方法找出SINR较高且可以减少功率的簇。
采用迭代的方法得到pk′后,根据pk′、ak1和ak2为每个用户分配功率。
根据前面的分析,若a
k1>a
k2且p
k′≤Δ
k1,为u
k1分配最低功率
其余的功率分配给u
k1,即
且
若a
k1>a
k2且p
k′>Δ
k1,通过调整功率可以使得两个用户的SINR相同,此时,
若a
k1≤a
k2且p
k′≤Δ
k2,根据前面的分析,此时两者的SINR不同,由于
且p
k1+p
k2=p
k′,计算可得,此时
因此,a
k1≤a
k2且p
k′≤Δ
k2时,
若a
k1≤a
k2且p
k′>Δ
k2,由于此时的功率能使得两个用户的SINR相同,即
计算可得,此时
因此,a
k1≤a
k2且p
k′>Δ
k2时,
结合本发明的流程图即图2,单天线NOMA系统中最大化容量的功率分配方法的具体步骤如下:
A,基站根据自身到2K个用户的信道将用户分簇,每个簇包含两个用户,共分为K个簇,分别用uk1和uk2表示第k个簇的用户,k=1,2,…,K,基站到uk1和uk2的信道分别为hk1和hk2,|hk1|≥|hk2|,基站为每个簇分配一个子频段,簇间子频段正交;
B,分别用p
k1和p
k2表示基站为u
k1和u
k2分配的功率,p
k=p
k1+p
k2,p
k是基站为第k个簇分配的总功率,基站根据信道计算u
k1译码自身期望接收信号时的信干噪比s
k1,
基站根据信道计算u
k2译码自身期望接收信号时的信干噪比s
k2,
K是簇的总数,σ
2是用户接收到的噪声的方差;
C,基站根据u
k1要求的最低单位带宽速率r
k1得到u
k1所需的功率满足
a
k2是u
k1的最低单位带宽速率需求r
k1对应的信干噪比,
基站根据u
k2要求的最低单位带宽速率r
k2得到u
k2所需的功率满足
a
k2是u
k2的最低单位带宽速率需求r
k2对应的信干噪比,
K是簇的总数;
D,基站根据步骤C得到的u
k1和u
k2所需的最低功率以及p
k=p
k1+p
k2计算得到第k个簇所需的最低功率p
k0,
K是簇的总数;
E,令
v
k是第k个簇内两个用户的信干噪比的最小值,推导v
k与该簇的总功率p
k的关系可得,
其中,K是簇的总数,
Δ
k1是a
k1>a
k2且u
k1和u
k2的速率相同时该簇所需的最低功率,
Δ
k2是a
k1≤a
k2且u
k1和u
k2的速率相同时该簇所需的最低功率;
F,基站设置总功率
建立使得2K个用户中最低速率最大化的功率分配优化问题,
其中,约束条件C1表示基站的总功率为Pmax,约束条件C2表示为第k个簇分配的功率不能低于该簇所需的最低功率,否则无法满足第k个簇内用户的速率需求,pk′是为第k个簇分配的最优功率,k=1,2,…,K,K是簇的总数;
G,基站求解步骤F中的优化问题,得到pk′,k=1,2,…,K,K是簇的总数;
H,根据步骤G求得的p
k′,k=1,2,…,K,为每个用户分配功率,分别用p
k1′和p
k2′表示为u
k1和u
k2分配的功率,若a
k1>a
k2且p
k′≤Δ
k1,
若a
k1>a
k2且p
k′>Δ
k1,
若a
k1≤a
k2且p
k′≤Δ
k2,
若a
k1≤a
k2且p
k′>Δ
k2,
结合本发明的分的求解优化问题的流程图即图3,求解优化问题的具体步骤如下:
G1,令
令p
k=p
k0+β,用minrate表示最小的信干噪比,令minrate=0且i=0,令矩阵U为空矩阵,k=1,2,…,K,K是簇的总数,i表示迭代次数,U的每行用来存放每次迭代过程中的功率;
G2,根据pk计算vk,k=1,2,…,K,K是簇的总数,令mv=min{vk,k=1,2,…,K},若mv大于minrate,令index=0且执行步骤G3及其后面的步骤,若mv小于等于minrate,则已经找出了最优功率,U(i-1,k)就是为第k个簇分配的功率,即pk′=U(i-1,k),无需执行步骤G3;
G3,令i=i+1且U(i,k)=pk,k=1,2,…,K,令集合V为空集,将vk放在集合V中,找出V中最小的元素对应的下标,用j表示,令pj=pj+θ,θ是大于0的正数且θ<β,θ的取值可调整,K是簇的总数;
G4,找出V中的最大的元素对应的下标,用m表示,若pm0+θ<pm,令pm=pm-θ且index=1,若pm0+θ≥pm,从V中删除vm,再次执行该步骤,直到index=1;
G5,令minrate=min{vk,k=1,2,…,K},再次执行步骤G2、步骤G3、步骤G4和G5,直至找到最优的功率分配。
以上实施例仅仅是对本发明的举例说明,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。