王翀 李争平 栗卓然
摘 要:为解决无线频谱资源利用率较低的问题,文中提出了基于機器学习的无线频谱占用预测方法,实现了对无线频谱资源占用情况的预测。通过软件无线电平台感知无线频谱资源的占用情况,利用机器学习算法对无线频谱资源占用数据进行训练和预测。经过实际测试的验证与应用,效果显著,可以有效预测无线频谱资源占用情况。
关键词:无线频谱资源;软件无线电;频谱感知;机器学习;Matlab;SVM
中图分类号:TP39 文献标识码:A 文章编号:2095-1302(2020)04-00-02
0 引 言
近年来,随着无线通信系统的快速发展,无线频谱资源越发紧张,但与之相对的是已经授权的频谱资源利用率较低。Mitola于1999年提出了认知无线电(CR)的概念[1],它是一种可以有效提高频谱资源利用率的方法。认知无线电可以感知无线频谱利用情况,通过分析频谱资源占用情况,预测未来频谱占用可能性,从而发展可用频谱,提高频谱资源利用率。
软件无线电(SDR)可以有效解决无线频谱感知问题[2]。因此可以使用软件无线电(SDR)实现频谱数据采集,通过机器学习算法实现对频谱占用的预测。
1 基于HackRF的频谱感知
1.1 频谱感知方法的分析
当前频谱感知的方法主要包括能量检测法、匹配滤波法和循环平稳频谱检测法[3]。其中能量检测法是一种使用最广泛的检测方法,该方法实现简单,且无需知道检测信号的先验信息,但该方法无法识别信号类型。本文中频谱感知的目的在于感知无线频谱的占用情况,无需判断接收信号的类型,为此选取计算量小且实用性好的能量检测方法。
1.2 能量检测法的实现
为得到无线频谱的占用情况,搭建基于GNU Radio的FFT频谱检测器。通过正确的初始化配置软件无线电(SDR)设备HackRF,建立流图,搭建FFT频谱检测的软件无线电结构。
能量检测法的模型如图1所示。
信号在HackRF中经过放大、混频、数字化、采样后得到基带数字信号,GNU Radio将接收的数据流转化为向量流,再对其进行FFT操作,在进行FFT操作之前需要加窗以防止频谱混叠。将经FFT之后的数据进行处理,并将复信号转化为均方表示,然后再对这些数据进行处理和存储[4]。
能量检测实现流程如图2所示。
2 基于SVM无线频谱预测的实现
2.1 支持向量机
支持向量机的目的是寻找一个超平面分开二类样本,分开的原则是间隔最大化。
给定训练样本:
D={(x1, y1), (x2, y2), ..., (xi, yi)}, yi∈{-1, +1}, i=1, 2, ..., n (1)
式中:xi为特征向量;yi为分类标签。
超平面用函数f (x)=wx+b表示,其中w为法向量,决定了超平面的方向;b为位移量,决定了超平面与原点的距离。
超平面关于训练样本(xi, yi)的几何间隔定义为:
(2)
超平面关于所有样本点的几何间隔的最小值为:
(3)
最大分割超平面问题可以表示为以下约束最优化问题:
(4)
又因为最大化γ,等价于最大化,即最小化,将约束条件化简后可得:
(3)
这就转换成了含有不等式约束的凸二次规划的问题,利用拉格朗日数乘法对其求解即可。
2.2 测试数据
为简化数据处理和节省时间,数据库仅记录同一区域在100 min内对2.4 GHz频谱的占用情况,即数据集里一共含有100个样本。无线频谱占用可以认为是二值序列问题,1表示该无线频谱段被占用,0表示该无线频谱段空闲,并以此作为标签对每个样本进行标注。
将100个样本数据分为两组,每组前40个样本作为训练集,后10个样本作为测试集。代码表示如下:
RSdata = RSdata(1:100,:);
Label = [ones(50,1); zeros(50,1)];
Train = RSdata(1:40,:);
Train = [Train; RSdata(51:90,:)];
Test = RSdata(41:50,:);
Test = [Test; RSdata(91:100,:)];
2.3 数据预处理
对采集的无线频谱数据进行预处理,目的是将无线频谱转化为便于处理的数据。利用Matlab归一化函数将训练集和测试集的原始数据进行归一化处理,使最终的数据落在[0,1]区间范围,实现对数据的预处理。
3 结 语
本文通过软件无线电HackRF设备和SVM算法实现了对无线频谱资源占用的感知和预测。经测试,该方法可以较好地感知和预测无线频谱资源的占用情况,从而提高频谱资源的利用率。
参考文献
[1] MITOLA J,MAGUIRE G Q. Cognitive radio:making software radios more personal [J]. IEEE personal communications,1999,6(4):13-18.
[2] ALEXANDRU M.Real-time spectrum sensing using software defined radio platforms [J]. Telecommunication systems,2017,64(4):571.
[3]潘建国,翟旭平.基于能量检测的频谱感知方法[J].上海大学学报(自然科学版),2009,15(1):54-59.
[4]朱建新.一种认知无线电频谱感知系统硬件平台的设计[D].北京:北京邮电大学,2011.
[5]屈玉涛,邓万宇.基于Matlab的SVM分类预测实现[J].信息通信,2017(3):33-34.
[6]翟旭平,孟田,王涛.采用对数预处理的SVM频谱感知方法[J].应用科学学报,2017,35(6):726-734.
[7]刘乐.基于能量检测的认知无线电频谱感知算法研究[J].物联网技术,2019,9(5):15-17.
[8]江莹,杨震.认知无线电的几种频谱感知方法研究[J].科技资讯,2007(10):6-7.
[9]杨小平.数据挖掘三大经典算法在交通领域的应用综述[J].物联网技术,2018,8(11):42-44.
[10]周超.基于机器学习的感知信号分类与预测方法研究[D].成都:电子科技大学,2018.