一种基于无线能量收集的无线网络子信道功率分配方法
技术领域
本发明涉及一种无线网络中的功率分配技术,尤其是涉及一种基于无线能量收集的无线网络子信道功率分配方法。
背景技术
随着无线通信技术的迅速发展,无线网络的能量有限问题已成为限制无线通信技术发展的一大挑战。针对无线网络的能量有限问题,目前业界主要有两种思路,第一种是使用更大容量的电池,这种方法受电池外形大小的限制;另一种是引入无线能量收集技术来解决无线网络能量不足的问题。近几年,无线能量收集登上历史舞台,与传统的电池驱动的通信系统不同,无线网络通过无线能量收集技术可以从环境中获取能量,例如太阳能、风能、潮汐能等。但是,这些能量的获取极大地受到了地理因素和天气因素的影响,具有不稳定的特性,因此从可靠的射频信号中进行无线能量收集越来越多的得到人们的关注。与此同时,随着无线通信设备的爆炸式增长,各种无线网络系统对网络吞吐量的需求也越来越高。而由于诸如路径损耗、阴影和小规模衰落的信道损耗,因此很多用户可能会遇到低质量的服务性能。
针对这些问题,Ding Xu等人2017年10月发表在期刊IEEE WirelessCommunications Letters上的文章《Cooperative Resource Allocation in CognitiveRadio Networks With Wireless Powered Primary Users(具有无线供能的主要用户的认知无线电网络的协作资源分配)》中提出了一种子信道功率分配方法,该方法将整个通信时隙划分为两个子时隙,在第一个子时隙中,协作用户全部功率都被分配到一个子信道中进行通信,同时能量收集用户从协作用户的射频信号中收集能量;在第二个子时隙中,协作用户和能量收集用户同时进行通信。该方法由于需要通过一维搜索算法来对两个子时隙的时间长度进行优化,因此具有较高的复杂度;该方法在第一个子时隙中将协作用户所有功率全部分配到一个子信道中,这说明协作用户的功率分配仍有优化的空间;该方法没有考虑到每个时隙中存在未被使用的剩余能量的情况,这造成了能量的浪费,如果将这部分剩余能量利用起来,则对提高协作用户的吞吐量是具有积极意义的。
发明内容
本发明所要解决的技术问题是提供一种基于无线能量收集的无线网络子信道功率分配方法,其能够解决没有可持续能源的无线网络的能量有限问题,而且能够对信道及能量进行高效的资源分配,以达到使协作用户的吞吐量最大化的目的,同时降低了计算复杂度,还利用了前一个时隙的剩余能量,提高了能量利用率。
本发明解决上述技术问题所采用的技术方案为:一种基于无线能量收集的无线网络子信道功率分配方法,其特征在于包括以下步骤:
步骤1、在协作无线网络中,存在一个协作用户和一个能量收集用户,协作用户由协作用户发射机和协作用户接收机组成,能量收集用户由能量收集用户发射机和能量收集用户接收机组成;将协作无线网络的总信道的带宽记为B;将协作无线网络的当前待处理的一个时隙定义为当前时隙,将当前时隙的时间长度记为τ;然后将总信道平均地划分为N个子信道,每个子信道的带宽为将总信道和子信道的噪声功率谱密度记为n0;并将当前时隙划分为两个子时隙,将第1个子时隙的时间长度记为τ1,将第2个子时隙的时间长度记为τ2,满足τ=τ1+τ2;在第1个子时隙中,协作用户发射机与协作用户接收机之间通过子信道进行通信,能量收集用户发射机从协作用户发射机发射出的射频信号中收集能量;在第2个子时隙中,协作用户发射机与协作用户接收机之间通过子信道进行通信,同时能量收集用户发射机与能量收集用户接收机之间通过子信道进行通信,且协作用户用于通信的子信道与能量收集用户用于通信的子信道不相同;其中,B的单位为Hz,τ的单位为秒,N为正整数,N=2k,k为大于或等于1的正整数,/>的单位为Hz,n0的单位为dBm/Hz,τ1∈[0.3τ,0.5τ],τ1和τ2的单位为秒;
步骤2、令表示在第2个子时隙中分配给能量收集用户用于通信的子信道的序号的集合;然后初始化/>使/>的初始值为{1,2,…,N};
步骤3、在满足能量收集用户的最低吞吐量的条件下,计算能量收集用户发射机使用最小能量时在序号属于/>中的每个子信道上分配的发射功率,设定第i个子信道的序号属于/>则将能量收集用户发射机使用最小能量时在第i个子信道上分配的发射功率记为/> 其中,i为正整数,/> e为自然对数,ME表示/>中包含的元素的总个数,符号“| |”为取绝对值符号,/>表示能量收集用户发射机和能量收集用户接收机之间通信时在第i个子信道上的信道系数;
步骤4、在步骤3的基础上,判断能量收集用户发射机使用最小能量时在序号属于中的各个子信道上分配的发射功率是否全不小于零,如果是,则执行步骤5;否则,找出小于零的发射功率对应的子信道,然后将找出的子信道的序号从/>中删除,再返回步骤3继续执行;
步骤5、在满足能量收集用户的最低吞吐量的条件下,计算在当前时隙中能量收集用户所需要的最小能量,记为Emin,/>
步骤6、令表示在第1个子时隙中分配给协作用户用于通信的子信道的序号的集合;然后初始化/>使/>的初始值为{1,2,…,N};
步骤7、计算为协作用户发射机在第1个子时隙中在每个子信道上分配的发射功率,将为协作用户发射机在第1个子时隙中在第i'个子信道上分配的发射功率记为若第i'个子信道的序号属于/>则/>若第i'个子信道的序号不属于/>则/>其中,i'为正整数,i'∈{1,2,…,N},pC,max表示协作用户发射机的最大允许发射功率,/>MC1表示/>中包含的元素的总个数,/>表示在第1个子时隙中协作用户发射机和协作用户接收机之间通信时在第i'个子信道上的信道系数;
步骤8、在步骤7的基础上,判断为协作用户发射机在第1个子时隙中在序号属于中的各个子信道上分配的发射功率是否全不小于零,如果是,则执行步骤9;否则,找出小于零的发射功率对应的子信道,然后将找出的子信道的序号从/>中删除,再返回步骤7继续执行;
步骤9、计算在当前时隙中能量收集用户发射机收集到的能量,记为Eh,其中,ζ表示能量收集用户发射机的能量收集效率,/>表示协作用户发射机和能量收集用户发射机之间在第i'个子信道上的信道系数;
步骤10、判断Eh与Eremain之和是否不小于Emin,如果是,则执行步骤12;否则,执行步骤11;其中,若当前时隙为第1个时隙则令Eremain=0,若当前时隙不为第1个时隙则Eremain表示当前时隙的前一个时隙的剩余能量;
步骤11、从为协作用户发射机在第1个子时隙中在序号属于中的各个子信道上分配的发射功率中找出最小发射功率;然后从/>中找出绝对值最大的信道系数;接着将最小发射功率重新分配给绝对值最大的信道系数对应的子信道,使得为协作用户发射机在第1个子时隙中在最小发射功率对应的子信道上分配的发射功率为0,而使得为协作用户发射机在第1个子时隙中在绝对值最大的信道系数对应的子信道上分配的发射功率为原分配的发射功率加上最小发射功率,且当绝对值最大的信道系数对应的子信道的序号不属于/>时将该序号加入到/>中;再返回步骤9继续执行;其中,j为正整数,1≤j≤N,/>表示协作用户发射机和能量收集用户发射机之间在第1个子信道上的信道系数,/>表示协作用户发射机和能量收集用户发射机之间在第j个子信道上的信道系数,表示协作用户发射机和能量收集用户发射机之间在第N个子信道上的信道系数;
步骤12、令表示在第2个子时隙中分配给协作用户用于通信的子信道的序号的集合;然后初始化/>使/>的初始值为{1,2,…,N};
步骤13、计算为协作用户发射机在第2个子时隙中在序号属于中的每个子信道上分配的发射功率,设定第i”个子信道的序号属于/>则将为协作用户发射机在第2个子时隙中在第i”个子信道上分配的发射功率记为/> 其中,i”为正整数,/> MC2表示/>中包含的元素的总个数,/>表示在第2个子时隙中协作用户发射机和协作用户接收机之间通信时在第i”个子信道上的信道系数;
步骤14、在步骤13的基础上,判断为协作用户发射机在第2个子时隙中在序号属于中的各个子信道上分配的发射功率是否全不小于零,如果是,则执行步骤15;否则,找出小于零的发射功率对应的子信道,然后将找出的子信道的序号从/>中删除,再返回步骤13继续执行;
步骤15、计算在当前时隙中能量收集用户发射机的发射功率,记为pEH,若成立,则pEH=pE,max;若/>成立,则/>其中,pE,max表示能量收集用户发射机的最大允许发射功率;
步骤16、重新初始化使/>的初始值为在{1,2,…,N}中除去所有属于/>中的元素后剩下的元素组成的集合;
步骤17、计算为能量收集用户发射机在第2个子时隙中在序号属于中的每个子信道上分配的发射功率,设定第i*个子信道的序号属于/>则将为能量收集用户发射机在第2个子时隙中在第i*个子信道上分配的发射功率记为/> 其中,i*为正整数,/> 表示能量收集用户发射机和能量收集用户接收机之间通信时在第i*个子信道上的信道系数;
步骤18、在步骤17的基础上,判断为能量收集用户发射机在第2个子时隙中在序号属于中的各个子信道上分配的发射功率是否全不小于零,如果是,则执行步骤19;否则,找出小于零的发射功率对应的子信道,然后将找出的子信道的序号从/>中删除,再返回步骤17继续执行;
步骤19、在步骤18的基础上,计算在当前时隙中能量收集用户的实际吞吐量,记为REHU,
步骤20、判断REHU是否大于或等于如果是,则完成了在第1个子时隙中在协作用户用于通信的子信道上协作用户发射机的发射功率分配、在第2个子时隙中在协作用户用于通信的子信道上协作用户发射机的发射功率分配、在第2个子时隙中在能量收集用户用于通信的子信道上能量收集用户发射机的发射功率分配,再执行步骤22;否则,执行步骤21;
步骤21、从能量收集用户发射机和能量收集用户接收机之间通信时在序号属于中的各个子信道上的信道系数中找出绝对值最大的信道系数;然后将绝对值最大的信道系数对应的子信道的序号从/>中移到/>中;再返回步骤13继续执行;
步骤22、计算当前时隙的剩余能量,记为E'remain,E'remain=Eh+Eremain-pEHτ2,令Eremain=E'remain,用于下一个时隙处理时使用;其中,Eremain=E'remain中的“=”为赋值符号。
与现有技术相比,本发明的优点在于:
1)在第1个子时隙中协作用户同时利用了多个子信道进行有效的资源分配,使得协作用户在第1个子时隙中得到了充分的优化,因此在相同条件下本发明方法能够使协作用户达到更高的吞吐量。
2)本发明方法固定了两个子时隙的时间长度,第1个子时隙的时间长度可以选择[0.3τ,0.5τ]范围内的任意一个时间长度值,无需利用一维搜索算法对两个子时隙的时间长度进行优化,因而具有更低的计算复杂度。
3)本发明方法在基于无线能量收集技术的协作无线网络中,通过对能量收集用户和协作用户在不同的子时隙中分配子信道和功率,使协作用户的吞吐量达到最大,与此同时能量收集用户通过无线能量收集技术获得自身用于通信的能量,这解决了能量收集用户的能量有限问题。
4)本发明方法在第2个子时隙中对协作用户和能量收集用户分配功率的迭代过程中,协作用户只需进行一次分配,这也有效降低了计算复杂度。
5)本发明方法不仅考虑了在当前时隙收集到的能量,而且还考虑了当前时隙的前一个时隙剩余的能量,即考虑了对前时隙的前一个时隙剩余的能量的利用,因此本发明方法对能量的利用更加有效,同时这也使得协作用户的吞吐量得到了进一步的提升。
附图说明
图1为基于无线能量收集技术的协作无线网络的示意图;
图2为本发明方法的流程框图;
图3为分别使用本发明方法和Ding Xu等人提出的方法,协作用户的吞吐量随协作用户发射机的最大允许发射功率变化的性能曲线对比图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出了一种基于无线能量收集的无线网络子信道功率分配方法,图1给出了基于无线能量收集技术的协作无线网络,图2给出了本发明方法的流程框图,本发明方法包括以下步骤:
步骤1、在协作无线网络中,存在一个协作用户和一个能量收集用户,协作用户由协作用户发射机和协作用户接收机组成,能量收集用户由能量收集用户发射机和能量收集用户接收机组成;将协作无线网络的总信道的带宽记为B;将协作无线网络的当前待处理的一个时隙定义为当前时隙,将当前时隙的时间长度记为τ;然后将总信道平均地划分为N个子信道,每个子信道的带宽为将总信道和子信道的噪声功率谱密度记为n0,总信道的噪声功率谱密度和每个子信道的噪声功率谱密度相同;并将当前时隙划分为两个子时隙,将第1个子时隙的时间长度记为τ1,将第2个子时隙的时间长度记为τ2,满足τ=τ1+τ2;在第1个子时隙中,协作用户发射机与协作用户接收机之间通过子信道进行通信,能量收集用户发射机从协作用户发射机发射出的射频信号中收集能量;在第2个子时隙中,协作用户发射机与协作用户接收机之间通过子信道进行通信,同时能量收集用户发射机与能量收集用户接收机之间通过子信道进行通信,且协作用户用于通信的子信道与能量收集用户用于通信的子信道不相同;其中,B的单位为Hz,τ的单位为秒,N为正整数,N=2k,k为大于或等于1的正整数,在本实施例中取k=5,/>的单位为Hz,n0的单位为dBm/Hz,τ1∈[0.3τ,0.5τ],τ1和τ2的单位为秒;在给定协作无线网络的情况下,B、τ和n0均已知。
步骤2、令表示在第2个子时隙中分配给能量收集用户用于通信的子信道的序号的集合;然后初始化/>使/>的初始值为{1,2,…,N}。
步骤3、在满足能量收集用户的最低吞吐量的条件下,计算能量收集用户发射机使用最小能量时在序号属于/>中的每个子信道上分配的发射功率,设定第i个子信道的序号属于/>则将能量收集用户发射机使用最小能量时在第i个子信道上分配的发射功率记为/> 其中,i为正整数,/> e为自然对数,ME表示/>中包含的元素的总个数,符号“| |”为取绝对值符号,/>表示能量收集用户发射机和能量收集用户接收机之间通信时在第i个子信道上的信道系数;在给定协作无线网络的情况下,/>和/>均已知;如果有子信道的序号不属于/>则令在满足能量收集用户的最低吞吐量/>的条件下能量收集用户发射机使用最小能量时在该子信道上分配的发射功率为0。
步骤4、在步骤3的基础上,判断能量收集用户发射机使用最小能量时在序号属于中的各个子信道上分配的发射功率是否全不小于零(若/>中包含10个子信道的序号,则判断在10个子信道上分配的发射功率是否全不小于零),如果是,则执行步骤5;否则,找出小于零的发射功率对应的子信道(可能是1个或多个),然后将找出的子信道的序号从/>中删除,再返回步骤3继续执行。
步骤5、在满足能量收集用户的最低吞吐量的条件下,计算在当前时隙中能量收集用户所需要的最小能量,记为Emin,/>
步骤6、令表示在第1个子时隙中分配给协作用户用于通信的子信道的序号的集合;然后初始化/>使/>的初始值为{1,2,…,N}。
步骤7、计算为协作用户发射机在第1个子时隙中在每个子信道上分配的发射功率,将为协作用户发射机在第1个子时隙中在第i'个子信道上分配的发射功率记为若第i'个子信道的序号属于/>则/>若第i'个子信道的序号不属于/>则/>其中,i'为正整数,i'∈{1,2,…,N},pC,max表示协作用户发射机的最大允许发射功率,/>MC1表示/>中包含的元素的总个数,/>表示在第1个子时隙中协作用户发射机和协作用户接收机之间通信时在第i'个子信道上的信道系数;在给定协作无线网络的情况下,pC,max和/>均已知。
步骤8、在步骤7的基础上,判断为协作用户发射机在第1个子时隙中在序号属于中的各个子信道上分配的发射功率是否全不小于零(若/>中包含10个子信道的序号,则判断为协作用户发射机在10个子信道上分配的发射功率是否全不小于零),如果是,则执行步骤9;否则,找出小于零的发射功率对应的子信道(可能是1个或多个),然后将找出的子信道的序号从/>中删除,再返回步骤7继续执行。
步骤9、计算在当前时隙中能量收集用户发射机收集到的能量,记为Eh,其中,ζ表示能量收集用户发射机的能量收集效率,/>表示协作用户发射机和能量收集用户发射机之间在第i'个子信道上的信道系数;在给定协作无线网络的情况下,ζ和/>均已知。
步骤10、判断Eh与Eremain之和是否不小于Emin,如果是,则执行步骤12;否则,执行步骤11;其中,若当前时隙为第1个时隙则令Eremain=0,若当前时隙不为第1个时隙则Eremain表示当前时隙的前一个时隙的剩余能量。
步骤11、从为协作用户发射机在第1个子时隙中在序号属于中的各个子信道上分配的发射功率中找出最小发射功率;然后从/>中找出绝对值最大的信道系数;接着将最小发射功率重新分配给绝对值最大的信道系数对应的子信道,使得为协作用户发射机在第1个子时隙中在最小发射功率对应的子信道上分配的发射功率为0,而使得为协作用户发射机在第1个子时隙中在绝对值最大的信道系数对应的子信道上分配的发射功率为原分配的发射功率加上最小发射功率,且当绝对值最大的信道系数对应的子信道的序号不属于/>时将该序号加入到/>中;再返回步骤9继续执行;其中,j为正整数,1≤j≤N,/>表示协作用户发射机和能量收集用户发射机之间在第1个子信道上的信道系数,/>表示协作用户发射机和能量收集用户发射机之间在第j个子信道上的信道系数,表示协作用户发射机和能量收集用户发射机之间在第N个子信道上的信道系数。
步骤12、令表示在第2个子时隙中分配给协作用户用于通信的子信道的序号的集合;然后初始化/>使/>的初始值为{1,2,…,N}。
步骤13、计算为协作用户发射机在第2个子时隙中在序号属于中的每个子信道上分配的发射功率,设定第i”个子信道的序号属于/>则将为协作用户发射机在第2个子时隙中在第i”个子信道上分配的发射功率记为/> 其中,i”为正整数,/> MC2表示/>中包含的元素的总个数,/>表示在第2个子时隙中协作用户发射机和协作用户接收机之间通信时在第i”个子信道上的信道系数;在给定协作无线网络的情况下,/>已知;如果有子信道的序号不属于/>则令在第2个子时隙中在该子信道上为协作用户发射机分配的发射功率为0。
步骤14、在步骤13的基础上,判断为协作用户发射机在第2个子时隙中在序号属于中的各个子信道上分配的发射功率是否全不小于零(若/>中包含10个子信道的序号,则判断为协作用户发射机在10个子信道上分配的发射功率是否全不小于零),如果是,则执行步骤15;否则,找出小于零的发射功率对应的子信道(可能是1个或多个),然后将找出的子信道的序号从/>中删除,再返回步骤13继续执行。
步骤15、计算在当前时隙中能量收集用户发射机的发射功率,记为pEH,若成立,则pEH=pE,max;若/>成立,则/>其中,pE,max表示能量收集用户发射机的最大允许发射功率。在给定协作无线网络的情况下,pE,max已知。
步骤16、重新初始化使/>的初始值为在{1,2,…,N}中除去所有属于/>中的元素后剩下的元素组成的集合。
步骤17、计算为能量收集用户发射机在第2个子时隙中在序号属于中的每个子信道上分配的发射功率,设定第i*个子信道的序号属于/>则将为能量收集用户发射机在第2个子时隙中在第i*个子信道上分配的发射功率记为/> 其中,i*为正整数,/> 表示能量收集用户发射机和能量收集用户接收机之间通信时在第i*个子信道上的信道系数;如果有子信道的序号不属于/>则令为能量收集用户发射机在第2个子时隙中在该子信道上分配的发射功率为0。
步骤18、在步骤17的基础上,判断为能量收集用户发射机在第2个子时隙中在序号属于中的各个子信道上分配的发射功率是否全不小于零(若/>中包含10个子信道的序号,则判断为能量收集用户发射机在10个子信道上分配的发射功率是否全不小于零),如果是,则执行步骤19;否则,找出小于零的发射功率对应的子信道(可能是1个或多个),然后将找出的子信道的序号从/>中删除,再返回步骤17继续执行。
步骤19、在步骤18的基础上,计算在当前时隙中能量收集用户的实际吞吐量,记为REHU,
步骤20、判断REHU是否大于或等于如果是,则完成了在第1个子时隙中在协作用户用于通信的子信道上协作用户发射机的发射功率分配、在第2个子时隙中在协作用户用于通信的子信道上协作用户发射机的发射功率分配、在第2个子时隙中在能量收集用户用于通信的子信道上能量收集用户发射机的发射功率分配,再执行步骤22;否则,执行步骤21。
步骤21、从能量收集用户发射机和能量收集用户接收机之间通信时在序号属于中的各个子信道上的信道系数中找出绝对值最大的信道系数;然后将绝对值最大的信道系数对应的子信道的序号从/>中移到/>中;再返回步骤13继续执行。
步骤22、计算当前时隙的剩余能量,记为E'remain,E'remain=Eh+Eremain-pEHτ2,令Eremain=E'remain,用于下一个时隙处理时使用;其中,Eremain=E'remain中的“=”为赋值符号。
通过以下仿真来进一步说明本发明方法的可行性和有效性。
图3给出了分别使用本发明方法和Ding Xu等人提出的方法,协作用户的吞吐量随协作用户发射机的最大允许发射功率变化的性能曲线对比图。在仿真中,总信道的带宽为B=180kHz,将总信道均分为N=32个子信道,即每个子信道的带宽为噪声功率谱密度为n0=-174dBm/Hz,能量收集用户的最低吞吐量为/>能量收集用户发射机的最大允许发射功率为pE,max=23dBm,能量收集用户发射机的能量收集效率ζ=0.2,第1个子时隙的时间长度τ1=0.4τ。从图3中可以看出,在两种方法中,协作用户的吞吐量都随着协作用户发射机的最大允许发射功率增大而增大,不过本发明方法的性能明显要优于Ding Xu等人提出的方法。因此本发明方法确实是能够很好地提高基于能量收集技术的协作无线网络的协作用户的吞吐量。/>