基于布谷鸟搜索算法的认知无线电网络频谱分配方法
技术领域
本发明涉及认知无线电技术领域,具体涉及一种基于布谷鸟搜索算法的认知无线电网络频谱分配方法。
背景技术
目前,随着无线通信的快速发展,频谱资源供需矛盾日益突出。认知无线电技术应运而生。在认知无线电网络中,认知用户可以“伺机”接入授权用户的空闲频谱,有效提高了无线频谱资源的利用率。而频谱分配是认知无线电中的关键技术之一,其主要解决在感知到空闲频谱后,如何在满足一定的分配目标下,将空闲频谱资源高效地分配给认知用户。
频谱分配模型大多是借鉴于一些经典的数学理论以及微观经济学理论等,主要有:博弈论、图着色理论、频谱交易与拍卖等。其中基于图着色的频谱分配方法是理论较为成熟的一种算法,它将频谱分配问题表示为一个冲突图,根据不同的目标函数和规则将频段非配给用户。基于图着色的频谱分配已被证明为一个NP难问题,而智能算法是求解NP难问题的有效算法。采用遗传算法、人工蜂群算法、蚁群算法等智能优化算法及其改进算法进行求解,是目前基于图着色的频谱分配研究的主流方向。其中,比较典型的是基于遗传算法(genetic algorithm,GA)的频谱分配。但遗传算法本身存在难以克服的缺陷,使得现有技术还存在求解精度不高等问题,影响了无线频谱资源的利用率。
发明内容
本发明所要解决的技术问题是现有频谱分配方法存在效率不高的问题,提供一种基于布谷鸟搜索算法的认知无线电网络频谱分配方法。
为解决上述问题,本发明是通过以下技术方案实现的:
基于布谷鸟搜索算法的认知无线电网络频谱分配方法,包括如下步骤:
步骤1、M个认知用户通过频谱感知共获得N个空闲频段,根据该频谱感知结果和认知用户自身信息,分别获得可用频谱矩阵L、效益矩阵B和干扰矩阵C;
步骤2、定义一个待求解的分配矩阵A,该分配矩阵A受干扰矩阵C和可用频谱矩阵L的约束,将待求解的分配矩阵A映射为布谷鸟搜索算法中的鸟巢位置,根据可用频谱矩阵L确定优化维数,并将基于分配矩阵A的认知网络总效益函数U(A)作为适应度评价函数,该认知网络总效益函数U(A)由分配矩阵A和效益矩阵B决定;
步骤3、设定寄主鸟的鸟巢个数即种群规模Pop,最大迭代次数Nter,布谷鸟蛋被寄主鸟发现的概率Pa;设初始迭代次数为0,随机初始化鸟巢位置即随机产生Pop个初始鸟巢位置;
步骤4、先对每个鸟巢位置进行二进制编码后将其映射到分配矩阵A,并对分配矩阵A做无干扰约束处理后得到每个鸟巢对应的所求解;再根据适应度评价函数计算每个鸟巢的适应度值,并选出最大的适应度值所对应的鸟巢位置和所求解,即作为最优适应度值、最优鸟巢位置和最优解进行保留;
步骤5、更新鸟巢位置,找全局最优适应度值、全局最优鸟巢位置和全局最优解;
步骤6、判断是否达到预先设定的最大迭代次数Nter,若是,则输出全局最优解,即为最优的频谱分配方案;否则,把此代的鸟巢位置作为下一代的初始鸟巢位置,迭代次数值t+1,返回步骤5,继续进行下次迭代。
步骤1中:
所述可用频谱矩阵L为一个M×N维矩阵,
L={lm,n|lm,n∈{0,1}}M×N
式中,m为认知用户,n为授权频段,M为认知用户的个数,N为空闲频段的个数;lm,n表示授权频段n是否为认知用户m的可用频段,lm,n=1表示授权频段n为认知用户m的可用频段,lm,n=0表示授权频段n为认知用户m的不可用频段;
所述效益矩阵B为一个M×N维矩阵,即:
B={bm,n}M×N
式中,m为认知用户,n为授权频段,M为认知用户的个数,N为空闲频段的个数;bm,n表示认知用户m在授权频段n上获得的最大效益;
所述干扰矩阵C为一个M×M×N维矩阵,即:
C={cm,k,n|cm,k,n∈{0,1}}M×M×N
式中,m和k为认知用户,n为授权频段,M为认知用户的个数,N为空闲频段的个数;cm,k,n表示认知用户m和k同时使用授权频段n是否产生干扰,cm,k,n=0表示认知用户m和k同时使用授权频段n不会产生干扰,cm,k,n=1表示认知用户m和k同时使用授权频段n会产生干扰;
所述分配矩阵A为一个M×N维矩阵,即:
A={am,n|am,n∈{0,1}}M×N
式中,m和k为认知用户,n为授权频段,M为认知用户的个数,N为空闲频段的个数;am,n表示授权频段n是否分配给了认知用户m,am,n=1表示授权频段n分配给了认知用户m,am,n=0授权频段n未被分配给认知用户m。
步骤1中两个认知用户使用同一授权频段是否产生干扰即认知用户m和k同时使用授权频段n是否产生干扰cm,k,n,采用两者之间的地理距离和各自的传输半径来判断,即:
式中,m和k为认知用户,n为授权频段,Rm为认知用户m的传输半径,Rk为认知用户k的传输半径,dm,k=dk,m为认知用户m和k之间的距离。
步骤2中,所定义的待求解的分配矩阵A受干扰矩阵C和可用频谱矩阵L的约束,即:
式中,m和k为认知用户,n为授权频段,M为认知用户的个数,N为空闲频段的个数;am,n表示授权频段n是否分配给了认知用户m,ak,n表示授权频段n是否分配给了认知用户k,cm,k,n表示认知用户m和k同时使用授权频段n是否产生干扰,lm,n表示授权频段n是否为认知用户m的可用频段;
步骤2中,适应度评价函数为认知网络总效益函数U(A)为:
式中,am,n表示授权频段n是否分配给了认知用户m;bm,n表示认知用户m在授权频段n上获得的最大效益。
步骤4中,对每个鸟巢位置进行二进制编码的公式为:
式中,j=1,2,3,...,Pop,Pop为种群数;i=1,2,3,...,D,D为优化维数);rand为随机产生的(0,1)之间的值;为第j个原鸟巢位置的第i维变量,其表示能被二进制编码为1的概率。
步骤4中,对分配矩阵A做无干扰约束处理是指当两个认知用户使用同一频段相互间产生干扰时,需进行无干扰约束处理,即:对任一授权频段n,当授权频段n为认知用户m的可用频段时,则检查频谱分配矩阵A中第n列第m行和第n列第k行是否都为1,若是,则随机将其中一个置为0,另一个保持不变。
步骤5具体为:
步骤5.1、根据莱维飞行公式产生Pop个新的鸟巢位置;
步骤5.2、对更新后的每个鸟巢位置按上述步骤4计算适应度值,再依次比较更新前后两个鸟巢位置所对应的适应度值,保留更新前后两个解中对应较优者,则产生一组新的鸟巢位置;记录此时的最优适应度值、最优鸟巢位置和最优解;
步骤5.3、根据设定被发现概率Pa更新鸟巢位置,即产生一个与鸟巢位置同维的随机数组RD,将随机数组RD与被发现的概率Pa进行比较,保留随机数组RD中大于被发现概率Pa的元素所对应的鸟巢的元素,而对随机数组RD中小于等于被发现概率Pa的元素所对应的鸟巢的元素随机更新,得到一个新的鸟巢位置;
步骤5.4、根据获得的新的鸟巢位置,按上述步骤4计算适应度值,与上一步中得到的每个鸟巢位置的适应度值进行比较,保留更新前后两个鸟巢位置中对应较优者,则产生一组新的鸟巢位置;记录此时的最优适应度值、最优鸟巢位置和最优解。
步骤5.1中的莱维飞行表示为:
式中,t表示当前迭代数;表示第t代第j个鸟巢位置;表示点对点乘;α为布谷鸟搜索路径的控制系数;Levy为莱维飞行随机搜索路径,Xbest表示当前最优鸟巢位置。
步骤5.1中所述的莱维飞行随机搜索路径Levy为:
式中,u和v服从正态分布,即 Γ为标准的伽马函数,β为设定值,σv=1。
步骤5.3中所述的鸟巢位置随机偏好游动更新公式为:
式中,λ为缩放因子;表示第t代的两个随机鸟巢位置;Pa为被发现概率。
与现有技术相比,本发明以最大化认知网络总效益为优化目标,基于布谷鸟搜索算法,设计更高效的频谱分配方法。布谷鸟算法探索解空间的性能高,并能灵活地跳出局部极值,其结构十分简单,控制参数较少,参数的调整和设置方便,易于实施。将布谷鸟算法应用到无线频谱资源分配上,能更高效地将无线频谱资源分配给认知用户,更好地实现认知网络效益最大化,提高频谱利用率。
附图说明
图1为一个认知无线电系统网络模型。其中实线箭头代表数据传输,虚线箭头代表干扰。
图2为本发明的流程图。
图3为N=M=5、仿真50次取平均的认知网络总效益。
图4为N=M=20、仿真50次取平均的认知网络总效益。
图5为当M=30时,认知网络平均效益随频谱数N的变化曲线。
图6为当N=15时,认知网络平均效益随认知用户数M的变化曲线。
具体实施方式
如图1所示,一个认知无线电网络模型包括授权用户、认知用户和认知基站。每个授权用户占用某一授权频段的使用权,认知用户通过认知基站进行通信,且只有在通过频谱感知检测到授权频谱空闲时才可使用。
如图2所示,一种基于布谷鸟搜索算法的认知无线电网络频谱分配方法,它分为以下几个步骤:
步骤1、假设认知无线电网络中有多个授权用户,M个认知用户,认知用户通过频谱感知获得N个空闲频段。根据频谱感知结果和用户自身信息,分别获得可用频谱矩阵L、效益矩阵B和干扰矩阵C。其中:
认知用户m通过频谱感知检测授权频段n当前是否被占用来决定该频段是否可用,由此获得可用频谱矩阵为L={lm,n|lm,n∈{0,1}}M×N,L为一个M×N维矩阵。lm,n=1表示频段n为认知用户m的可用频段,即认知用户m使用频段n对授权用户不会产生干扰;lm,n=0表示频段n为认知用户m的不可用频段,即认知用户m使用频段n对授权用户会产生干扰。
效益矩阵B={bm,n}M×N是一个M×N维矩阵,bm,n表示认知用户m在频段n上获得的最大效益,如频谱带宽、吞吐量等,显然当lm,n=0时,bm,n=0。
干扰矩阵C={cm,k,n|cm,k,n∈{0,1}}M×M×N是一个M×M×N维矩阵。cm,k,n=0表示认知用户m、k可无干扰地同时使用频段n;反之,不能。本发明实例中,两个认知用户使用同一频段是否产生干扰,采用两者之间的地理距离和各自的传输半径来判断,当认知用户m与认知用户k的距离大于两者传输半径之和,cm,k,n=0,具体表示如下:
其中,Rm、Rk分别为认知用户m、k的传输半径,dm,k=dk,m为两者之间的距离。
步骤2、将所要求解的分配矩阵A映射为布谷鸟搜索算法中的鸟巢位置,确定优化维数和适应度评价函数。
分配矩阵A={am,n|am,n∈{0,1}}M×N是一个M×N维矩阵,描述一种可行的频谱分配方案。am,n=1表示频段n分配给了认知用户m,反之,频段n未被分配给认知用户m。显然,分配矩阵A受干扰矩阵C、可用频谱矩阵L的约束,具体表示为:
由于分配矩阵A受到可用频谱矩阵L的约束,因此,为简化求解维数,可将矩阵L中非0的元素映射为鸟巢位置中的元素。则优化维数,即鸟巢位置的维数为矩阵L中值为1的元素的个数,记为D,并将这些元素所对应的m和n值记录在位置矩阵P={(m,n)|lm,n=1}。适应度评价函数为认知网络总效益函数
步骤3、初始化种群,设定相关参数。具体包括:
设定寄主鸟的鸟巢个数,即种群规模Pop,最大迭代次数Nter,布谷鸟蛋被寄主鸟发现的概率Pa。设初始迭代次数为0,随机初始化鸟巢位置,即随机产生Pop个初始鸟巢位置 代表第j个鸟巢在第0代的鸟巢位置,为鸟巢位置的第i位数值,表示能被二进制编码为1的概率。
步骤4、计算每个鸟巢的适应度值,并进行选择过程,保留最优。
对每个鸟巢位置进行二进制编码后根据矩阵P将其映射到分配矩阵A。对矩阵A做无干扰约束处理,即得到所求解。根据适应度评价函数计算各所求解的适应度值,即对每个鸟巢位置进行适应度评价。在所有适应度值中选出最优的适应度值也就是最大的适应度值,该最大的适应度值、及其该最大适应度值所对应的鸟巢位置和所求解即为所需选出的最优适应度值、最优鸟巢位置和最优解,并对最优适应度值、最优鸟巢位置和最优解进行保留。
其中,鸟巢位置的二进制编码公式和无干扰约束处理分别为:
(1)根据频谱分配的二进制编码特性,本发明采用二进制布谷鸟算法。在二进制CS算法中,鸟巢的位置矢量仍属于D维实属空间,但其所求解属于二进制空间。因此,二进制CS鸟巢位置可以通过保留基本的CS算法中的更新公式而仅对更新位置进行二进制编码得到。鸟巢位置的二进制编码公式为:
其中,j=1,2,3,...,Pop(Pop为种群数),i=1,2,3,...,D(D为优化维数),rand在算法过程中随机产生,rand服从分布于u(0,1)即rand~u(0,1),u(0,1)为定义在(0,1)上的均匀分布。为第j个原鸟巢位置的第i维变量,其表示能被二进制编码为1的概率,xji∈{0,1}为对其进行二进制编码之后的值,函数Sig为一个映射函数,可将原鸟巢位置的映射到{0,1}。
(2)无干扰约束处理;
当两个认知用户使用同一频段相互间产生干扰时,需进行无干扰约束处理。具体操作为:对任一频段n,当cm,k,n=1时,则检查频谱分配矩阵A中第n列第m行和第n列第k行是否都为1,若是,则随机将其中一个置为0,另一个保持不变。
步骤5、更新鸟巢位置,找全局最优。
(1)按Lévy flights(莱维飞行)过程随机游动产生新的鸟巢位置。
根据Lévy flights公式产生Pop个新的鸟巢位置,Lévy flights随机游动公式表示为:
其中,t表示当前迭代数;表示第t代第j个鸟巢位置;表示点对点乘;α为布谷鸟搜索路径的控制系数,一般取α=0.01;为Lévy飞行随机搜索路径,Xbest表示当前最优鸟巢位置。u和v服从正态分布,即 σv=1。其中,Γ表示标准的伽马函数;本发明取β=3/2;
(2)对更新后的每个鸟巢位置按上述步骤4计算适应度值,再依次比较更新前后两个鸟巢位置所对应的适应度值,保留更新前后两个解中对应较优者,则产生一组新的鸟巢位置。记录此时的最优适应度值、最优鸟巢位置和最优解。
(3)根据被发现概率Pa更新鸟巢位置。
用一个随机数r~u(0,1)作为鸟窝主人发现外来鸟蛋的可能性。产生一个与鸟巢位置同维的随机数组RD,RD中元素r~u(0,1),将RD与被发现的概率Pa进行比较,保留RD中大于Pa的元素所对应的鸟巢的元素,而对RD中小于等于Pa的元素所对应的鸟巢的元素随机更新,得到一个新的鸟巢位置。
鸟巢位置随机偏好游动更新公式为:
其中,λ~u(0,1)为缩放因子;表示第t代的两个随机鸟巢位置;本发明中Pa=0.25。
(4)根据获得的新的鸟巢位置,按上述步骤4计算适应度值,与上一步中得到的每个鸟巢位置的适应度值进行比较,保留更新前后两个鸟巢位置中对应较优者,则产生一组新的鸟巢位置。记录此时的最优适应度值、最优鸟巢位置和最优解。
步骤6、判断是否达到预先设定的最大迭代次数,若是,则输出最优解,即为最优的频谱分配方案;否则,把此代的鸟巢位置作为下一代的初始鸟巢位置,迭代次数值t=t+1,返回步骤5,继续迭代。
本发明的效果可以通过以下实验进一步说明:
1、算法参数设置:种群数为30,最大迭代次数为1000。
2、仿真实验中,为充分进行比较,在多次的仿真测试中,每次所选的L、B、C矩阵其初始值都不同。但在同一次仿真测试中,为公平比较,算法所采用的L、B、C矩阵初始值相同。
3、将算法运行50次,对结果取平均,验证在不同的可用频谱数和认知用户数量下,频谱分配获得的最大化网络总效益,并与现有技术做比较。
图3和图4分别为N=M=5和N=M=20的认知网络总效益。本发明在网络效益上优于遗传算法。实验结果说明本发明有较高的寻优能力。
图5为当M=30时,认知网络平均效益随频谱数N的变化曲线。平均效益表示网络中每个认知用户可以获得的收益。由图可知,平均效益随着频谱数N的增加而呈递增趋势。基于CS算法均大于基于GA算法的频谱分配方法所得到的平均效益。
图6为当N=15时,认知网络平均效益随认知用户数M的变化曲线。平均效益表示网络中每个认知用户可以获得的收益。由图可知,平均效益随着用户数M的增加而呈递减趋势。基于CS算法均大于基于GA算法的频谱分配方法所得到的平均效益,进一步表明本发明所提频谱分配方法的优越性。