全双工无线通信在ns3上的实现

来源:互联网 发布:图巴科维奇 知乎 编辑:程序博客网 时间:2024/05/22 00:25

全双工无线通信在ns3上的实现(资料整理)

  本文简单介绍一种全双工通信的ns3实现。作者在ns-3.20中的wifi模块的基础上,实现了全双工模块fdwifi,从而全双工无线通信可以在ns3上验证。

注意:由于fdwifi模块是ns3.20中wifi模块的扩展,所有只能保证其在ns3.20版本上正常编译运行。

此全双工版本的ns3实现步骤如下:
  1. 下载ns-3.20,解压包;
  2. 从git(ns3-fdwifi)上下载作者的源代码(ns-3-fdwifi-master.zip);
  3. 解压包ns-3-fdwifi-master.zip,将ns-3-fdwifi-master/src下的三个文件拷贝到ns-3.20/src的目录下,选择“合并”,将ns-3-fdwifi-master/scratch下的fdwifi文件夹拷贝到ns-3.20/scratch目录下;
  4. 到ns-3.20目录下进行编译;

  这样就搞定啦~这个版本的全双工实现并没有包含很多示例程序,准确的说,只有一个,就是scratch文件夹下的fdwifi,那么怎么运行这个程序呢?

如何运行示例程序
  1. 到ns-3.20的”scratch / fdwifi”目录下:
    cd ~/ns-allinone-3.20/ns-3.20/scratch/fdwifi/
  2. 通过具体化参数进行仿真,例如,进行4个节点的仿真,执行如下的命令:
    ./waf --run "fdwifi --nodeAmount=4"
    当然,你也可以查看更多可修改的参数,通过下面的指令可以显示可修改的仿真参数:
    ./waf --run "fdwifi --help"
    程序运行结果存放在ns-3.20下新生成的文件data-run-xxxxxxxxxx.sca,查看结果的命令如下:
    cat ../../data-run-xxxxxxxxxx.sca
    注意: Numbers are entered in xxxxxxxxxx(yours)
  3. 通过脚本进行仿真,执行以下命令:
    sh script-sim.sh
    sh script-db.sh
    执行了脚本后,将产生四个文件,分别是:

    • Throughput.data: Throughput when data of 1500 [Byte] is transmitted 1000 times
    • Collision.data: Collision rate of primary and secondary transmission
    • Fullduplex.data: Incidence of secondary transmission to primary transmission
    • Delay.data: the time from when a packet is generated until it is received by the final destination node

   用cat指令查看结果,例如:
   cat Throughput.data

详细内容请参考:
  1. Implementation of full-duplex communication on ns-3 - Software Defined Laboratory
  2. Full Duplex Media Access Control for Wireless Multi-hop Networks
0 0
原创粉丝点击