Chinaunix首页 | 论坛 | 博客
  • 博客访问: 102939
  • 博文数量: 35
  • 博客积分: 1845
  • 博客等级: 上尉
  • 技术积分: 394
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-17 17:06
文章分类

全部博文(35)

文章存档

2013年(2)

2012年(2)

2011年(24)

2010年(3)

2009年(4)

我的朋友

分类: 项目管理

2010-08-12 21:51:12

1.threshold作用

ns手册上说:

在一些应用程序中,用户希望指定无线节点的通信范围。Ns 中可以在网络接口中通过设定接收阈值来指定通信范围,比如:

Phy/WirelessPhy set RXThresh_

 一个单独的 C 程序被用来计算接收阈值,程序是:~ns/indep-utils/propagation/threshold.cc。这个程序适用于本章讨论的所有传播模型。 假定此程序已经编译过得到一个可执行的文件, 命名为 threshold。你可以按照如下方法来计算阈值:

threshold -m [other-options] distance

可以是 Freespace、TwoRayGound 或 Shadowing; distance 就是通信范围(单位:m) ;

[other-options]用来指定一些参数,                                          

有一个必要的参数即:   -r 而不是默认的参数值。 对于 Shadowing 模型,这个参数指定了在 distance 距离下正确接收的速率。因为在 Shadowing 模型中,     通信范围不再是一个理想的环,   所以在[29]中采用反向 Q 函数(inverse Q-function)来计算接收阈值。举例来说,如果希望在距离 50m 的地方能正确接收 95%的数据包,你可以按如下方法计算阈值:

    threshold -m Shadowing -r 0.95 50

    [other-options]中的其他值如下:

     -pl

     -std

     -Pt

     -fr

     -Gt

     -Gr

     -L

     -ht

     -hr

     -d0

 

2.编译threshold

直接g++ -o threshold threshold.cc会抱错误,需要修改原文件的头部声明
修改如下:
 
#include
 
#include
#include
#include
using namespace std;
 
原文:
 
ps:显示的结果
[root@localhost propagation]# ./a.out -m Shadowing -r 0.95 50
distance = 50
propagation model: Shadowing
Selected parameters:
transmit power: 0.281838
frequency: 9.14e+08
transmit antenna gain: 1
receive antenna gain: 1
system loss: 1
path loss exp.: 2
shadowing deviation: 4
close-in reference distance: 1
receiving rate: 0.95
Receiving threshold RXThresh_ is: 1.69063e-08
阅读(1181) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~