本发明属于通信领域,一种基于线性搜索式的非正交接入最优解码排序上行传输时间优化方法。
背景技术:
适应物联网(Internet of Thing,IoT)应用的大规模连接已被视为未来5G蜂窝系统的重要目标。非正交多址接入(Non-orthogonal Multiple Access,NOMA)使一组智能终端(Smart Terminal,ST)能够同时共享相同的频谱信道进行传输,为实现频谱高效数据传输的目标提供了一种有效的方法。我们考虑无线网络中的上行链路传输,其中智能终端(例如智能手表)使用NOMA技术将其数据发送到接入热点。我们旨在最大限度地减少整体无线资源消耗量,包括上行传输时间和上行传输总能量。
技术实现要素:
为了克服现有技术的上行传输时间较长、智能终端能量消耗较大的不足,本发明提供一种最小化上行传输时间与智能终端总能量消耗的基于对分搜索式的非正交接入最优解码排序上行传输时间优化方法,本发明针对上行传输时间过大的难点,主要考虑的是利用非正交接入技术来传输数据,研究了一种基于线性搜索式的非正交接入最优解码排序上行传输时间优化方法。
本发明解决其技术问题所采用的技术方案是:
一种基于线性搜索式的非正交接入最优解码排序上行传输时间优化方法,包括以下步骤:
(1)在接入热点的覆盖范围下总共有I个智能终端,智能终端用集合表示,也就是说,给定一组智能终端就有I!种解码排序,智能终端使用非正交接入技术同时向接入热点发送数据,其中智能终端i需要发送的数据量用表示;
在保证发送完成所有智能终端的数据量以及给定一种解码排序πm,其中m=1,2,...,I!的条件下,最小化上行传输时间与所有智能终端总能量消耗的优化问题描述为如下所示的优化问题(P1-m)问题:
0≤tm≤Tmax (1-3)
Variables:tm
下面将问题中的各个变量做一个说明,如下:
πm(i):给定解码排序πm的条件下,智能终端i的解码顺序;
α:上行传输时间的权重因子;
β:上行传输总能量消耗的权重因子;
tm:智能终端发送数据到接入热点的上行传输时间,单位是秒;
是关于tm的函数,表示在第m种解码排序πm的情况下,智能终端i在给定上行传输时间tm内完成发送数据量所需要的最小发射功率,单位是瓦特;
W:智能终端到接入热点的信道带宽,单位是赫兹;
n0:信道背景噪声的频谱功率密度;
giA:智能终端i到接入热点的信道功率增益;
智能终端i需要发送到接入热点的数据量,单位是兆比特;
智能终端i最大上传能量消耗,单位是焦耳;
Tmax:智能终端发送数据到接入热点的最大上行传输时间,单位是秒;
通过引入一个辅助变量求解(P1-m)优化问题;
(2)(P1-m)问题是在给定智能终端上传量的情况下找到最小的上行传输时间与所有智能终端总能量消耗,定义一个变量x,如下:
其中,x被看作一个内部变量,适用于任意一种解码排序;
因此,(P1-m)问题等价为(P1-m-E)问题,“E”表示的是等价地,如下:
定义智能终端i的函数Hi(x)的表达式如下:
为了有效解决(P1-m-E)问题,引入一个新变量θ,通过使用变量θ,(P1-m-E)问题转化为(P2)问题如下:
(P2):min θ
Variable:θ
求解(P2)问题的思路是:设定θ的上限是一个足够大的数,设定θ的下限是0,通过对θ进行线性搜索来找到最小的θ值,该θ值要同时确保(P2)问题可行,(P2)问题可行是指:在给定θ值条件下,(P2)问题中约束条件(2-4),(2-5)和(2-6)所产生有关于变量x的可行解集合为一个非空集合;否则,(P2)问题为不可行,即在给定θ值条件下约束条件(2-4),(2-5)和(2-6)所产生有关于变量x的可行解集合是一个空集;
为了判断在给定θ值条件下(P2)问题是否可行,考虑如下(P2-Sub)问题:
Variable:x
如果(P2-Sub)问题的最优值输出Vθ≤0,则表示(P2)问题是可行的;否则,(P2)问题将是不可行的;
接着,定义函数G(x)如下:
因此,得到函数G(x)的一阶导数如下:
根据表达式(2-10)推导得出是关于变量x的单调递增函数,所以通过求解的零点来求解G(x)的最小值;
首先,根据的单调递增性,利用对分搜索求解的零点记为xzero,使得满足
接着,根据条件(2-3)和(2-7),得到关于变量x的表达式如下:
对(2-11)关于x求一阶导数,得到:
在这里,引入一个变量接着,分析整理表达式(2-11)和(2-12)在不同的条件下,有以下三种情况:
i)如果且那么不存在满足条件的可行解;
ii)如果且那么存在解满足
iii)如果由于是单调递减的且那么存在满足进一步由于Qi(0)=0,Qi(x)在区间先增后减,所以存在解满足
(3)求解(P2)问题的算法P2-Algorithm,在(P2)问题中,设定θ的上限是一个足够大的数,设定计算步长是一个很小的数,通过对θ进行线性搜索来找到最小的θ值,该θ值要同时确保(P2)问题可行;通过求解(P2-Sub)问题,判断在给定θ值条件下(P2)问题是否可行;其中,如果(P2-Sub)问题的最优值输出Vθ≤0,则表示(P2)问题是可行的,那通过线性搜索方式减小当前θ值;否则,(P2)问题将是不可行的,那就跳出线性搜索;通过线性搜索不断更新当前θ值,直到Vθ足够接近于0,跳出线性搜索,算法最后输出的最优θ值,即确保D1问题可行的最小的θ值,求解(P2)问题算法的P2-Algorithm的步骤如下:
步骤3.1:输入计算步长∈(p2)=10-4,设定参数θuppbound=104;
步骤3.2:利用对分搜索求解的零点xzero;
步骤3.3:根据对函数Qi(x)和的分析分别利用对分搜索,解出
步骤3.4:设定
步骤3.5:如果xzero<xmin,设定x*,temp=xmin,转至执行步骤3.8;
步骤3.6:否则如果xzero≤xmax,设定x*,temp=xzero,转至执行步骤3.8;
步骤3.7:否则xzero>xmax,设定x*,temp=xmax,转至执行步骤3.8;
步骤3.8:设定
步骤3.9:如果Vθ≤0,设定θuppbound=θuppbound-∈(p2),同时设定x*,test=x*,temp,转至并执行步骤3.2;否则,设定x*,test=x*,temp,转至执行步骤3.10;
步骤3.10:输出θ*,cur,test=θcur以及x*,test;
最后,算法P2-Algorithm输出的θ*,cur,test代表在给定一种解码排序πm的条件下:(P2)问题所求的最小整体无线资源消耗,(P1-m)问题中待求的最优上行传输时间t*,test表示为
(4)得到给定一种解码排序πm的条件下的最优上行传输时间后,接着提出算法OptOrder-Algorithm来找到最优的解码排序,也即找到全局最优上行传输时间,使得有全局最小整体无线资源消耗;
算法OptOrder-Algorithm的求解过程是:设定智能终端集合为Iall={g1A,g2A,...,gIA},|Iall|表示集合Iall的基,初始化当前可选集合Icur={g1A,g2A,...,gIA},|Icur|表示集合Icur的基,当前最优解码排序当前最优解CBV是一个足够大的数,当前测试集合首先,第一次迭代过程,从Icur中依次选择一个元素插进Icur,test中,通过调用算法P2-Algorithm找出当前最优的Icur,test,即使得有当前最小整体无线资源消耗的Icur,test,更新Icur,即把Iall去掉Icur,test之后的集合给Icur,同时更新CBS,即把当前最优的Icur,test给CBS;接着第二次迭代过程中,从当前Icur中依次选择一个元素插进Icur,test中,此时Icur,test只有一个元素,即插在该元素左边或右边,通过调用算法P2-Algorithm找出当前最优的Icur,test,即使得有当前最小整体无线资源消耗的Icur,test,更新Icur,即把Iall去掉Icur,test之后的集合给Icur,同时更新CBS,即把当前最优的Icur,test给CBS;每次从当前Icur中依次选择一个元素插进Icur,test时,不能改变已确定的Icur,test集合中的元素位置排列,如此迭代直到最后一次迭代,找到全局最优的解码排序CBS,全局最小整体无线资源消耗θ*,全局最优上行传输时间t*;
最后,算法OptOrder-Algorithm输出的θ*代表(P2)问题中所求的全局最小整体无线资源消耗,(P1-m)问题中待求的全局最优上行传输时间t*表示为
进一步,所述步骤(4)中,算法OptOrder-Algorithm的求解步骤如下:
步骤4.1:设定Iall=Icur={g1A,g2A,...,gIA},
步骤4.2:开始while循环
步骤4.3:设定CBV是一个足够大的数;
步骤4.4:开始for循环m=1∶1∶|Icur|;
步骤4.5:开始for循环h=0∶1∶|CBS|;
步骤4.6:设定
步骤4.7:如果h=0,设定Icur,test={Icur(m),CBS}
步骤4.8:否则如果h≠0,设定Icur,test={CBS(1∶h),Icur(m),CBS(h+1∶|CBS|)};
步骤4.9:得到Icur,test后,调用算法P2-Algorithm计算出θ*,cur,test和x*,test;
步骤4.10:如果θ*,cur,test<CBV,设定CBV=θ*,cur,test,x*=x*,test,同时设定CBS=Icur,test;
步骤4.11:当h=|CBS|时,结束步骤4.5的for循环;
步骤4.12:当m=|Icur|时,结束步骤4.4的for循环;
步骤4.13:设定Icur=Iall\CBS;
步骤4.14:当时,结束步骤4.2的while循环;
步骤4.15:输出θ*=CBV以及x*。
本发明的技术构思为:首先,考虑在蜂窝无线网络中,智能终端通过非正交接入技术传输数据实现最小化上行传输时间与所有智能终端总能量消耗来获得一定的经济效益和服务质量。在此处,考虑的前提是智能终端的上传能量消耗及上行传输时间的限制。通过对问题的特性分析,将非凸问题等价转换成凸问题来求解。首先,在给定一种解码排序πm的条件下提出基于线性搜索的方法求解问题,从而在保证发送完成所有智能终端数据的条件下,实现最小化上行传输时间与所有智能终端总能量消耗量;接着提出了算法OptOrder-Algorithm来找到最优的解码排序,算出全局最优上行传输时间和全局最小整体无线资源消耗。
本发明的有益效果主要表现在:1、对于上行整体而言,利用非正交接入技术大大提高了系统传输效率;2、对于上行整体而言,利用非正交接入技术大大节省带宽资源;3、对于上行整体而言,通过非正交接入技术获得更优质的无线网络体验质量。
附图说明
图1是无线网络中多个智能终端和接入热点的上行场景示意图;
图2是3个STs的所有排序情况示意图;
图3是对应于算法OptOrder-Algorithm的5个STs说明示意图。
具体实施方式
下面结合附图对于本发明作进一步详细描述。
参照图S、图2和图3,一种基于线性搜索式的非正交接入最优解码排序上行传输时间优化方法,实行该方法能在同时保证发送完成所有智能终端数据的条件下,使得上行传输时间与所有智能终端总能量消耗最小化,提高整个系统的无线网络体验质量。本发明应用于无线网络,如图1所示场景中。针对该目标设计对问题的优化方法包括如下步骤:
(1)在接入热点的覆盖范围下总共有I个智能终端,智能终端用集合表示,也就是说,给定一组智能终端就有I!种解码排序,智能终端使用非正交接入技术同时向接入热点发送数据,其中智能终端i需要发送的数据量用表示;
在保证发送完成所有智能终端的数据量以及给定一种解码排序πm,其中m=1,2,...,I!的条件下,最小化上行传输时间与所有智能终端总能量消耗的优化问题描述为如下所示的优化问题(P1-m)问题:
0≤tm≤Tmax (1-3)
Variables:tm
下面将问题中的各个变量做一个说明,如下:
πm(i):给定解码排序πm的条件下,智能终端i的解码顺序;
α:上行传输时间的权重因子;
β:上行传输总能量消耗的权重因子;
tm:智能终端发送数据到接入热点的上行传输时间,单位是秒;
是关于tm的函数,表示在第m种解码排序πm的情况下,智能终端i在给定上行传输时间tm内完成发送数据量所需要的最小发射功率,单位是瓦特;
W:智能终端到接入热点的信道带宽,单位是赫兹;
n0:信道背景噪声的频谱功率密度;
giA:智能终端i到接入热点的信道功率增益;
智能终端i需要发送到接入热点的数据量,单位是兆比特;
智能终端i最大上传能量消耗,单位是焦耳;
Tmax:智能终端发送数据到接入热点的最大上行传输时间,单位是秒;通过引入一个辅助变量求解(P1-m)优化问题;
(2)(P1-m)问题是在给定智能终端上传量的情况下找到最小的上行传输时间与所有智能终端总能量消耗,定义一个变量x,如下:
其中,x被看作一个内部变量,适用于任意一种解码排序;
因此,(P1-m)问题等价为(P1-m-E)问题,“E”表示的是等价地,如下:
定义智能终端i的函数Hi(x)的表达式如下:
为了有效解决(P1-m-E)问题,引入一个新变量θ,通过使用变量θ,(P1-m-E)问题转化为(P2)问题如下:
(P2):min θ
Variable:θ
求解(P2)问题的思路是:设定θ的上限是一个足够大的数,设定θ的下限是0,通过对θ进行线性搜索来找到最小的θ值,该θ值要同时确保(P2)问题可行,(P2)问题可行是指:在给定θ值条件下,(P2)问题中约束条件(2-4),(2-5)和(2-6)所产生有关于变量x的可行解集合为一个非空集合;否则,(P2)问题为不可行,即在给定θ值条件下约束条件(2-4),(2-5)和(2-6)所产生有关于变量x的可行解集合是一个空集;
为了判断在给定θ值条件下(P2)问题是否可行,考虑如下(P2-Sub)问题:
Variable:x
如果(P2-Sub)问题的最优值输出Vθ≤0,则表示(P2)问题是可行的;否则,(P2)问题将是不可行的;
接着,定义函数G(x)如下:
因此,得到函数G(x)的一阶导数如下:
根据表达式(2-10)推导得出是关于变量x的单调递增函数,所以通过求解的零点来求解G(x)的最小值;
首先,根据的单调递增性,利用对分搜索求解的零点记为xzero,使得满足
接着,根据条件(2-3)和(2-7),得到关于变量x的表达式如下:
对(2-11)关于x求一阶导数,得到:
在这里,引入一个变量接着,分析整理表达式(2-11)和(2-12)在不同的条件下,有以下三种情况:
i)如果且那么不存在满足条件的可行解;
ii)如果且那么存在解满足
iii)如果由于是单调递减的且那么存在满足进一步由于Qi(0)=0,Qi(x)在区间先增后减,所以存在解满足
(3)求解(P2)问题的算法P2-Algorithm,在(P2)问题中,设定θ的上限是一个足够大的数,设定计算步长是一个很小的数,通过对θ进行线性搜索来找到最小的θ值,该θ值要同时确保(P2)问题可行;通过求解(P2-Sub)问题,判断在给定θ值条件下(P2)问题是否可行;其中,如果(P2-Sub)问题的最优值输出Vθ≤0,则表示(P2)问题是可行的,那通过线性搜索方式减小当前θ值;否则,(P2)问题将是不可行的,那就跳出线性搜索;通过线性搜索不断更新当前θ值,直到Vθ足够接近于0,跳出线性搜索,算法最后输出的最优θ值,即确保D1问题可行的最小的θ值,求解(P2)问题算法的P2-Algorithm的步骤如下:
步骤3.1:输入计算步长∈(p2)=10-4,设定参数θuppbound=104;
步骤3.2:利用对分搜索求解的零点xzero;
步骤3.3:根据对函数Qi(x)和的分析分别利用对分搜索,解出
步骤3.4:设定
步骤3.5:如果xzero<xmin,设定x*,temp=xmin,转至执行步骤3.8;
步骤3.6:否则如果xzero≤xmax,设定x*,temp=xzero,转至执行步骤3.8;
步骤3.7:否则xzero>xmax,设定x*,temp=xmax,转至执行步骤3.8;
步骤3.8:设定
步骤3.9:如果Vθ≤0,设定θuppbound=θuppbound-∈(p2),同时设定x*,test=x*,temp,转至并执行步骤3.2;否则,设定x*,test=x*,temp,转至执行步骤3.10;
步骤3.10:输出θ*,cur,test=θcur以及x*,test;
最后,算法P2-Algorithm输出的θ*,cur,test代表在给定一种解码排序πm的条件下:(P2)问题所求的最小整体无线资源消耗,(P1-m)问题中待求的最优上行传输时间t*,test表示为
(4)得到给定一种解码排序πm的条件下的最优上行传输时间后,接着提出算法OptOrder-Algorithm来找到最优的解码排序,也即找到全局最优上行传输时间,使得有全局最小整体无线资源消耗;
算法OptOrder-Algorithm的求解思路是:设定智能终端集合为Iall={g1A,g2A,...,gIA},|Iall|表示集合Iall的基,初始化当前可选集合Icur={g1A,g2A,...,gIA},|Icur|表示集合Icur的基,当前最优解码排序当前最优解CBV是一个足够大的数,当前测试集合首先,第一次迭代过程,从Icur中依次选择一个元素插进Icur,test中,通过调用算法P2-Algorithm找出当前最优的Icur,test,即使得有当前最小整体无线资源消耗的Icur,test,更新Icur,即把Iall去掉Icur,test之后的集合给Icur,同时更新CBS,即把当前最优的Icur,test给CBS;接着第二次迭代过程中,从当前Icur中依次选择一个元素插进Icur,test中,此时Icur,test只有一个元素,即插在该元素左边或右边,通过调用算法P2-Algorithm找出当前最优的Icur,test,即使得有当前最小整体无线资源消耗的Icur,test,更新Icur,即把Iall去掉Icur,test之后的集合给Icur,同时更新CBS,即把当前最优的Icur,test给CBS;每次从当前Icur中依次选择一个元素插进Icur,test时,不能改变已确定的Icur,test集合中的元素位置排列,如此迭代直到最后一次迭代,找到全局最优的解码排序CBS,全局最小整体无线资源消耗θ*,全局最优上行传输时间t*;算法OptOrder-Algorithm的求解步骤如下:
步骤4.1:设定Iall=Icur={g1A,g2A,...,gIA},
步骤4.2:开始while循环
步骤4.3:设定CBV是一个足够大的数;
步骤4.4:开始for循环m=1∶1∶|Icur|;
步骤4.5:开始for循环h=0∶1∶|CBS|;
步骤4.6:设定
步骤4.7:如果h=0,设定Icur,test={Icur(m),CBS}
步骤4.8:否则如果h≠0,设定Icur,test={CBS(1∶h),Icur(m),CBS(h+1∶|CBS|)};
步骤4.9:得到Icur,test后,调用算法P2-Algorithm计算出θ*,cur,test和x*,test;
步骤4.10:如果θ*,cur,test<CBV,设定CBV=θ*,cur,test,x*=x*,test,同时设定CBS=Icur,test;
步骤4.11:当h=|CBS|时,结束步骤4.5的for循环;
步骤4.12:当m=|Icurl时,结束步骤4.4的for循环;
步骤4.13:设定Icur=Iall\CBS;
步骤4.14:当时,结束步骤4.2的while循环;
步骤4.15:输出θ*=CBV以及x*;
最后,算法OptOrder-Algorithm输出的θ*代表(P2)问题中所求的全局最小整体无线资源消耗,(P1-m)问题中待求的全局最优上行传输时间t*表示为