DBSCAN聚类的频谱感知算法研究
2022-05-25史俊凯
杜 雯,史俊凯
(1.南京邮电大学通信与信息工程学院,江苏 南京 210003;2.华为技术有限公司南京研究所,江苏 南京 210012)
0 引言
移动通信设备的不断增长使得频谱资源紧缺的现状愈加严峻,认知无线电技术致力于解决有限频谱资源和低下利用率两者之间的矛盾问题[1]。如何在不影响主用户(Primary User,PU)通信的前提下,通过改善频谱分配的时机和算法,将空闲的频谱资源分配给当前需要使用的次用户(Secondary User,SU),从而提高频带利用效率成为了认知无线电领域研究热点[2]。按照感知节点的个数,频谱感知技术可以分为单节点频谱感知和协作频谱感知。协作频谱感知技术利用多用户协作提高了低信噪比时系统的检测概率[3],解决了单节点频谱感知在复杂的通信环境中无法满足较高检测概率的问题。然而,依然存在检测不稳定的问题,首尔大学的Yong-Hwan Lee团队提出了一种基于认知用户本地决策信息的协作频谱感知方法[4],提高了系统检测可靠性。为了解决宽带信号无法直接采样的问题,Deborah Cohen等通过压缩感知技术对待测信号进行次奈奎斯特采样后再进行循环平稳检测[5],使得低信噪比时宽带信号检测效果优于传统能量检测方法。为了控制系统的反馈开销,Pankaj Verma等在文献[6]提出了一种半软合并方案,该方法很好地控制了系统的反馈开销,检测概率与传统软判决相比也并未下降。
协作频谱感知系统由于其底层协议的开放性,导致恶意用户对其威胁更大[7]。对于静态的伪造频谱感知数据(Spectrum Sensing Data Falsification,SSDF)攻击,可以采用基于权重分配的防御策略,在文献[8]中,通过计算KL散度分数来实现为不同用户分配不同权重的目的。为了进一步提高系统对不同用户的区分度,复旦大学的朱峰等人在协作频谱感知系统中加入了信任用户机制[9],通过信任节点,来为其余节点分配信誉度权重。而对于动态的SSDF攻击,则需要采用不同的检测方法来确定离群点。在单一的攻击模式下,可以通过离群点检测技术来区分异常值,从而使每个SU得到不同的信任因子[10]。对于多种攻击模式,则通过优化Grubb测试方法来区分正太分布数据中的离群点[11]。
本文针对认知无线电频谱感知中如何提高系统整体的检测概率,并在此基础上降低系统反馈开销的问题,提出了一种结合1 bit和2 bit能量检测的两轮判决感知算法。此外,就如何避免恶意用户对整个感知系统的影响,提出了一种DBSCAN聚类的两轮判决感知算法,提高了系统的可靠性。
1 两轮判决的频谱感知
在本算法中,先由SU对待测频段进行常规的双门限能量检测,得到SU的本地感知结果,判决结果为1的SU再将本地感知结果上传给融合中心,融合中心通过一定的融合算法得到整个系统的第一轮判决结果。为了保证PU对信道使用权的绝对优先,只有当第一轮判决结果为0 时才会进行第二轮判决。在第二轮判决中,所有SU对在第一轮判决中落入双门限内的感知数据进行2 bit频谱感知,得到每个SU的第二轮本地判决结果,随后本地判决结果为1的SU将结果发送给融合中心,融合中心再进行第二轮融合判决,最终的整体判决结果由两轮判决共同决定,这样可以在控制信道开销的同时提高系统的检测概率。另外,在SU在将本地判决结果上传到融合中心的过程中采用了删减策略,即只有当本地判决结果为1时才上传结果,这样能够在不降低检测概率的同时进一步减少信道开销;又因为在采用删减策略后,融合中心不必进行0、1判决,只需要对收到的信息进行计数,这样就可以避免误码对检测概率的影响,提高了系统的可靠性。
1.1 系统模型
本算法采用集中式协作频谱感知,假设感知频段中存在1个PU,另外有N个SU对该频段进行频谱感知,伺机接入,并且存在一个融合中心对SU的本地感知结果进行融合。
将感知信道假设为一个二元问题,即H0表示该感知信道只存在噪声不存在PU信号;H1表示该待测信道包含PU信号和噪声。由于采样定理的限制,现有设备很难对较宽频带(带宽大于300 MHz)直接采样。因此,需要将宽带信号转换成X个并行的子信道,再进行感知。
在两轮判决能量检测中,第一轮判决采用1 bit能量检测,第二轮判决采用2 bit能量检测,具体如下:1 bit能量检测采用双门限能量检测法,当SU的能量观测值大于高判决门限λH时,SU判定该待测频段上存在PU,判决结果为1;当能量观测值小于低门限λL,SU判定PU不存在,判决结果为0;而当能量观测值在高低判决门限之间时,能量值将会被SU暂存在本地,融合中心需要时再将此部分数据值发送给融合中心。
2 bit能量检测采用软化硬合并方法,将整个待测频段分为4个不同区域,以00、01、10、11作为反馈信息,从而有效地增强了在低信噪比环境下的检测性能。
在2 bit能量检测法中,共有3个阈值λ0、λ1、λ2,这3个阈值将整个频谱分为4个区域,每个区域都对应着不同的权值:w0=0、w1=1、w2=V、w3=V2,每个对待测频段进行能量检测后得到自身的能量值E,将E与3个阈值比较后就可知E属于哪个区域。融合中心对所有SU的2 bit本地判决结果进行加权求和后得到Ns:
(1)
其中,wi表示不同区域的权值;Ni表示落在第i个区域的SU总数,0≤i≤3。再将求和结果Ns与总阈值Nv=V2比较,就可判定待测频段的状态。当“Ns≥Nv”时,融合中心判定PU存在,判决结果为1;当“Ns (2) 3)每个SU进行本地判决:假设经过步骤2以后,划分后的X个子信道中,能够得到确切判决结果的子信道共有X1+X2个,判决结果为1和判决结果为0的子信道个数分别是X1和X2,剩下的X-(X1+X2)个子信道由于暂时无法得到确切的判决结果,被SU认为是不可靠的,此部分的子信道的能量检测值将被保存起来。随后,每个SU根据自身得到的子信道判决结果通过K秩融合准则[13],将子信道判决结果为1的个数X1与自身判决门限A作比较,得到第j个SU的本地判决结果Dj: (3) 其中,j表示第j个SU,j∈[1,N],A表示各SU本地判决时采用的K秩准则的门限,A∈[1,X],只有当X个子信道中至少有A个子信道判决结果为1,那么SU的本地判决结果才为1,否则就为0。然后,本地判决为1的SU会将本地判决结果发送给融合中心,本地判决为0的SU不发送本地判决结果。记第一轮判决中,第j个SU的本地检测概率为Qd,j,虚警概率为Qf,j。 4)融合中心的第一轮判决:在当前感知周期内,当融合中心收到所有判决结果为1的SU的判决结果后,利用K秩融合准则,对接收到的1 bit的SU本地判决结果进行计数,假设计数总数为Nn,随后融合中心即可得到第一轮的判决结果DH,只需要将Nn与判决门限B进行比较,B∈[1,X1]。如果Nn大于等于B,则表示该待测频段上存在PU,DH为1,感知结束;否则DH为0,该待测频段空闲。其中DH可以表示为: (4) 融合中心第一轮判决的检测概率Qd,H为: Qd,H=P{DH=1|H1}=P{Nn≥B|H1} (5) 融合中心第一轮判决的虚警概率Qf,H为: Qf,H=P{DH=1|H0}=P{Nn≥B|H0} (6) (7) (8) (9) (10) (11) (12) 此时系统的整体检测概率Qd和虚警概率Qf为两种情景之和,即融合中心第一轮判决PU存在或第一轮判定PU不存在而第二轮判定PU存在。系统的整体检测概率Qd为: (13) 系统的整体虚警概率Qf为: (14) 作为认知无线电的关键技术,协作频谱感知的安全性问题尤为重要。通常情况下,集中式频谱感知过程中SU将本地判决结果发送给融合中心时,恶意用户可以通过多种方式对系统发动攻击,影响融合中心的判决[14]。针对最为常见的SSDF攻击模式,本文将两轮判决感知算法与聚类中的DBSCAN算法相结合,提出了一种DBSCAN聚类的两轮判决频谱感知算法。系统在进行两轮判决后,将参与协作频谱感知的SU本地判决结果与融合中心判决结果进行比较,根据两者之间的差异来识别恶意用户,之后再重新进行两轮判决,这样就可以避免恶意用户干扰融合中心的数据融合过程,增强整个系统感知的可靠性。 聚类算法需要将每个用户的能量检测值转化为聚类算法所需的算法参数,并且在参数转化后通过聚类算法可以明显区别出不同用户簇。基于此目标,须对DBSCAN算法参数进行设计。 恶意用户和正常用户的最主要区别在于恶意用户会将本地判决结果更改后发送给融合中心,而正常用户则是如实发送本地判决结果。假设在T个训练时隙内,单个正常用户的本地判决结果与融合中心的最终判决结果必然会有n次不同(n 综上所述,可以通过在T个训练时隙内每个SU的本地判决结果与融合中心的最终判决结果之间的差异次数来判断此用户是恶意用户还是正常用户。 本节用Si1(j)和Si0(j)表示SUi在第j个训练时隙对应指示函数: (15) (16) 其中,Di(j)表示融合中心接收到的第i个SU的本地判决结果,D(j)表示由信任用户得到的融合中心判决结果,Si1(j)表示在第j个训练时隙内当第i个SU的本地判决结果为1,而融合中心的最终判决结果为0;Si 0(j)表示在第j个训练时隙内当第i个SU的本地判决结果为0,而融合中心的最终判决结果为1。经过T次训练时隙以后,第i个SU的本地判决结果为1,而融合中心的最终判决结果为0的总次数Ti,1为: (17) 第i个SU的本地判决结果为0,而融合中心的最终判决结果为1的总次数Ti,0为: (18) T次训练时隙完成后,融合中心拥有了(Ti,1,Ti,0)两个数据,再基于这两个数据,对网络中的所有用户进行DBSCAN算法聚类分析。 1)系统进行两轮判决能量检测,得到SU的本地判决结果和融合中心的判决结果。 2)根据2.1中的参数设计,对判决结果进行训练,得到{(Ti,1,Ti,0)|0≤i≤N-1}。 3)进行DBSCAN聚类。 4)设置DBSCAN算法初始参数eps和最小样本个数min_simples,其中min_simples可以设置为2。eps是DBSCAN算法最关键的初始参数,对算法最终结果起决定性作用,本算法中将eps设置为: (19) 其中,C为一个整数,C∈[15,20]。 5)标记所有用户对象点为“未访问”,随后随机选择其中一个作为对象p1,将p1标记为“已访问”。 6)判断,如果对象p1所在的以eps为半径的圆形邻域内存在至少min_simples个对象,则创建一个新的簇Q,将对象p1加入到簇Q中,创建空集合N,如果不满足,则将对象p1标记为噪声点,然后重新在其他对象点中选择一个新p1。 7)将对象p1所在邻域内的其他对象点加入到集合N当中,随后遍历集合N中的每个对象点p2。 8)判断对象p2是否是“未访问”,如果是,则将对象p2改为“已访问”。如果不是,则重新在集合N中选择下一个p2。 9)判断,如果p2所在的以eps为半径的圆形邻域内存在至少min_simples个对象,则创建一个新集合N′,并把这些对象点全部加入到集合N′中。此处不直接将对象点加入到集合N中,因为在遍历N的过程中,不可对集合N的长度进行更改。 10)判断p2是否是某个簇的对象点,如果不是则将点p2加入到簇Q中,清空集合N。 11)以N′为对象集合,N′中的对象点为p2,重复步骤(4)~(7)。 12)集合Q形成。 13)再选择任意一个标记为“未访问”的对象点作为p1,重复步骤2)~9)。 14)直到不存在“未访问”的对象点,DBSCAN算法终止。 15)排除恶意用户后系统重新进行两轮判决能量检测。 假设在一个共有15个SU和一个融合中心的网络中,每个SU对授权频段进行频谱感知时的感知信道均为AWGN信道,SU在单次频谱感知中的信号采样数为100,平均接收信噪比是-10 dB,噪声方差为1,噪声不确定度为1.1,划分子频段数为10,SU在授权频段上所设的虚警概率为(0,0.01]。 将两轮判决能量检测的检测概率与双门限能量检测、软合并能量检测以及半软合并能量检测[6]进行仿真对比,如图1所示。半软合并能量检测是目前常用的一种感知方法,该方法可以在保证检测性能的基础上减少信道开销。由图3可知,本文提出的两轮判决能量检测的检测概率非常接近软合并能量检测的检测概率。 图1 检测概率随虚警概率变化图 软合并能量检测是目前认为检测性能最好的频谱感知方法,但该方法中的SU会将感知数据直接发送给融合中心,这样会产生过多的信道开销。在两轮判决能量检测中,SU向融合中心发送的是1 bit或2 bit数据,而且采用了删减策略,这样大大减少了信道开销,检测性能也没有明显下降。两轮判决的检测概率与半软合并能量检测和双门限能量检测相比也有了显著提升。图2为两轮判决能量检测、双门限能量检测和半软合并能量检测的检测概率随平均信噪比的变化曲线图,预设虚警概率固定为0.005,平均信噪比为[-20,-10]dB。不难发现,本文提出的两轮判决算法的检测概率总体上要高于半软合并能量检测和双门限能量检测,低信噪比时优势更加明显。 图2 检测概率随信噪比变化图 (20) (21) 可得到分别在考虑和不考虑误码率的情况下的对比仿真结果,如图3所示。由图3可知,结合删减策略的两轮判决算法不受误码率的影响,在整个信噪比区间上检测概率都要高于考虑和不考虑误码率情况下的双门限能量检测和半软合并能量检测。这说明本文所提算法具有更高的稳定性和更好的检测性能。 图3 考虑误码的检测概率随虚警概率变化图 在进行两轮判决后,根据本地和融合中心的判决结果对系统中的恶意用户进行识别,并将所有用户的感知信息与本地判决结果转化成(Ti,1,Ti,0),从而进行聚类分析。假设系统中有5个恶意用户以及2个信任用户,加入信任用户的目的是检测聚类算法的正确性,在正常情况下聚类算法会把信任用户归为正常用户类。不考虑感知信道的阴影效应,所有用户节点的信噪比都为-50 dB;每个信号能量检测的抽样点数为100;恶意用户检测阶段的总训练时隙是6 000次。 图4是所有用户节点的能量感测数据转化为(Ti,1,Ti,0)后的数据图。图中叉形表示信任用户,圆点表示其他用户。大多数用户集中在右下方,其他用户零星散布在上半部。 图4 用户节点原始数据分布图 如图5所示,DBSCAN算法将整个用户节点聚为2个类,分别是圆点的类别0和三角形的类别1。通过比较图4可知,DBSCAN算法将所有右下角的用户节点归为类别0,将其余用户节点归为类别1,并且信任用户和正常用户应为一类。由2.1节分析可知,正常用户之间的平均距离要小于恶意用户之间的平均距离,并且正常用户的Ti,1+Ti,0要明显小于恶意用户的Ti,1+Ti,0,所以通过分析后可得右下方的类别0为正常用户,其余类别1为恶意用户。而且通过DBSCAN算法后信任节点与正常用户一起被归为类0,可以验证聚类结果的正确性。 图5 通过DBSCAN聚类后的数据分布图 恶意用户检测阶段结束以后,进行正常用户的频谱感知,依然采用两轮判决的频谱感知模型,引入干扰冲突概率[15]这一指标来检验系统感知的可靠性,干扰冲突概率Pi通常用来描述认知用户由于检测错误等影响而对授权用户产生的干扰冲突。假设ti为SU对PU产生的总干扰时间,在数据传输时间td内对PU产生的干扰冲突概率Pi可以表示为: (22) 分别对以下2种算法进行仿真分析,即未经聚类直接进行频谱感知和经DBSCAN聚类算法后再进行频谱感知。图6为2种算法的干扰冲突概率随数据传输时间的变化图。图6中,使用DBSCAN聚类后的干扰冲突概率明显低于未聚类时的干扰冲突概率,这是因为恶意用户会篡改感知结果,从而增加SU对PU的干扰时间,即ti增大。在使用DBSCAN算法聚类后,会剔除恶意用户和异常值用户,减少干扰时间,降低干扰冲突概率,以提高系统可靠性。 图6 两种算法的干扰冲突概率对比 针对传统频谱感知技术检测概率有限、系统反馈开销过大的问题,本文提出了一种两轮判决的频谱感知算法,并在此基础上进行删减策略的优化。同时,本文也关注到了频谱感知安全问题,将两轮判决感知与DBSCAN聚类算法相结合,在恶意用户检测阶段成功地识别出了正常用户、恶意用户,为之后的频谱感知阶段提供了可靠的保障。并通过仿真分析了恶意用户对于系统可靠性的影响,对比了是否剔除恶意用户情况下的系统的干扰冲突概率,证明了该算法可以提高系统的可靠性。1.2 算法步骤
2 DBSCAN聚类的两轮判决频谱感知
2.1 DBSCAN算法的参数设计
2.2 算法流程
3 仿真与分析
4 结语