任瑾璇,麻淑婉,王永华,万 频
(广东工业大学 自动化学院,广州 510006)
随着5G技术的普及和物联网技术的兴起,无线通信业务呈指数级增长,导致可用的频谱资源越来越少。针对授权的频段未得到充分的利用和抵御恶意用户(Malicious User,MU)的攻击等问题,认知无线电(Cognitive Radio,CR)技术被提出。频谱感知是CR中十分重要的环节,可检测主用户(Primary User,PU)是否处于空闲状态,空闲时则允许感知用户(Cognitive User,CU)获得许可的频段[1-3],有效提高频谱利用率,缓解频谱短缺。
现阶段的频谱感知技术面临着严重的安全问题,MU会通过发送错误的信息对检测用户发动攻击来影响感知结果。现有的对抗MU的频谱感知研究有一定的局限性:文献[4-8]限制了攻击方式,只考虑了频谱感知数据篡改(Spectrum Sensing Data Falsification,SSDF)的攻击方式,所用算法不具有普遍性;文献[9]采用了直接软融合或者直接硬融合方法,这可能会导致感知矩阵的特征提取不充分,使协同频谱感知系统(Cooperative Spectrum Sensing,CSS)的性能无法提高,无法有效排除MU的干扰。
为了抵御MU的攻击,本文通过数据软融合机制和模糊处理机制对感知数据进行有效分离和特征提取,将处理后的感知数据发送给数据融合中心(Fusion Center,FC),FC通过制定高效的数据融合方案做出全局决策,输出整个系统的检测结果。相对之前所提出的研究方案,本文的研究方案没有限制攻击方式,且无需关于MU和CU的任何先验知识,以及信号和噪声的分布。
为了提高感知网络的服务质量和信息传输的速率,本文采用的多天线输入输出系统并行融合模型如图1所示。
图1 多天线输入输出系统
在此方案中,并行融合模型主要包括三个步骤,分别是本地检测、数据汇聚和数据融合。第一步本地检测是FC选择一个需要检测并且已经授权的频段后,对每个诚实用户(Honest User,HU)进行控制使其执行数据感知操作。第二步是数据汇聚,即CU把收集的每根天线检测的感知数据通过信道传送给FC。第三步是数据融合,通过一系列数学方法和机器学习的算法对感知数据进行处理,判决出PU是否存在。
认知无线电的频谱检测是二元假设问题[10],信道可分为空闲状态和被占用状态。 假设第i个CU的第j条天线采样所得到的信号表示为
(1)
第i个感知用户所检测到的感知数据记为
(2)
在频谱感知中,主要由虚警概率和检测概率两个指标来衡量感知的性能。
虚警概率Pf指当PU未占用信道时被检测为PU已占用信道,此错误的检测结果会导致CU不能接入信道,表示为
Pf=Prob{H1|H0} 。
(3)
检测概率Pd指正确判断该信道是否被占用,表示为
Pd=Prob{H1|H1} 。
(4)
在频谱感知中,感知过程和信息交互过程中可能存在的恶意数据,会导致整个系统的感知能力下降,因此需识别出潜在的MU并排除MU对整个系统的攻击,避免系统产生错误的感知判决结果。MU攻击方法主要包括三类:第一类是MU通过模拟PU的信号进行攻击,使HU的信号偏离PU的信号,最终将HU被隔离在主系统的频谱之外;第二类是干扰HU的报告信道,通过阻断、修改、重置等方式来干扰HU和FC的数据输入通道,从而让HU的本地决策结果无法发送或者无法准确的传送给FC;第三类是攻击HU,使HU发生故障,不断发出错误的本地检测结果和报告信息,这种攻击方法将会导致检测概率极大地降低,甚至会导致整个全局系统的崩溃。
在CSS中,MU的存在会严重降低检测效率,影响CSS的系统性能[11]。利用合适的方法对用户进行选择可以排除MU对无线电网络的攻击,确保CU和PU的感知数据的可靠性。基于此本文采用集中式选择模型,该模型主要是利用FC对所有可用的感知数据进行收集,当数据收集完毕后,对数据进行进一步提取、剔除、融合等一系列操作,确保了网络的安全性和可靠性。
基于聚类算法的频谱感知的主要流程有四个阶段:数据收集和提取、模糊处理、剔除恶意点和感知数据的分类。在数据的收集和提取阶段,对每个CU收集的矩阵数据进行特征提取;在感知数据的模糊处理阶段,采用隶属度函数对前一步所提取的特征数据进行模糊处理,把频谱感知的二分类问题转变成一个模糊边界的二分类问题,对处于模糊边界内的数据添加不同的隶属度的值,使分类器在低信噪比的恶劣情况下,仍然具有较好的性能和效率;第三阶段进行恶意点的剔除,该阶段对数据的离群点进行了挖掘剔除和融合,使算法的鲁棒性更好,降低MU对整个无线电系统的干扰和影响;最后采用K-means++进行聚类。
图2 算法总流程图
频谱感知分类是一个二分类问题:
(5)
当环境的信噪比(Signal-to-Noise Ratio,SNR)值比较高且信号检测条件较好时,FC接收到的PU在信道上的信号强度和PU不在信道上的信号强度之差较大,有利于感知系统判断PU的状态;在SNR较低的情况下,FC进行本地检测的结果准确性不高;随着SNR值的下降,检测结果的准确性越低。现有的频谱感知不能解决SNR不理想、分类边界模糊的问题,不能表达PU可能或不可能存在这一类可能性问题,使得检测的准确性降低。
在进行模糊处理前,先对信号样本X进行特征提取,令x={x1,x2,…,xn}表示最大特征值与最小特征值之比的特征值。
本文采用隶属度函数对模糊边界进行分类,当隶属度为1时,代表PU绝对存在;当隶属度为0时,代表PU绝对不存在;当隶属度越接近1时,代表PU存在的可能性越大;越接近0,则代表PU不存在的可能性越大。此方法可以对样本点进行进一步的特征处理,提高样本点的分类准确度,使系统在SNR较低、距离较远等恶劣环境下也有较好的数据感知性能。
隶属度函数如下式所示:
(6)
uA(x)为x对模糊集合A的隶属度。uA(x)越接近于0,表示x属于集合A的程度越小;否则表示x属于集合A的程度越大。uA(x)用札德(Zadeh)记号法可表示为
(7)
从图3可以看出,该函数式单调递增并连续,且存在两个边界值λ1和λ2,区间(0,λ1)所表示的是绝对的噪声信号区域,区间(λ2,∞)所表示的是绝对的信号区域,区间(λ1,λ2)所代表的区域是“可能”区域,有一定的概率属于噪声信号,也有一定的概率属于PU信号。
本文中的离群点指MU为了干扰整个感知系统产生的偏离正常感知数据的数据对象,它与正常的感知数据有着显著的不同。离群点挖掘就是找出行为异常并且不同于其他感知数据的数据对象,并将其排除在感知数据集之外。
离群点的主要包括三种类型:第一种是全局离群点,是指离群点明显偏离集中的数据集;第二种是情景离群点,是指在某些情景中,离群点与所给定的集中数据有显著差异;第三种是集体离群点,是指多个离群点作为整体偏离所给定的数据集。本文主要采用的是基于距离数值检测的循环嵌套检测方法对每个用户(包括MU)频谱进行检测,将所检测到的数据对象进行特征值的模糊处理,将所处理的数据递交给FC,FC会对MU产生的离群点进行挖掘排除及融合。算法步骤如下:
Step1 输入循环次数n、样本特征值x、当前迭代次数t、最大迭代次数maxite、系数μ。
Step2 初始化数据均值mean、方差std。
Step3 判断(x-mean)<μ×std是否满足。
Step4 若Step 3不成立,则把该数据点x剔除。
Step5 保留使Step 3成立的数据点,更新mean、std、t=t+1。
Step6 判断mean是否收敛,或者是否迭代到最大次数maxite。
Step7 若Step 6成立则输出保留下来的x,否则返回Step 3,直至Step 6成立。
Step8 对保留下来的x进行数据融合,循环n次,直至输出样本数据集W={c1,c2,c3,…,cH}。
在频谱感知中,数据样本需要聚类成两个类[12-13]。由于K-means聚类算法可伸缩性强,运行速度快,经常被应用于频谱感知技术中[12,14]。但K-means在算法初始阶段时需要选择初始的聚类中心,如果选择不当,会导致产生无效的聚类结果。该算法很大程度上受到初始聚类中心的影响,本文采用K-means++算法解决了此问题。
K-means++ 算法:按照聚类中心是互相离得越远越好的原则进行选取,在选取第一个聚类中心时同样采用随机的方法。
Step1 输入数据集W={c1,c2,c3,…,cH}。
Step2 从数据集中随机选取一个点作为初始化的聚类中心,如ψ1=c1。
Step4 重复Step 3直到选出K个聚类中心。
Step5 计算数据集中每个样本ci与K个聚类中心的距离,并将其分到距离最小的聚类中心对应的类中。
Step7 重复Step 5~6,直至ψk不变化,输出ψk。
把数据集分为训练集И和测试集Й,训练集И送入K-means++算法得到聚类中心ψk,利用公式(8)对测试集Й进行分类操作:
(8)
式中:ξ是一个度量参数,且ξ>0。如果上式成立,则可判定为信道可用,否则判定信道不可用。
本文的PU信号选择AM信号,设CU的个数为100,其中HU为85,MU为15,FU所接收到的数据对象R=100。图4和图5分别给出了模糊处理前后的聚类图,图中红色的“*”代表PU处于活跃的状态,蓝色的“×”代表PU处于空闲状态。通过对比观察图4和图5样本点坐标和聚类中心的坐标可以看出,未进行模糊处理的PU活跃和PU空闲的聚类中心分别是(1.139,1.141)和(1.146,1.144),聚类中心的欧氏距离很近。在进行模糊处理之后,PU活跃和空闲的聚类中心变为(-1.195,-1.294)和(0.806 7,0.771 4),两个簇的聚类中心较远。经过模糊处理后,各个样本点之间的欧氏距离都成倍数增加,显著提升了算法的性能和分类的准确率。
图4 模糊处理前聚类图
如图6所示,黑色的曲线代表未进行数据的模糊处理的ROC(Receiver Operating Characteristic)曲线,红色的曲线代表进行了模糊处理后的ROC曲线,可以看出当SNR为-17 dB时,信号噪声的环境较好,经过模糊处理后的数据展示了良好的收敛速度和准确率;同时在SNR为-19 dB时,经过模糊处理后的数据比未经过模糊处理的数据性能更好。
图6 模糊处理前后ROC图
图7展示了聚类算法在不同的MU和HU配比下的ROC曲线,图中红色的线代表K-means++算法的分类性能,黑色的线代表K-means的分类性能。对比曲线可以看出,无论是哪一种MU和HU配比,采用K-means++聚类算法相比较于K-means聚类算法,曲线的收敛速度和算法性都有显著提升。
从图7也可以看出不同MU与HU配比对算法性能的影响:当HU为85 dB、80 dB时,MU对应为15 dB、20 dB,对比曲线可以看出,无论是哪一种配比,数据的模糊处理机制都能显著提升整个CSS系统的性能。
图7 不同的MU和HU配比下的ROC图
图8对比了多组在不同SNR情况下采用K-means++的聚类算法和采用K-means聚类算法的ROC曲线图,从图中可以看出,无论SNR为多少,K-means++的性能效果都比K-means要稳健,对MU攻击的抵御更加有效。
图8 K-means++与K-means ROC对比
本文提出了对感知数据进行模糊处理的机制、基于离群点挖掘排除MU攻击算法和K-means++的聚类算法。模糊处理机制可以有效增加不同簇数据对象的欧氏距离,有利于对数据进行分类处理,提高了认知无线电网络系统的稳定性,使得系统在低信噪比的恶劣情况下也能保持良好的性能;采用基于离群点挖掘排除MU攻击,有效抵御了任何攻击方式,不限制于某一固定攻击方式;在分类阶段,采用K-means++算法对数据进行分类,既避免了繁杂的门限推导,还改进了采用K-means的不足,在其基础上提高了CSS系统的性能。
接下来的工作将研究在低信噪比情况下能感知多个主用户信号的算法,优化感知算法的复杂度,以使在大范围恶意用户攻击的情况下算法仍能保持良好的感知性能。