余 飞,岳文静,陈 志
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210023;2.南京邮电大学 计算机学院,江苏 南京 210023)
近些年来,随着无线通信技术的飞速发展,移动业务呈现爆炸式增长,频谱资源变得越来越稀缺,然而很多频谱资源利用率不高。针对这个问题,1999年Mitola博士等人率先提出了认知无线电(Cognitive Radio,CR)的思想,通过智能感知频谱周围环境,检测主用户(Primary User,PU)当前频谱使用情况,将未被主用户占用频段资源分配给次用户(Second User,SU),相比传统固定频点分配策略,在很大程度上提高了频谱资源的利用率[1]。传统的单节点频谱感知算法包括:能量检测、循环平稳检测以及匹配滤波器检测。能量检测实施简单,但在信噪比不确定的情况下,不能实时根据信道环境调整判决门限,检测率易受到严重的影响,在低信噪比下,检测性能急剧下降;匹配滤波检测利用授权用户调制方式的脉冲波形特征进行匹配滤波,对信号先验概率信息依赖较大;循环平稳检测利用信号周期性特征,观察循环谱密度函数在非零频率处的值来区分信号和噪声,对抽样速率要求较高。针对频谱检测单门限存在的问题,文献[2]设计了一种分簇自适应协作频谱检测算法,根据噪声不确定性设置不同判决门限,避免不必要的能量消耗。文献[3]通过计算特征值矩阵统计量,用自相关协方差矩阵的特征值矩阵替代协方差矩阵,在低信噪比下检测性能优于传统循环平稳检测性能。
频谱感知技术是保证在复杂环境下实现可靠通信的前提条件。随着机器学习的研究逐渐流行起来,这一技术也被很多国内外学者广泛应用到频谱感知上来,相比较传统的频谱感知算法,感知准确度明显提升。为了在低幅度信号下获得较高的检测性能,文献[4]使用了支持向量机构建频谱检测分类器,代替信号的重构与检测过程,根据系统实时性,设计出一种多级二元分类器检测算法和单级多元分类器检测算法用于频谱感知;文献[5]提出了一种基于马尔可夫模型的双门限能量检测算法,根据信道历史状态对模型进行修正,将频谱检测概率最大作为优化目标,实时更新双门限;文献[6]利用对数函数的性质,增大主用户信号存在和不存在时样本数据平均值之差,并借助SVM分类器进行频谱检测,在低信噪比的情况下,性能得到了明显的提升;文献[7]利用图像处理相关理论,将主用户信号存在与否的两种认知信号状态映射成图像,对图像进行滤波增强处理,利用改进的K均值聚类算法提取像素特征并进行训练得到分类模型;文献[8]将感知用户收集的数据统计量组合成向量,借助Fisher准则对向量集进行处理,在高维空间中得出符合数据分类度最高的核函数参数,借助SVM训练分类检测;文献[9]提出了基于多级SVM分类器的多用户合作频谱检测算法;文献[10]将GA遗传算法和SVM相结合,提升了在低信噪比下的频谱检测性能。
针对传统检测算法中存在判决门限易受虚警率的影响,以及支持向量机中核函数参数σ和惩罚系数C的选取在很大程度上影响检测性能的问题,该文提出了一种基于核空间优化支持向量机的单用户频谱感知算法。通过对信号进行小波降噪处理,并构建出用于训练的特征向量,同时采用自适应t分布策略和萤火虫扰动算法改进的被囊群算法优化SVM中核参数σ以及惩罚系数C,优化SVM模型,提升模型训练精度。该算法不需要计算检测门限值,模型会根据特征向量特点进行自动判决,提升了在信噪比不确定条件下的高可用性。
频谱感知是在保证用户正常通信下,判断当前信道是否存在主用户信号,进而动态检测信道中有无可用频段,从而发现频谱空闲的过程。在CR网络中,非授权用户检测有无授权用户信道可看作是一个二元假设检测数学模型,如下所示:
(1)
其中,xn是主用户发送信号,un是均值为0、方差为σ2的高斯白噪声,yn表示次级用户接收到的信号,Ns表示信号采样点数,H0表示检测统计值低于判决门限,即主用户信号不存在,次用户可以使用频段资源;H1表示检测统计值高于判决门限,即主用户信号存在时,当前频段被PU占用,次用户无法接入信道进行通信。
(2)
其中,a是隐含了信号频谱信息的尺度因子,τ是可以将信号表示为一系列小波函数叠加的平移因子。
小波去噪是小波分解和重构过程,首先要选取合适的小波基函数,然后利用小波基函数对次用户接收到的信号进行层级分解处理,得到新的小波系数,最后对信号进行小波重构。在去噪过程中,小波基函数以及分解层数的选取在很大程度上决定了去噪性能,针对次用户收到的信号特征,小波基函数需满足近似对称性和正则性的要求,该文选取的小波基函数为db2小波。对于分解层数,取值越大,则噪声和信号表现的不同特性也越明显,在另一方面,分解层数越大,则重构信号失真也越大。通过调节参数来达到最佳去噪效果,依次对分解层数取值为1,3,5,7进行模拟仿真,通过对比结果,得出对认知信号进行3层分解后的效果最佳。
设次级用户接收到采样点数为Ns的信号向量为:
yn=[y(1),y(2),…,y(Ns)]
(3)
该文选取次级用户收到信号能量统计值、微分熵以及Lp范数三个特征作为支持向量机输入特征参数。
(1)能量统计值:能量统计量是频谱检测算法中应用最广泛的特征之一,定义为所有采样点数的平方和,其表达式如下:
(4)
其中,E表示能量统计值。
(2)微分熵(Differential Entropy,DE)[10-11]:用于描述连续变量的复杂性,其计算表达式如下:
(5)
其中,f(t)代表随机变量t的概率密度函数。当主用户信号存在的时候,微分熵的估计值将高于只有噪声信号存在时的值,由于噪声服从均值为0、方差为1的高斯分布,在H0状态下,则接收端认知信号微分熵最大估计值可以通过计算得出:
其中,Y表示接收端信号。
(3)Lp范数:Lp范数不依赖于信号先验知识,其表达式定义如下:
(7)
p的取值为0≤p≤2,当p等于1的时候,L表示信号均值,当p为2的时候,L表示信号功率。文中选择p值为0.5进行实验仿真。
支持向量机(Support Vector Machine,SVM)是Vipnik提出的一种机器学习方法,最早被应用在统计学方面,常用于解决正负样本之间的分类问题[12-13],目的是寻找位于两类训练样本中具有最大间隔“正中间”的超平面,对于线性可分的样本数据,其唯一的最优超平面就是找到满足表达式(8)的最优解即可。
s.t.yi(wTxi+b)≥1i=1,2,…,m
(8)
其中,xi表示训练样本,yi表示训练样本类别,w和b分别为约束参数。然而在频谱检测任务中,由于信道中噪声的随机性,接收端收到的主用户信号存在与不存在的两种样本数据往往是线性不可分的,因而允许一部分样本不满足上述模型的约束条件,并在目标函数上极小化这些不满足约束条件所带来的损失,即得到软间隔SVM优化模型为:
s.t.yk((wTxk+b)+1)≥1-ξk
ξk≥0,k=1,2,…,N
(9)
其中,C表示惩罚系数,ξk定义为松弛变量,用以表征该样本不满足模型(8)的约束程度,其对偶问题为:
0≤αi≤C,i=1,2,…,m
(10)
在实际任务中,由于是线性不可分的,需要将样本x从原始平面映射到一个高维空间φ(x),映射后的目标函数为:
(11)
其中,k(.,.)就是核函数,常见核函数如表1所示。
表1 常见核函数
实验中选取高斯核函数进行频谱分类,从以上公式可以看出,参数σ和惩罚系数C决定了SVM的分类性能,所以采用TSA算法对SVM参数进行寻优选择,从而提升SVM对频谱感知的检测效果。在进行训练时,产生一组接收用户信号,构建出主用户存在与不存在时的特征向量作为训练正负样本数据,借助SVM进行样本训练,得到最佳目标函数,进而预测测试集类别,得出测试集准确率。
被囊群优化算法(Tunicate Swarm Algorithm,TSA)是Satnam Kaur等人提出的一种群智优化算法[14-16],它的灵感来自在深海中成功生存被膜生物的成群行为,和其他群智算法相比,TSA算法能产生更好的最优解。被囊群算法模拟了被囊生物寻找食物时的喷气推进以及种群行为方式,对该行为进行数学建模,目标函数需要满足以下条件:
(1)避免搜索冲突:为了避免搜索冲突,使用向量A计算新的搜索个体位置。
(12)
(13)
(14)
其中,G表示地球重力;F表示深海水流平流;变量c1、c2、c3是随机数,范围是0~1;M代表个体间相互作用力,计算方法如下所示:
(15)
其中,Pmin代表相互作用速度最小值,Pmax代表相互作用速度最大值,一般取[1,4]。
(2)向邻居最优方向移动:个体在满足上述条件后开始向相邻最优位置移动。
(16)
其中,PD代表食物与搜索个体之间的距离;x代表当前迭代次数;FS代表食物位置。
(3)收敛于最优的位置:最终每一个个体将向最优位置逼近。更新后的位置Pp(x)为:
(17)
其中,Pp(x)代表个体的位置;rand为[0,1]之间随机数。
(4)种群行为:为了从数学上模拟出被囊生物群体行为,该算法保留了前两个最优解,并根据当前最优搜索个体位置来更新其他搜索个体位置,以下公式被用于定义被囊动物群体行为:
(18)
由上述分析可知,TSA算法的基本流程为:
Step1 初始化种群参数、最大迭代次数、边界条件等;
Step2根据自适应函数计算每一个个体的适应度值;
Step3搜索每一个个体的最佳位置;
Step4根据被囊生物的群体行为更新每个个体位置;
Step5进行越界检测,调整超出给定搜索空间边界的个体位置;
Step6重新计算每一个个体的适应度值,如果适应度值较少,则进行位置更新,否则不进行更新;
Step7判断是否满足停止条件,如果满足,则算法结束,否则重复步骤Step4~Step7;
Step8返回自适应函数的最优解。
研究表明,相比其他群智算法,TSA在寻找最优解方面有很大提升且实现起来较为简单,但在迭代过程中仍然存在寻优精度不足、算法收敛速度慢的问题,为了弥补这个不足,采用自适应t分布变异算法和萤火虫算法对寻优过程进行优化。
在智能优化算法中引入柯西变异和高斯变异已被证实可以有效提升算法性能[17-18]。柯西分布和高斯分布都是t分布的两种特殊形式,随着迭代次数的增加,自由度参数t的增长,t分布曲线由柯西分布逐渐向高斯分布逼近。
在最优解位置附近生成符合t分布变异的新解,将高斯分布和柯西分布完美结合起来,对被囊群算法中个体Xi,j=(x1,1,x1,2,…,xi,j)使用自适应t分布策略,具体如下:
(19)
其中,t(D)是符合以迭代次数D为参数自由度的t分布。在算法初期,迭代次数较小,此时的变异干扰项可以看作是柯西分布,增强了个体在解空间的搜索能力,增加了被囊群生物的多样性特征,使得TSA全局探索能力得到提升,此时变异干扰项作用最大;在算法后期,种群变异符合高斯分布,增强了个体在最优点附近的搜索能力,进一步提升了算法局部搜索能力,同时减轻了变异干扰项的影响,并且加快了算法的收敛速度,并且随着迭代次数增加,变异干扰效果逐渐降低。
萤火虫算法[19](Fir-fly Algorithm,FA)是一种元启发式算法,是由剑桥学者Yang模拟萤火虫发光行为和移动行为提出的一种基于群体搜索的随机优化算法。该算法通过对自然界当中的萤火虫行为进行模拟,进而达到对模型优化的目的,具备操作简单、参数设置少及计算效率高等优点。该算法的仿生原理是:利用萤火虫的发光特性使个体之间相互吸引,荧光度较弱的萤火虫向较强的萤火虫移动,随着传播媒介的吸收和空间距离的增加,萤火虫的亮度逐渐变暗,在不断迭代中更新萤火虫的位置,从而实现对萤火虫位置的优化。
萤火虫算法的数学表达式为:
(1)萤火虫相对荧光强度为:
I=I0·e-γri,j
(20)
其中,I0为萤火虫最大萤光强度,和目标函数值有关,如果目标函数值越优,则萤火虫强度越高;γ为光照强度,随着距离增加以及传播媒介吸收逐渐减弱;γi,j为萤火虫i与j的空间距离。
(2)两个萤火虫之间的吸引度β为:
(21)
其中,β0为最大吸引度;受萤火虫j的吸引,萤火虫i移动进行位置更新,公式如下:
(22)
其中,xi与xj分别为萤火虫i和j所处的空间坐标;α∈[0,1]为步长因子;rand是满足[0,1]上均匀分布的随机数。
萤火虫算法具有较高寻优精度和收敛速度,借助萤火虫算法对被囊生物种群位置进行干扰,进而改善被囊群算法种群质量,增强被囊生物种群的多样性,提高算法的收敛精度,以弥补TSA算法存在的寻优精度不足的问题。
在SVM算法中,算法参数的选择对算法分类有很大的影响,在频谱感知的过程中,由于噪声不确定,样本数据点分布没有规律,需要不断根据信道状态进行频谱感知,每一次训练数据都相对独立,因此选择的高斯核函数参数和惩罚系数也不相同,不能通过传统的交叉验证的思想得到最优参数解。
该文定义的自适应函数为支持向量机预测值和真实值之间的均方根误差(Root Mean Square Error,RMSE)[20-23],利用改进过后的被囊群算法进行迭代寻优,使得均方根误差值最小,其表达式如下所示:
(23)
其中,gi表示输入样本特征值,f(gi)表示SVM模型的预测值,ri表示样本数据的真实值,m表示样本数据大小,k表示起始求和项。
基于核空间优化支持向量机的单用户频谱感知算法流程[20-23]如图1所示。
图1 核空间优化支持向量机的单用户频谱感知算法流程
为了验证所提算法的性能,选取BPSK信号为主用户信号,采样频率为44 100 Hz,载波频率为1 800 Hz,通过改变信号幅度来控制信噪比的范围变化,在核参数优化中,设置种群初始化参数为10,最大迭代次数为30,主要从虚警率、检测概率、采样点数、信噪比四个方面来评估算法检测性能。在相同信噪比和采样点数下,Pf越小,检测概率Pd越高,算法的检测性能越好。该文主要在-15 dB、-13 dB、-10 dB、-8 dB、-6 dB,-4 dB、-1 dB、0 dB这八个信噪比下进行实验仿真,为方便处理,信道噪声选取均值为0、方差为1的高斯白噪声。
将基于核参数优化的单用户频谱感知算法分别与能量检测、基于能量的协作频谱感知、文献[8]提出的K-FSVM、文献[11]提出的基于CNN的频谱感知算法进行对比,设置采样点数为300。在八个信噪比下,虚警率分别为:0.19、0.117 5、0.075、0.01、0.005、0.007 5、0.0、0.0,仿真结果如图2所示。
图2 不同检测算法性能比较
图2反映了当频谱感知算法不同的时候,检测概率随信噪比变化的曲线。由图可知,基于核空间优化支持向量机的单用户频谱感知算法和其他检测算法相比较,表现出来的性能更优。尤其在信噪比小于-7 dB的时候,检测性能得到了明显提升。当信噪比为-15 dB的时候,能量检测法的检测概率是0.344 2,基于能量协作频谱感知算法的检测概率为0.366 5,基于文献[8]提出的K-FSVM算法的检测概率为0.46,基于文献[11]所采样的CNN检测概率为0.464 1,而文中算法的检测概率则达到了0.747 5。
图3表明了采样点数不同对频谱感知性能的影响。以采样点数Ns分别是200、300、500为例进行实验仿真,由图3可以看出,在信噪比相同的情况下,信号采样点数越多,则算法的检测性能越好,尤其在低信噪比下更加明显。
图3 不同采样点数对检测性能的影响
图4反映了当信号在采样点数不同的情况下,基于核参数优化的支持向量机单用户频谱感知算法随信噪比变化曲线,由于噪声的随机性,仿真曲线会出现一定的波动变化。对比图3和图4,检测性能越高,虚警率越低,在信噪比接近0 dB的时候,检测概率接近1.0,而虚警率接近0.0。
图4 不同采样点数下虚警率随信噪比变化曲线
图5反映了在不同噪声背景下感知接收端的检测性能。对比高斯噪声和瑞利噪声下的检测性能,在采样点数和信噪比相同的情况下,瑞利噪声下算法表现的检测性能较差一些,尤其是在低信噪比下。当信噪比为-15 dB的时候,高斯噪声的检测概率为0.747 5,而瑞利噪声环境下的检测概率仅为0.622 5。
图5 不同噪声背景下的检测性能曲线
提出的基于核参数优化的支持向量机单用户频谱感知算法,将频谱感知问题转换为二分类问题,通过对信号进行小波滤波处理,构造出信号特征向量,利用改进的被囊群算法优化支持向量机中的核函数参数以及惩罚系数,寻求使得检测性能最大化的最优解,将特征向量送入支持向量机进行训练,并测试训练模型的检测性能。与传统检测算法(如能量检测以及能量协作频谱感知算法)相比较,不需要设置判决门限,弥补了检测概率收判决门限影响的不足,相比较文献[8]和文献[11],在低信噪比下很好地提升了感知性能,为后序进行频谱分配提供了可靠的支撑。实验表明在瑞利噪声背景下的检测性能相比高斯噪声背景下较差,如何进一步提升复杂噪声环境下的检测性能以及提升算法的时间和空间复杂度将是下一步工作的重点。