向ns2中添加uiuc的Channel、Physical、Propagation三个模块

来源:互联网 发布:林心如怎么样 知乎 编辑:程序博客网 时间:2024/06/05 01:54
根据《Modeling the Underwater Acoustic Channel in ns2》将uiuc的代码整合进ns-2.34代码中,验证论文实验结果;
以前并无添加,Channel、Physical、Propagation等model的经验,所以参考另外一篇文章《Understanding the implementation of IEEE MAC 802.11 standard in NS-2》,这篇文章介绍了向ns2添加MAC 802.11标准实现的过程。
1.总体结构
对于单个节点所包括的组件,自底向上可以分为以下:
(1) Channel:底层信道模块,本实验主要是放置于 ~/ns2.34/mac/underwater{.h,.cc}文件中UnderwaterChannel类,继承自Channel类(channel{.cc,.h}文件中);
(2) Network Interface(netif):物理层模块,主要是放置于~/ns2.34/mac/underwater-phy{.h,.cc}文件中UnderwaterPhy类,继承自Phy类(phy{.cc,.h}文件中);
(3) Propagation Model:传输模块,主要是放置于~/ns2.34/mobile/underwater{.h,.cc}文件中Underwater类
(4) Media Access Control(MAC):未涉及
(5) Outgoing Queue:未涉及
(6) Link Layer:未涉及
(7) Network Layer:未涉及

2.修改配置
在~/ns2.34/tcl/lib/ns-default.h文件中添加phy变量

Phy/UnderwaterPhy set CPThresh_ 10.0
Phy/UnderwaterPhy set CSThresh_ 20.0
Phy/UnderwaterPhy set RXThresh_ 30.0
Phy/UnderwaterPhy set bandwidth_ 2e5
#pt_ less than 120 please
Phy/UnderwaterPhy set Pt_ 97
Phy/UnderwaterPhy set freq_ 914e+6
Phy/UnderwaterPhy set L_ 1.0 

3.运行结果
通过修改普通脚本的Channel, Propagation, Phy模块进行验证。

未完待续。。。
Segmentation fault
原创粉丝点击