Qualnet仿真实验问题探讨.课件_第1页
Qualnet仿真实验问题探讨.课件_第2页
Qualnet仿真实验问题探讨.课件_第3页
Qualnet仿真实验问题探讨.课件_第4页
Qualnet仿真实验问题探讨.课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Qualnet仿真实验问题探讨报告人:王树义 学号:2004204253 指导教师:舒炎泰 教授第1页,共59页。概述从上个学期,我开始利用Qualnet仿真工具进行无线ad-hoc网络公平性的研究。通过利用Qualnet完成pause机制的实现,我从中获得了不少有益的经验。当然,其中也遇到了许许多多的问题,其中的大多数问题后来经过老师、师兄以及Qualnet社区论坛技术支持人员的帮助,获得了圆满的解决。现在,使用Qualnet来进行仿真的同学越来越多,我今天通过自己学习仿真工具过程中遇到的实际问题,把一些经验拿出来与大家分享。第2页,共59页。本讲稿分为以下部分:物理层参数设置问题Qualn

2、et仿真的脚本自动化运行问题不同版本Qualnet的兼容性问题如何获得帮助第3页,共59页。本讲稿分为以下部分:物理层参数设置问题Qualnet仿真的脚本自动化运行问题不同版本Qualnet的兼容性问题如何获得帮助第4页,共59页。物理层参数设置问题相对于ns-2, Qualnet的特色在于能够对于物理层参数进行设置,从而更加真实地反映现实情况,提高仿真的可信度。然而,由于我们在仿真过程当中,所依据的理论模型有其自身特性,因而在仿真过程当中需要特别注意对于底层参数的调整,以便获得符合要求的初始环境。第5页,共59页。图形界面物理层参数设置第6页,共59页。图形界面物理层参数设置第7页,共59页

3、。图形界面物理层参数设置第8页,共59页。理论模型 != 系统预设模型在进行理论的推导过程中,为了研究的便利,对于某些细节,我们往往采取理想化处理。在无线ad hoc网络公平性研究当中,无论是最初NRED机制还是后来的pause机制,我们一直将节点的传输距离与其干扰距离设定为同样的值。第9页,共59页。Pause机制的场景图第10页,共59页。上图的说明The channel bandwidth is 2Mbps, and channel propagation mode is the two-ray ground reflection model and transmission range

4、 is 367m. IEEE 802.11 MAC DCF is adopted,TCP NewReno is used with Maximum Segment size 512 bytes.The minimum and maximum queue size thresholds are set to 5 packets and 15 packets. The queue weight is 0.002 and the maximum drop probability is 0.02第11页,共59页。传输距离=干扰距离的意义如果每一个节点的传输距离与其干扰距离相同,那么,所形成的效果应该

5、是两边的流一同与中间的流竞争信道资源。其结果如下图所示:第12页,共59页。理论上不公平的结果第13页,共59页。传输距离的影响因素在ns-2中,这个问题只需要一个显式表达式就可以了,因为ns-2根本无需设置物理层参数。然而,在Qualnet当中,无论是传输距离,还是干扰距离,都不是显式设定的,而是通过配置文件当中,一系列的参数共同作用决定的。这些参数包括:transmitter power, antenna gain, pathloss model, 接收阈值, 天线距地表高度第14页,共59页。仿真获得的比例结果对于初始的系统默认值,节点的传输距离与其干扰距离之间并不是1:1的关系,而是1

6、:x,这个x不是一个固定值,无法精确测量,我们通过多次仿真验证,在传输距离为367米的时候,这个x超过2,也就是说,不但相邻的流之间会产生干扰,即便两端的流,依然会发生信道竞争,这样的后果是仿真结果与我们的预期大相径庭。第15页,共59页。RED, sim time=150s, seed=1第16页,共59页。RED, sim time=150s, seed=2第17页,共59页。RED, sim time=150s, seed=3第18页,共59页。RED, sim time=1500s, seed=1第19页,共59页。RED, sim time=15000s第20页,共59页。问题的解决

7、步骤那么,以这个具体问题为例,如何来获取我们预期的效果呢?这就需要搞清楚Qualnet的传输距离计算方法,以及如何判定是否会造成干扰的流程。在这里,给大家推荐一篇陈海明师兄的相关专题报告:Radio Range Computation with 802.11 Physical Layer Model in Qualnet第21页,共59页。正确传输的判定这篇报告当中说明了Qualnet当中信号发送与接收的流程。可见,Qualnet并没有显式地设定传输距离的大小,而是由接收方自己判断能否正确接收到信号。这种仿真真实程度很高,但也给我们设定所需要的模型提出了挑战。我们需要注意到,信号能否跨过设定的

8、门槛是传输距离与干扰距离设定的关键。第22页,共59页。问题的解决步骤由此,我们就可以找到问题的症结,我们可以提高“门槛”,就是如果收到的信号不能正确接收,干脆就不要。这就需要将PROPAGATION-LIMIT与 sensitivity设置成与PHY802.11b-RX-THRESHOLD相同。这样一来,传输距离和侦听距离自然就与干扰距离等同。经过这样的改动之后,我们立刻获得了预期的仿真效果:第23页,共59页。No pause Overall Throughput第24页,共59页。No pause Instant Throughput第25页,共59页。ANTENNA-HEIGHT的歧义

9、我一直将ANTENNA-HEIGHT当成了天线长度,通过调节它来调整传输距离。经过radio_range程序的测量,确实起到作用。但是,我一直不明白为什么这个值以meter作为单位,因为在实验当中,我们用到的天线很短。第26页,共59页。实验中的网卡天线第27页,共59页。ANTENNA-HEIGHT的歧义后来,经过Qualnet社区论坛的技术支持人员讲解我才明白,这个ANTENNA-HEIGHT指的是人手持移动设备的时候,天线距离地面的平均高度。所以才是一个meter为单位的数量,原先的认识是误解。第28页,共59页。天线长度如何表达?Qualnet当中天线长度并不是一个单独设置的变量,直接

10、通过transmitter power的设置,就可以影响传输距离的大小。由于我前面的改动当中,门槛提高,所以radio_range变小,如果令传输距离为367m的话,那么对应的PHY802.11b-TX-POWER应该相应调高,本仿真中取值为18.5第29页,共59页。更改后的config第30页,共59页。本讲稿分为以下部分:物理层参数设置问题Qualnet仿真的脚本自动化运行问题不同版本Qualnet的兼容性问题如何获得帮助第31页,共59页。Qualnet仿真批处理对于仿真,一次运行获得的结果说服力不大,至少需要变换SEED值,重复若干次,获得平均值与置信区间。而且有的时候,为了对比不同

11、参数带来的影响,我们需要对某个或者某几个参数进行调整,多次运行方针。如果这些都在图形界面下手动去调整的话,工作量是不可想象的,这就需要我们利用Qualnet的批处理功能来完成。第32页,共59页。Batch Experiment Setup第33页,共59页。图形界面批处理注意事项:Qualnet当中提供的批处理功能主要针对XML文件提供的场景配置,如果已经生成.config文件,使用Run Canned进行调用,这时批处理功能不稳定。在有些情况下可以使用,但是,生成的数值序列很古怪,含有多个非整数值。有的时候根本无法使用,而且不报错,这一点请使用者多留意。第34页,共59页。Run Cann

12、ed第35页,共59页。Run Canned batch before calculate第36页,共59页。Run Canned batch after calculate第37页,共59页。Qualnet的“自动化”前面的批处理功能是Qualnet本身提供的,对于某一个参数多个值的调整很有效。但是如果我们打算让多个参数调整,在图形界面之下无法一次性完成设置,需要等一次批处理完成之后,手动修改参数,再运行新的批处理,这样效率依然不高,而且比较麻烦。第38页,共59页。Qualnet的“自动化”由于Qualnet可以生成.config文件,可以使用命令行方式执行,所以我们可以借助shell脚本

13、,实现Qualnet的自动化参数调整。编写一个或多个脚本,执行之后,最后可以反馈给我们的是分析之后的数据结果以及生成的图形甚至报告。第39页,共59页。图形脚本生成利用bash script与gnuplot等工具,可以自动运行多次仿真,并且分析仿真结果数据后自动生成我们需要的图形,并包括误差范围等项。下面展示几个由脚本生成的pause机制作用下的结果图形:第40页,共59页。Pause time=1s, ratio=0.1第41页,共59页。Pause time=2s, ratio=0.1第42页,共59页。Pause time=3s, ratio=0.1第43页,共59页。Pause tim

14、e=4s, ratio=0.1第44页,共59页。“自动化”的工具这些分析工具确实对于我们使用仿真软件有十分重要的意义,所以我在此罗列一下:SedgawkbashShell Script.但是由于这部分内容不属于Qualnet本身,这里就不再赘述了。第45页,共59页。本讲稿分为以下部分:物理层参数设置问题Qualnet仿真的脚本自动化运行问题不同版本Qualnet的兼容性问题如何获得帮助第46页,共59页。Qualnet的版本差异我们实验室购买的Qualnet包括3.6与3.7版,当我第一次试图编译Yeng-zhong Lee发过来的ip.c文件的时候,我发现自己目录下面都是cpp文件。而且

15、,用e-diff对比,可以发现两个文件(ip.c与ip.cpp)差距很大,有许多不同。后来才知道Yeng-zhong Lee使用的是3.5版。即便是3.6版与3.5版,在ip.c一个文件上的差异也有几百处,主要是类型名称的更换以及流程的修改。第47页,共59页。版本间代码维护3.7版使用了面向对象的设计,与前面的版本差异更大,有很多文件在目录树下面存放的位置都发生了变化,例如802.11的mac层代码。这样,为了代码可以向更高版本进行方便的移植以及维护,良好的编程习惯是必不可少的。第48页,共59页。版本间代码维护Yeng-zhong Lee发过来的ip.c文件中,所有的改动部分都用#ifde

16、f TCP_RED 与 #endif括起来,这样便于代码阅读与维护。也正因如此,在不同版本间移植的时候,我们才能清楚地知道哪些代码是版本差异,哪些代码是开发人员自己修改的。第49页,共59页。低版本Qualnet的编译环境另外,不同版本要求的编译环境也不一样。根据我们目前的测试,3.6版在Red Hat 9.0 Linux下面无法正确编译,即便在Red Hat 8.0下面,编译虽然并不报错,但是某些本来支持的协议无法正常使用,例如RED等。第50页,共59页。低版本Qualnet的编译环境在说明文件中,3.6版列举了几个低版本的Mandrake Linux以及Red Hat 7.x Linux

17、可以正常编译使用。所以,使用低版本Qualnet的时候,必须使用相应的系统或者手工调整编译环境(glibc程序库等等)。第51页,共59页。本讲稿分为以下部分:物理层参数设置问题Qualnet仿真的脚本自动化运行问题不同版本Qualnet的兼容性问题如何获得帮助第52页,共59页。Qualnet的帮助文档在哪里?每一个Qualnet正式版本都会附带以下文档:QualNet Product Tour QualNet IDE Product Tour (from v3.7)Qualnet Users manual第53页,共59页。Qualnet是一个商业软件不同于ns-2,qualnet是一个商业软件,其公司有一个用户社区论坛,上面有专人作为技术支持人员对用户提出的问题进行及时解答。根据我们的经验,除了假期之外,平时提出的问题都能在57个工作日之内获得解答。第54页,共59页。Qualnet社区论坛第55页,共59页。Qualnet社区论坛网址:/training_and_support/support/forums/第56页,共59页。源码,最好的文档在任何一个Qualnet教程当中,最后都有一句话:最好的教程就是源代码。大多数源代码备有良好的注释,但是要注意注释位置主要在函数声明之前。第57页,共59页。参考文献Radio Range Computation w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论