1. 引言
在智能家居、农业和工业等各个领域中,物联网技术得到了广泛应用,丰富了人们的生活。然而随着物联网技术的发展,终端数量的“爆炸式”增长和人们对终端设备越来越高的服务质量需求,有限频谱资源正成为物联网技术的发展瓶颈 [1]。物联网中包含了多种不同类型的网络,这些网络使用不同的通信技术及无线频谱资源,构成了异构物联网 [2]。异构物联网的形成导致了新的问题,如不同网络覆盖区域会产生重叠,导致不同网络之间会产生干扰,各网络竞争使用同一信道等,这使原本就紧张的频谱瓶颈问题变得更加严峻。认知无线电技术为上述问题提供了一种有效的解决方法 [3]。认知无线电通过灵活地发现并动态使用频谱资源,有效地提高了频谱的利用率,缓解了频谱资源紧张的问题 [4]。
在物联网场景的频谱分配研究中,文献 [5] 采用频谱拍卖的方式将空闲频段分配给认知用户,有效地解决了频谱分配后传输性能低的问题;文献 [6] 提出了认知5G网络中物联网的多频带协作频谱感知和资源分配框架,以频谱感知的能量消耗最小化为目标,动态分配频谱资源。文献 [7] 在文献 [5] 基础上,提出了基于隐私保护的PP-SPEC双重拍卖机制的频谱资源分配方法,并设计了一套通用的隐私保护密文比较协议PIC,提高了拍卖过程的安全性。文献 [8] 提出了基于多臂老虎机算法的频谱分配方法,提高了频谱效率,提升了物联网性能。文献 [9] 提出了一种基于频谱交易的分布式物联网设备动态频谱接入方法,并使用了模式搜索算法来进行频谱分配优化,提升了频谱优化的性能。文献 [10] 提出了在相互干扰和资源竞争约束下的网络并发传输模型,然后用遗传算法来解决该多目标频谱分配问题,满足了频谱分配要求。文献 [11] 提出了两级动态频谱分配方案,在保证用户高移动性的情况下,提高了频谱资源利用率。但以上文献在对物联网进行频谱分配时,没有结合异构物联网特有的频带特性以及频谱感知得到的可用频谱信息,进行有针对性的频谱分配算法研究。
本文根据异构物联网中不同网络相互重叠、相互干扰和信道重叠等情况,研究针对异构物联网的频谱分配算法,通过引入信道粒度的概念,结合频谱感知的信息,综合考虑信道空闲状态、网络干扰状态和信道重叠状态等,合理分配可用频谱资源,以达到系统总网络效益最大和避免物联网间同频干扰的目的。
2. 系统模型
如图1所示,N个具有认知无线电功能的异构物联网,本文中简称认知网络,随机分布在一定区域内,它们可能是RFID网络、Bluetooth网络、Zigbee网络和WIFI网络等网络。由于邻近网络间覆盖范围可能有重叠部分,这些网络只能竞争式地共享使用M个不同带宽的信道,通过频谱感知技术,各网络可以知道哪些频谱已被使用以及网络的环境情况。根据实际情况,用二进制矩阵来表示信道相关信息和存在的干扰情况,即信道空闲矩阵
、网络干扰矩阵
、信道重叠矩阵
、信道分配矩阵
等,各矩阵定义及描述如下:

Figure 1. Cognitive heterogeneous Internet of things scenario model
图1. 认知异构物联网场景模型
1) 信道空闲矩阵
用矩阵
表示网络信道空闲信息,其中n代表认知网络序号,
,m代表信道序号,
,当
时,代表认知网络n可以使用信道m,若信道m暂时被占用,则
,代表认知网络n无法使用信道m。用
表示认知网络n当前所有可使用的信道集合。
2) 网络干扰矩阵
用矩阵
表示各认知网络间的干扰信息,其中n1与n2都表示认知网络序号,
,
,当
时,代表认知网络n1与认知网络n2存在干扰,反之
。
3) 信道重叠矩阵
若待分配的总频谱资源宽度为F,如图2所示,由于异构物联网采用不同的无线通信技术,不同的通信技术可采用不同的带宽,设共有K种不同的带宽可供异构物联网使用,即可将F划分为K种不等的带宽信道,称为多粒度信道 [12],设
为第k种信道带宽,
。例如,根据物联网常用的无
线通信技术,信道带宽一般可以取0.25 MHz、1MHz、2MHz、5 MHz和20 MHz。设
为每种信道宽度的可用信道数量,
即是信道总数量,用m表示信道序号,
,
代表
信道m的带宽。
用矩阵
表示网络信道间的重叠状态信息,其中
和
代表信道序号,当
时,若信道
和
处于重叠状态,则
,反之
,当
时,信道肯定为重叠状态,即
。图2为信道粒度划分图,其中
为第k种信道带宽的信道集合,根据信道粒度划分结果可得到信道间是否存在干扰情况。
4) 分配矩阵
和可行分配矩阵
用矩阵
表示信道的分配状态,其中n代表认知网络序号,m代表信道序号,
当
时,代表认知网络n分配到信道m,反之
。由此可得认知网络n的信道总带宽可以表示为:
(1)
某一个确定的分配矩阵
可能并不是可行分配矩阵,需要满足以下两个条件:若认知网络之间存在干扰,则相同信道或重叠信道不能分配给这些认知网络,可用式(2)来表示。此外,若认知网络n的信道需求为
,则分配给该认知网络的信道数应小于等于
,可用式(3)来表示。
(2)
(3)
5) 网络效益矩阵
用矩阵
表示各网络使用各信道的效益大小,其中n代表认知网络序号,m代
表信道序号。具体效益指标可根据情况自行选择为固定指标,如信道吞吐量、频谱效率和成本大小等,本文选取的指标为分配的带宽,效益大小用
表示。现若有一可行分配矩阵
,则频谱资源总和
可表示为:
(4)
若将频谱资源总和
最大化作为目标,在式(2)和式(3)的约束下,求解最佳分配矩阵
,该问题被描述为:
(5)
根据实际情况,频谱需求满足率(RS, requirement satisfactory)的最大化也常作为优化目标。平均频谱
需求满足率定义为
,其中
为认知网络n的频谱需求。因此该问题可被描述为:
(6)
3. 算法描述
本文将频谱资源总和
最大化作为目标。从式(5)和建模过程可以看出,频谱资源分配问题是一个非线性约束0-1整数规划问题。该类型问题可用传统的分支定界法或割平面法等方法求解,在求解变量规模小的情况下可以取得较好的效果,但在求解变量规模大的情况下,计算量变得很大,随之计算时间也会增加。智能优化算法与传统解法不同,因为采用了并行搜索技术,而克服了传统解法单点搜索效率低的问题 [13]。本文采用智能优化算法中的粒子群算法,算法核心思想根据鸟群个体间协作捕食而来,每只鸟根据自己的捕食经验和鸟群的捕食经验在某一空间寻找目标食物,其中鸟的飞行空间就是目标优化问题的解空间,鸟的位置就是目标优化问题的可行解,鸟的目标食物就是目标优化问题的次优解。相对其他智能算法,粒子群算法有简单易行、调节参数少以及收敛速度快等特点。
在本节算法中,每个粒子的位置对应一种频谱分配方案,即对应一个分配矩阵
。粒子的适应度函数定义为总系统效益
。基于粒子群算法中粒子间的信息共享,每个粒子根据自身经验和社会经验,对解空间进行搜索,最终找到最适应的粒子,得到最优的分配矩阵
。
3.1. 粒子编码方案
因为目标问题是离散优化问题,使用粒子群算法求解问题之前,首先要将粒子的位置与问题可行解建立起对应关系,即将粒子的位置与分配矩阵
进行对应。考虑到分配矩阵
中的元素都为二进制元素,粒子位置也使用二进制进行编码。若采用传统二进制编码方式,则一个粒子的位置长度为
,而由于认知网络只能使用未被授权用户占用的可用信道,因此粒子位置编码中会有大量0存在,引起了存储和计算资源的浪费。为了解决资源浪费问题,同时减少编码长度,避免不必要的计算,本文借鉴文献 [14] 的编码方式,可用信道矩阵
中值为1的元素代表此信道能被其他用户占用,因此仅对可用信道矩阵
中值为1的元素进行编码,如图3所示。通过这样处理,粒子位置的编码长度大大减少,避免了不必要的计算,减少了资源的浪费。
3.2. 粒子位置修正
在粒子群算法运行过程中,首先会用随机的方法初始化各粒子的位置,然后会通过迭代的方式不断更新粒子的位置来搜索次优解。但是这两个过程所产生的粒子位置信息并不一定对应了频谱资源分配问题的可行解,因为粒子位置是随机产生的,可能并不会满足目标函数的约束条件,是一个不可行解。此时必须对粒子的位置进行修正,可分为以下三种情况,一是同一认知网络内信道发生重叠现象,产生了物联网络内的同频干扰时;二是覆盖范围重叠的认知网络使用的信道相互重叠,产生了物联网络间的同频干扰时;三是认知网络n分配的信道宽度比认知网络n的信道需求dn还要大时。三种情况详细的修正内容和修正步骤如下:
修正1:若信道发生重叠现象,则随机让其中一个信道生效,其他信道全部释放,将矩阵
中对应位置设为0。
修正2:若重叠认知网络使用的信道相互重叠,则随机让其中一个信道生效,其他信道全部释放,将矩阵
中对应位置设为0。
修正3:若给予某一认知网络n分配的信道宽度比认知网络n的信道需求dn还要大时,分配以dn为准。
根据修正内容,修正步骤为:
步骤1:检查每个粒子位置中每个认知网络的信道分配是否有修正1中的情况。例如,某一个粒子位置的认知网络n中,若
,且
,则继续检查信道重叠矩阵
中信道是否重叠,若信道
与信道
重叠,即
,则为修正1中所述情况,随机让其中一个信道生效,其他信道全部释放,将矩阵
中对应位置设为0。
步骤2:检查每个粒子位置中是否有修正2种所述情况,即重叠认知网络使用的信道相互重叠。例如,首先查看网络干扰矩阵
,判断网络重叠状态,若
,即发生重叠,再检查认知网络n1和认知网络n2使用的信道是否重叠或相同,若是,则为修正2中所述情况,随机让其中一个信道生效,其他信道全部释放,将矩阵
中对应位置设为0。
步骤3:逐一检查各认知网络分配的信道宽度,当其分配的信道宽度比认知网络n的信道需求dn还要大时,将已分配的信道按照带宽从小到大排序,从排序列表最前端的信道开始,进行信道释放操作,当分配给认知网络n的信道宽度小于dn时停止信道释放操作。
3.3. 粒子群算法原理
粒子群算法的核心思想根据鸟群个体间协作捕食而来,每只鸟根据自己的捕食经验和鸟群的捕食经验在某一空间寻找目标食物。其算法主要含有六个核心步骤:一是初始化粒子群体,一般使用随机的方法初始化,每个粒子位置随机对应解空间的可行解,同时初始化粒子的初始运动速度。二是通过初始化位置来计算设定的粒子群适应度函数,适应度函数能够表示粒子当前位置的收益大小。三是更新粒子个体的历史最优位置,每个粒子的历史最优位置代表了该粒子的最好捕食经验,通过粒子当前位置的适应值,对比之前的适应值来决定该粒子是否更新自身的历史最优位置。四是更新粒子群体的历史最优位置,粒子群体的历史最优位置代表了粒子群体的最好捕食经验,通过粒子间的适应值对比来决定是否更新粒子群体的历史最优位置。五是更新每个粒子的速度和位置,分别用式(7)和式(8)进行粒子速度和位置的更新,从式(7)可以看出,粒子速度的每次更新都依靠了粒子个体经验和粒子种群经验。六是判断停止迭代条件,若满足设定的条件,粒子群体便停止迭代,输出粒子的最优位置,得到所求解。若不满足设定的条件,则粒子群体继续迭代,直到满足停止迭代条件为止,一般将停止迭代条件设置为迭代次数最大值或是前后两次迭代的适应值之差的阈值,或是以上两种条件的结合。
(7)
(8)
在式(7)和式(8)中,s代表迭代次数,Vs代表第s次迭代时粒子的速度,w为惯性因子,c1,c2为学习因子,
产生一个0至1的随机数,
代表粒子个体的历史最优位置,
代表粒子群体的历史最优位置,Xs代表第s次迭代时粒子的位置。
3.4. 频谱分配算法流程
根据粒子群的算法原理,将算法用于解决本文的频谱分配问题。基于粒子群的物联网频谱分配算法的具体流程图如图4所示:

Figure 4. Flow chart of particle swarm optimization
图4. 粒子群算法流程图
具体步骤如下:
步骤1:确定粒子编码长度:粒子编码长度根据可用信道矩阵L确定;
步骤2:初始粒子群体的产生:用随机方法产生一个粒子数为Q的粒子群;
步骤3:粒子位置修正:检测种群中粒子位置所对应频谱分配矩阵是否可行,是否满足约束条件,不满足约束条件的,将其粒子位置根据修正步骤进行修正;
步骤4:适应度函数的计算:根据式(5)计算适应度函数;
步骤5:更新粒子个体的历史最优位置:根据每个粒子的当前适应度值,更新每个粒子的历史最优位置;
步骤6:更新粒子群体的历史最优位置:根据每个粒子的当前适应度值,更新粒子群体的历史最优位置;
步骤7:更新每个粒子的速度和位置:通过公式(7)来更新每个粒子的速度,通过公式(8)来更新每个粒子的位置;
步骤8:判断截止条件,若程序当前迭代次数为最大迭代次数W,或前后两次迭代的适应度差异小于等于Z时,停止迭代,算法结束,得到最优粒子位置。反之,返回到步骤3进行下一次迭代计算。
4. 仿真结果与分析
本文使用Matlab编程工具对本文方法进行仿真实验,实验结果使用蒙特卡洛方法求10,000次平均值而得到。仿真过程中的参数设置如下,在粒子群算法中,种群规模Q = 20,惯性因子w = 0.4,学习因子c1 = 1.5,学习因子c2 = 1.5,最大迭代次数为W = 200,截止条件二中Z = 0.1。场景中可能有RFID网络、ZigBee网络、蓝牙网络和WIFI网络等,每次仿真随机产生多个网络并随机设置频谱需求数,各网络随机分布在1000 m × 1000 m的区域中,各网络覆盖半径在0~400 m内随机设置。为了反映了不同接入网的业务分布和频谱需求,每个认知网络的频谱需求和频谱资源效益设为服从均匀分布的随机数。根据物联网常用无线通信技术,信道带宽
设为0.25 MHz、1 MHz、2 MHz、5 MHz和20 MHz,待分配的频谱资源宽度F设为40 MHz,各信道的空闲概率设为0.5,效益矩阵中各分配所获得的效益设为分配的带宽。
通过认知网络数N和待分配频谱资源宽度F的变化,得到的以下三个指标被用来作为算法性能比较指标:
1) 总网络效益:
。
2) 平均网络效益:
。
3) 频谱需求满足率:
。
本文将基于粒子群算法的频谱分配方法和随机频谱分配方法作比较。
图5为认知网络重叠情况示意图。在图5(a)中,随机生成了5个圆形覆盖网络,可以看到邻近网络间存在重叠的概率较大,图中仅有网络3完全没有覆盖重叠部分,这与真实的网络覆盖情况相差无几。覆盖区域重叠的网络会出现互相干扰的情况,给频谱分配也带来了更高的难度。在实际场景中,5个网络可能干扰程度较小,接下来用同样的方法来生成10个网络的情况。在图5(b)中,随机生成了10个圆形覆盖网络,能明显看到网络重叠现象十分严重,这也带来网络间的严重干扰,频谱竞争更加激烈,频谱分配难度进一步增加。
(a)
(b)
Figure 5. Overlap diagram of cognitive network. (a) 5 cognitive network; (b) 10 cognitive network
图5. 认知网络重叠情况示意图。(a) 5个认知网络;(b) 10个认知网络
图6为不同算法中不同认知网络数下的总网络效益和平均网络效益比较。在图6(a)中,比较了在认知网络数增加的情况下,粒子群算法和随机算法的总网络效益的变化情况。可以看出各算法的总网络效益随着认知网络数的增加而增加,这是由于随着认知网络数的增加,总网络效益也会跟着增加,但本文算法始终优于随机算法。在图6(b)中,比较了在认知网络数增加的情况下,粒子群算法和随机算法的平均网络效益的变化情况。可以看出各算法的平均网络效益随着认知网络数的增加而降低,这是由于随着认知网络数的增加,各网络间的干扰程度加重,信道竞争更加激烈,导致平均网络效益呈下降趋势,但本文算法始终优于随机算法。
(a)
(b)
Figure 6. The total network utilities and average network utilities in different algorithms under different numbers of cognitive network. (a) Total network utilities; (b) average network utilities
图6. 不同算法中不同认知网络数下的总网络效益和平均网络效益。(a) 总网络效益;(b) 平均网络效益
图7为不同算法中不同待分配总带宽下的平均网络效益比较。在图7中,比较了在待分配总带宽增加的情况下,粒子群算法和随机算法的平均网络效益的变化情况。可以看出随着待分配总带宽的增加,各算法的平均网络效益都呈现上升趋势,这是由于随着待分配总带宽的增加,分配自由度也随着增加,增加了平均网络效益,本文算法明显优于随机算法。

Figure 7. The average network utilities in different algorithms under different bandwidths of spectrum to be allocated
图7. 不同算法中不同待分配总带宽下的平均网络效益
图8为不同算法中不同认知网络数下的平均频谱需求满足率。在图8中,比较了在认知网络数增加的情况下,粒子群算法和随机算法的平均频谱需求满足率的变化情况。可以看出各算法的平均频谱需求满足率随着认知网络数的增加而减小,这是由于认知网络数增加,会导致网络间重叠现象更加严重,从而干扰程度加重,频谱资源由于干扰的原因而减少,各网络所得到的频谱资源也会减少,这样平均频谱需求满足率就会呈现下降趋势,但本文的粒子群算法相对随机算法让各网络的平均频谱需求满足率更高。

Figure 8. The average satisfaction rate of spectrum demand to in different algorithms under different numbers of cognitive network
图8. 不同算法中不同认知网络数下的平均频谱需求满足率
5. 结束语
本文根据现实中邻近物联网络相互重叠、相互干扰和信道重叠等情况,解决异构物联网中的频谱分配问题,提出基于粒子群算法的频谱分配方法。考虑信道空闲状态、网络干扰状态和信道重叠状态,将基于总网络效益的最大化的频谱分配问题建模为非线性约束0-1整数规划问题,使用粒子群算法求解该问题。仿真结果显示,本文中基于粒子群算法的频谱分配方法提高了系统的总网络效益,提升了异构物联网的平均频谱需求满足率,这对于认知异构物联网传输性能的提升以及移动用户感知能耗的降低都具有重要意义。
基金项目
本文研究受到黑龙江省自然科学基金优秀青年项目(NO. YQ2019F014)、国家留学基金(NO. 201708230301)、黑龙江省省属高校基本科研业务费科研项目(ZRCQC201807)和黑龙江八一农垦大学博士科研启动基金(XDB2015-28)的支持。
NOTES
*通讯作者。