认知无线电MAC层与应用层仿真软件.doc

上传人:牧羊曲112 文档编号:4297109 上传时间:2023-04-14 格式:DOC 页数:18 大小:3.33MB
返回 下载 相关 举报
认知无线电MAC层与应用层仿真软件.doc_第1页
第1页 / 共18页
认知无线电MAC层与应用层仿真软件.doc_第2页
第2页 / 共18页
认知无线电MAC层与应用层仿真软件.doc_第3页
第3页 / 共18页
认知无线电MAC层与应用层仿真软件.doc_第4页
第4页 / 共18页
认知无线电MAC层与应用层仿真软件.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《认知无线电MAC层与应用层仿真软件.doc》由会员分享,可在线阅读,更多相关《认知无线电MAC层与应用层仿真软件.doc(18页珍藏版)》请在三一办公上搜索。

1、第一章 认知无线电MAC层与应用层仿真软件1.1技术背景随着无线通信技术的飞速发展,频谱资源变得越来越紧张。目前的频谱分配制度为固定频谱分配,将频谱分为授权频段(LFB)和非授权频段(UFB)两类。大部分的频谱资源被用作授权频段(如电视广播频段),得到授权频段的团体或个人长期独占该频谱使用权;非授权频段的频谱资源要少的多,一般采用竞争方式接入使用。随着无线通信业务的迅猛发展,非授权频段的业务量已趋于饱和。另一方面,授权频段的频谱资源利用率却非常低,美国联邦通信委员会频谱策略任务工作报告给出的时间和空间上的统计结果表明,各种无线系统的总频谱利用率在10以下。目前的频谱管理存在的主要矛盾在于:频谱

2、使用是动态的,但频谱分配是固定的;频谱是稀有资源,但频谱利用率不高,且存在大量空闲;可分配频谱少,但频谱需求量大。导致这些矛盾的根本原因在于固定分配频谱方案和独占频谱使用权(即业务接入权或频谱准入权)原则,因此,现阶段最实际的办法是改变业务接入权或频谱准入权,以开放频谱使用,提高频谱使用效率和充分利用空闲频谱。认知无线电(Cognitive Radio, CR)技术就是在这样一种背景下出现的。它由J.Mitola博士在1999年提出,被认为是解决当前频谱缺乏现状的一个有效手段。认知无线电提供了一种“机会方式(Opportunistic Way)”共享和利用频谱的手段,可以有效地解决问题。认知无

3、线电的核心思想就是使无线通信设备具有发现“频谱空穴”并合理利用的能力,所谓“频谱空穴(Spectrum Holes)”就是在空域、时域和频域中出现的可以被利用的频谱资源。认知无线电自出现伊始,就受到国内外的强烈关注。IEEE专门组织了两个重要的国际学术会议IEEE CrownCom和IEEE DySPAN交流认知无线电方面的成果,许多国际期刊如IEEE的重要刊物也都组织了关于认知无线电、动态频谱接入的专辑。此外,对于实验验证系统的开发,目前已有多个实验系统正在开发之中,例如:德国Karlsruhe大学提出的频谱池系统、欧盟的E2R项目和DRiVE/OverDRiVE项目,美国加州大学伯克利分校

4、研究组开发的CORVUS系统、美国乔治亚理工学院宽带和无线网络实验室提出的OCRA项目 、美国军方DARPA的xG项目以及正在标准化的全球首个基于认知无线电技术的无线区域网标准IEEE802.22等。这些系统的开发,能够很好的验证认知无线电的基本理论,推动认知无线电关键技术的发展,并对在认知无线理论、频谱感知、数据传输、网络架构和协议设计等方面技术问题的进一步地完善提供宝贵的研究成果。国内关于认知无线电的研究从2002开始,电子科技大学、北京邮电大学、北京交通大学等多所高校及一些科研机构纷纷投入到该项目的研究中。2005年,国家“863”面向“十一五”快速启动引导课题资助了“认知无线电技术研究

5、”项目,电子科技大学、西安电子科技大学和西安交通大学联合开展了对认知无线电技术的研究并取得了一些成果。2009年初,国家高技术研究发展计划 (863计划) 在信息技术领域设置了 “频谱资源共享无线通信系统”重点项目,北京交通大学和国内的其它一些高校、科研机构及生产厂商都参与到这个项目,电子科技大学等四家单位正在联合研制原型系统。国家863计划“频谱资源共享无线通信系统”重点项目的研究目的,是突破频谱资源共享无线通信系统的关键技术,研究与现有系统共存的宽带无线通信系统;进行频谱资源共享无线通信系统的应用研究,并在698806MHz 频段进行演示验证;建立动态频谱共享系统的测试评估体系和相应的测试

6、方法,并进行系统级关键技术的测试评估。为无线通信多系统的融合与创新发展奠定技术基础,并为我国参与相关技术的国际标准化,特别是参加WRC 2011 提前做好准备。整个项目的研发分为六个课题:课题1为动态频谱资源共享宽带无线通信系统验证网络开发;课题24为支撑动态频谱资源共享的新技术研究;课题5为动态频谱资源共享技术评估与测试研究;课题6为动态频谱资源共享技术标准与应用研究。项目中的子课题5:“动态频谱资源共享技术评估与测试”为上海无线通信研究中心负责,北京交通大学协作研究的课题。本软件平台设计的总体目标是建立动态频谱共享系统MAC层和应用层优化算法的测试评估体系和测试方法,并提供可视化的操作界面

7、,方便用户进行仿真测试,为我国无线通信多系统的融合与创新发展奠定技术基础。1.2 平台设计目的认知无线电MAC层与应用层仿真平台提供用户可自定义的外部参数(各个节点的感知能力;接收信噪比;误警概率、漏警概率;主用户行为等)和所嵌入算法的运行参数接口,用户可以在界面上输入相应的运行参数。在所有的数据输入和外部条件完全一致的情况下,比较不同优化算法在仿真平台的MAC层及应用层上的运行情况,对这些算法的各项性能指标进行比较,评价各种算法在不同仿真环境下的优劣及性能。1.3平台设计环境:GUI操作界面:采用QT4及Eclipse+JDK在Ubuntu下开发MAC层及应用层模块:采用ns-2.31和VC

8、+6.0开发 第二章 MAC层仿真系统设计方案2.1 集中式MAC层仿真平台集中式MAC层平台的基本特点是小区中心有一个固定基站或者叫固定节点,其他移动节点分布在基站周围。中心节点负责各种信息的管理和调度以及通信中转,移动节点可能会负责收集信息、执行指令,也会有自己的通信需求。集中式网络类似与蜂窝网络,就是利用基站控制节点的通信及各种信息。这种网络管理方便,用户节点构造也相对简单且入网灵活。本仿真平台中的集中式MAC层仿真平台的系统模型如下:图 1 集中式MAC层仿真平台系统模型这是一个典型的次用户小区,其中有一个基站节点和五个CR移动节点。如果节点之间想要通信,必须首先向基站节点发送信道请求

9、。在基站返回可用信道之后,使用该信道与目标节点通信。基站定期的根据感知调度算法向周围节点广播感知任务,告知每个节点所要感知的信道。节点在执行信道检测之后,将相应的感知结果返回给基站。基站会集中对信道的可用性进行判决,并根据结果维护可用信道列表,未知信道列表等表项。在下一个感知阶段开始时,根据这些表项重新发送感知任务。如果某节点有通信请求,基站就会通过指令给这个节点指派一个可用信道。从细节上看,集中式MAC层仿真环境必须建立一下几个功能模块:2.1.1基站MAC层模块基站部分MAC主要有三方面的主要功能,即数据传递、信道分配和感知调度。相应地,就有三个功能模块来实现这些功能。图2仿真平台MAC层

10、基站部分功能模块各个模块的具体功能详述如下:l 数据传递模块 :负责上下层普通数据包和路由等信息的传递与处理。l 信道分配模块 :负责从感知调度模块中获取可用信道列表。如果通信节点有与其他节点的通信需求并向基站发送信道申请,该模块负责分配可用信道。如果检测到主用户出现,则向正在利用该信道的通信节点重新发送信道分配指令,使通信节点进行信道切换。基站的信道分配模块会从所维护的可用信道列表中选取新的可用信道分配给通信节点节点。l 感知调度模块 :在一个时隙内,根据特定的感知调度算法算法给每个待检测信道分配检测节点个数和节点ID。2.2.2节点MAC层模块CR节点部分的MAC层平台主要的功能也有三项:

11、数据传送、信道切换和感知信息交互,分别由以下三个功能模块实现,见图3:图 3 检测节点部分功能模块各个模块的具体功能详述如下:l 数据传递模块:负责上下层普通数据包的传递与处理。l 信道切换:同基站进行交互。第一次通信时会向基站发送信道申请,然后进行通信。如果收到基站的信道切换执行,则会向物理层发出信道切换指令,指示做出信道切换动作。l 感知信息交互模块:该模块有两个功能:第一,从基站接收感知调度指令。第二,根据感知调度指令,指示PHY进行实际感知,然后将物理层反馈回来的感知结果告知基站。2.2.3定时器模块在任何一个仿真平台中,定时器模块是必不可少的。在离散事件驱动式仿真器NS2中,它负责在

12、固定的时间之后启动或终止某个事件等。一个很明显的应用定时器的例子就是上文提到的感知任务分发事件。在本平台中,每隔5s,基站的感知任务分发定时器就会启动,向小区内的所有节点广播感知任务,如图4所示:图4 感知任务分发与上交过程当定时器到时,将会启动感知任务分发程序,基站节点使用sendInfoDown函数定时的向各个节点广播各自的感知任务(需感知的信道)。在CR节点接受到任务信道以后,各个节点开始感知目标信道,使用sendInfoUp函数将相应的感知结果返回基站。2.2平台具体实现2.2.1集中式MAC层平台的C+类有了仿真平台的功能描述,我们可以来详细设计MAC仿真平台的C+代码部分。我们针对

13、基站式MAC仿真平台设计了一个C+类,下面是一些主要的函数和变量:class BJTUmac : public Macpublic :BJTUmac();BJTUmac();void sendInfoUp();void sendInfoDown();void sendChanRA();void sendACK();void send();void recv(Packet* p, Handler* h);int UnknownChanAllo(int i); int ChanAllo(int i); double ChanSNRGenerate(); void AvailJudge(int i)

14、; int GetChanSNR();protected:BsAckTimer BsAckTimer_;AsAckTimer AsAckTimer_;SensingTimer SensingTimer_;void BsAckTimerHandler();void AsAckTimerHandler();void SensingTimerHandler();int NodeID;int ChanToSense_NODE_NUM; int AvailChanTableCHAN_NUM; int UnknownChanTableCHAN_NUM; int BusyChanTableCHAN_NUM;

15、 double ChanSNRCHAN_NUM; private:int First; int mytaskchanid; int chansnr; int SsAckFlag; int CommChan; ;该类是MAC层平台的主类,位于BJTUmac.cc文件中。定时器和其他辅助类在这里就不再赘述。2.2.2模块主要函数和应用样例上一节中所提到的六个功能模块,在这里用多个函数组合实现,其中:数据处理模块:send()函数和Recv()函数信道分配模块:ChanAllo()函数感知调度模块:UnknownChanAllo(),AvailJudge(int i),CalculateUn(),

16、CalculateChanLR()函数 信道切换模块:BJTUmac:Recv()函数 ,Channel:Recv()函数 感知交互模块:SendInfoUp(),SendInfoDown()函数 假如某个信源节点已经和信宿节点连接成功,并开始发送数据包。则其数据下行过程传输如下:图5 某节点的数据下行过程数据包具体的下行过程是这样的:1.BJTUmac:recv()函数从LL层获取到数据包,并判断数据流向。2.如果发现数据包的“流向”一栏关键字表示流向向上,则返回LL层。否则调用Downtarget-recv()函数,以使PHY层进行接收。3.此时系统需要判断这次通信是否是首次发送。如果是,

17、则向基站发送信道请求(BJTUmac:sendChanRA()并将基站反馈回来的的信道存储。如果不是,则使用存储的信道,调用WirelessPHY:recv()/wirelessPHY:send()函数发送至信道Channel:recv(),通过该函数将数据包发送出去。再假如,如果需要对某感知调度算法进行评估,可以将感知调度算法具体成代码指令,填充到UnknownChanAllo() ,AvailJudge(int i), CalculateUn(), CalculateChanLR()等几个函数:然后进行下面这个流程:图6 MAC层平台下感知调度算法的函数调用流程下面是具体的流程说明1. B

18、JTUmac:UnknownChanAllo()函数根据基站维护的未知信道列表选择所有未知信道ID和对应的责任CR检测用户表项,交给BJTUmac:SendInfoDown()2. BJTUmac:SendInfoDown()函数把收到的表项通过广播的形式下发。3. CR节点通过BJTUmac:recv()函数接收到表项以后提取自己ID对应的目标检测信道。通过对主用户模型的对应查找(模拟感知行为)到目标信道的能量值。将该能量值通过BJTUmac:SendInfoUp()函数4. BJTUmac:SendInfoUp()函数把目标检测信道的能量值反馈给基站。5. 基站的BJTUmac:recv(

19、)函数负责接收能量值并传递给BJTUmac:CalculateChanLR()函数。6. BJTUmac:CalculateChanLR()函数通过收集到的各个节点反馈回的能量值计算对应信道的信道似然比,交予BJTUmac:AvailJudge()函数进行可用性判断。7. BJTUmac:CalculateUn( )函数根据信道似然必计算下一轮感知所需的具体信息,供下一轮的BJTUmac:UnknownChanAllo()函数调用。第三章 应用层仿真系统设计方案3.1 应用层实时视频传输仿真平台架构如图7所示:JM编码器读入YUV视频测试序列并进行编码,将编码后得到的发送的帧序号,包序号,包类

20、型,包大小,AMC模式送入NS2传输层TFRC模块,再由传输层发送到MAC层。发送节点的MAC层在发送数据包前读取接口子层信息,将当前信道的信噪比和发送速率通过接口发送给传输层,再由传输层发送给JM编码器,编码器收到传输层发送的底层信息后进行下一帧的编码。接收节点的MAC层接收到数据分组后再通过接口将确认的帧序号,确认的包序号,对应序号包的接收情况发送至JM解码器。JM解码器就可以进行实时解码。待整个测试序列都传输完毕后,将测试序列和解码后的恢复序列送至评估模块进行主客观的评价(PSNR和MOS比较)。误码率和延时这两个仿真输出参数通过NS2仿真的输出文件*.tr中分析得出。图7 认知无线电应

21、用层仿真平台框架图3.2 NS2中实时视频传输的实现原理在NS2中传输的数据是一个被标记了长度的抽象数据分组,因此仿真需要将视频数据中的包长度信息提取出来,并且按照视频帧率的时间要求定时将这些抽象分组单元发送到传输层及下面的网络中。故在将视频源引入认知网络前首先让视频源文件通过解析程序变成抽象分组(在编码器中实现):因为虽然选用了编码形成RTP包的形式,但在JM软件编码器中形成的是视频编码文件,为了区分分组与分组的间隔,在每个封装的RTP分组前面提供8字节的NAL封装头,其中4个字节指示了该数据分组的长度,另外4字节指示时间戳信息。这样依据这8个字节就能区分出数据分组之间的隔断(如图8所示),

22、图8 RTP包格式在NS2中,根据外部的跟踪文件traffictrace类产生业务,跟踪文件的每一个记录应包含两个32位的信息:第一个信息是产生下一个包的间隔时间;第二个信息是下一个包的字节数。因此,为了实现H.264数据在仿真的认知网络中传输,首先要从视频中解析出包长和包产生时间两种信息,并依据提取信息生成符合traffictrace类要求格式的跟踪文件,依照文件信息在应用层上相应产生数据分组。根据上面叙述的原理,以编码器编码后的输出*.264为解析源,在Visual C+环境平台下修改编码器,编写基于H.264的解析程序,提取NS2传输需要的信息,解析程序流程图如图9所示。图9 视频解析程

23、序流程图解析得出的视频源信息分组送入NS2的应用层traffictrace,作为认知网络的视频源进行传输。至此本测试使用编码器产生的信息分组做为H.264的抽象视频源送入NS2的认知无线网络模拟环境中。但是依照测试的要求,当前帧传输结束后还必须要能够辨识出被丢弃的数据分组并在实时解码过程中摒弃这些丢失分组数据。在NS2中,默认情况只能从trace文件中分析出具体哪个数据分组丢失了。为了能够方便的进行数据装载,需要将发送和接收到的数据包记录信息发送至解码器,解码器在传输后进行实时解码。为了支持这些记录生成,需要在传输层TFRC协议中增加一些command()函数和成员变量。这样在NS中传送实时视

24、频就能把想要的信息一一发送给解码器处恢复视频。网络模拟传送数据分组每帧结束后,解码器会实时根据传输测情况,根据视频源文件信息进行实时解码。至此就可以得到经过模拟认知网络传输后的H.264视频帧了。通过实时视频播放器,就能看到传输解码后的视频序列了。第四章 平台正确性验证平台搭建完成以后,必须保证平台的正确性,这样才能保证仿真的结果是准确的。验证一个平台或者协议的正确与否,最直观和最常用的方法是对经典的算法进行仿真。如果得出的结果和理论结果或者与其他形式得出的仿真结果一致,那我们就可以判定这个平台是正确的。但是,由于认知无线电是新出现的技术而且实际应用中涉及的层面从物理层到应用层一应俱全,很难找

25、到一个合适的经典算法来验证整个平台的正确性。鉴于本MAC层平台的评测对象是一个MAC层感知调度算法,我们选择了经典的也是最简单的感知调度算法ATO算法。所谓感知调度,就是在一个时隙之内,调度某个或某几个节点去检测某个信道从而获取信道占用等信息。ATO算法的思想是所有CR节点在一个时隙内只检测一个信道,检测的顺序依照信道编号。这样,如果需要检验完N个信道,就必须进行N个时隙的感知。假设有M=100个信道,其中30个可用且均匀分布。N=100个CR节点,误警概率、漏警概率分别为0.01,接收信噪比为-5db。根据ATO算法的思想我们进行理论分析可知,ATO算法需要在至少100个时隙时才能完全检验出

26、来这100个信道的状态信息。根据30个可用信道均匀分布的条件,我们可以推测出ATO算法在100个时隙左右时才能检测出这30个可用信道,且检测性能曲线(横轴为时隙,纵轴为可用信道数)应约为直线。另外,根据ATO算法的思想,很容易用Matlab工具就能得出上述假设下的结果。下图是Matlab工具实现ATO算法的结果:图 10 ATO算法的Matlab结果可以看出,Matlab的仿真结果与理论基本一致。下面给出用本平台MAC层仿真平台得出的结果:图11 ATO算法的MAC层平台仿真结果对比图10和图11可见,ATO算法在两种平台下的仿真结果基本一致,和理论分析也完全相同。由此可以说明,本MAC层仿真

27、平台是基本正确的。可以用于MAC层的仿真评测工作。第五章 评估测试及性能指标5.1 评估指标5.1.1 MAC层评估指标一般情况下,衡量MAC协议优劣的主要指标有:l 延迟:一个数据包从信源节点发出到信宿节点收到所耗费的时间l 吞吐量:系统在单位时间内传输的数据量。l 丢包率:仿真开始到结束某条链路上的丢包数目和总体包数目之比。l 传输效率:协议存在开销。稳定、较小地开销能让系统传送更多的数据。此外,由于认知无线电MAC层算法的特殊性,还有两个性能指标需要重点关注:l 可用信道数与达到特定可用信道个数所需的时间:在固定的信道数和检测门限之内所检测到的可用信道个数,以及检测到特定可用信道个数时所

28、消耗的时间。5.1.2 应用层评估指标l PSNR计算最简单的客观评价方法就是均方误差(MSE)和峰值信噪比(PSNR)法。MSE 和 PSNR 运算简便, 物理含义明确, 应用也最为广泛。 MSE 和PSNR 是由ITU-R 视频质量专家组(ITU-R VQEG)规定的技术参数,用来衡量视频序列的失真程度。 该评价方法运算简单易行,但仅从参数取值的角度进行质量评估,由于 MSE 取值对误差进行简单的累加方式与主观判断图像损伤的方式有显著不同, 导致该评价方法所得结果与主观评价结果可能出现较大差异,不能准确反映视频业务的服务质量。比较不同算法的PSNR。通过PSNR来客观体现算法优化效果。其中

29、 MSE为原始和编解码后图像之间的均方误差,为图像种最大可能的信号值平方,n表示每个像素的比特数。l MOS主观评价视频质量评价法可分为主观评价法和客观评价法两类。目前,视频主观评价法已制定了标准,它是指在受控的测试环境下,将待评价的视频文件播放给评价者观看,并记录他们的打分,然后对所有评价者的打分进行统计,得出平均分(MOS )作为评价结果。通常采用 5分制来表示视频质量的好坏,如表 1所示。表1 视频主观评价标准得分视频质量分级视频损伤分级5优不能觉察4良好能觉察但不讨厌3可以能明显觉察但不讨厌2差明显觉察,令人讨厌1很差极其明显,很讨厌5.2 评估测试使用认知无线电MAC层和应用层仿真平

30、台可以分别对MAC层和应用层的协议、算法进行仿真测试,下面仅分别列出2个测试结果5.2.1 MAC层算法检测性能对比测试感知调度算法最终的任务是确保在特定时间内检测出来的可用信道最多,而所用的协作节点最少(或者说代价最小)。因此此条目是检测感知调度类型的算法最重要的一条,也是最有说服力的一条。在特定时间里检测到的可用信道数目越多,算法性能越好;另一个角度来看,在发现可用信道数目相同时,所消耗的检测时间越短,算法性能越好。输入2:满足系统要求的最大延时,x轴输入4:误警概率固定。输入5:漏警概率固定。输入6:次用户数目固定。输出2:输出检测所得的可用信道数目随检测时间变化而变化的性能曲线。测试结

31、果如图12所示12 ACSS和对比算法ATO和PCSS的检测性能由图可知ACSS在检测刚开始时检测效率很高,在第一个时隙时比对比算法高出约40%46%,这是由于:一方面,ACSS算法通过对信道似然比队列进行排序,越容易检测到的信道越优先检测,因此检测速度较快;另一方面,ACSS通过漏警、误警概率计算Ui,可以使多个信道都得到检测。但是,ACSS是一种对节点检测资源最佳有效利用的逼近和近似,而不是PCSS和ATO算法那种对资源的过度消耗,也导致最终检测到的信道数比PCSS和ATO算法少约4%6%的可用信道数。5.2.2 应用层算法测试传输层输入参数:分组大小 1800 (具体值与传输网络的网络单

32、元有关)时延门限 0.1s(一般被认为是人眼难以觉察的时延)主观MOS评价:传输前的原视频序列图像,传输后RDO对比算法、优化算法如下图所示;图13 原视频序列帧14图14 RDO对比算法 图15 跨层控制优化算法PSNR结果:对比RDO算法和跨层控制优化算法的PSNR结果如下图所示(红色部分是RDO算法,绿色部分是跨层控制优化算法):图16 RDO算法和跨层控制优化算法的PSNR对比结果图第六章 图形用户操作界面为方便用户使用软件进行仿真测试,平台设计了相应的图形用户的操作界面以便用户进行仿真测试。图17是软件的登录界面,输入用户名(bjtu)及密码(123456)即可进入认知无线电的场景配

33、置界面。图17 仿真平台登录界面图18场景配置界面场景配置界面(如图18所示)配置场景和动画演示,点击配置场景进入认知无线电的场景配置,在界面菜单中选择新无线场景,对无线节点的位置及参数进行配置,如图19:图19 节点坐标及参数配置配置好节点坐标及参数后点击产生TCL脚本,产生节点坐标信息,将生成的场景中的节点坐标保存成文本文件*.tcl(保存文件名需按照一定的规则:scen-检点数n-速度km,例如20个节点速度0km,命名为scen-20n-0km.tcl),保存路径必须是工程可执行文件所在的目录。退出节点坐标配置界面后进入MAC层参数配置,在相应栏位输入相应的仿真参数,点击“确定”,生成TCL脚本文件,再点击“执行仿真”即可进行MAC层的仿真。MAC层配置界面如图20所示。图20 MAC层配置界面点击“应用层”可对应用层仿真结果进行主客观评价,如图21所示,点击“打开播放器”,即可使用YUV视频播放器进行播放,点击相应仿真参数下拉菜单下的视频文件名,即可查看视频文件的PSNR指标图21 应用层主客观评价界面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号