计算机应用   2016, Vol. 36 Issue (9): 2367-2373  DOI: 10.11772/j.issn.1001-9081.2016.09.2367
0

引用本文 

王海军, 李佳迅, 赵海涛, 王杉. 基于协同认知的抗干扰网络结构自适应技术[J]. 计算机应用, 2016, 36(9): 2367-2373.DOI: 10.11772/j.issn.1001-9081.2016.09.2367.
WANG Haijun, LI Jiaxun, ZHAO Haitao, WANG Shan. Anti-jamming network architecture self-adaption technology based on cooperation and cognition[J]. Journal of Computer Applications, 2016, 36(9): 2367-2373. DOI: 10.11772/j.issn.1001-9081.2016.09.2367.

基金项目

国家自然科学基金资助项目(61471376);国家863计划项目(2014AA01A701)

通信作者

王海军(1993-), 男, 安徽淮北人, 硕士研究生, 主要研究方向:认知无线网络MAC协议, 18874054173@163.com

作者简介

李佳迅(1990-), 男, 辽宁大连人, 博士研究生, 主要研究方向:抗干扰无线通信网络MAC协议;
赵海涛(1981-), 男, 山东潍坊人, 副教授, 博士, 主要研究方向:认知无线网络、协同通信;
王杉(1978-), 男, 陕西兴平人, 副研究员, 博士, 主要研究方向:网络跨层协议设计

文章历史

收稿日期:2016-03-09
修回日期:2016-04-20
基于协同认知的抗干扰网络结构自适应技术
王海军, 李佳迅, 赵海涛, 王杉    
国防科学技术大学 电子科学与工程学院, 长沙 410073
摘要: 针对现有协同认知无线网络工作在固定结构导致灵活性低、对复杂环境适应力不足的问题,以提高其抗干扰和抗毁能力为目标,提出了一种基于协同认知的网络结构自适应技术。该技术能够使协同认知无线网络在集中控制、自组织和协同中继三种结构之间灵活、自主切换,从而应对电磁干扰、设备故障和通信链路遮挡等问题,极大增强了网络的稳健性。详细介绍了切换方案设计和节点协议实现,并通过搭建基于GNU Radio和二代通用软件无线电外设(USRP2)的协同认知无线网络测试床对其切换耗时以及吞吐量性能进行实际测试验证。结果表明,相比单一、固定的网络结构,该技术能够显著增强网络抗毁性、连通性,提高服务质量(QoS)。
关键词: 协同认知无线网络    网络结构自适应    抗干扰    通用软件无线电外设    GNU Radio    
Anti-jamming network architecture self-adaption technology based on cooperation and cognition
WANG Haijun, LI Jiaxun, ZHAO Haitao, WANG Shan     
College of Electronic Science and Engineering, National University of Defense Technology, Changsha Hunan 410073, China
Background: This work is partially supported by the National Natural Science Foundation of China (61163051), the Application Fundamental Research Foundation of Yunnan Province (2009ZC050M).
WANG Changzheng, born in 1990, M.S. candidate. His research interests include wireless sensor network.
MAO Jianlin, born in 1976, Ph. D., professor. Her research interests include wireless sensor network, resource allocation and optimization on MAC layer.
FU Lixia, born in 1971, M. S., lecturer. Her research interests include embedded system.
GUO Ning, born in 1983, M. S., experimentalist. Her research interests include intelligent optimization method.
QU Weixian, born in 1991, M.S. candidate. His research interests include wireless sensor network.
Abstract: Considering that the Cooperative Cognitive Radio Networks (CCRN) perform poorly with low flexibility and deficient ability to adapt to complex environment, which caused by working under a fixed architecture at present, a kind of network architecture self-adaption technology based on cooperation and cognition was proposed to improve the anti-jamming and anti-damage ability of the CCRN. The technology made CCRN switch among three kinds of architectures, including centralized control, self-organization and cooperative relay, autonomously and flexibly, to deal with electromagnetic interference, equipment failure and obstructions on communication link, which could greatly enhance the network robustness. The switch scheme design and protocol implementation of different nodes were introduced in detail. Moreover, a CCRN testbed which consists of GNU Radio and the second generation of Universal Software Radio Peripheral (USRP2) was set up to test and verify its performance including switching time consumption and throughput. Results show that the technology significantly improves the anti-destroying ability, connectivity and Quality of Service (QoS) of CCRN compared with the network working under single, and fixed architecture.
Key words: cooperative cognitive radio network    network architecture self-adaption    anti-jamming    Universal Software Radio Peripheral (USRP)    GNU Radio    
0 引言

近年来,无线通信领域发展迅速,新理论层出不穷,其中认知无线网络[1]和协同通信[2]作为关键技术得到大家的广泛研究。认知无线网络将认知无线电[3]融入到传统无线网络中,使无线网络节点具有感知和学习能力,能够动态感知和使用网络区域内的空闲频谱,解决无线网络频谱资源稀缺和分配问题,增强网络拓扑的连通性和网络生存性。协同通信技术融合了分集技术和中继传输技术的优势,能在不增加天线数量的基础上实现并获得多天线与多跳传输的性能增益[4]

将认知无线电技术与协同通信相结合可扬两者之长,在通过认知无线电技术提高频谱利用率的同时还能通过协同通信技术获得分集增益,从而达到提升系统容量、减少能量消耗和拓展传输距离的目的,文献[5]首次明确使用了“Cooperative Cognitive Radio Networks(CCRN)”这个名称,提出了协同认知无线网络的概念。

CCRN按照网络结构一般分为集中控制式和分布式。集中控制式网络结构中包含中心控制器(Access Point, AP),它的特点是易于集中管理、实现简单和高效性,但AP易成为整个网络的瓶颈,从而影响网络性能。无线分布式网络的典型代表是Ad Hoc网络,其是由一组具有无线收发装置的移动节点组成的多跳、无中心、灵活性的自组织网。相比其他网络结构的无线网络,Ad Hoc网络具有自发现、自组织、自愈合的特点,有非常强的鲁棒性和抗毁性,但不便于集中管理。在自组织网络中引入协同通信技术可以克服用户终端之间因遮挡效应等因素而导致的直接路径传输信号衰落较大的问题,能够提高传输可靠性和增加传输距离。

以上集中控制式、自组织式和协同中继三种网络结构均可满足不同场景下的特定通信需求,但单一、固定的网络结构却无法适应复杂的环境变化,例如,集中控制网络中的AP若无法工作,则整个网络都会瘫痪;而在良好的通信环境下,若简单地引入协同中继节点则有可能带来因协同协议开销所导致的网络吞吐量下降。因此,针对复杂的网络环境,如果能充分发挥三种网络结构的优势,实现三者灵活切换,将在增强网络抗毁性、提高吞吐量和提高服务质量(Quality of Service,QoS)等方面发挥重要作用。

针对以上问题,本文提出了一种基于协同认知的网络结构自适应技术(Network Architecture Self-adaption Technology,NAST),使CCRN能够在三种网络结构之间灵活、自主、及时地切换,从而应对物理故障,提高网络的抗干扰能力。同时,借助两台个人电脑(Personal Computer,PC)和四台二代通用软件无线电外设(Universal Software Radio Peripheral,USRP2)(型号为USRP N210)搭建了完整的协同认知无线网络演示系统用于功能演示和性能评估。基于NAST的协同认知无线网络可同时支持集中控制式、自组织和协同中继共三种网络结构,并且可在三者之间智能灵活切换,扬长避短。一方面,该技术打破了以往无线网络仅支持单一、固定网络结构的局限,能够有效增强网络稳健性,从而适应复杂多变的通信环境,因此,非常适合应用于复杂环境下的灾难救助,应急通信等场景;另一方面,通过设计实现完整的测试系统对该技术进行验证评估,为其实用化推广提供了有力支撑。

1 研究现状

CCRN是认知无线电研究领域中一个崭新的方向,其关键技术逐渐成为当前认知无线电技术的研究重点,现有的研究内容主要集中在协同频谱感知、频谱共享和中继选择与功率分配三个方面。

协同频谱感知[6-7]是指在传统的频谱感知中引入认知用户之间的相互协作,最新频谱感知技术的研究逐步发展到引入中继节点利用空间分集帮助频谱感知。文献[8]的研究显示,引入中继节点帮助认知用户进行频谱感知和信息传输,能够精确健壮地检测频谱占用情况,提高了频谱利用率。频谱共享允许认知用户在不对主用户产生有害干扰的前提下,利用主用户系统的空闲频谱提供可靠的通信服务。Kim等[9]针对多用户协同认知网络提出了一种改进的频谱共享协议,为解决认知用户端的检测误差所带来的主次用户性能下降问题,设计了协同最大比合并方案来缓解误差传播并获得分集增益。在协同通信网络中,合理地选择协同节点和分配发送功率,在提高网络传输性能、增强QoS的同时还可以节约发送功率,实现资源的高效利用[10-11]。文献[10]基于频谱租赁协议提出了一种中继选择和资源分配的联合优化算法,在保证QoS的基础上提高能量效率;文献[11]针对非理想感知场景下,综合中继选择、信道接入和功率分配问题,提出了一种考虑能量的集中控制式中继选择方案。

目前关于协同认知网络的网络架构自适应研究还比较欠缺,最近提出的在移动蜂窝网中采用Device-to-Device(D2D)技术可以看作是网络结构自适应的一种新思路。D2D通信是一种在系统的控制下,允许终端之间通过复用小区资源直接进行通信的新型技术[12],它能够提高蜂窝通信系统频谱效率,降低终端发射功率,在未来的5G中具有广阔的发展前景[13]。文献[14]通过在D2D网络中引入基于感知的频谱共享技术来进行最优的资源分配,使得蜂窝网络的频谱利用率显著提高。

在蜂窝网络下复用小区资源的D2D通信实际可以看作是一种集中控制式与自组织式网络结构的融合,而本文更进一步提出了支持三种网络结构自适应的技术。D2D技术一般还要受到基站的严格控制,而基于NAST的网络可在完全无AP的情况下工作。除此之外,D2D通信的目标主要是提高资源利用率和网络容量[15],而NAST着重解决的是认知网络中的抗干扰和抗毁问题,因此两者的侧重点不同。

2 网络结构自适应方案设计 2.1 三种网络结构工作模式

在认知无线网络中,次用户可以通过频谱感知方法检测主用户使用授权信道的情况,并且能够机会地接入到主用户当前未使用的信道而不对其造成干扰,一旦主用户重新占用该信道,次用户需要及时撤离。本文自适应切换方案设计基于以下假设条件:1)整个系统的工作频带被划分成M个带宽相同且互不重叠的子信道,表示为ch1,ch2,…,chM;2)存在一个公共控制信道ch0对于次用户和AP总是可用的;3)网络节点均具有频谱感知功能,且能灵活切换信道。基于NAST的协同认知无线网络具体工作模式如下:

当处于如图 1(a)所示的集中控制式网络结构时,AP和周围用户节点(即次用户,下同)均工作在单信道ch0上,AP可以广播指令,用户节点也可上传数据,但互相之间无法进行通信。因此,整个网络对AP依赖性较强,AP的失效将导致整个网络瘫痪。

图 1 三种网络结构示意图

在自组织网络结构下,如图 1(b)所示,用户节点之间可以互相直接通信,若两个节点需要进行数据交换,首先在控制信道ch0上协商数据信道的使用,协商过程主要是检测所有数据信道的忙闲状态,即主用户是否占用,接着,两者跳到协商好的信道上进行数据传输,发送端若连续多次发送数据包但收不到确认(ACKnowledgement, ACK)则认为信道被主用户重新占用,就会重新跳到控制信道再次进行频谱感知和协商,一旦数据传输完毕,两者又会跳至控制信道进行等待;没有数据交换任务的节点会一直在ch0上等待。与集中控制式网络结构相比,自组织式网络结构无需AP参与,可以随时随地组网,单个节点故障不影响整个网络的运行,具有较强抗毁性。

在协同中继网络结构下,如图 1(c)所示,节点A与C之间的链路由于距离过远或者障碍物遮挡无法直达,则A会寻找网络内部的其他节点,例如B,作为协同中继节点帮助其传输。协同中继节点和用户节点工作在单信道ch0上,中继节点负责将来自源节点的数据包转发至目的节点,它在增加通信距离的同时会降低吞吐量。

集中控制、自组织和协同中继三种网络结构具有各自的优缺点,因此,本部分的主要工作就是要设计出能够充分发挥三者的优势、扬长避短的网络结构自适应方案。

2.2 网络结构互切换方案

考虑如下场景:若干救援分队外出执行搜救任务,他们将现场图片或视频上传至指控中心,然后,指控中心根据情况下达相应命令,指控中心与周围的救援分队组成了集中控制式的网络结构,从而开展高效、有序的救援工作;若指控中心受自然因素影响出现故障,周围的救援分队迅速地构建起自组织的网络结构,进行点对点的通信,保证了救援中通信的连通性,一旦指控中心功能重新恢复,网络又会重新恢复集中控制式的网络结构;在自组织网络结构下,如果分队之间链路受到障碍物的遮挡或者距离过远无法直接完成通信,则可以通过一个协同中继节点重新建立链路连接。

因此,实现三种网络结构之间的及时、灵活切换对于提高诸如灾难救助等应急通信环境下的网络连通性和抗毁性显得极为迫切。

基于2.1节介绍的三种网络结构的工作模式,设计如图 2的网络结构自适应切换方案,完成集中控制式与自组织、自组织与协同中继结构的互切换。

图 2 三种网络结构自适应切换示意图

认知无线网络在初始化时处于高效的集中控制式结构,当周围节点检测到AP发生故障后,节点自发构建可靠的自组织网络结构,这时所有节点处于基于专有控制信道的多信道模式下,各节点在ch0上等待的过程中会定期检测AP是否重新加入了网络,从而决定是否要重新构建集中控制式网络结构。自组织网络结构下的两个节点在进行数据交换过程中如果链路发生断裂,无法进行点对点通信,则发送节点会主动寻找第三个节点用作协同中继节点,及时构建协同中继网络继续数据传输,一旦数据传输完毕又会重新构建自组织的无线网络结构,自组织结构与协同中继结构可以共存。整个自适应过程全部由用户节点自主判断与决策。

因此,NAST需要着重解决的问题是:1)网络结构需不需要转变,对应于AP故障与恢复检测、直传链路断裂检测两个关键技术;2)如何转变,对应于网络节点所运行的协议设计。

2.3 AP/直传链路故障检测

方案中网络结构需不需转变问题所对应的AP故障与恢复检测、直传链路断裂检测两个关键技术是网络结构转变的触发点。

2.3.1 AP故障与恢复检测

AP故障与恢复检测是由周围用户节点来完成的,AP节点定期向周围节点广播hello包来保持自身的活跃状态,周围节点如果在一段时间内既没有收到hello包也没有收到AP的指令则认为AP已经发生故障;若AP重新加入了网络,则在自组织结构下处于等待状态和完成数据发送重新跳至控制信道上的节点又会重新收到hello包,故认为AP恢复。

2.3.2 直传链路断裂检测与协同链路建立

自组织结构下的源节点在控制信道无干扰的情况下连续发送若干次请求发送帧(Request-To-Send, RTS)而收不到允许发送帧(Clear-To-Send, CTS),则认为与目的节点的链路断裂,无法直传;接着,发送节点向周围邻居节点广播协同请求帧,邻居节点如果探测到目的节点则会回复源节点一个确认协同帧,至此,协同中继链路成功建立。

3 网络结构自适应协议设计

方案中的网络结构自适应切换过程完全依靠网络节点基于对网络信息的认知所作出的自主决策,其中网络结构自适应协议作为关键技术,主要解决网络结构如何转变的问题。

3.1 节点运行协议设计

在基于NAST的认知无线网络中,节点按照角色可分为两种:AP节点和用户节点,用户节点功能相同且工作在全双工模式,能完成数据收发和协同中继工作。针对这两类节点的功能设计出了五类协议:AP节点协议、用户节点主协议、数据发送子协议、数据接收子协议和协同中继子协议。协议中设置了central_ctrl_start、multich_adhoc_start和coop_start三个标志位,通过置True或False分别控制集中控制式、自组织、协同中继三种网络结构开启与关闭,初始化时都置为False

3.1.1 AP节点协议

AP节点需要定时向周围节点广播hello包以示自己的存在,同时根据需要也会向节点发送指令以及接收来自周围用户的数据,AP节点协议伪代码如下所示:

1)    Initialize

2)    central_ctrl_start=True

3)    set_channel(ch0)

4)    While central_ctrl_start do

5)       if (need to send command) then send_command()

6)      else: send_hello()

            //广播hello包

7)      wait(t0)

      //t0表示AP节点广播hello包的时间周期

3.1.2 用户节点主协议

所有用户节点在集中控制式结构中都运行相同的协议,即等待来自AP的指令,并且可以上传自身数据至AP,一旦节点检测到AP发生故障,会立即开启自组织结构下的基于专有控制信道的多信道通信模式;自组织结构下,节点有发送需求会启用数据发送子协议节点,否则,默认运行数据接收子协议,如果探测到AP加入了网络又会重新切换到集中控制式结构。用户节点主协议伪代码如下所示:

1)  Initialize

2)  central_ctrl_start=True        //首先开启集中控制结构

3)  set_channel(ch0)        //信道置ch0

4)  while central_ctrl_start do        //集中控制结构

5)    if (need to send data) then send_data()

6)    wait(Nt0)

    //等待接收, N表示用户节点执行AP故障检测的周期数

7)    if (AP is dead) then        //AP毁坏,开启自组织结构

8)      central_ctrl_start=False; multich_adhoc_start=True

9)  while multich_adhoc_start do        //自组织结构

10)    if (need to send data) then

11)      run data transmitting protocol

        //若有数据发送,运行数据发送子协议

12)    else:

13)      if (receive hello from AP) then

14)      central_ctrl_start=True; multich_adhoc_start=False

15)      go to 4)        //AP恢复,重启集中控制结构

16)    else: run data receiving protocol

        //无数据发送,运行数据接收子协议

17)  while coop_start do        //协同中继结构

18)    run coop protocol        //运行协同中继子协议

19)    go to 9)        //数据发送完毕后回到自组织结构

3.1.3 数据发送子协议

节点首先进行频谱感知,检测主用户对信道的占用情况,接着在控制信道上发送带有信道忙闲信息的RTS与目的节点协商数据信道的使用,一旦协商成功,节点就会跳到数据信道开始发送。数据发送期间,如果有连续Npkt_retx(数据包最大重传次数)个数据包收不到ACK则认为当前数据信道被主用户重新占用,节点会重新协商一个新的可用数据信道继续传输数据直至完毕,然后跳回控制信道等待下一轮的数据传输;在控制信道可用的时候,若连续Ntalk(最大协商次数)次协商不成功,节点则会启用协同中继子协议。数据发送子协议伪代码如下:

1)  num_talk, false_pkt_num=0

        //定义协商次数和连续误包数量

2)  if num_talk>=Ntalk then        //连续协商次数大于阈值

3)    if (ch0 is busy) then

4)      backoff(); go to 2)        //若ch0受干扰退避后重新协商

5)    else:multi_adhoc_start=False; coop_start=True; return

        //直传链路故障,返回主程序后启用协同中继

6)  else: spectrum_sensing(); send_RTS(); num_talk+=1

        //检测信道忙闲信息后发送协商帧

7)    if (talk successfully) then num_talk=0        //协商成功

8)      send_pic_pkt()        //发送数据包

9)      if (send pkt successfully) then

10)        if (pic_pkt is over) then

11)          set_channel(ch0); return

        //数据发送完毕,跳至ch0,返回主程序

12)        else: false_pkt_num=0; go to 8)

13)      else: false_pkt_num+=1

14)        if false_pkt_num>=Npkt_retx then

15)          set_channel(ch0); false_pkt_num=0;go to 2)

        //连续误包数大于阈值,重新协商

16)            else: go to 8)

17)  else: go to 2)        //协商失败,重新协商

3.1.4 数据接收子协议

如果接收到来自发送节点的RTS,接收节点启用频谱感知操作检测自身的可用数据信道后挑选一个信道回复给发送节点,接着跳到该信道上等待接收数据,若隔一段时间没有接收到数据,节点又会重新跳到控制信道上等待;如果接收到协同请求帧或者探测帧则启用协同中继子协议。数据接收子协议伪代码如下所示:

1)  set_channel(ch0);wait()        //信道置ch0,等待接收

2)  if (receive RTS) then spectrum_sensing(); reply_CTS()

3)    wait()        //检测信道忙闲信息后回复CTS, 等待接收数据

4)    if (receive pkt) then go to 3)        //收到数据,继续等待

5)    else: set_channel(ch0); return

        //未收到数据,跳至控制信道,返回主程序

6)  else

7)    if (receive coop request) or (receive detection) then

        //收到协同请求或探测帧

8)      multich_adhoc_start=True; coop_start=False;

9)      return        //返回主程序后运行协同中继子协议

10)    else: return        //返回主程序

3.1.5 协同中继子协议

当节点在直传链路故障且还需继续传输数据时,首先,广播协同请求帧直到成功建立协同中继链路,进而继续数据传输直至完毕,然后重新回到自组织结构下的多信道模式等待下一轮的数据传输。若节点接收到来自其他发送节点的请求协同帧,会向目的节点发送一个探测帧用来确定其是否处于自己的通信范围内,如果成功探测到目的节点,节点向发送节点回复一个确认协同帧,接着等待转发数据。若节点接收到来自协同中继节点的探测帧,则回复确认帧,然后等待接收数据,直至完毕后返回自组织结构下的多信道协议。协同中继子协议伪代码如下所示:

1)  if (continue to send data) then      //需要继续发送数据

2)    find_coop_node()      //寻求协同中继节点

3)    if (find coop successfully) then

4)      send_pic_pkt() until the end

      //找到协同节点,继续发送数据

5)    else: backoff(); go to 2)      //退避后重新寻找

6)  else:

7)    if (receive coop request) then send_detection()

      //收到协同请求后发送探测帧

8)    if (find dest_node) then reply_confirm_coop()

      //探测到目的节点,回复确认协同帧

9)      receive_and_forward_pkt()      //接收并转发数据

10)    else if (receive detection) then

11)    vreply_confirm(); wait()

      //若收到探测帧,回复并等待数据接收完毕

12)  multich_adhoc_start=True; coop_start=False; return

      //返回主程序

3.2 协议性能分析 3.2.1 网络结构切换耗时

设AP节点广播hello包的时间间隔为t0,周围节点检测hello包的时间间隔为Nt0,自组织结构下共有Ndata_ch个数据信道,节点检测单个信道忙闲状态耗时为τ0(受硬件影响一般为0.07 s),则网络从集中控制式切换至自组织结构的理论最小耗时为:

$ {T_1} = N{t_0} + 2{N_{{\rm{data\_}}}}_{{\rm{ch}}} \cdot {\tau _0} $ (1)

因此t0NNdata_ch的增加均导致切换耗时的增大。N设置过小会导致AP故障检测的虚警概率增大,过大又使得周围节点无法及时发现AP故障。

网络从自组织切换至协同中继结构的理论最小耗时为:

$ {T_2} = {t_{{\rm{pkt}}}} \cdot {N_{{\rm{pkt}}\_{\rm{retx}}}} + 2{N_{{\rm{talk}}}} \cdot {N_{{\rm{data}}\_}}_{{\rm{ch}}} \cdot {\tau _0} + 2{t_{{\rm{detect}}}} $ (2)

其中:tpkt为自组织结构下的数据包发送间隔,由数据帧长度和发送速率决定,同时也受硬件限制;Npkt_retx为数据包最大重传次数;Ntalk为最大协商次数;tdetect为中继探测目的节点耗时。Npkt_retxNtalk设置过小会增大数据信道干扰检测与直传链路断裂检测的虚警概率,过大节点则会导致漏检概率和切换耗时的增加。

3.2.2 吞吐量

设数据帧有效长度为L,则自组织结构下的饱和吞吐量

可以通过下式计算:

$ TH = \left( {1/{t_{{\text{pkt}}}}} \right) $ (3)

发送间隔tpkt的减小能够带来数据吞吐量的增加,但tpkt又受到比特速率的影响,因此可以通过适当增大发送比特速率来减小发送间隔,由于硬件限制,比特速率不能够无限制地增加。而在协同中继结构下,中继的加入会导致吞吐量数值至少减半。

4 测试床实现与性能评估

通过借助两台PC(搭载Ubuntu14.04系统,安装GNU Radio软件)和四台USRP N210搭建了完整的协同认知无线网络结构自适应测试床,用来演示三种网络结构的切换过程,并对其性能指标进行了测试。

4.1 软硬件平台简介及测试系统搭建 4.1.1 硬件平台USRP N210

通用软件无线电外设旨在使普通计算机能像高带宽的软件无线电设备一样工作,其由一个带有高速信号处理的现场可编程门阵列(Field Programmable Gate Array, FPGA)母板、一个或者多个覆盖不同频率范围的可调换的子板及相应的天线组成[16]。基于USRP的成功,USRP N210能提供更高的性能和更大的灵活性[17]

4.1.2 软件平台GNU Radio

GNU Radio[18]是一个通过最小程度结合硬件(主要是USRP),用软件定义无线电波的发射和接收方式来搭建无线电通信系统的开源软件系统,使高性能的无线电设备中所遇到的数字调制问题变成软件问题。GNU Radio的编程基于Python脚本语言和C++的混合方式。C++被用于编写各种信号处理模块(block),模块之间通过简洁的Python语言进行连接,组成信号流图(Graph)。测试系统所使用的算法程序就是在GNU Radio下设计编写的。

4.1.3 测试系统搭建

测试系统搭建如图 3所示意,两台PC分别通过以太网口连接两个交换机控制四台USRP N210,PC运行程序算法驱动USRP作为真实的数据收发装置。图 4给出了测试床的实物图,测试中设置的基本参数如表 1所示。

图 3 测试系统配置示意图
图 4 测试床实物图
表 1 基本配置参数

为了更直观地展示网络结构自主切换过程,设计并实现了如图 5的用户图形界面用以显示当前所处的网络结构、使用的信道、吞吐量、切换耗时等信息。

图 5 图形化界面设计
4.2 测试方法及步骤

图 6所示,测试中使用USRP#C模拟中心控制节点AP和干扰设备,USRP#A和USRP#B分别模拟周围用户节点A和B,USRP#D模拟协同中继节点D。在集中控制式网络中,AP通过单信道ch0向周围节点广播指令,这里,我们定义了一个特定的“collect_ch”指令专门用来收集周围节点的可用信道,周围节点收到该指令后,会立即检测自身可用信道并上传至AP;在自组织结构网络中,节点A在专有控制信道的多信道模式下向节点B循环传输一张图片;协同中继网络结构下,节点A在节点D的协同下通过单信道ch0接着向B发送先前未发送完毕的图片。单网络结构下的通信链路建立过程以及网络结构的切换过程均可通过图形界面和终端输出清楚展示。

图 6 网络结构自适应测试示意图

测试步骤如下:

1)通过应用程序依次打开AP、节点A、节点B,接着AP广播指令,观察节点A和节点B的指令接收和信道上传情况;

2)关闭中心节点(模拟真实环境中节点被摧毁),观察A与B是否会自主跳到自组织结构下传输图片以及直传通信链路的建立过程,并记录下切换时间和吞吐量;

3)开启中继节点D,遮挡A与B之间的无线链路(模拟真实环境下节点移动导致距离过远或者障碍物遮挡而无法直传),观察网络是否会切换至协同中继结构以及中继链路的建立过程,记录图片传输所能达到的吞吐量;

4)在协同中继结构下,移开A与B之间的遮挡物(模拟真实环境下直传链路恢复),观察网络切换至自组织结构的过程,记录吞吐量变化;

5)在自组织结构下,A向B传输图片过程中重新启动AP,观察网络切换至集中控制式结构的过程。

6)在自组织结构下A向B发送图片过程中,启动USRP#C在当前信道发送干扰(模拟主用户重新占用该信道),观察A与B是否会重新进行频谱感知并选择另外一个数据信道继续传输,统计吞吐量变化。

4.3 测试结果及性能指标

在集中控制式网络结构中,AP与周围节点可以完成信息的交换;当AP出现故障后,网络会自主、及时地切换至自组织结构,节点A可以成功向节点B发送图片并且当主用户出现时能够及时地切换至其他信道继续传输,当AP恢复后,节点又会重新收到来自AP的hello包和指令;在自组织结构下,节点A与节点B之间的无线链路被遮挡后,网络又立即建立起从A到B再到C的协同中继链路,继续图片传输,而当直传链路恢复后,网络又会切换至自组织结构继续下一张图片传输。因此,该测试系统模拟的协同认知无线网络支持集中控制式、自组织、协同中继三种网络结构之间的灵活自适应,能够显著增强网络抗毁性、连通性,提高服务质量。

经过20次独立测试,给出了图 7所示的网络结构切换耗时、结构切换过程中的吞吐量变化情况。由图 7(a)可得,切换耗时的理论最小值与实测最小值基本吻合,两者的细微差值源于硬件的信道切换耗时;当信道环境不稳定时,节点间会出现两次握手的情况,因而导致最大耗时;集中控制切换至自组织结构平均耗时约为2.3 s,自组织切换至协同中继结构平均耗时约为2.5 s。图 7(b)中给出了使用NAST与不使用NAST的网络吞吐量的变化对比,自组织结构下平均吞吐量约为78 KB/s,当直传链路断裂后,基于NAST的网络及时切换至协同中继结构并且吞吐量恢复为原来的一半,约为37 KB/s,而不使用NAST的网络吞吐量逐渐变为零且无法重新建立数据链接。在协同中继传输过程中,若直传链路恢复,网络在结束本轮图片发送后又会切换至自组织结构进行下一张图片传输。图 8描绘了在自组织结构下的数据传输过程中,主用户两次重新占用当前数据信道导致的网络吞吐量的变化过程,可以看出,节点能够及时地避开主用户接入其他空闲数据信道继续数据传输,因此说明了网络具有认知性。

图 7 网络结构切换耗时及吞吐量变化
图 8 自组织结构下主用户出现时的吞吐量变化
5 结语

本文提出了一种协同认知网络下的网络结构自适应技术,它通过AP故障与恢复检测算法和直传链路断裂检测算法,使协同认知无线网能够在集中控制式、自组织、协同中继三种网络结构之间灵活、自主、及时地切换。文中详细设计了三者之间的互切换方案和节点运行的协议伪代码,并利用Python编写了完整的算法软件,同时,借助两台PC、四台USRP N210和GNU Radio开发环境搭建了协同认知无线网络结构自适应演示系统对NAST进行互切换耗时测试与吞吐量性能评估,并对自组织结构下的网络认知性进行验证。相比采用单一、固定的网络结构,NAST能够应对复杂网络环境下的物理故障和电磁干扰,提高网络稳健性。然而方案中的协同中继协议较为简单且测试平台节点个数有限,下一步将着重优化协同中继协议以及研究方案在组网方面的性能。

参考文献
[1] MACKENZIE A B, REED J H, ATHANAS P, et al. Cognitive radio and networking research at Virginia Tech[J]. Proceedings of the IEEE, 2009, 97 (4) : 660-688. doi: 10.1109/JPROC.2009.2013022 (0)
[2] PETER HONG Y W, HUANG W J, JAY KUO C C. Cooperative Communications and Networking: Technologies and System Design[M]. London: Springer, 2010 . (0)
[3] MITOLA J, MAGUIRE G. Cognitive radio: making software radios more personal[J]. IEEE Personal Communication, 1999, 6 (4) : 13-18. doi: 10.1109/98.788210 (0)
[4] LETAIEF K, ZHANG W. Cooperative communications for cognitive radio[J]. Proceedings of the IEEE, 2009, 97 (5) : 878-893. doi: 10.1109/JPROC.2009.2015716 (0)
[5] ZHANG J, ZHANG Q. Stackelberg game for utility-based cooperative cognitive radio networks [C]// MobiHoc '09: Proceedings of the 10th ACM International Symposium on Mobile Ad Hoc Networking and Computing. New York: ACM, 2009: 23-32. (0)
[6] GAO R, LI Z, QI P H, et al. A robust cooperative spectrum sensing method in cognitive radio networks[J]. IEEE Communications Letters, 2014, 18 (11) : 1987-1990. doi: 10.1109/LCOMM.2014.2361851 (0)
[7] XUE D, EKICI E, VURAN M C. Cooperative spectrum sensing in cognitive radio networks using multidimensional correlations[J]. IEEE Transactions on Wireless Communications, 2014, 13 (4) : 1832-1843. doi: 10.1109/TWC.2014.022714.130351 (0)
[8] ZOU Y, YAO Y D, ZHENG B. Cooperative relay techniques for cognitive radio systems: spectrum sensing and secondary user transmissions[J]. IEEE Communications Magazine, 2012, 50 (4) : 98-103. doi: 10.1109/MCOM.2012.6178840 (0)
[9] KIM T K, KIM H M, SONG M G, et al. Improved spectrum-sharing protocol for cognitive radio networks with multiuser cooperation[J]. IEEE Transactions on Communications, 2015, 63 (4) : 1121-1135. doi: 10.1109/TCOMM.2015.2408606 (0)
[10] CHEN J, LV L, LIU Y, et al. Energy efficient relay selection and power allocation for cooperative cognitive radio networks[J]. IET Communications, 2015, 9 (13) : 1661-1668. doi: 10.1049/iet-com.2014.1246 (0)
[11] LUO C, MIN G, YU F R, et al. Joint relay scheduling, channel access, and power allocation for green cognitive radio communications[J]. IEEE Journal on Selected Areas in Communications, 2015, 33 (5) : 922-932. doi: 10.1109/JSAC.2014.2361085 (0)
[12] WANG L, TANG H. Device-to-device communication in cellular networks[J]. IEEE Communications Magazine, 2016, 52 (4) : 49-55. (0)
[13] TEHRANI M N, UYSAL M, YANIKOMEROGLU H. Device-to-device communication in 5G cellular networks: challenges, solutions, and future directions[J]. IEEE Communications Magazine, 2014, 52 (5) : 86-92. doi: 10.1109/MCOM.2014.6815897 (0)
[14] CHEN H, LIU L, MATYJAS J D, et al. Optimal resource allocation for sensing-based spectrum sharing D2D networks[J]. Computers and Electrical Engineering, 2015, 44 (C) : 107-121. (0)
[15] FENG D, LU L, YI Y W, et al. Device-to-device communications underlaying cellular networks[J]. IEEE Transactions on Communications, 2013, 61 (8) : 3541-3551. doi: 10.1109/TCOMM.2013.071013.120787 (0)
[16] Ettus Research. USRP1 [EB/OL]. [2014-12-27]. http://www.ettus.com/product/details/USRPPKG. (0)
[17] 李佳迅, 张少杰, 赵海涛, 等. 基于USRP2的无线网络MAC协议半实物仿真系统设计与实现[J]. 计算机应用, 2015, 35 (8) : 2124-2128. ( LI J X, ZHANG S J, ZHAO H T, et al. Design and implementation of hardware-in-loop simulation system of wireless network MAC protocol in USRP2[J]. Journal of Computer Applications, 2015, 35 (8) : 2124-2128. ) (0)
[18] BLOSSOM E. GNU radio official website [EB/OL]. [2014-12-26]. http://gnuradio.org/redmine/prjects/gnurdio/wiki. (0)