电磁频谱感知教学实验系统的设计与实现
2011-08-09宋铁成沈连丰
余 婷,顾 浩,胡 静,宋铁成,沈连丰
(东南大学信息科学与工程学院,江苏南京 2100096)
0 引言
由于通信行业的迅速发展,频谱资源紧张的问题日益严重,如何提高频谱利用率成为人们非常关注的技术问题。J.Mitola博士提出的认知无线电CR(Cognitive Radio)作为一种新型的频谱共享技术,通过智能感知并机会式利用授权频段中的频谱空穴(即已分配给授权用户但未被其占用的空闲频谱),实现了不可再生频谱资源的再次利用。为有效解决当今无线网络资源紧张与频谱利用率不高这一矛盾开辟了新的领域[1-3]。
频谱感知是认知无线电系统采用机会频谱接入方式与主用户共享的基础。通过频谱感知,认知设备可以判断特定频段内的信号是有效信号还是随机波动的噪声,从而确定这一频段是否正在被主用户或其他次用户使用。只有授权频段处于空闲状态时,次用户才可以动态接入该频段。通过频谱感知获得信息,保证了次用户无冲突地接入授权空闲频段。
在电磁频谱感知的教学中,学生主要做仿真研究,集中在认知无线电物理层和MAC层的关键技术、协议体系结构、应用场景分析等方面,没有应用化的教学实验系统出现。因此,在以往的教学中,学生无法获得对频谱感知过程的直观认识。为了提高教学效果,本文应用认知无线电的思想设计了一个教学实验平台,动态演示无线网络中非授权用户的智能接入过程,并加入载波检测和算法控制,使原理得以清晰完整的呈现,有效辅助理论教学。
1 总体方案的设计
电磁频谱感知教学实验系统总体方案框图如图1所示。图中F1是授权用户的授权频率;CR表示非授权用户,CR-TX为非授权用户的发送方,网络中非授权用户的智能接入功能由其完成;CR-RX为非授权用户的接收方,其主要任务是准确接收来自发送方的数据。图中Fn为可变频率,在授权用户没有使用F1时,CR用户可以使用F1,否则,CR用户应避开这个频率。
图1 电磁频谱感知教学实验系统总体方案框图
CR-TX与CR-RX为本实验系统的硬件平台,它们的内部结构相同,都是由PC、LCD、控制器及射频模块组成。LCD用于显示当前射频模块的天线状况和工作频道等信息。PC用于将数据分成小的数据包,并将数据发送至控制器中或将射频模块接收到的数据包整合成原始数据。另外,PC的上位机软件可以直观的演示频谱感知及频谱的动态分配过程。控制器负责控制射频模块的工作状态,并完成频谱感知算法的实现。射频模块完成数据的发送、接收及各频道的能量感知。
2 实验硬件平台的搭建
硬件平台由 PC、LCD、控制器(STC89C516)及射频模块(CC2500)组建而成,如图2所示。由于本次研究的频率是2.4GHz免许可申请频段,所以选用了低功耗、可工作在ISM频段的CC2500射频发射模块。为了直观非授权用户的工作状态,硬件上添加了LCD液晶显示器,同时与PC机结合形成良好的人机交互界面。非授权用户智能接入的功能需要一个微处理器进行处理和控制,课题中选用了STC89C516型号单片机。该型号单片机庞大的内存空间为以后系统扩展提供了方便,满足了设计的需要。
STC89C516主要通过P2口来操作CC2500内部寄存器,使其工作于不同的工作状态下。STC89C516与CC2500物理接口由两个通用输出口(GDO0和GDO2)和1个四线制的SPI接口(SI、SO、SCLK和CSN)组成。通用输出口GD0配置为发送/接收状态输出,用来指示数据发送/接收的开始和结束。GDO2配置为对当前设置的频率段进行频谱检测,以确定频谱空洞和选择最佳载波频率。SPI口实现CC2500的配置和数据传输,其中SCLK由STC89C516提供,作为串行数据传输的同步时钟,SI和SO分别为CC2500的数据输入和输出接口,CSN是片选信号,在SPI接口数据传输中,CSN必须保持低电平[4]。
图2 频谱感知教学实验系统的硬件框图
3 软件模块的设计
本实验系统的软件平台由通信协议及频谱感知顺序优化算法构成。
通信协议主要包括数据帧格式的设计、数据发送协议及数据接收协议,如图3所示。
频谱感知顺序优化算法是基于固定感知顺序的感知不能够动态适应无线信道动态变化的特性,为了有效地减少切换延迟而提出的一种确定较为合理的信道感知顺序的算法。
3.1 通信协议的设计
1)自定义数据通信协议
由于认知无线电技术具有动态智能的特点,因而要求通信协议能自适应终端变动和无线环境变动而带来的可用频谱资源的动态变化。尤其是不能因为可用频谱资源的改变而长时间中断非授权用户的正常通信,让非授权用户在授权用户的频率空隙间选择一个频率作为自己的通信频率。为了保证其通信的可靠性,我们采用了数据通信协议中最基本的停等协议,即每发送一帧数据都要在等到应答帧之后才能发送下一帧数据,数据帧格式如图4所示。为了避免停等协议中数据帧重发冗余的问题,发送方为每帧数据编上一个序号。接收方通过数据序号的判断,以确保接收当前的数据帧[5]。
图3 电磁频谱感知实验系统的软件模块
图4 数据帧格式
2)发送方的数据发送和协议解析
在初始化完成之后,发送方需要对各个频道依次进行频谱感知,建立信道状态图。CC2500芯片内部对信道的估计通过对RSSI和门限值进行比较来实现。一旦RSSI高于门限值,CC2500就认为信道忙,载波侦听输出引脚GDO2就会由低电平变为高电平。门限可以通过相应的寄存器进行配置,选择一个合适的门限值至关重要。本文综合考虑了发送功率、传输距离和数据速率等因素,通过测试调整确定了合适的门限。
信道状态图建立好以后,根据感知顺序确定一个最佳空闲信道。最佳空闲信道找到后,发送方接着发送握手信息。在没有收到对方应答信号之前,发送方会一直处在握手状态。收到对方的应答信号之后,发送方才进入数据发送阶段。在这个阶段中,发送方通过GDO0引脚监测发送状态,当同步字节发送完毕,GDO0引脚由低电平变为高电平,一帧数据发送完毕又变为低电平[7]。另外,发送方每发完一帧数据后都要对当前使用的中心频率进行检测。若检测到授权用户仍然没有使用该频率,则发送方继续发送剩余数据,直到数据传送完毕。若发送方检测到当前中心频率正被授权用户使用,则应及时避开这个频点,根据频谱感知顺序优化算法重新寻找新的频谱空隙建立起通信系统。发送方状态转换如图5所示。
CC2500的发送缓冲区只有64字节,如果待发送数据帧长度超过了64字节,发送方就要将数据分多次写入发送缓冲区。为了防止溢出或发空,要实时监测发送缓存区的状态。当发送缓存区的数据量低于某个门限值时,发送方应及时向发送缓冲区补充数据避免发空(写数据速率比发送速率快),为了防止溢出,应限制每次写入的数据量。
图5 发送方状态转换图
3)接收方的数据接收和协议解析
在没有等到非授权用户握手信号之前,接收方会在各个频道上进行循环扫描检测。若在某个频道上检测到有载波存在,接收方就试着去握手。如果握手失败,接收方就变换频道继续检测。一旦握手成功,接收方就开始进行数据的接收。其状态转换图如图6所示。
图6 接收方状态转换图
在数据接收阶段,CC2500根据数据帧的前导和同步字实现同步,从而进行正确的接收,数据自动存入其接收缓存区。CC2500自动对数据进行CRC,并在数据尾部添加一个校验结果字节。通过这个字节就可以判断数据是否通过校验,并采取相应动作。接收方仍然通过GDO0引脚监测接收状态。如果发送方频率保持不变,接收方就可以在无需变频的情况下完成所有数据的接收[6]。但如果发送方在传输数据的过程中切换了频率,那么接收方在原来的频率上已经收不到数据信息,需要退出数据接收状态重新进行循环扫描检测,再次握手成功后继续接收剩下的数据。
64字节的接收缓冲区也存在和发送缓冲区同样的问题。为了防止溢出和读空,也要实时监测接收缓存区状态。当接收缓存区的数据量高于某个门限值,单片机应及时从缓存区读取数据避免溢出(读数据速率比接收速率快)。为了防止读空,应限制每次读出的数据量。
3.2 频谱感知顺序优化算法
次用户在进行信道切换时,需要尽可能快地找到空闲信道进行接入。但是从统计的角度考虑,每次都按照固定的信道编号依次进行感知是一种非常低效的方法,并不能有效地减小切换时间。因为无线信道是不断变化的,具有随机性,因此在信道切换时,这种基于固定感知顺序的感知不能够动态适应无线信道动态变化的特性。于是在每个次用户节点内部建立一张信道状态图,用来保存信道的状态。当次用户不得不进行信道切换时,就可以根据该信道状态图,确定较为合理的信道感知顺序,从而有效地减小切换延迟。
我们对S个授权信道依次进行编号,分别编号为1,2…S。信道状态图是在次用户节点内建立的用于保存频谱感知结果的状态图,主要作用是推断信道在下一刻的可能状态,从而确定较为合理的感知顺序。
对任意信道i,每当进行一次频谱感知之后,都要更新信道状态图中的相应项,使信道状态图中所保存的信道i的相关项是信道i的最近N次频谱感知的结果。为了要建立一张完整的信道状态图,需要在初始化时进行N次频谱感知。有了信道状态图,次用户将能够掌握更多的信道状态信息,在信道切换这一环节上能节省大量的时间。
如果对所有信道遍历感知后没有找到空闲频道,我们将在Tretry秒后重新感知信道,Tretry是优化算法的设计参数,不是本文重点研究的内容。最终,我们将发现新的空闲信道。一旦检测到空闲信道,信道切换过程结束,次用户在新的空闲信道上继续进行数据传输。
4 实验步骤及效果
4.1 实验步骤
1)给实验系统的TX和RX上电,并打开各自相连的PC中的上位机软件,观察各频道能量值。上电后,TX和RX开始初始化,初始化过程包括射频模块的初始化及频谱感知过程。初始化时,TX和RX默认处在接收状态,通过感知各频道的能量值,建立信道状态图。此时,各频道状态、能量值等都能在PC上直观的显示。
2)TX要传送图片时,先从PC导入要传送的图片,上位机软件将图片分拆成适合射频模块传输的数据包,然后通过串口发送至TX。一旦TX接收到数据后,便切换至发送状态,此时在PC中观察当前的传输频道状态及图片拆成数据包的过程。
3)对当前数据传输频道加射频干扰信号模拟主用户信道占用。当主用户使用授权信道时,次用户应及时避开此频道,切换至其它频道以完成图片的正常传输。因此,在PC中能观察各频道能量值及当前传输频道的变化。
4)使用实验系统的RX接收传输来的数据,在TX频道切换后,RX应该相应变换频道与TX握手,建立连接后继续完成数据的传输。此时,在PC中能观察到当前传输频道的改变,同时接收完毕后通过在PC上观察图片的完整性来测试该频谱感知系统的抗干扰程度。
4.2 实验效果
本实验演示了一幅图片从发送端传输到接收端的过程,其中包含发送端在PC机上将图片拆成数据包、各频道感知建立信道状态图、传输信道被占用切换频道继续传输和接收端接收数据包整合几个部分,经过测试可以在接收端显示一幅完整的图片。通过以上实验步骤,学生清晰地看到频谱感知机制的流程及在干扰环境中动态使用频谱收发数据的过程,有助于学生更好地理解频谱感知及其动态分配。
5 结语
本文以CC2500射频收发芯片作为物理层模块,针对该芯片的特点设计了频谱感知算法以及通信协议,最终在硬件平台上初步实现了感知空闲频道、数据传输、频道切换等非授权用户智能接入的基本功能。此硬件平台既可以适用于教学实验,也可以拓展作为频谱感知研究项目的开发平台。
[1] SIMON H,Cognitive radio:brain - empowered wireless communications[J].IEEE Journal on Selected Area
[2] PEH E,LIANG Ying Chang.Optimization for cooperative sensing in cognJitive radio networks[C].IEEE Wireless Communications and Networking Conference.2007:27-32
[3] M1TOI.A m,MAGUIRE G Q J.Cognitive radio:making software radios more personal[J].IEEE Personal Communications,1999,6(4):13-18
[4] 李立,习勇,魏急波,黄圣春.基于CC2500的Ad Hoc开发平台MAC 协议接口设计[J].南京:电子工程师,2010,34(7):60-64
[5] 赵雄鹰,汪一鸣.基于载波检测的认知无线电方案设计与实现[J].北京:微型机与应用[J],2008,29(10):53 -59
[6] 刘佳,宋铁成,张权,丁顺宁.一种新型教学考试系统的设计与实现[J].南京:电气电子教学学报,2010,32(5):39-43
[7] CC2500 datasheet[DB/OL].http://focus.ti.com.cn,May.2009