基于GNU Radio和USRP的认知无线电平台研究

2013-11-08 来源:微波射频网 字号:

总结如下,受制于 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 轴为平均功率,单位为 dBm;X 轴为频率,单位为 MHz。因为 400M 和 2.4G 频段上的功率量值不同,所以起始功率不同。见图 4-5 和图 4-6


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

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

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

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

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

4.4 频谱能量记录与选择

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

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

4.5 本章小结

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

第五章 动态接入及传输方法

5.1 动态接入及传输方法概述

动态接入及传输是这样一个循环的过程:在频谱检测完成后,根据一定的规则经过决策,选定一种无线制式和载波频率重构之后进行一段时间的数据传输。因为认知无线电要占用授权频段,而授权用户的通信是需要优先保障的,所以认知无线电用户需要不断调整载波频率和对应的适合的无线制式,这是一个自适应动态的过程。

动态接入需要在物理层完成无线制式的选择,完成频率选择、无线接入、传输。
在逻辑链路层需要完成差错检测和接入控制使之能在无线网络中避免冲突,保证通信质量。
在网络层需要与操作系统完成网络设备注册。
传输层以上编程使用普通网络编程即可。

动态接入需要在 sensing 的基础上才能做决策判断接入频点,并且动态接入传输的过程需要多台认知无线电平台间遵守统一的时序,这样才能通信。本文采用的时序策略如图 5-2 所示。由于实验环境及实验器材的原因,选择最基本的双机通信,因为所处环境为室内,其授权用户对所有非授权用户的影响在数量级上说是相同的,所以设置一台机为频率检测及频率选择控制发起的认知中心节点,另外的所有认知用户为从节点,从节点无需进行频率检测,但需监听主节点的频率选择信令后才可发起通信。中心节点在信令时序内发送通信所使用的频率,并主动重构,从节点监听中心节点的信令,同时重构。这样保证认知无线通信能基本同步进入数据传输阶段。数据传输阶段通过计时控制,限时退出传输状态,重新循环。


5.2 动态接入及传输方法的物理层实现

5.2.1 信令

在信令时序内,认知无线电中心节点在选择好下一传输频率后,通过发送信令帧,通知从节点。信令帧属于物理层的帧 payload 部分,属于数据中的内嵌结构。信令开头是标识 controlsignal,从节点解帧的时候先计算 CRC 正确与否,正确的话对三个频率进行对比,以重复次数最多的频率为重构传输频率。信令帧传输两次,以保证从节点能够接收到正确的重构信令。

当然也有可能在信令时序内,从节点因为干扰而没有接收到信令,从而错失一次重构,这将导致中心节点已经重构到另一频率了,从而失去通信的可能,认知无线电网络将瘫痪。所以信令环节需要使用类似 tcp 的握手机制,实现一个简化的机制:当从节点收到信令帧时,如果选定了频率则回复一个 ACK 帧,当中心节点收到 ACK 帧后,不再发送信令,开始重构。如果中心节点没有收到 ACK 帧,则在等待两个发送周期后重新发送信令,直到收到 ACK 帧。此处仍有较大的开发深度可以挖掘。

5.2.2 无线制式物理层

与 4.3.1章节中所述一样,重构无线制式时需要重新初始化 USRP 接收和发送,并根据信号处理的过程搭建流图。

此处的初始化与 sensing 过程的初始化有个关键不同的地方即是此处需要初始化发送的状态。此处的 sink 使用默认设置,只需实例化一个即可。

初始化 USRP 后,我们需要建立两个流图——发送、接收的流图,两个流图以时分的方式工作,可以实现半双工的通信方式。发送流图实现的功能是将信息以一定的速率生成比特流通过 USRP 调制发送出去,而接收流图实现的功能是将受到的无线信号解调生成信息。

以下是发送流图:

注解:差分编码并非必须,但是经过差分编码在接收端较易实现解调,所以此处使用了差分编码。 调制器的输入是以 8bit 为单位的 byte 信息,信息,bytes2chunks 模块将 byte 信息转化为 k 维的向量。

以下是接收流图:

接收过程几乎就是发送过程的逆反。pre scaler 将信号映射到+-1 的范围内。AGCAutomatic Gain Control 自动增益控制,其作用是当弱信号输入时,线性放大电路工作,保证输出声信号的强度;当输入信号强度达到一定程度时,启动压缩放大线路,使输出幅度降低。RRC filter 根升余弦匹配滤波器将信号转化为符号,再通过 receiver 将符号的频率相位同步解除。经过解调后 slicer 将同步后的信息转到格雷码逆映射模块,最终转为 bit 信息流。bit 流经过接入码检验后,如果是接收信息则写入 message 以供上层使用。

信号检测流图

 

Probe是 GNU Radio 自带的幅值大小检测的模块,能方便的对当前收到的信号进行简单的能量估算,其提供载波监听的判断数据,当其监听的信道能量数值大于某一阈值时,返回 False,我们认为信道有人占用,可供退避。

数据流图实现了原理性的功能,我们并不需要重新将整个流程实现,只需理解了原理后引用响应的函数,并正确配置即可。以下即是我们在传输过程中使用到的函数.

 5.2.3 数据传输

数据传输采用最小高斯频移键控(GMSK)调制方式,GMSK 是一种典型的连续相位调制方式。其信号具有优良的功率谱特性(功率谱旁瓣快衰减特性),在对信号频带严格限制的各种数字通信领域中得到广泛的