滕志军, 滕利鑫, 谢露莹, 曲福娟
(1. 东北电力大学 现代电力系统仿真控制与绿色电能新技术教育部重点实验室, 吉林 吉林 132012; 2. 东北电力大学 电气工程学院, 吉林 吉林 132012)
近年来,无线通信领域持续繁荣,导致频谱资源严重紧缺,认知无线电技术是解决该问题的一种有效方式,这项技术可以自动找寻和充分利用可用频谱资源.在认知无线电网络中,认知用户可以接入频谱资源的前提条件是不能对主用户产生干扰,前者是以一种机会的方式占用可用频谱资源[1-2].频谱分配的核心思想是对感知到的未被占用的频谱进行公平且高效的分配,提高频谱的使用效率[3].频谱分配问题本质上是一种优化问题,且具有非确定性特点.因此,利用智能优化算法求解十分有效.蚁群算法是一种新兴的群智能算法,其核心思想是由 M. DORIGO等最先提出的,在解决全局优化求解问题中得到广泛使用,无论是在解决简单的单目标优化问题,还是复杂的多目标优化问题上都行之有效.文献[4]所研究的蚁群优化算法(ant colony optimization,ACO),在信息素积累方面做了改良,引入学习因子,使得到最优解的时间缩短,非确定性多项式(nondeterministic polynomially,NP)问题得到有效解决,节约时间开销.但在ACO分配模型中,由于效益函数不完善,未能兼顾到增益矩阵,导致网络总效益有所下降.文献[5]研究的遗传蚁群算法提高了网络平均效益,但没有针对频谱分配的公平性问题进行讨论.文献[6]在解决系统吞吐量问题上,采用联合频谱分配方法,从频谱感知时间和子信道感知门限入手,确保系统拥有较高吞吐量,但是导致认知用户间的竞争增大,系统的公平性很难保证.文献[7]以传统蚁群算法为基础,设置了自助查询搜索窗口,指定了蚂蚁的前进路径,缩短了搜索时间,以达到提高系统整体效益的目的,但是该研究算法在整体寻优方面存在不足,不能很好地得到全局最优解.现有模型的分配大多未能考虑差别用户对频谱的需求程度,总是采用平均分配模式,未从认知用户需求角度考虑,导致公平性降低,频谱资源不能更好地被利用[7-10].蚁群算法可以充分利用系统中的反馈信息,具有求解精确、收敛速度快等优势,十分适用于频谱分配算法.
为此,笔者针对认知无线电频谱分配中存在的认知用户间竞争大、网络效益低和认知用户接入可用信道所用时间长的问题,提出一种基于蚁群优化的分配算法,借助信息素的增强型积累,为蚁群算法中蚂蚁的行动提供依据,即通过信息素计算蚂蚁的行动概率,使频谱以更高的概率分配到信息素较多的信道上,从而快速收敛到最优路径上,提高网络效益,增强认知用户间的公平性,节省频谱分配所需要时间,提升系统吞吐量.
分布式认知无线电频谱共享系统模式下,认知用户(次用户)都是根据其自身性质、性能及方位等情况,来感知主用户(授权用户)信号的情况[11].继而认知用户可以得到其各自可用的频谱,以及了解受到的干扰约束条件[12].认知用户间可以实现信息交互.频谱共享的方式有两种:一种是通过控制信道得到需要的信息;另一种是通过认知无线网络基站了解频谱的占用情况[13-16].具体的频谱分配可以用以下矩阵描述:
1) 可用信道矩阵L=[ln,m|ln,m∈[0,1]]N×M.主用户如果已经占用信道m,这时要是使用该信道,便会对主用户的正常接入造成不必要的干扰.可用信道矩阵只用于主用户之间,所以可用信道矩阵对认知用户间的相互干扰不予考虑.
2) 干扰约束矩阵C=[cn,k,m|cn,k,m∈[0,1]]N×K×M.该矩阵说明的是认知用户之间的干扰约束问题.如果cn,k,m=1,说明当用户n和k一起占用同一个信道m的话,就会使彼此之间的干扰变大.决定干扰约束的条件主要有用户所在区域、用户之间距离和信号强度.
3) 信道效益矩阵B=[bn,m]N×M.该矩阵说明的是一个认知用户接入该信道时得到的信道吞吐量,就是该用户是否顺利接入该信道.bn,m说明的是在没有邻道干扰时,用户n接入信道m后,能获得的最大带宽吞吐量比.若可用信道矩阵中元素ln,m=0,则bn,m=0.
4) 无冲突分配矩阵S=[sn,m|sn,m∈[0,1]]N×M.当sn,m=1时,表示用户n正在使用信道m.若信道m不能分配给用户n使用,则sn,m=0.此外,该矩阵需要达到可用信道矩阵LN×M和干扰约束矩阵CN×K×M规定的干扰约束条件如下:
sn,m+sk,m≤1,cn,k,m=1,
∀n≥1,k≤N,1≤m≤M.
(1)
1) 节点为蚂蚁可能访问的每一个认知用户.
2) 移动路径为分配给用户的一个信道.
3) 蚂蚁访问的节点数即为认知用户的个数N,用编号n表示.信道总数为M,用编号m表示.
4) 蚂蚁的个数可用X来表示,迭代次数用ξ来表示.
5) 干扰约束条件决定蚂蚁经过节点时释放信息素的多少、蚂蚁到达该节点时能获得的信道效益和蚂蚁所经历路线的长短及蚂蚁能否到达终点.
6) 每个认知用户拥有同样的蚂蚁数量,即每个认知用户成为源节点的概率相同,且每个节点不会被相同的蚂蚁重复经过.
2.2.1初始化参数的设置
设置的参数包括迭代次数和节点蚂蚁个数.可用信道矩阵L和效益矩阵C是动态调节矩阵,每个蚂蚁一旦位置变化,这两个矩阵便会自动调节数值.对禁忌表进行参数设定,对蚂蚁走过的每个节点进行记忆,且每只蚂蚁只能走过相同的节点一次.信息素矩阵是TN×M×ξ.
2.2.2信道分配
(2)
1) 蚂蚁行为判断.蚂蚁行动函数决定蚂蚁下一步行动,判断准则如下:
(3)
当AX,ξ=0时,表示认知用户n使用信道m时对其他认知用户经过该节点不造成干扰,这时蚂蚁会继续移动,直到终点,否则蚂蚁X继续留在该节点,不再前进.反之,当AX,ξ=1时,蚂蚁前进寻找新的节点.每当蚂蚁完成一次行动,进行下次行动之前,删除上一个节点分配的信道以及与其产生干扰的信道,并重新设置用户节点与信道的干扰约束关系.随着蚂蚁行为的不断变化,用户的可用信道和干扰约束关系也随之变化.这些都是通过设置L和C完成的.
2) 蚂蚁转移概率.蚂蚁行动未终止时根据公式选下一节点,为了保证路径的多样性,蚂蚁的行动既要考虑信息素,同时又要考虑观测值,观测值是和消耗与干扰有关的函数,即
(4)
DLn,m为用户n使用信道m时的信道切换时延Dswitching,ln,m与排队时延Dqueueing,ln,m之和,其公式为
DLn,m=Dswitching,ln,m+Dqueueing,ln,m.
(5)
Dswitching,ln,m为节点n从前一信道k接入下一信道所产生的切换时延.计算公式为
(6)
但是,次用户j可能正在使用信道m,所以需要等待次用户j不再使用信道m,由此产生排队等候时延Dqueueing,ln,m,即
(7)
由此得到转移概率公式:
(8)
式中:N体现蚂蚁接下来可能经过的所有节点数,禁忌表中的元素不包含在N中;α和β为权重因子,分别代表信息素和信道效益的相对重要程度;tn,m,ξ代表信息素矩阵的元素,用以表达蚂蚁在第ξ次迭代时用户n在信道m处释放的信息素多少.
3) 选择后继用户节点.蚂蚁的每一步移动,代表解的一个可行路径,蚂蚁下一步移动到哪个节点由以下公式决定:
(9)
式中:n′为行动判决依据;g为随机数,g=(0,1);蚂蚁行动判定阈值G=0.9;RW代表轮盘赌法.
若g 在传统的以蚁群算法为核心的频谱分配问题中,仅考虑了频谱分配中的干扰和信道效益[17-19],而未考虑到用户n在占用信道m时所需时间,这会影响到信道使用效率,所以通过在信息素的更新过程中引入时间参数来对蚁群算法进行优化,最终得到一个新的信息素更新公式,通过改进后的信息素更新公式提升频谱接入速度.在传统蚁群算法中,信息素矩阵各元素按照下式更新: (10) 式中:Q为信息素的强度;d′为蚂蚁访问的节点个数,个. (11) 式中:τi为蚂蚁到达第i节点所经历的时间,在本算法中,蚂蚁每到达一个节点,时间重置,并记录蚂蚁从上一节点出发到达当前节点的时间;τ为循环过程经历的总时间. 则有 (12) 由式(12)可得出最终信息素更新时间系数ηi: (13) 信息素矩阵各元素更新公式如下: (14) 当一只蚂蚁停在某个节点不再继续移动时,算法的循环结束.蚂蚁移动过程中,记录到达每一个节点的时间τ.根据蚂蚁路线和时间,在式(14)基础上对信息素矩阵中各元素进一步更新: (15) 传统的蚁群算法是将信息素按蚂蚁所经历的节点数平均分配给每一个节点,即Q/dn.通过该公式,按照蚂蚁通过信道m到达每一个节点的时间,将信息素分配给每一个节点,时间少的分配信息素多,时间多的分配信息素少. 将局部信息素进行更新,继而将全局信息素进一步更新,每次迭代完成后,由式(16)重新计算每条路径上的信息素.即 (16) 根据式(16)得到最终的信息素更新公式: (17) 在完成全局信息素更新后,将所有节点信息素进行比较,按照信息素大小顺序来分配信道.即 (18) 式中:ωn为信道的最终判决依据. 在经过ξmax次迭代后,将信道分配给信息素最大的用户.分配后,需要将信息素矩阵初始化,然后进行下一轮分配.算法总体流程图如图1所示. 图1 算法流程图 首先进行场景的设置.设定蚂蚁访问的区域为一个N×M的点阵空间,其中有M个可用信道提供认知用户接入,每个授权用户都有固定的保护范围.当授权用户接入信道后,认知用户再准备接入. 仿真设定区域为一个30×30的网格区域,存在20个认知用户,可提供给认知用户使用的信道有30个.认知用户先不进行任何行动,当主用户未对其授权频段进行使用时,认知用户根据分配的频谱乘机接入到该频谱.每个认知用户的干扰范围d为[3,6].根据上述参数能够计算出可用矩阵L、干扰矩阵C和效益矩阵B.设定搜索蚁数量X=25只,最大迭代次数为ξmax=100次,信息素挥发因子ρ=0.11,信息素指数设为1,启发式信息指数为3,初始信息量c=5,信息素强度Q=2.仿真进行50次独立试验,并记录结果,且每次试验时的矩阵L,B和C均随机生成. 图2为3种算法下可用信道数与网络收益总和的关系比较.由图2可知:选取本研究中改进的算法进行频谱分配时,网络效益总和高于另外两种算法;随着可用信道m的数量不断增大,本研究算法的网络收益总和始终高于AOC算法和QGA算法.这是由于引入的时间参数对信道的效益起到了很好的调节作用,减少了认知用户的搜索时间,继而提高了系统网络收益. 图2 3种算法下可用信道数与网络收益总和的关系比较 图3为3种算法下认知用户数与网络收益总和的关系比较.由图3可知:当认知用户数量不断增多时,3种算法的网络收益总和都在减小;认知用户数量不断增多,作用于可用信道的干扰也随之增多,继而分配可用信道的时间也相应变长.本研究算法改进后收敛速度显著提高,在信道数量一定时,能够使认知用户更好地做出选择,提高网络收益. 图3 3种算法下认知用户数与网络收益总和的关系比较 图4为3种算法下认知用户数与算法网络公平性关系比较.由图4可知,认知用户数增多时,竞争也随之增大.本研究算法通过比较认知用户的信道使用情况来权衡频谱分配公平性,进而使系统公平性有了显著提高. 图4 3种算法下认知用户数与算法网络公平性关系比较 图5为3种算法下认知用户数与收敛时迭代次数关系比较.由图5可知:由于笔者在蚁群算法中引入了时间效率这一个量化因子,所以使多态蚁群算法的收敛速度明显增加,从而节约了时间,节省了认知用户的搜索时间,使认知用户能更快速地接入可用信道. 图5 3种算法下认知用户数与收敛时迭代次数关系比较 图6为3种算法下可用信道数与系统吞吐量关系比较.由图6可知,当可用信道数增多时,系统吞吐量越来越大.本研究算法在加快收敛速度的同时,使系统吞吐量也显著增加,弥补了其他两种算法在系统吞吐量方面的不足,改善了系统整体性能. 图6 3种算法下可用信道数与系统吞吐量关系比较 本研究算法在侦查素和信息素方面进行了调整,得到一种基于时间效率的认知无线电频谱分配方案.在考虑侦查蚁侦查效益高的路径同时,动态考虑频谱接入时间的消耗,在侦查素的挥发上做了调整,使原有的信息素改变机制得到调整,在考虑网络效益的同时兼顾了时间开销.以最大网络公平性和网络收益总和作为目标函数的仿真试验表明:改进的基于时间效率的多态蚁群算法与传统蚁群算法、量子遗传算法相比,可有效加快频谱分配速度,增加网络效益,降低认知用户间的竞争,提升系统公平性.下一阶段的研究,将在本研究基础上,从频谱分配时间的角度考虑,对算法的观测值和转移概率加以改进,以达到全局的最优分配效率.3 改进的基于时间效率的信息素分配方法
4 试验仿真及结果分析
5 结 论