基于 GNU Radio 和 USRP 的频谱检测方法
2022-09-27
1 频谱检测方法介绍

1.1 认知无线电频谱感知原理

目前,在认知无线电领域用于检测某频段内是否有信号存在、有哪些信号存在的方法有多种。以检测类型划分,可分为信号存在性检测和信号覆盖范围检测两类;以检测节点个数划分,可分为单节点检测和多节点联合检测;以检测方法划分,主要分为匹配滤波、能量检测、周期特性检测三类[23]。总结归纳各种方法如图所示:

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

信号存在检测,是指在经过对某特定频段内信号的进行观测之后,做出该频段上是否有信号存在的判断,这种探测原理的基本模型可以用下面的公式表示:

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

其中,x(t)是认知无线电接收到的信号,s(t)是第一用户传输的信号;n(t)是加性白高斯噪声;h 是信道的增益;Ho 是未被占用的假设,表明了目前在这一确定频段上没有第一用户;H1 是另一种假设,表明目前存在第一用户。

下面将对单节点检测的几种方法进行介绍、分析:

1)匹配滤波器探测

当认知无线电获悉了第一用户的信号后,静态高斯噪声理想探测器就是匹配滤波器,原因在于它能使接收到的信号的信噪比(SNR)最大化。匹配滤波器的主要优点是它只需很短的时间就可以获得高处理增益。然而,它必须有效地对第一用户的信号进行解调,这就意味着它需要第一用户的先验知识,比如解调方式和阶数、数据包格式等。

上述信息可以预存在认知无线电的内存中,然而,对解调来讲,认知无线电必须通过时间和载频同步甚至信道同步来获得第一用户的相关性。如果这些信息是不准确的,那么,匹配滤波器的性能就会变得很差。匹配滤波器探测的一个明显缺点在于,认知无线电对每一类型的第一用户都要有一个专门的接收器。

2)能量探测

如果接收机不能够收集到第一用户信号的足够的信息,此时的最佳探测器就是能量探测器。为了测量接收信号的能量,需要对带宽为 W 的带通滤波器的输出信号进行平方运算并在观测时间段 T 内进行积分,并将积分器的输出 Y 与门限值进行比较,从而判定合法用户是否出现。检测过程示意图如下所示:

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

能量探测器的门限很容易受到噪声功率的变化的影响。为了解决这个问题,已经有文献提出通过第一用户发射机的导频音(Pilot Tone)来提高认知无线电能量探测器的准确性。另外,即使能够适应性的设定门限值,带内干扰的出现也会扰乱能量探测器。能量探测器的另外一个缺点是它只能探测到有用信号出现,而不能够区分信号的类型,即它不能区分已调制信号 、噪声及干扰。因此,能量探测器容易被不明信号误导而产生误判决。

3)静态循环特征探测

调制信号一般都经过了载波、脉冲序列、重复性扩展、跳频及循环前缀等耦合处理,使已调信号具有了内在的周期性。虽然数据是静态随机的,但是这些调制后的信号的均值和自相关函数都具有周期性,因而称其具有循环性。通过分析频谱自相关函数可以探测出这些特征。频谱自相关函数的最主要的优点是它能够把噪声能量和已调信号的能量区分开来,这是因为噪声是一个宽带的、静态的、没有相关性的信号,而已调信号具有频谱相关性和周期性。静态循环特征探测器具有更强的抵抗噪声功率中不确定性的能力,因而能够比能量探测器更好地分辨出噪声信号。不过,它就比能量探测器更加复杂并且需要更长的观测时间。

4.1.2 感知任务


综合比较上述三种检测方法的优缺点,我们可以得到下面的对比:

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

在本认知无线电实验平台中,我们选择能量检测的方式做频谱感知。因为匹配滤波需要授权用户的信号模型,只能针对某种信号进行检测,而能量检测的方法对任意信号都适用。而且匹配滤波需要重构到某种调制解调方式,解码成型需要花费大量的计算时间。而周期特性检测复杂度太高,时间也较长,作为初步实验并不需要如此复杂的检测技术。

本次实验采用能量检测的方法。感知任务如下:

在选取子板所能接收的频率范围内,可以对任意的频段进行能量检测,比如针对RFX400 子板,它的接收范围是 400M-500MHz,可以在 400M-500M 内选定任意范围进行检测,对所检测频段使用情况,能在可控制的时间内记录到文件中,并可通过图形显示出来。

4.2 能量检测 FFT 方法

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用 FFT 变换的原因。另外,FFT 可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。得到了信号的频域变换后,就可以对其进行模值运算得出某频率值下的幅度特性。

一个模拟信号,经过 ADC 采样之后,就变成了数字信号。采样得到的数字信号,就可以做 FFT 变换了。N 个采样点,经过 FFT 之后,就可以得到 N 个点的 FFT 结果。为了方便进行 FFT 运算,通常 N 2 的整数次方。假设采样频率为 Fs,信号频率 F,采样点数为 N。那么 FFT 之后结果就是一个为 N 点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为 A,那么 FFT 的结果的每个点(除了第一个点直流分量之外)的模值就是 A N/2 倍。而第一个点就是直流分量,它的模值就是直流分量的 N 倍。而每个点的相位,就是在该频率下的信号的相位。第一个点表示直流分量(即 0Hz),而最后一个点 N 的再下一个点(实际上这个点是不存在的,这里是假设的第 N+1 个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率 Fs,这中间被N-1 个点平均分成 N 等份,每个点的频率依次增加。例如某点 n 所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn 所能分辨到频率为为 Fs/N,如果采样频率Fs 1024Hz,采样点数为 1024 点,则可以分辨到 1Hz1024Hz 的采样率采样 1024 点,刚好是 1 秒,也就是说,采样 1 秒时间的信号并做 FFT,则结果可以分析到 1Hz,如果采样 2 秒时间的信号并做 FFT,则结果可以分析到 0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。

假设 FFT 之后某点 n 用复数 a+bi 表示,那么这个复数的模就是
基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法
,相位就是 Pn=atan2(b,a)。根据以上的结果,就可以计算出 n 点(n1,且 n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn+Pn),即 2*An/N*cos(2*pi*Fn+Pn)。对于 n=1 点的信号,是直流分量,幅度即为 A1/N


由于 FFT 结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果,即可以是前向 FFT 也可以是后向 FFT,前向、后向各一半结果。

由此可知:假设采样频率为 Fs,采样点数为 N,做FFT 之后,某一点 nn 1 开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以 N/2 就是对应该频率下的信号的幅度(对于直流信号是除以 N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数 atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi pi。要精确到 xHz,则需要采样长度为 1/x 秒的信号,并做 FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的 0,使其长度达到需要的点数,再做 FFT,这在一定程度上能够提高频率分辨力。

4.3 能量检测实现

4.3.1GNU Radio USRP 初始化设置

需要搭建基于GNU RadioFFT频谱检测器,我们就需要正确的初始化配置USRP,建立流图,搭建起 FFT 运算的软件无线电结构。


初始化配置 USRP,需要使用 GNU Radio 中的 usrp.py 模块,这个模块包含输入输出初始化设置、ADC 采样速率、功率、增益、载频等。基本上所有关于配置 USRP 的子函数都需要重载 usrp.py 来配置。具体见下表:

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

usrp.py函数是所有 GNU Radio 控制 USRP 的程序都要用到的初始化函数,它们控制 usb 接口、fpga 程序、ADCDAC、子板,跟硬件打交道的程序都可以从这个函数的子函数找到控制方法。

source_x() sink_x()则是 usrp.py 中最基本的子函数,它们是流图的开始或者结束,由它们我们可以初始化 USRP 为接受器或者发射器,而且一个 USRP 通过时分复用可以复用为双工收发器。

按照表的函数应用举例,我们设置 USRP 为接收状态,nchan=2 这样我们可以同时获得两个子板的信息,同时对 400M 2.4G 频段进行扫频。其余设置均为默认状态,由此可得知:

adc_rate= 64 MS/s
usrp_decim= 64
usrp_rate= adc_rate / usrp_decim = 1 MS/s

4.3.2 FFT 能量检测流图

由上一小节 FFT 的原理,我们可以得出 FFT 计算结果的意义,可对其进一步处理达到我们的需求。GNU Radio 自带库有 FFT 模块,在设置好 USRP 并正确的建立流图,然后将得到的结果通过计算途径处理,最终得到我们需要的功能——大范围的能量检测。

因为 USRP 带宽的限制,一个时间内前端只能检测到 8MHz 的射频信号如果要检测大于 8MHz 带宽的信号我们需要通过不断的 RF 前端步进调频以达到检测大范围频谱的目的,虽然检测到的频谱并不是实时的。USRP(或者程序)每个时刻对一段范围的频率进行检测,然后步进调频到下一段频率,这样就能扫频扫过大段的频率。

要是频率调频已经完成步进调频,我们需要在每一个步进时刻结束时——即已获得这段频率的数值时,发送一个调频指令到 USRP。调频控制由 gr.bin_statistics_f sink 程序实现,bin_statistics 在以下的函数解释中有详细解释。

当我们命令 USRP RF 子板改变中心频率时,我们必须等待 ADC 的采样到达 FFT处理器并判断完是否属于需要的中心频率。在这个过程中需要经过很多重的延时比如从FPGAUSB,计算延时。这样我们必须在调节到下一步进频率时进行延时,以保证上一步进频率的采样能正确的被 FFT 处理器处理。

程序主要驱动部分由 bin_statistics sink 函数组成。整个流程如图 4-3

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

bin_statistics主要控制 USRP 的调频控制,并根据步进频率带宽的大小决定延时时间即 FFT 处理器忽略掉 N 个向量(向量长度由计算决定)这里也可以详细解释,当进行完 FFT 处理后,bin_statistics 将处理后的信息组合成 message,并将此 message 插入message queuemessage 的每个内容由 FFT 后的每个最大频率的向量组成。

每一步进的延时需要计算得出,延时包括调频延时和计算延时,其中调频延时是最主要的延时。

调频延时由 RF 前端的 PLL 到主板的时间再加上管道中排队的时间,我们所用的RFX 系列延时差不多是 1ms

调频延时转化为 FFT 计算时忽略的向量个数的计算公式是

tune_delay_passed_to_bin_statistics=
int(round(required_tune_delay_in_sec*usrp_rate/fft_size))

其中:

required_tune_delay_in_sec= 10e-3 usrp_rate = 1M (decimation =64)
fft_size= 256
可得出tune_delay_passed_to_bin_stats = 4 (FFT Frames)

这表示,我们延时 1ms 我们将跳过 4 个输入的 FFT 向量个数,来获得真实的向量数据。延时时间还包括计算延时,我们需要收集处理 N FFT 采样,如果 DR=8 那将用时 128us,还应该加上计算机处理这 N 个采样的时间,这个需要根据实际计算机的处理能力通过实验测得。

本实验平台设置步进频率为 3MHz,设置 3M 是为了能尽可能精确的对小范围的频率进行能量测算,而我们通信时占用的频宽也大概是 2M 多,加上半衰保护,差不多即是 3M。而且步进频率 3M 可节省每一步进的运算时间,是个均衡的选择。这样 USRP及相关程序的初始化就完成了。

以下是完成 FFT 运算的流图,其搭建一个完整的软件无线电结构,数据最终写入message。流图如下图:

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法




基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

4.3.3 实现结果

总结如下,受制于 USB 总线的约束,USRP 不能检测超过 8MHz 的带宽(USRP USB2.0 最大数据传输速率为 32M Bytes/S,每个实采样点占用 2 Bytes,以一路复数采样进行单收或单发,则最高可达到 32/4=8M 复采样每秒,即最高发送或接收 8MHz带宽的信号)。因此,要对一段 RF 频段进行检测,必须以合适地步进值调节 RF 前端,这样就能检查很宽的频谱。在此设计过程中,为更好地表示指定频段内的频谱感知情况,通过设置 GNU Radio 的相关函数,我们选取 3MHz 这样的扫频间距。

频段扫描过程如下:
1 设置所要感知频段的最小、最大频率以及扫描次数 M

2 对所选频谱范围进行间隔化,每一间隔值为 3MHz

3 在第一个 3MHz 频段范围内对信号进行 AD 采样,得到 N 个点(本次设计 N 256);

4 进行 N FFT,对得到的 N 个复数分别进行平方和运算,得出模值 ,再累加,求得平均值作为此 3MHz 间隔的模值,并由此求得功率大小,记录到文件中;

(5 移频到下一个 3MHz 间隔,重复上面的步骤,直到扫描完频段内所有的每一个间隔;

我们对特定频段做多几次扫频,获得平均功率数据,使用 gnuplot 将数据画图。其中 Y 轴为平均功率,单位为 dBmX 轴为频率,单位为 MHz。因为 400M 2.4G 频段上的功率量值不同,所以起始功率不同。见图 4-5 和图 4-6

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法


基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

从上两图中的检测结果可以非常直观的得到以下结论:

12.4G 非授权频段非常拥挤,这段频率已经被大量的 wifi 设备使用殆尽,而且还有大量“不速之客”加进来干扰,比如蓝牙和微波炉开启产生的污染(图中 2430MHz处即是微波炉开启产生的信号辐射)。

2)在 400M 授权频段上,除了某些频率一直有信号在占用,大部分频段大部分时间都是空闲的。这些授权频段无论从时间上还是从功率上分析,都非常适合认知无线电非授权用户的使用。

由美国频谱规划文件中如图 4-7 可知,400M-480M 范围内,国际通行的规划大部分都是划给移动通信,而在我国,大部分频段在民用范围内大部分时间都是静默的,只是450M 小灵通通信占用了一点,如上图可清晰的发现 450M 处被占用情况。

所以我们选择 400M 频段作为认知无线电动态接入的频段,可减少对授权用户的干扰,从时间和频谱空间这两个角度来说也比较容易找到空闲频段。
基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

4.4 频谱能量记录与选择

获得了设置好的每一步进频段内的平均能量,并将其根据频段的中心频率排序存入链表,选定做 N 次扫频,求 N 次扫频后每个频段的数学平均。这个 N 值取的次数需要根据 sensing 的时间和传输时间大小的比值,以及动态接入的策略来确定的。这里我们取 N=3,既可以过滤掉较大的随机误差,又可以节省 sensing 的时间。这样我们就获得了每个步进频率的多次扫频的平均功率,即可确定我们要接入的频率和功率最小最大频率。


当我们获得了最小值与当前使用频率的能量值,我们对其做比较,如无大差距,返回标志及数据,为接下来的动态接入提供策略支撑是使用原频率,还是使用新的最小频率。

基于 <wbr>GNU <wbr>Radio <wbr>和 <wbr>USRP <wbr>的频谱检测方法

4.5 本章小结

本章介绍了频谱检测的方法和原理,设计了使用 GNU Radio USRP 实现的 FFT能量检测方法实现大范围的频谱检测,并能将频谱记录和选择接入频率的策略。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • RF
  • 射频
  • 通信
  • 无线
  • 图说三极管,太全了!

    提示:点击上方↑微波与电磁兼容   快速关注本号 加《微信交流群》请点击这里>>> 加《实名通讯录》请点击这里>>> "晶体三极管,是半导体基本元器件之一,具有电流放大作用,是电子电路的核心元件" 在电子元件家族中,三极管属于半导体主动元件中的分立元件。

    昨天
  • 从这8个方面选择RF和微波滤波器

    如果没有考虑滤波器类型和最低技术规格要求方面的基本要素,可能导致产品不能通过“测试”,结果产品又得重新开始设计,导致代价昂贵的生产推迟。另一方面,懂得如何准确确定滤波器参数,将有助于使生产出的产品满足客户的生产标准和功能。事实上,这种知识有助于在提高产品在市场上的成功机会的同时,控制生产费用。 从基础开始 在当今无线领域,激烈的扩展带宽的竞争迫使人们要更加关注滤波器的性能。如果对滤波器参数确定不准...

    昨天
  • 设计一个自适应RF前馈放大器

    1.引言 现代无线通信的迅猛发展日益朝着增大信息容量,提高信道的频谱利用率以及提高线性度的方向发展。一方面,人们广泛采用工作于甲乙类状态的大功率微波晶体管来提高传输功率和利用效率;另一方面,无源器件及有源器件的引入,多载波配置技术的采用等,都将导致输出信号的互调失真。因此,在设计射频功率放大器时,必须对其进行线性化处理,以便使输出信号获得较好的线性度。一般常用的线性化技术包括:功率回退、预失真、前...

    昨天
  • 关于WiFi的十个常见误解

      WiFi日益成为全球互联网连接的首选模式。根据博客网站Gigaom发布的信息, 到2020年,将会有240亿台设备连接到互联网上。而绝大多数设备将会使用无线的方式访问互联网。尽管越来越多的人知道WiFi,但是其实际上是如何工作的却并不为多数人所知。即使在IT专家圈中,关于WiFi网络的某些事实也往往被误解。下面就列举业界关于WiFi的十大常见误解。    1.共享媒介   无线电信号在每一个接...

    昨天
  • 数字调制系统中进行的高精确度非线性测量

      随着日益增加的智能手机和无线互联网3G覆盖范围以及4G系统即将引入带来的持续压力,数字通信射频组件的设计活动越来越丰富。设计活动的前沿在于功率放大器(PA)的开发。PA设计工程师面对的首要问题是功率所增加的效率(PAE)。高PAE意味着:  • 移动设备的电池寿命增加  • 基站天线覆盖面最大化,网络提供商的电费降低  • 能够以更高的价格出售性能更高的器件,最终实现每晶圆片更高的收益回报  ...

    昨天
  • 无线通信基站系统T1电路测量方案

        MT8212B是无线通信基站系统安装和维护的低成本测试解决方案,在小巧轻便的仪表中集成了以下测试功能:电缆与天馈线分析仪(25MHz~4GHz);频谱分析仪(100kHz~ 3GHz);功率计(4.5MHz ~ 3GHz);内置GPS接收机,提供位置和时间信息。    在基站现场安装和维护工作中,MT8212B免除了工程师携带并学习多台笨重仪表的麻烦。一台轻便的手持式仪表就包含以下所有测试...

    昨天
  • TD-SCDMA系统基于网元仿真的OMC功能测试

    0、引言随着TD-SCDMA技术的不断进步和完善,备受关注的TD-SCDMA外场测试也已经全面展开,现已顺利通过了空载测试、测试,即将进入第3阶段的测试。与此同时,设备提供商纷纷加快了通信网络管理软件的研发和测试的步伐,作为管理TD网络无线接入部分(RNC和Node B)的核心软件操作——维护中心(openation maintenance center,OMC)系统也在紧张有序的测试之中。由于在...

    昨天
  • 设计与构建完美的开关测试系统

      测试中常常会遇到这样的情况:系统中的开关非常完美,没有信号损失或泄漏;所有的信号以点到点的方式进行传输,没有信号衰减。但是,系统的功能却不正常。这是为什么呢?本文将剖析在测试系统中配置开关时常见的一些错误,并介绍几种有助于避免这些开关错误的正确设计技术。  常见错误的来源  设计者在配置开关测试系统时会出现一些常见的错误,其中大多数错误很容易发现并纠正。下面所介绍的是一些相对容易发现的问题。 ...

    昨天
  • 快速进行RF传输路径测试

      麻萨诸塞州Lowell是美国东北部一个小城,曾以制造纺织品而闻名。现在,它是Tyco Electronics公司的总部所在地。该公司是一家国防和航天RF元件和子系统制造商。现在,Tyco Electronics M/A-COM已不再是Tyco International的子公司,它以Adams-Russell、Phoenix Microwave和Anzac等品牌生产自己的产品,这些品牌都来自于...

    昨天
  • 软件无线电在射频检测仪器和射频检测方法上的应用

      软件无线电技术因为其灵活性被广泛用于无线通信产品和射频检测仪器。本文介绍了软件无线电在射频检测仪器和射频检测方法上的应用。按照软件无线电原理,将无线产品看作射频前端+基带电路+辅助电路的模块构架,就可以用射频参数检测替代昂贵的通信功能检测,从而提高生产者的市场竞争力。         软件无线电在手机和测量仪器中的应用  在无线通信领域,手机及其检测设备不约而同地采用了软件定义无线电的技术。软...

    昨天
  • 无线通信设备通用测试方法

    随着我国无线通信的迅速发展,对无线通信设备的技术要求越来越高,如何确定其性能指标成为设备生厂商与网络运营商以及通信测试机构所共同关注的问题。本文介绍了用于无线通信设备的通用测试方法。这测试方法适用于包络边续的频率调制或相位调制系统,频率范围:25MHz到1000MHz,信道间隔12.5KHz,20KH及25KHz。测试设备与测试条件1、功率测试接收机:用于测试相邻信道的发射机功率。它包括振荡器、中...

    前天
下载排行榜
更多
广告