本发明涉及移动通信技术领域,具体涉及一种基于萤火虫算法的swipt协作通信系统中继选择方法。
背景技术
多输入多输出(mimo)技术为改善通信系统性能、提高小区边沿用户的吞吐量和传输可靠性提供了一种有效的解决途径。协作通信技术则充分利用了中继技术和无线电波的全向传播特性,使无线网络中的节点相互协作形成了虚拟的天线阵列来获得传统mimo技术可以获得的空间分集增益。
传统协作网络具有中继节点电池容量有限和电池更换不便等缺点,而新兴的无线携能通信技术(swipt)可以实现高效可靠通信的同时为节点充电蓄能,延长节点待机时间,降低人为为设备供能所带来的成本问题;因此将swipt技术应用于无线中继网络中不仅可结合传统中继网络的优势,还可有效降低中继设备的能耗,延长能量受限的中继设备的生存周期。在基于swipt的中继系统中,如何对中继数量进行合理地选择是影响中继系统性能的关键。
目前已有许多研究提出了各种关于无线协作通信系统中继选择的方法,但是大多数的中继选择问题集中于考虑选择单个中继节点进行协作。公开号为cn104507144a,公开日为2015年4月8日的发明专利“无线携能中继网络联合中继选择及资源分配方法”,考虑了中继选择策略、信道分配及源节点、中继节点功率以及中继节点能量采集策略的联合优化,在保障用户服务质量(qos)需求的同时实现网络能效最大化,但是该发明只考虑选择单个子载波和单个中继节点进行协作,并未考虑到多个中继带来系统性能的提升以及系统频带的利用效率,同时一般的凸优化方法实现速度较慢。
技术实现要素:
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于萤火虫算法的swipt协作通信系统中继选择方法,该方法寻找最优的中继节点选择方案,在两跳多中继(不考虑直达链路)场景下,以目的节点的信道容量为优化目标,在满足系统性能要求的条件下,通过合理分配系统载波,有效选择多个最优中继参与协作。
本发明的目的可以通过采取如下技术方案达到:
一种基于萤火虫算法的swipt协作通信系统中继选择方法,具体包含以下顺序步骤:
s1、检测发射端周围空间空闲的m个可接入的中继节点rm(m=1,…,m),获取源节点s与各中继节点rm(m=1,…,m)之间的信道状态信息
hm,n(m=1,…,m;n=1,…,n)以及各中继节点rm(m=1,…,m)与目的节点d之间的信道状态信息gm,n(m=1,…,m;n=1,…,n)。其中,hm,n表示源节点s中的第n条子载波到中继节点rm的信道增益,gm,n表示中继节点rm中的第n条子载波到目的节点d的信道增益,n表示系统子载波数。
s2、初始化萤火虫算法基本参数λ、tmax、k、c。其中λ代表光吸收系数,tmax表示算法的最大迭代次数,c表示算法收敛常数,k表示萤火虫总数量。
s3、产生代表中继选择方案的萤火虫的状态
s4、以目的节点d的信道容量为优化目标,定义目标函数:
其中,
s5、定义萤火虫的绝对亮度函数
s6、根据步骤s5中所述的萤火虫绝对亮度函数,计算步骤s3中所述的各个萤火虫的绝对亮度ij,t=f(φj,t)(1≤j≤k),绝对亮度的最大值记为
s7、开始萤火虫的移动和状态更新过程。所述萤火虫的移动过程,具体包含以下步骤:
s7.1、计算第i只萤火虫与第j只萤火虫的绝对亮度ii,t和ij,t(j≤i),根据
s7.2、确定萤火虫移动方向后,更新萤火虫的状态序列。若萤火虫j向萤火虫i移动,则更新萤火虫j的状态序列
s7.3、变量j的值增加1,根据j的取值,判断是否结束两只萤火虫的比较过程。若j<i,则返回步骤7.1;否则结束两只萤火虫的比较过程。
s7.4、变量i的取值增加1,根据i的取值,判断是否结束萤火虫的移动和状态更新过程。若i<k,则返回步骤s7;否则结束萤火虫的移动和状态更新,重新计算萤火虫的绝对亮度,绝对亮度最大的萤火虫的绝对亮度记为
s8、迭代次数增加1(t=t+1),重复步骤s6~s7,直到绝对亮度最大的萤火虫的亮度值的变化
进一步地,步骤s1中,所述的源节点s、各中继节点rm(m=1,…,m)和目的节点d的发送和接收天线均只有一根;所述的信道状态信息hm,n和gm,n均服从瑞利分布;中继节点在接收来自源节点的数据时,与中继节点转发数据至目的节点时占用相同的子载波,中继节点采用放大前传协议(amplifyforward,af)转发至目的节点d。
进一步地,步骤s2中,所述的参数λ为光吸收系数,λ值的选取对算法性能有很大的影响,λ的值越大,两只萤火虫之间的吸引力越小,萤火虫向其他萤火虫移动的概率越小,理论上λ∈[0,∞],实际中一般λ∈[0.01,100]。
进一步地,步骤s2中,所述的最大迭代次数tmax、萤火虫总数量k决定萤火虫算法的复杂度和算法精度。tmax越大、c的值越小和k的值越大,则所获系统的性能越好,而算法复杂度越高;反之算法复杂度降低,但是易陷入局部最优,性能下降。
进一步地,步骤s3中,第j只萤火虫的第n个状态
令randmax=max(rand1,…,randl,…,randm),此处max表示求最大值运算,randmax的下标记作m,则
进一步地,步骤s4中,所述的信噪比
进一步地,步骤s4中,所述的目标函数满足以下约束条件:
其中,式(1a)表示一个时刻子载波只能被一个中继使用;式(1b)表示一个时刻所有的子载波全部分配;式(1c)表示一个时刻中继m是否使用子载波n,使用则该值为1,不使用则为0;式(1d)表示中继m在每条分配的子载波上收集能量大于最低接收功率
进一步地,步骤s5中,所述的惩罚项zj,t由下式给出:
其中δ为惩罚因子,δ的取值由多次实验结果决定,函数max(x,y)表示求x和y二者之间的最大值。
进一步地,步骤s7.2中,所述的萤火虫j的状态序列更新方法具体如下:
步骤s7.2.1、计算萤火虫i和萤火虫j之间的相对吸引函数值,如下:
步骤s7.2.2、随机产生n个(0,1)区间上均匀分布的实数(rand1,…,randn,…,randn);
步骤s7.2.3、若
步骤s7.2.4、更新萤火虫j的绝对亮度ij,t。
本发明相对于现有技术具有如下的优点及效果:
1、本发明以目的节点信道容量为最大化,对具有能量收集的中继节点进行选择,考虑单条载波发送功率最低要求因素,合理选择最优数量中继节点,同时本发明考虑频谱利用效率,全部分配载波数量,使频谱使用率最大化。
2、本发明将萤火虫算法应用于swipt系统中继选择问题中,通过该算法选择合理数量中继进行传输,可以获得较高的寻优精度和收敛速度,比单中继传输具有更优的性能。
3、由于标准萤火虫算法适用于连续型变量空间,本发明根据实际问题对该算法离散化,从距离计算、移动方式两个方面进行改动,采用汉明距离度量萤火虫之间的距离,适用解决中继选择场景离散问题,并随机移动萤火虫位置,增加萤火虫群多样性,避免算法进入局部最优解。
附图说明
图1是本发明的网络模型示意图;
图2是本发明中功率分离示意图;
图3是本发明实施例中基于萤火虫算法的swipt协作通信系统中继选择方法的流程步骤图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例为一个两跳多中继无线协作网络如图1所示,它由1个源节点s、1个目的节点d和m=30个中继节点r组成,采用ofdma接入方式,系统带宽w=20mhz等比例分配给n=50条子载波,每条子载波的功率固定ps=20mw,考虑频带充分利用,50条子载波全部被中继使用。假设源节点和目的节点之间无直传链路,源节点s的信号只通过30个中继节点转发至目的节点d,系统采用半双工工作模式,源节点s首先向覆盖范围内的中继广播信号,中继节点接收到信号,将信号分为两部分,一部分用作能量收集,帮助中继转发信号至目的节点d,另一部分信号经过前向放大协议(amplifyforward,af)转发至目的节点d。
本实施例基于萤火虫算法的swipt协作通信系统中继选择方法包括下列步骤:
s1、检测发射端周围空间空闲的30个可接入的中继节点rm(m=1,…,30),获取源节点s与各中继节点rm(m=1,…,30)之间的信道状态信息
hm,n(m=1,…,30;n=1,…,50)以及各中继节点rm(m=1,…,30)与目的节点d之间的信道状态信息gm,n(m=1,…,30;n=1,…,50),源节点、每个中继节点和目的节点的发送和接收天线均只有一根。其中,hm,n表示源节点s中的第n条子载波到中继节点rm的信道增益,gm,n表示中继节点rm中的第n条子载波到目的节点d的信道增益,hm,n和gm,n均服从均值为0方差为1的瑞利分布,源节点发送数据至中继节点与中继节点转发数据至目的节点占用相同子载波。
s2、初始化萤火虫算法基本参数,包括光吸收系数λ、算法最大迭代次数tmax、算法收敛常数c和萤火虫总数量k。根据本实施例多次试验结果,取λ=1、tmax=1000、c=10-6、k=100。
s3、产生100个含有50个元素的数组φ1,t,...φj,t...,φ100,t表示100只萤火虫的状态序列,
其中,
randmax的下标记作m,则
s4、以目的节点d的信道容量为优化目标,定义目标函数:
s4.1、源节点每条子载波n上的信号xs在额定发送功率ps=20mw下,由源节点s经过信道发送至30个中继节点,
s4.2、第m个中继节点rm第一时隙在源节点第n条子载波上接收到信号,中继节点rm通过功率分离技术以功率分离因子ρm=0.75比例将信号分为独立两部分,一部分表示为
s4.3、将中继接收信号通过频带至基带转换和af放大协议后,中继发送信号为
s4.4、根据步骤s4.3中所述的中继发送信号,计算第m个中继和目的节点的第n条子载波上的接收信号
s4.5、根据步骤s4.4中所述的目的节点的接收信号计算源节点子载波n通过中继m转发到目的节点的信噪比
s4.6、以最大化目的节点d的信道容量为目标的最优化问题可以表示如下:
其中
s5、定义并计算每只萤火虫的绝对亮度函数
s6、根据步骤s5中所述的萤火虫绝对亮度函数计算步骤s3中各个萤火虫的绝对亮度ij,t=f(φj,t),将绝对亮度最大的萤火虫记为
s7、开始萤火虫移动和状态更新过程。所述萤火虫移动过程,具体包含以下步骤:
s7.1、计算第i只萤火虫与第j只萤火虫的绝对亮度ii,t和ij,t(j≤i),根据
s7.2、确定萤火虫移动方向后,更新萤火虫的状态序列。若萤火虫j向萤火虫i移动,则更新萤火虫j的状态序列
萤火虫j的状态序列更新方法具体如下:
s7.2.1、计算萤火虫i和萤火虫j之间的相对吸引函数值
s7.2.2、随机产生50个(0,1)区间上均匀分布的实数如下:
(rand1,…,randn,…,rand50);
s7.2.3、若
s7.2.4、更新萤火虫j的绝对亮度ij,t。
s7.3、变量j的值增加1,根据j的取值,判断是否结束两只萤火虫的比较过程。若j<i,则返回步骤s7.1;否则结束两只萤火虫的比较过程。
s8、迭代次数增加1(t=t+1),重复步骤s6~s7,直到绝对亮度最大的萤火虫的绝对亮度的变化
本发明的基于萤火虫算法的swipt系统中继选择方法的具体算法流程如附图3所示。
综上所述,本发明在具有能量收集的多中继模型基础上,以最大化目的节点容量为优化目标,通过离散萤火虫算法组合最优中继参与协作,并合理分配子载波至最优中继。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。