Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67463
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2017-04-22 16:11
文章分类
文章存档

2017年(46)

我的朋友

分类: 系统运维

2017-05-16 14:59:39

《simulate 802.11b channel within NS2》 by Wu xiuchao是一篇很好的文章。解答了我的很多困惑,或者老是记不住,记不清的东西。其中包括3个threshold,和这些个thresold的计算 方法(在ns2)中的。而且,我怀疑因为作者是新加坡人的缘故,使得他的写作逻辑和英语对于我来说都是十分的容易,好像在看中文一样。^_^
————————————————————————————————
1 ns2中的传输模型。

1>propagation model 的意义
“propagation model”,在课上学了无数次,考了无数次,直到我需要用它的今天,终于明白它存在的意义了。就像以前说的,天线的作用是发出电磁信号和接收空气中的电 磁信号。根据收到的信号力来确定它收到了什么东西。那么这个信号力是多大呢?人类根据电磁波在不同的环境中的传输情况,概括出3个传输模型,用以预测收到 的信号力的大小(之所以是预测,是因为可能有衰减之类,如果有衰减,那么真实的值应该是围绕在这个预测值周围的一个值。比如 真实值=预测值+/-误差)

2> ns中实现的传输模型
 
   ns中有3个传输模型:Free space
                      Two ray ground
                      Shadowing

3> 这3个传输模型的用途

   Free space model: is used to simulate path loss of wireless communication when line-of-sight path exists between transmitter and receiver.
  这个看起来很简单的概念有一个地方要特别注意,就是这个词“exist”。它说存在,并没有说唯一。可能有其他非 line-of-sight的path存在,也可能有不止一条的line-of-sight path存在。

   Two ray ground: this model is used when line-of-sight path exists and reflection of ground is considered.
   这个模型是free space model的修正版,除了考虑直接的路径以外,还考虑了地面反射

   Shadowing model: simulate shadow effect of obstructions between the transmitter and receiver.
   (没找到shadow effect。google根本没有)不过,知道这个shadowing model用于模拟in-door environment的无线channel就行。

4> 一个扩展模型——Ricean model
    除了ns2原有的3个模型以外,外界又有人对其增加了扩展。一个扩展模型Ricean model用于模拟移动终端运动的effect.

5>ns2中的3个threshold
   CSThresh_:determine whether one frame is detected by the receiver.
             如果signal strength < CSThresh_的话,那么在ns2的PHY就会直接丢掉,MAClayer (ns2里的)连看都看不到

   RxThresh_: 如果signal strength 比这个值大的话,receiver就可以正确的接受他。否则,这个frame会被tagged为corrupted,MAC层会丢掉它

  CPThresh_: When multiple frames are received simultaneously by one mobile node, it calculates the radio of the strongest frame's signal strength to the signal strength sum of other frames. (很好的英语表达法)如果这个比值大于CPThresh_,这个frame会正确接受其他的frame会被忽略。否则所有的frame都会被丢掉,认为是collided.

这里要注意的有2点:1,要用最强的信号力和剩余其他所有信号力的和相比
                   2, 不是相减,而是相除。

6> NS2用threshold来决定一个包是否正确接受,ns2没有考虑BER。那么什么是BER?
wiki对 error rate的解释:“

In telecommunication, an error ratio is the ratio of the number of bits, elements, characters, or blocks incorrectly received to the total number of bits, elements, characters, or blocks sent during a specified time interval.”


这里有3点要注意:1 错误的部分是所收到的错误部分
                 2 正确的部分是发送的正确的部分
                 3这个比值是在一个具体的时间内的。

那么bit error ratio是什么?
“the number of erroneous bits received divided by the total number of bits transmitted”

注意2点:1,比较的单位在这里是“bit”
         2,还是bit的来源问题,收到的错误的bit数除以发送的bit数(而不是除以收到的所有bit数)

7 这篇文章中奇怪的一个地方

这篇文章中有一个地方没有说的很清楚,很奇怪。在“But there are some errors in this simulation script.”的后面他说: firstly, 25meter is the receiving range in closed enviroment.

这个25米出现的特别的奇怪,前面的脚本和文章中都没有提到任何有关的内容。所以我怀疑25是根据它脚本中各个值算出来的一个transmission range。所以我进入ns/indep/propagation/ 用threshold加上它脚本里的各个参数,随后让distance option为25m计算了下。奇怪的是,得到的结果(RxThreshold值)并不是它脚本里给的值(5.82587e-09),而是偏小 (4.71896e-09)。然后我不断的缩小distance,再看计算出的结果和脚本里给的RXThresh_相比较。直到distance 为22.5米的时候,得到的RXThresh_和文中的值一摸一样。我怀疑要么是它写错了,将22.5写成了25,要么就是因为我和作者的ns2的版本不 一样,以至于计算RXThresh_的公式不太一样。前者的可能性好像比较大。

(^_^,都没有错,在本天才孜孜不倦的研究下发现了它的目的。因为这个脚本给出的所有的数据都是真实的Orinoco 11bCard的实际数据。这个25m是这个网卡在closed 环境中的最大的传输距离。所以在closed 环境里的的传输距离只能小于等于25m。这个脚本实际上是用了22.5m作为传输距离计算出一个RXThresh_值。因为22.5<最大传输距离25m,所以这个脚本只能用在closed 环境中。但是如果是closed environment,就不该用two ray ground model。所以作者才说这个脚本有问题。简单的说,这个脚本前后矛盾,它用open 环境的里的propation model来计算closed 环境里的transmission 接受power.如果有人问,你怎么知道这个环境是closed的呢?那么作者说,因为这个网卡在closed环境里的传输距离最大是25米。现在这个脚本里用的传输距离比25米还小,显然这个脚本是用于closed 的环境里的

8> 接受敏感度(receiver sensitivity)在ns中(主要问题是没有考虑BER)

Receiver sensitivity is the received sigal power with which BER is approximately 1.0E-5."

这真是神奇的一句话,我死活看不懂。我的英语水平将这句话翻译成:“接受敏感度是有BER值为1。0E-5的signal power。”。缩一下就是“接受敏感度是signal power”。还好中文网站上说的很清楚:“ 在保证达到所要求的误比特率的条件下,接收所需要的最小输入功率。接收灵敏度一般用dBm来表示,它是以lmW光功率为基础的绝对功率,或写为

    其中,Pmin指在给定误比特率的条件下,接收机能接收的最小平均功率。例如,在给定的误比特率为10的负9次方时,接收机能接收的最小平均功率为InW(即10的负9次方W),接收机灵敏度为-60dBm。



所以,真正的接受灵敏度是在BER一定的情况下,所需要的最小的信号力。如果收到的信号力大于这个最小的值,那么这个信号就可以被cs到。


可是ns对cs的定义和receiver sensitivity有偏差。ns没有考虑BER而是直接设定一个能量power。这样的方法是不准确的。

如果不考虑BER和SNR,用CSThresh_和RxThresh_来决定sense range 和receive range那么问题不会很大。否则,可能会有很大的问题。


阅读(1001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~