基于步进频域能量检测的宽带频谱感知方法研究
2016-11-23董淑雅伍小芹
董淑雅,伍小芹,白 勇
(海南大学 信息科学技术学院,海南 海口 570228)
基于步进频域能量检测的宽带频谱感知方法研究
董淑雅,伍小芹,白 勇
(海南大学 信息科学技术学院,海南 海口 570228)
为提高软件无线电频谱感知性能,研究并改进了GNU Radio开源软件无线电平台上基于步进频域能量检测的宽带频谱感知方法.具体分析并仿真了GNU Radio步进频域能量检测方法流程,得到了其宽带频谱检测性能.结合仿真结果讨论了影响分步能量检测判决门限的相关因素,得出确定分步判决门限的方法,从而可指导使用GNU Radio进行频域能量检测的参数设置,达到更精确的频谱检测效果.为兼顾频谱感知的频带带宽分辨率和检测速度,提出了变步进值的两阶段步进频域能量检测方法来改进GNU Radio原有的单步进值的步进频域能量检测方法.
软件无线电; 频谱感知; 能量检测; GNU Radio
随着无线通信技术应用与服务的快速发展,频谱资源面临着巨大需求,频谱稀缺问题变得越来越严重.目前全球频谱管理主要采用静态分配,导致频谱资源[1]的使用率偏低.解决频谱使用率偏低和频谱稀缺问题的一个有效途径是利用频谱检测技术来感知频谱空闲频段并进行动态频谱接入.
目前频谱感知的方法主要包括发射源检测、干扰检测和协作检测[2].能量检测算法是由Urkowitz[3]提出的一种比较简单的信号发射源检测算法,其优点不需要任何先验信息,且计算成本较低.
GNU Radio是由Eric Blossom发起的软件无线电项目,是一个开源的软件无线电工具开发包,提供了大量的信息处理模块库,可建立软件无线电的信号处理流程,实现软件无线电的功能.所配套的硬件部分USRP (Universal Software Radio Peripheral)通用软件无线电外设,充当系统的射频前端,可完成射频到中频的转换,包含了A/D和D/A转换器以及FPGA,可用于中频以上采样以及中频到基带信号的互相转换.GNU Radio的软件在Linux操作系统的PC上运行,可处理基带信号,采用Python和C++的混合编程方式.C++用于编写各种信号处理模块,Python用来编写连接各个模块的信号处理流程的脚本.GNU Radio工具包自带有实例程序实现了频谱感知功能,已经形成理论研究与实际应用并重发展的良好态势[4].文献[5]介绍了利用GNU Radio和USRP在建立实验平台中的应用.文献[6]主要研究宽带能量检测性能及噪声不确定度约束下的观测时长分析.文献[7]指出降低总的错判概率是提高检测性能的首要手段.文献[8]综合考虑了检测概率和虚警概率,给出了基于最小错判概率判决的宽带能量检测模型,并通过推导得到了最小错判概率门限.但文献[9]没有考虑虚警概率、检测概率等约束条件对检测的影响,采用最小错判概率门限进行检测时,虽然满足了最小错判概率,却可能无法同时达到虚警概率和检测概率的指标要求,这时就需要增加抽样点数(即时域观测时长)来进行弥补.此外,文献[10]中假定高斯白噪声的方差为一个定值,然而在实际应用中此前提往往是无法满足的[11].在现有的研究工作中尚未有对GNU Radio宽带频谱感知方法的详细分析与性能研究.
为了提高GNU Radio在实际应用中的频谱检测性能,笔者研究了GNU Radio宽带频谱感知所采用的多次步进频域能量检测方法,分析了其感知流程中所涉及各模块的功能及实现过程,利用Matlab仿真了GNU Radio步进频域能量检测的宽带频谱感知流程,得到了GNU Radio频域能量检测性能,结合仿真结果讨论了影响能量检测判决门限的相关因素,研究了判决门限与检测性能(检测概率和虚警概率)以及相关影响因素(如加窗、SNR)之间的关系,并且得出判决门限值的确定方法.本文的研究结果可用于指导使用GNU Radio设备进行频域感知的参数设置,以达到更精确的频谱检测效果.此外,为了兼顾频谱感知的频带带宽分辨率和检测速度,还提出了变步进值的2阶段步进频域能量检测方法来改进GNU Radio原有的单步进值的步进频域能量检测方法.
1 基于步进频域能量检测的宽带频谱感知方法及改进
GNU Radio工具包中自带有Python语言usrp_spectrum_sense.py频谱检测示例程序.通过分析该程序,GNU Radio的宽带频谱检测是通过多步频域能量检测实现,流程如图1所示.
首先,通过USRP采样得到基带复信号,将采样信号转化为向量,对其加Blackman-Harris窗(加窗的主要作用是减少旁瓣、减弱频谱泄露),然后进行FFT运算,对所得的结果求模平方,并得到取对数的能量值,最后相比于设定的判决门限,若能量高于门限值,则判断主用户存在,否则不存在.
下面分析各模块功能与具体实现步骤.在usrp_spectrum_sense.py示例程序中,self.connect(self.u,s2v,fft,c2mag,log,stats)通过USRP得到的数据,并把self.u, s2v,fft,c2mag,log和stats模块连接在一起实现数据的采集和分析处理.其中,s2v模块通过函数gr.stream_to_vector将采样信号转为向量形式;mywindow模块通过函数window.Blackman-Harris实现加窗功能;fft模块通过函数gr.fft_vcc实现FFT变换,将信号变换到频域;c2mag模块通过函数gr.complex_to_mag_squared实现复数转为均方表示的功能;log模块通过函数gr.nlog10_ff对数据进行对数运算处理;stats模块通过函数gr.bin_statistics_f得到相关的统计数据.
如果USRP的A/D采样速率(adc_rate)设置为64 M/s,硬件设备默认设置抽取率(decim)为16,则USRP最大检测带宽为adc_rate/decim = 4 MHz.当系统工作在一个较宽的频段时,不可能一次性对全频段做频谱检测.因此,采取多次步进检测,并对步进检测结果综合统计从而实现大范围宽带频谱感知.GNU Radio通过多次步进方法实现宽带频域检测流程,如图2所示(不含虚线框).具体检测步骤:设备提前设置所需的频谱检测频段范围和步进值,通过命令改变USRP的RF子板中心频率;USRP每个时刻对一段固定步长范围的频谱进行检测,检测的结果与设备的阈值比较,判断此频段是否被占用;然后步进调频到下一段频率,并继续检测该段频谱,直到超出设置的检测范围时感知结束.
在步进方法中,步进值的大小会对检测的频带带宽分辨率和检测时间产生影响.步进值越小(如100 KHz,200 KHz),检测的频带带宽分辨率越高,但检测过程耗时越长,检测复杂度增加.较大的步进值检测速度较快,但检测的频带分辨率降低.当信道频谱占用带宽未知、占用位置未知的情况下,原有的GNU Radio步进宽带频域能量检测方法采取固定的步进值,就难以兼顾频带带宽分辨率和检测速度.为了兼顾宽带频谱检测时的频带带宽分辨率和检测速度,提出了变步进值的2阶段宽带频域能量检测方法来改进GNU Radio原有的单步进值的步进频域能量检测方法.
本文所提出的步进宽带频域能量检测的改进方法用虚线框添加在图2的流程图中.首先设置检测范围、较大的步进值和第一个检测频段,较大的步进值可选取2 MHz.首先进行单步能量检测,如果能量值小于门限,可初步判断此步进频段空闲;如果能量值大于门限,表明该步进频带被占用.对于占用频带,采用较少的步进值(如200 KHz)在此段频谱内再进行多次单步检测,直到精确检测到被占用的频带范围.
2 仿真分析
利用Matlab仿真了图2步进宽带频域能量检测的整个流程和实现步骤.仿真中首先对一个带宽为2 MHz的sinc基带信号进行BPSK调制,信号周期设置为0.5 μs,然后将此基带信号调制到6 MHz和16 MHz.调制后的信号所占频谱为5 MHz~7 MHz,15 MHz~17 MHz,总频谱检测范围为20 MHz,采样频率设置为40 MHz,将已调信号加上高斯白噪声来模拟USRP的接收信号.仿真中,不同SNR时,保持噪声功率不变,改变信号功率.Matlab仿真中采用带通滤波器实现步进频域能量检测,带通滤波器通带频率为200 KHz,并采用长度为500的Hamming窗,采样数据量N=100.通过多次改变带通滤波器的中心频率,实现宽带频域能量检测,步进的长度设置为200 KHz,需要得到每个200 KHz带宽的能量检测判决门限值.
图3给出了SNR分别为5 dB和10 dB,判决门限λ(对数值)与检测概率Pd之间的关系.加有Blackman-Harris窗时,为达到一定的检测概率Pd(如Pd≥0.9),随着SNR从5 dB逐渐增大到10 dB,所需要的判决门限值λ从57.5增加到65.1;在不加窗时,所需要的判决门限值λ从62.4增加到68.9.由以上仿真结果可知,加窗所需的判决门限值与对应相同SNR值不加窗所需的判决门限值之差为5.
图4给出了SNR分别为5 dB和10 dB,判决门限λ(对数值)与虚警概率Pf之间的关系.为达到一定的虚警概率Pf(如Pf≤0.1),在加Blackman-Harris窗时,所需的判决门限值λ最小值为42;在不加窗时,所需要的判决门限值λ最小为46.8.由以上仿真结果可知,加窗所需的判决门限值与不加窗所需的判决门限值之差为5.
由图3和图4仿真结果可以得出,每步的能量检测中判决门限λ影响检测概率Pd和虚警概率Pf的变化,随着SNR的逐渐增大,所需要的判决门限值逐渐增大.另外,是否加窗对判决门限值的选取有一定影响.SNR相同的情况下,为了达到一定的检测概率和虚警概率,加窗所需的判决门限比不加窗所需的判决门限小.由于加窗可减少旁瓣和减弱频谱泄露,因此加窗后的频谱能量更集中,相应的判决门限值比较小,仿真结果与理论相符.
在每次步进200 KHz的能量检测中,门限值可根据图3和图4的仿真结果设定.当SNR=5 dB且加Blackman-Harris窗时,如果要求检测概率Pd≥0.9,判决门限需满足﹤57.5;如果同时要求虚警概率Pf≤0.1,判决门限λ需满足﹥42.因此,选取42~57.5中的任一值作为此时的判决门限值均可满足要求.当SNR=10 dB且加Blackman-Harris窗时,如果要求检测概率Pd≥0.9,判决门限需满足﹤65.2;如果同时要求虚警概率Pf≤0.1,判决门限λ需满足﹥42.因此,选取42~65.2中的任一值作为此时的判决门限值均可满足要求.
检测整个20 MHz的频谱范围,需要100步,每步200 KHz的频谱检测.图5显示SNR=5 dB加Blackman-Harris窗情况下,步进100次,每次检测200 KHz的整个20 MHz频谱检测能量图.选取能量值48做为检测门限.
由图5仿真结果可直观看出:能量值连续大于选定的判决门限值48的分别为:从第25个200 KHz开始到第35个200 KHz结束、从第75个200 KHz开始到第85个200 KHz结束.因此可以得出,此20 MHz带宽信道上5 MHz~7 MHz、15 MHz~17 MHz 2处频段被占用,除此2处频段外均为空闲频段.
最后,评估不同检测时间时的检测性能.每次200 KHz的窄带能量检测,设置N=200,代替之前的N=100.
图6给出了N=200时,在SNR分别为5 dB和10 dB,判决门限λ(对数值)与检测概率Pd之间的关系.加Blackman-Harris窗时,为达到一定的检测概率Pd(如Pd≥0.9时),随着SNR从5 dB逐渐增大到10 dB,所需要的判决门限值λ从64增加到68.5;在不加Blackman-Harris窗时,所需要的判决门限值λ从68.4增加到73.8.与图3相比,满足同样的Pd≥0.9,N=200所需的判决门限值增大.
图7给出了N=200时,在SNR分别为5 dB和10 dB,判决门限λ(对数值)与虚警概率Pf之间的关系.为达到一定的虚警概率Pf(如Pf≤0.1时),随着加Blackman-Harris窗的条件变成不加Blackman-Harris窗时,所需要的判决门限值λ从47.6增加到52.6,与图4相比,满足同样的Pf≤0.1,N=200所需的判决门限值增大.
如果采用多频带能量检测方法,将20 MHz宽带分成10个频带,每个频带2 MHz,即只能检测0~2 MHz,2 MHz~4 MHz,…….,18 MHz~20 MHz 10个频带的占用情况.对于本论文仿真中出现5 MHz~7 MHz,15 MHz~17 MHz频带被占用的情况,检测结果就会出现较大误差,即认为4 MHz~8 MHz,14 MHz~18 MHz频带均被占用.而采用200 KHz的步进值的步进宽带频域能量检测方法检测精度高,但检测时间较长.本文所提出的变步进值的检测方法(采用较大的步进值2 MHz和较小的步进值200 KHz)可以保持高的频带带宽检测精度,并且检测时间比GNU Radio现有的步进检测方法较短.
3 小 结
通过分析并利用Matlab仿真GNU Radio频谱检测流程各模块,得出了其检测性能和影响其判决门限的相关因素.根据实际中对检测概率和虚警概率的要求,可选定单步窄带能量检测的判决门限值.仿真分析表明,判决门限影响检测性能,包括检测概率和虚警概率.随着SNR逐渐增大,所需要的判决门限值逐渐减小;SNR相同情况下,为达到一定的检测概率和虚警概率,加Blackman-Harris窗所需的判决门限比不加Blackman-Harris窗所需的判决门限小.当信道频谱占用带宽未知、占用位置未知的情况下,合适的步进值不易选取.本文所提出的变步进值的步进能量检测方法结合较大的步进值和较小的步进值进行2阶段的频带占用情况检测,可以获得高的频带带宽检测分辨率,并且可以缩短检测时间.
[1] 王慧贤, 吕廷杰, 谢飞波等. 无线电频谱价值影响因素分析[J]. 北京邮电大学学报:社会科学版, 2012, 14(5):66-71.
[2] Akyildiz I F, Lee W Y, Yuran M C. Next generation/dynamic spectrum access/cognitive radio wireless networks: A survey [J]. Computer Network, 2006, 50(13):2 127-2 159.
[3] 李映雪. 认知无线电中频谱感知技术研究[D].北京:北京邮电大学, 2013.
[4] Tucker D C, Tagliarini G A. Prototyping with GNU radio and the USRP-where to begin: proceedings of the IEEE Southeastcon 2009,Atlanta, March 5-8, 2009[C]. [S.l.]: IEEE, 2009.
[5] 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, 5(1):21-24.
[6] Liu Y, Zeng C, Wang H, Wei G. Energy detection threshold optimization for cooperative spectrum sensing: proceedings of the Advanced Computer Control(ICACC) 2010, Shenyang, March 27-29,2010[C]. [S.l.]: IEEE, 2010.
[7] 刘子扬, 彭涛, 郭海波等. 干扰系统先验信息未知的宽带能量检测[J]. 北京邮电大学学报. 2012, 35(5):31-35.
[8] Kozal A S B, Merabti M, Bouhafs F. An improved energy detection scheme for cognitive radio networks in low SNR region: proceedings of the IEEE Symposium on Computers and Communications (ISCC) 2012, Cappadocia, July 1-4, 2012[C]. [S.l.]: IEEE, 2012.
[9] Atapattu S, Tellambura C, Jiang H. Energy detection based cooperative spectrum sensing in cognitive radio networks [J]. IEEE Transactions on Wireless Communications, 2011, 10(4):1 232-1 241.
[10] 刘鑫, 谭学治, 徐贵森. 噪声不确定下认知无线电能量检测性能的分析[J]. 四川大学学报(工程科学版),2011,43(6):168-172.
[11] Quan Z, Cui S, Sayed A H, and Poor H V. Optimal multiband joint detection for spectrum sensing in cognitive radio networks[J]. IEEE Trans. Signal Process, 2009, 57(3):1 128-1 140.
Wideband Spectrum Sensing Method Based on Step by Step Frequency Domain Energy Detection
Dong Shuya, Wu Xiaoqin, Bai Yong
(College of Information Science and Technology, Hainan University, Haikou 570228, China)
In our report, to improve the detection performance of software radio, on the open source software radio platform GNU Radio, the wideband spectrum sensing method based on step by step frequency domain energy detection was investigated and modified. The multi step frequency domain energy detection procedure of GNU Radio for spectrum sensing was analyzed and simulated, and the spectrum detection performance was obtained. Based on the simulation results, the factors influencing the decision threshold of per step energy detection were discussed, and the method to determine the decision threshold in per step was proposed for setting the parameters of GNU Radio with more precise spectrum sensing performance. To balance the bandwidth resolution and the detection speed of spectrum sensing, the two stage spectrum sensing method with varying advancing step value in the step by step frequency domain energy detection was proposed to improve the single advancing value method in the original frequency domain energy detection of GNU Radio.
Software Defined Radio; spectrum sensing; energy detection; GNU Radio
2016-02-26
国家自然科学基金(61561017);国家自然科学基金(61261024)
董淑雅(1991-),女,江苏连云港人,海南大学2013级硕士研究生,研究方向:海洋通信,E-mail: dongshuya2016@163.com
白勇(1970-),男,河南商丘人,博士生导师,教授,研究方向:无线通信,E-mail: bai@hainu.edu.cn
1004-1729(2016)03-0215-06
TN 949.6
A DOl:10.15886/j.cnki.hdxbzkb.2016.0033