«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (9): 198-204  DOI: 10.19678/j.issn.1000-3428.0055192
0

引用本文  

冉超, 方志军, 张彦宇. 基于SDR和改进能量检测算法的频谱感知[J]. 计算机工程, 2020, 46(9), 198-204. DOI: 10.19678/j.issn.1000-3428.0055192.
RAN Chao, FANG Zhijun, ZHANG Yanyu. Spectrum Sensing Based on SDR and Improved Energy Detection Algorithm[J]. Computer Engineering, 2020, 46(9), 198-204. DOI: 10.19678/j.issn.1000-3428.0055192.

基金项目

国家自然科学基金(61831018,61772328)

作者简介

冉超(1995-), 男, 硕士研究生, 主研方向为无线通信与无线网络技术、软件定义无线电;
方志军, 教授;
张彦宇, 硕士研究生

文章历史

收稿日期:2019-06-13
修回日期:2019-08-30
基于SDR和改进能量检测算法的频谱感知
冉超 , 方志军 , 张彦宇     
上海工程技术大学 电子电气工程学院, 上海 201620
摘要:针对人为性的电磁频谱资源匮乏问题,搭建一套通用软件定义无线电(SDR)系统作为通信平台,并提出一种改进的双阈值能量检测算法。该算法通过在混淆区域内添加额外阈值,细化判决结果后进行融合判决,减少了传统算法造成的传感信息浪费,降低真实信道下的噪声影响。在SDR系统中对授权用户频段使用情况进行实时检测,实现了频谱感知并为次用户的频谱接入提供依据。实验结果表明,相比于单阈值能量检测和传统双阈值能量检测算法,该算法在低信噪比情况下具有更高的检测概率。
关键词软件定义无线电    认知无线电    频谱感知    能量检测    双阈值    
Spectrum Sensing Based on SDR and Improved Energy Detection Algorithm
RAN Chao , FANG Zhijun , ZHANG Yanyu     
School of Electronic and Electrical Engineering, Shanghai University of Engineering Science, Shanghai 201620, China
Abstract: To address the man-made shortage of electromagnetic spectrum resources, a general Software Defined Radio(SDR) system is established as a communication platform, and an improved dual threshold energy detection algorithm is proposed.The algorithm adds additional thresholds into the confusion region in order to refine the decision result, and then performs the fusion decision, which reduces the waste of sensor information caused by the traditional algorithm and reduces the noise impact under the real channel.In the SDR system, real time detection of the frequency band usage of authorized users is carried out, which realizes spectrum sensing and provides a basis for the spectrum access of the secondary user.Experimental results show that compared with the single threshold energy detection and the traditional double threshold energy detection method, the proposed algorithm has a higher detection probability in cases of a low Signal-to-Noise Ratio(SNR).
Key words: Software Defined Radio(SDR)    cognitive radio    spectrum sensing    energy detection    double threshold    
0 概述

近年来, 随着无线网络的发展和信息流量指数级增长, 人们对无线电频谱带宽的需求也随之增加。然而, 美国联邦通讯委员会(FCC)调查显示, 目前分配的多数频谱利用率仅有15%~85%[1-2]。FCC认为频谱利用率低下的主要原因是静态的频谱分配方式使得频谱资源未被完全利用[3-4]。文献[5-6]提出认知无线电作为一种灵活的无线电系统, 能够在不干扰授权用户的前提下, 动态高效地利用现有频谱, 而认知无线电系统面临的最大挑战之一是如何在特定位置即时检测到授权用户频谱的存在, 且在占用频谱资源时, 检测出可能重新出现的授权用户频谱, 并立即收回资源。因此, 频谱感知是认知无线电系统利用空闲频谱资源的基础。

频谱感知的主要特点之一是自适应性, 即在无线通信外部环境、网络条件、用户所在地、地理位置等因素影响下, 系统通过改变频率、功率、调制方式、带宽等通信参数来持续感知频谱[7-8]。软件定义无线电(Software Defined Radio, SDR)作为新一代无线通信技术, 通过硬件配置和软件编程实现各种基带信号处理, 提供一种灵活、可重构的无线通信功能, 是实现频谱感知的良好平台。为此, 实验室自主研发了一款名为SOUP的通用软件无线电平台, 并将其与MATLAB和Simulink相结合。用户可以通过类似流程图的图形界面叠加组合各种信号处理模块来检测授权用户频谱。

能量检测是频谱感知中最常见和易实现的一种方法[9], 它是一种盲检测方法, 属于信号的非相干检测[10], 其优点是检测过程不需要获取待检测信号的先验信息, 缺点是信号传输路径上的噪声不确定性会影响其性能[11]。双阈值能量检测是在能量检测基础上增加了一个阈值, 当检测统计落入2个阈值之间的混淆区域时, 这一感知周期内不作判决, 减少了噪声不确定性, 但同时会造成传感信息的浪费。

为了充分利用传统双阈值能量检测中浪费的这部分传感信息, 本文提出一种改进的双阈值能量检测算法, 在混淆区域内再增加一个细化阈值, 使判决结果细化并进行融合判决。本文以SOUP通用软件无线电平台作为通信系统和测试平台, 利用改进的双阈值能量检测算法对授权用户的频谱使用情况进行检测, 同时对次用户的可用频段进行研究。

1 软件无线电系统 1.1 软件无线电简介

传统硬件电路无法同时支持不同的通信制式, 而软件无线电通过可编程硬件与软件的结合, 在不改变硬件电路的情况下提出一种多频段、多制式的解决方案[12]。软件无线电的基本思想是以一个通用、标准、模块化的硬件平台为依托, 通过软件编程来实现无线电台的各种功能, 从基于硬件、面向用途的电台设计方法中解放出来[13]。相比于传统单一的无线电系统, 软件无线电的优势在于通用性强、开发周期短、灵活易扩展, 且能够满足通信行业的多样化和灵活性需求。

1.2 软件无线电外设

本文中软件无线电外设使用的是实验室自主研发的SOUP, SOUP由一个基于FPGA芯片的主板和基于AD9361的射频子板组成。射频子板生成射频信号, 通过定向天线发射和接收射频信号。主板为基带板, 它为射频单元和PC之间的数字信号传输建立了一个高吞吐量、低延迟的路径。为了获得所需的系统吞吐量, SOUP使用低延迟、高速串行总线PCIe2.0。PCIe2.0总线接口在硬件上采用可编程器件设计方案, 其基本思想是使用Xilinx提供的IP核集成到SOUP上的FPGA中。

1.3 软件无线电系统实现

软件无线电系统主要由SOUP数据采集板与PC主机上的硬件驱动及通信协议程序两部分组成。软件无线电系统框图如图 1所示。

Download:
图 1 软件无线电系统框图 Fig. 1 Software radio system block diagram

为了在PC端连接并控制SOUP, 本文实验设计了SOUP专用硬件驱动和通用软件无线电库, 通过通用软件无线电库中的应用程序编程接口连接SOUP专用硬件驱动, 实现对SOUP数据采集板的控制。本文选用Simulink程序进行软件无线电系统的上层搭建, 发送端PC对Simulink中的数据符号进行D/A转换、上采样等处理, 通过PCIe2.0高速总线传递给SOUP射频板进行发送。经过真实信道传输, 接收端PC通过SOUP数据采集板捕获到射频信号, 在Simulink中由解调模块进行解调验证。

真实信道下的软件无线电系统实现的关键内容是软件无线电外设收发模块的设计。Simulink中自定义功能模块的设计依托于S函数模块, 其使用高级编程语言按照特有框架进行自定义功能设计, 通过与Simulink通用模块库中的基础模块相连接, 共同描述连续、离散或混合系统。本文使用通用软件无线电库中的SOUP驱动函数接口连接SOUP驱动程序, 从而控制SOUP数据采集板, 完成具有数据收发功能的S函数模块。Simulink具有强大的信号处理模块和丰富的信号源模块, 将这些模块与具有数据收发功能的S函数模块相结合, 可以在PC端完成对SOUP收发信号的编解码、调制解调、时域和频域同步等操作, 搭建一个完整的软件无线电系统。SOUP软件无线电系统如图 2所示。

Download:
图 2 SOUP软件无线电系统 Fig. 2 SOUP software radio system
2 能量检测算法及其改进 2.1 能量检测算法

基于能量检测的频谱感知因其计算量小、复杂度低而成为频谱感知中最常用的方法[14-15], 其主要理论基础是在频谱被占用时, 接收到的信号将比空闲时具有更多的能量。在基于能量检测的频谱感知过程中, 认知无线电用户不需要了解授权用户信号的任何信息, 而是通过将接收到的频谱与预先确定的阈值进行比较来实现频谱感知[16-17]图 3给出了基于能量检测的频谱感知流程。

Download:
图 3 基于能量检测的频谱感知流程 Fig. 3 Spectrum sensing process based on energy detection

频谱感知本质上是对授权用户在特定带宽下的存在性进行二元假设检验:

$ \begin{array}{*{20}{l}} {{H_0}:y(k) = w(k)}\\ {{H_1}:y(k) = s(k) + w(k)} \end{array} $ (1)

其中, y(k)为频谱感知的检测值, s(k)和w(k)分别表示传输的授权用户信号和加性高斯白噪声(AWGN), H0H1分别表示在k时刻频谱是否被授权用户占用。

无论使用何种精确的信号模型或检测器, 由于附加噪声、有限的观测以及观测样本固有的随机性, 传感误差都是不可避免的, 因此定义此类检测器性能分析的关键指标是其检测概率[18]。假设采样个数为N, 检测统计量E如式(2)所示, 由文献[19]可知, 当采样个数N足够大时, 可用高斯随机变量来近似, 因此正确检测到信号时的检测概率Pd如式(3)所示, 错误检测到频谱被占用而发出错误警报的虚警概率Pf如式(4)所示:

$ {E = \sum\limits_n {(y(} N){)^2}} $ (2)
$ {{P_d} = P(E > \lambda |{H_1}) = Q\left( {\frac{{\lambda - (\sigma _w^2 + \sigma _x^2)N}}{{\sqrt {2{{(\sigma _w^2 + \sigma _x^2)}^2}N} }}} \right)} $ (3)
$ {{p_f} = P(E > \lambda |{H_0}) = Q\left( {\frac{{\lambda - \sigma _w^2N}}{{\sqrt {2\sigma _w^4N} }}} \right)} $ (4)

其中, 检测统计量E阈值为λ, σw2为白噪声方差, σx2为信号平均功率。

高斯分布Q(x)的计算方法如下所示:

$ Q(x) = \frac{1}{{\sqrt {2\pi } }}\int_x^\infty {{\rm{exp}}} \left( {\frac{{ - {y^2}}}{2}} \right){\rm{d}}y $ (5)

通常设计能量检测器采用恒虚警准则, 由式(4)可知单阈值为:

$ \lambda = \sigma _w^2({Q^{ - 1}}({p_f})\sqrt {2N} + N) $ (6)

将式(6)代入式(3)得到检测概率表达式为:

$ {p_d} = Q\left( {\frac{1}{{\sqrt {1 + 2\gamma } }}\left( {{Q^{ - 1}}({P_f}) - \sqrt {\frac{N}{2}\gamma } } \right)} \right) $ (7)

其中, 信噪比γ表达式为:

$ \gamma = \frac{{\sigma _x^2}}{{\sigma _w^2}} $ (8)

综上可知, 在确定虚警概率且噪声方程已知情况下, 可以计算出单阈值, 并通过单阈值得到不同信噪比下的检测概率。

2.2 改进的双阈值能量检测算法

在真实信道中, 噪声的功率在一定区间内受时间和位置的影响会发生变化, 这种变化会改变能量检测的结果, 同时用户无法判断这种变化的产生是授权用户还是信道噪声导致的, 尤其是当噪声不确定性的变化范围增大时, 会导致检测概率的降低和虚警概率的升高, 对能量检测性能产生较大的影响[20]。为了提高频谱感知的检测结果, 降低真实信道下的噪声影响, 本文提出一种改进的双阈值能量检测算法。

在恒虚警准则下, 由Neyman Pearson定理可知[21]:

$ \frac{{P(x,{H_0})}}{{P(x,{H_1})}} > \lambda $ (9)

其中, P(x, H0)、P(x, H1)均为接收信号的概率密度函数。上式化简可得:

$ \frac{{\frac{1}{{{{(2\pi (\sigma _x^2 + \sigma _w^2))}^{N/2}}}}{\rm{exp}}\left( { - \frac{1}{{2(\sigma _x^2 + \sigma _w^2)}}\sum\limits_{n = 1}^N {y_i^2} (n)} \right)}}{{\frac{1}{{{{(2\pi (\sigma _w^2))}^{N/2}}}}{\rm{exp}}\left( { - \frac{1}{{2\sigma _w^2}}\sum\limits_{n = 1}^N {y_i^2} (n)} \right)}} > \lambda $ (10)
$ \begin{array}{l} \frac{{{{(2\pi (\sigma _w^2))}^{N/2}}}}{{{{(2n(\sigma _x^2 + \sigma _w^2))}^{N/2}}}}{\rm{exp}}\left( { - \frac{1}{{2(\sigma _x^2 + \sigma _w^2)}}\sum\limits_{n = 1}^N {y_i^2} (n) + } \right.\\ {\kern 1pt} \left. {\frac{1}{{2\sigma _w^2}}\sum\limits_{n = 1}^N {y_i^2} (n)} \right) > \lambda \end{array} $ (11)

对式(11)两边取自然对数可得:

$ \frac{1}{2}\left( {\frac{1}{{\sigma _w^2}} - \frac{1}{{\sigma _x^2 + \sigma _w^2}}} \right)\sum\limits_{n = 1}^N {y_i^2} (n) > {\rm{ln}}(\lambda ) + \frac{N}{2}{\rm{ln}}\left( {\frac{{\sigma _x^2 + \sigma _w^2}}{{\sigma _w^2}}} \right) $ (12)
$ \frac{1}{N}\sum\limits_{n = 1}^N {y_i^2} (n) > \frac{{\frac{2}{N}{\rm{ln}}(\lambda ) + {\rm{ln}}\left( {\frac{{\sigma _x^2 + \sigma _w^2}}{{\sigma _w^2}}} \right)}}{{\frac{1}{{\sigma _w^2}} - \frac{1}{{\sigma _x^2 + \sigma _w^2}}}} $ (13)

记式(13)为:

$ {T_i}(y) > {\lambda ^\prime } $ (14)

其中:

$ {\lambda ^\prime } = \frac{{\frac{2}{N}{\rm{ln}}(\lambda ) + {\rm{ln}}(1 + \gamma )}}{{\frac{\gamma }{{\sigma _w^2(1 + \gamma )}}}} $ (15)

由式(15)可得双阈值如下所示:

$ \begin{array}{*{20}{l}} {{\lambda _1} = m{\lambda ^\prime }}\\ {{\lambda _2} = n{\lambda ^\prime }} \end{array} $ (16)

其中, mn均为常数。

在传统的双阈值能量检测算法中, 如果检测统计量E>λ2, 得出授权用户占据频段的结论, 如果检测统计量E < λ1, 则说明频段是可用的。然而在实际应用中, 次用户接收到的信号能量值不可避免地会陷入2个阈值之间的混淆区域, 无法得到准确的决策结果(H0H1)。为了充分利用这部分传感信息, 在混淆区域增加一个细化阈值, 使判决结果细化并在最后进行融合判决。由于实际噪声功率服从均匀分布, 因此取混淆区域内的细化阈值为:

$ \lambda = ({\lambda _1} + {\lambda _2})/2 $ (17)

改进的双阈值算法流程如下所示:

1) 假设M个次用户对授权用户进行频谱感知, 检测统计量用Oi表示, 各节点的决策准则选用改进方法。将位于λ1λ2之外的决策信息用一位编码(0或1)表示, 位于λ1λ2之内的决策信息用二位编码(10或11)表示, 得到如下两类决策信息:

$ {{L_i} = \left\{ {\begin{array}{*{20}{l}} {0,{O_i} \le {\lambda _1}}\\ {1,{O_i} \ge {\lambda _2}} \end{array}} \right.} $ (18)
$ {L_i^\prime = \left\{ {\begin{array}{*{20}{l}} {10,{\lambda _1} < {O_i} < \lambda }\\ {11,\lambda \le {O_i} < {\lambda _2}} \end{array}} \right.} $ (19)

2) 所有次用户都通过专用的控制通道将其决策信息发送给融合判决中心, 融合判决中心从接收的2种类型信息(1位和2位信息)中提取相应的决策信息(1位信息), 具体如下所示:

$ {{T_i} = \left\{ \begin{array}{l} 0,{O_i} \le {\lambda _1}\\ 1,{O_i} \ge {\lambda _2} \end{array} \right.} $ (20)
$ T_i^\prime = \left\{ {\begin{array}{*{20}{l}} {0,{\lambda _1} < {O_i} < \lambda }\\ {1,\lambda \le {O_i} < {\lambda _2}} \end{array}} \right. $ (21)

3) 假设K个次用户中有M个用户决策信息为一位编码, 则有KM个用户决策信息为二位编码, 最终得到的融合判决结果如下所示:

$ {D_1} = \left\{ {\begin{array}{*{20}{l}} {0,}&{\sum\limits_{i = 1}^K {{T_i}} = 0}\\ {1,}&{\sum\limits_{i = 1}^K {{T_i}} \ge 1} \end{array}} \right. $ (22)
$ {D_2} = \left\{ {\begin{array}{*{20}{l}} {0,\sum\limits_{i = 1}^{M - K} {T_i^\prime } < 0.5 \times (K - M)}\\ {1,\;\:\sum\limits_{i = 1}^{M - K} {T_i^\prime } \ge 0.5 \times (K - M)} \end{array}} \right. $ (23)
$ D = \left\{ {\begin{array}{*{20}{l}} {0,{D_1} + {D_2} = 0}\\ {1,{D_1} + {D_2} \ge 1} \end{array}} \right. $ (24)

改进的双阈值能量检测算法的检测概率和误警概率分别如式(25)和式(26)所示:

$ \begin{array}{l} {Q_d} = P(D = 1,K \ne M|{H_1}) + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {P(D = 1,K = M|{H_1}) = }\\ {P({D_1} = 1,K \ne M|{H_1}) + P({D_1} = 1,K \ne M|{H_1}) + }\\ {P({D_1} = 1,K = M|{H_1}) = } \end{array}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \sum\limits_{K = 0}^{M - 1} {C_{M - 1}^K} \cdot \left[ {1 - \prod\limits_{i = 1}^K {(1 - {P_{d,i}})} } \right] + \sum\limits_{K = 0}^{M - 1} {C_{M - 1}^K} \cdot \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {\sum\limits_{i = {k_1}}^{M - K} {C_{M - K}^i} \cdot {{(P\{ \lambda \le {O_i} < {\lambda _2}|{H_1}\} )}^i} \cdot }\\ {{{(P\{ {\lambda _1} < {O_i} < \lambda |{H_1}\} )}^{M - K - i}} + }\\ {1 - \prod\limits_{i = 1}^K {(1 - {P_{d,i}})} } \end{array} \end{array} $ (25)
$ \begin{array}{l} {Q_f} = P(D = 1,K \ne M|{H_0}) + P(D = 1,K = M|{H_0}) = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {P({D_1} = 1,K \ne M|{H_0}) + }\\ {P({D_2} = 1,K \ne M|{H_0}) + }\\ {P({D_1} = 1,K = M|{H_0}) = } \end{array}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \sum\limits_{K = 0}^{M - 1} {C_{M - 1}^K} \left[ {1 - \prod\limits_{i = 1}^K {(1 - {P_{f,i}})} } \right] + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \sum\limits_{K = 0}^{M - 1} {C_{M - 1}^K} \sum\limits_{i = {k_1}}^{M - K} {C_{M - K}^i} {(P\{ \lambda \le {O_i} < {\lambda _2}|{H_0}\} )^i} \cdot \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {{{(P\{ {\lambda _1} < {O_i} < \lambda |{H_0}\} )}^{M - K - i}} + }\\ {1 - \prod\limits_{i = 1}^K {(1 - {P_{f,i}})} } \end{array} \end{array} $ (26)

将改进的双阈值能量检测算法的性能用平均误差概率Qe来表示, 计算方法如下所示:

$ \begin{array}{*{20}{l}} {{Q_e} = P({H_0}) \cdot P\{ D = 1|{H_0}\} + P({H_1}) \cdot P\{ D = 0|{H_1}\} = }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} P({H_0}) \cdot {Q_f} + P({H_1}) \cdot (1 - {Q_d})} \end{array} $ (27)
3 频谱感知实现及可用频段检测 3.1 通信系统收发端模型

使用搭建完成的软件无线电系统在真实信道下进行数据交互, 并在Simulink软件中对接收信号进行基于改进的双阈值能量检测算法的频谱感知检测。图 4图 5分别展示了发送端和接收端主机中Simulink框图。由图 5可知, 发送端中信号源经过QPSK调制后进入升余弦滤波器后缓存发送, 接收端中接收到的QPSK信号进入升余弦滤波器后进行矩阵拼接, 最后进入频谱感知模块。

Download:
图 4 发送端主机中Simulink框图 Fig. 4 Block diagram of Simulink in the sending host
Download:
图 5 接收端主机中Simulink框图 Fig. 5 Block diagram of Simulink in the receiving host
3.2 频谱感知实现

在接收端PC中对真实信道中传输的信号进行频谱检测, 在虚警概率为0.1, 采样频率为1 000 Hz, 采样个数为2 048条件下的仿真结果如图 6所示。由图 6可知, 中心频率为2.475 GHz, 频率感知范围为2.474 5 GHz~2.475 4 GHz, 通过改变SOUP收发模块配置可以实现不同频段频谱感知。当接收端的能量检测模块判决为1时, 如2.474 6 GHz~2.474 8 GHz频段表示授权用户正在使用该频段, 当接收端的能量检测模块判决为0时, 如2.474 8 GHz~2.475 0 GHz频段表示授权用户没有使用该频段, 此时次用户可以接入。由此可知, 该方法能够较好地检测授权用户在某一频段内的使用情况。认知用户将检测到的频谱空穴信息作为次用户接入依据。检测依据为:若频谱感知结果表示为授权用户正在使用该频段, 判断此频段不可用; 若频谱感知结果表示为授权用户没有使用该频段, 判断此频段为可用频段。

Download:
图 6 中心频率为2.475 GHz频谱感知结果 Fig. 6 Spectrum sensing results with a center frequency of 2.475 GHz
4 改进的双阈值能量检测算法性能分析

在真实信道环境下, 对能量检测算法、双阈值能量检测算法与本文提出的改进的双阈值能量检测算法进行蒙特卡罗仿真分析。在虚警概率为0.1, 信噪比(SNR)为-15 dB~0 dB, 且步长为0.5条件下的仿真结果如图 7所示。由图 7可以看出, 能量检测算法受噪声影响较大, 在低SNR下检测性能较差。在一定的范围内, 尤其在低SNR情况下, 本文算法的检测概率明显优于双阈值能量检测算法。

Download:
图 7 不同SNR下3种算法的检测概率 Fig. 7 Detection probability of three algorithms under different SNR

图 8为SNR为-15 dB, 虚警概率为0.00~0.50, 且步长为0.02下的检测概率值。由图 8可以看出, 在低SNR条件下, 3种算法的检测概率均随着虚警概率的增加而增加, 当虚警概率较小时, 本文算法的性能比传统算法高很多, 且随着虚警概率的增加, 它们之间的性能差距逐渐减小。在实际应用中, 虚警概率通常被限制在0.1左右, 因此本文算法相比传统算法具有更好的性能。

Download:
图 8 不同虚警概率下3种算法的检测概率 Fig. 8 Detection probability of three algorithms under different false alarm probabilities

图 9展示了不同SNR下3种算法平均误差概率值。由图 9可以看出, 本文算法的平均误差概率值低于传统算法, 低误码率意味着次用户偶然访问授权波段的机率更小, 对授权用户的干扰也更小。

Download:
图 9 不同SNR下3种算法的平均误差概率 Fig. 9 Average error probability of three algorithms under different SNR
5 结束语

本文搭建了一套通用软件无线电系统, 并提出一种改进的双阈值能量检测算法。该算法通过在混淆区域内增加一个细化阈值, 对判决结果细化并进行融合判决, 同时对授权用户的频谱使用情况进行检测。实验结果表明, 该算法能够稳定、高效地进行无线数据交互, 且能够较好地检测出频谱使用情况。由于该算法适用于覆盖范围较小的认知无线电网络, 而在复杂度高、用户接入数量多的异构认知网络中计算量较大。因此, 如何在用户数量日渐增长的无线网络环境中, 高效精确地感知空闲频段以及提高频谱资源利用率将是下一步的研究重点。

参考文献
[1]
MASONTA M T, MZYECE M, NTLATLAPA N. Spectrum decision in cognitive radio networks:a survey[J]. IEEE Communications Surveys & Tutorials, 2013, 15(3): 1088-1107.
[2]
PENG Zhen, ZHAO Zhijin, ZHENG Shilian. Cognitive radio spectrum assignment based on shuffled frog leaping algorithm[J]. Computer Engineering, 2010, 36(6): 210-212,217. (in Chinese)
彭振, 赵知劲, 郑仕链. 基于混合蛙跳算法的认知无线电频谱分配[J]. 计算机工程, 2010, 36(6): 210-212,217.
[3]
MASAHIRO S, TOMOHIRO N, SHOJI K. Collaborative spectrum sensing mechanism based on user incentive in cognitive radio networks[J]. Computer Communications, 2019, 147: 1-8.
[4]
LI Mingyuan, LI Ou, SUN Wujian. Double-threshold cooperative spectrum sensing algorithm based on noise uncertainty[J]. Computer Engineering, 2014, 40(4): 81-86. (in Chinese)
李明源, 李鸥, 孙武剑. 基于噪声不确定性的双门限协作频谱感知算法[J]. 计算机工程, 2014, 40(4): 81-86.
[5]
HAYKIN S. Cognitive radio:brain-empowered wireless communications[J]. IEEE Journal on Selected Areas in Communications, 2005, 23(2): 201-220.
[6]
THAKUR P, KUMAR A, PANDIT S, et al. Frameworks of non-orthogonal multiple access techniques in cognitive radio communication systems[J]. China Communications, 2019, 16(6): 129-149.
[7]
GANESAN G, LI Y. Cooperative spectrum sensing in cognitive radio, part I:two user networks[J]. IEEE Transactions on Wireless Communications, 2007, 6(6): 2204-2213.
[8]
GHASEMI A, SOUSA E S. Spectrum sensing in cognitive radio networks:requirements, challenges and design trade-offs[J]. IEEE Communications Magazine, 2008, 46(4): 32-39.
[9]
JIANG Xiaolin, ZHANG Guangzhou, CUI Jingyan. New type energy detection double threshold joint spectrum sensing algorithm[J]. Journal of Heilongjiang University of Science and Technology, 2018, 28(5): 587-591. (in Chinese)
江晓林, 张广洲, 崔景岩. 新型能量检测双门限联合频谱的感知算法[J]. 黑龙江科技大学学报, 2018, 28(5): 587-591.
[10]
YU Pan, LI Bin, ZHAO Chenglin. Asynchronous perception algorithm based on energy detection[J]. Journal on Communications, 2017, 38(3): 165-173. (in Chinese)
余盼, 李斌, 赵成林. 基于能量检测的异步感知算法[J]. 通信学报, 2017, 38(3): 165-173.
[11]
REN Mengmeng, HU Yanfei, ZHAI Xuping. Grouping weighted cooperative spectrum sensing based on improved energy detection under KG fading channel[J]. Mobile Communications, 2019, 43(2): 58-64. (in Chinese)
任梦梦, 胡燕妃, 翟旭平. KG衰落信道下基于改进能量检测的分组加权协作频谱感知[J]. 移动通信, 2019, 43(2): 58-64.
[12]
WANG Zhongsi, HUANG Hui, ZHOU Yamin. Analysis of key technologies of software radio[J]. Information & Communications, 2011(6): 57-58. (in Chinese)
王忠思, 黄辉, 周亚民. 软件无线电关键技术分析[J]. 信息通信, 2011(6): 57-58.
[13]
TAO Yuzhu, HU Jianwang, CUI Peizhang. An overview of software radio[J]. Communications Technology, 2011, 44(1): 37-39. (in Chinese)
陶玉柱, 胡建旺, 崔佩璋. 软件无线电技术综述[J]. 通信技术, 2011, 44(1): 37-39.
[14]
SALAHDINE F, KAABOUCH N M, GHAZI H.Techniques for dealing with uncertainty in cognitive radio networks[C]//Proceedings of the 7th Annual Computing and Communication Workshop and Conference.Washington D.C., USA: IEEE Press, 2017: 1-6.
[15]
HE Huang, YUAN Chaowei. Cooperative spectrum sensing over generalized fading channels based on energy detection[J]. China Communications, 2018, 15(5): 128-137.
[16]
YUCEK T, ARSLAN H. A survey of spectrum sensing algorithms for cognitive radio applications[J]. IEEE Com-munications Surveys & Tutorials, 2009, 11(1): 116-130.
[17]
QUAN Z, CUI S G, SAYED A H. Optimal linear cooperation for spectrum sensing in cognitive radio networks[J]. IEEE Journal of Selected Topics in Signal Processing, 2008, 2(1): 28-40.
[18]
HINGU V, SHAH S.Block-wise eigenvalue based spectrum sensing algorithm in cognitive radio network[C]//Proceedings of the 9th Asia Modelling Symposium.Washington D.C., USA: IEEE Press, 2015: 85-88.
[19]
DIGHAM F F, ALOUINI M S, SIMON M K. On the energy detection of unknown signals over fading channels[J]. IEEE Transactions on Communications, 2007, 55(1): 21-24.
[20]
LIU Ye. Research on cognitive radio spectrum sensing algorithm based on energy detection[J]. Internet of Things Technologies, 2019, 9(5): 15-17. (in Chinese)
刘乐. 基于能量检测的认知无线电频谱感知算法研究[J]. 物联网技术, 2019, 9(5): 15-17.
[21]
WU Jinbo, LUO Tao, YUE Guangxin.An energy detection algorithm based on double-threshold in cognitive radio systems[C]//Proceedings of the 1st International Conference on Information Science and Engineering.Washington D.C., USA: IEEE Press, 2009: 493-496.