NS2的传播模型

 
转载自:http://blog.sina.com.cn/s/blog_9f6279d1010100f7.html
 
1ns2中的传输模型。
1>propagationmodel的意义
“propagationmodel”,在课上学了无数次,考了无数次,直到我需要用它的今天,终于明白
它存在的意义了。就像以前说的,天线的作用是发出电磁信号和接收空气中的电磁信号。根
据收到的信号力来确定它收到了什么东西。那么这个信号力是多大呢?人类根据电磁波在不
同的环境中的传输情况,概括出3个传输模型,用以预测收到的信号力的大小(之所以是预
测,是因为可能有衰减之类,如果有衰减,那么真实的值应该是围绕在这个预测值周围的一
个值。比如真实值=预测值+/-误差)
2>ns中实现的传输模型
ns中有3个传输模型:Freespace
Shadowing
3>这3个传输模型的用途
Free space model: is used to simulate path loss of wirelesscommunication when
line-of-sightpathexistsbetweentransmitterandreceiver.
这个看起来很简单的概念有一个地方要特别注意,就是这个词“exist”。它说存在,并没有说
唯一。可能有其他非line-of-sight的path存在,也可能有不止一条的line-of-sightpath存在。
isconsidered.
这个模型是freespacemodel的修正版,除了考虑直接的路径以外,还考虑了地面反射。
Shadowingmodel:simulateshadoweffectofobstructionsbetweenthetransmitterandreceiver.
(没找到shadoweffect。google根本没有)不过,知道这个shadowingmodel用于模拟
in-doorenvironment的无线channel就行。
4>一个扩展模型——Riceanmodel
除了ns2原有的3个模型以外,外界又有人对其增加了扩展。一个扩展模型Riceanmodel
用于模拟移动终端运动的effect.
5>ns2中的3个threshold
CSThresh_:determinewhetheroneframeisdetectedbythereceiver.
如果signalstrength<CSThresh_的话,那么在ns2的PHY就会直接丢掉,
MAClayer(ns2里的)连看都看不到。
RxThresh_:如果signalstrength 比这个值大的话,receiver就可以正确的接受他。否则,
这个frame会被tagged为corrupted,MAC层会丢掉它。
CPThresh_:Whenmultipleframes are received simultaneously by one mobilenode, it
calculatestheradioofthestrongestframe'ssignalstrengthtothesignal
strengthsumofotherframes. (很好的英语表达法)如果这个比值大于CPThresh_,
这个frame会正确接受其他的frame会被忽略。否则所有的frame都会被丢掉,认为是collided.
这里要注意的有2点:1,要用最强的信号力和剩余其他所有信号力的和相比
2,不是相减,而是相除。
6>NS2用threshold来决定一个包是否正确接受,ns2没有考虑BER。那么什么是BER?
wiki对errorrate的解释:“
In , anerrorratiois the ofthe numberof, , , orblocksincorrectly receivedto the
total number of bits, elements, characters, or blocks sentduringa specified
interval.”
这里有3点要注意:1错误的部分是所收到的错误部分
2正确的部分是发送的正确的部分
3这个比值是在一个具体的时间内的。
那么biterrorratio是什么?
“thenumberoferroneousbitsreceiveddividedbythetotalnumberofbitstransmitted”
注意2点:1,比较的单位在这里是“bit”
2,还是bit的来源问题,收到的错误的bit数除以发送的bit数(而不是除以收到
的所有bit数)
7这篇文章中奇怪的一个地方
这篇文章中有一个地方没有说的很清楚,很奇怪。在“Butthere aresomeerrorsin this
simulationscript.”的后面他说:firstly,25meteristhereceivingrangeinclosedenviroment.
这个25米出现的特别的奇怪,前面的脚本和文章中都没有提到任何有关的内容。所以我怀
疑25 是根据它脚本中各个值算出来的一个transmission range。所以我进入
ns/indep/propagation/用threshold加上它脚本里的各个参数,随后让distanceoption为25m
计算了下。奇怪的是,得到的结果(RxThreshold值)并不是它脚本里给的值(5.82587e-09),
而是偏小(4.71896e-09)。然后我不断的缩小distance,再看计算出的结果和脚本里给的
RXThresh_相比较。直到distance为22.5米的时候,得到的RXThresh_和文中的值一摸一样。
我怀疑要么是它写错了,将22.5写成了25,要么就是因为我和作者的ns2的版本不一样,以
至于计算RXThresh_的公式不太一样。前者的可能性好像比较大。
(^_^,都没有错,在本天才孜孜不倦的研究下发现了它的目的。因为这个脚本给出的所有
的数据都是真实的Orinoco11bCard的实际数据。这个25m是这个网卡在closed环境
中的最大的传输距离。所以在closed环境里的的传输距离只能小于等于25m。这个脚本
实际上是用了22.5m作为传输距离计算出一个RXThresh_值。因为22.5<最大传输距离
25m,所以这个脚本只能用在closed环境中。但是如果是closedenvironment,就不该
用tworaygroundmodel。所以作者才说这个脚本有问题。简单的说,这个脚本前后矛盾,
它用open环境的里的propationmodel来计算closed环境里的transmission 接受
power.如果有人问,你怎么知道这个环境是closed的呢?那么作者说,因为这个网卡在
closed环境里的传输距离最大是25米。现在这个脚本里用的传输距离比25米还小,显然
这个脚本是用于closed的环境里的)
8>接受敏感度(receiversensitivity)在ns中(主要问题是没有考虑BER)
ReceiversensitivityisthereceivedsigalpowerwithwhichBERisapproximately1.0E-5."
这真是神奇的一句话,我死活看不懂。我的英语水平将这句话翻译成:“接受敏感度是有BER
值为1。0E-5的signalpower。”。缩一下就是“接受敏感度是signalpower”。还好中文网站上
说的很清楚:“ 在保证达到所要求的误比特率的条件下,接收所需要的最小输入功率。接收
灵敏度一般用dBm来表示,它是以lmW光功率为基础的绝对功率,或写为
其中,Pmin指在给定误比特率的条件下,接收机能接收的最小平均功率。例如,在给
定的误比特率为10的负9次方时,接收机能接收的最小平均功率为InW (即10的负9次方W),
接收机灵敏度为-60dBm。
所以,真正的接受灵敏度是在BER一定的情况下,所需要的最小的信号力。如果收到的信
号力大于这个最小的值,那么这个信号就可以被cs到。
可是ns对cs的定义和receiversensitivity有偏差。ns没有考虑BER而是直接设定一个能
量power。这样的方法是不准确的。
如果不考虑BER和SNR,用CSThresh_和RxThresh_来决定senserange 和receive
range那么问题不会很大。否则,可能会有很大的问题。
1计算SNR
1>SNR的定义:signaltonoiseandinterference ratio.
『又是一个关于ratio的英语表示法。所以什么什么之比,可以说成Ais theratioof
BtoC.这通常用于B和C都比较长的情况下。
如果B和C比较的短,那么可以直接说AmeansBtoCRatio.这里的BtoC好像
是一个noungroup用于修饰后面的radio。』
所以SNR是signalstrength除以(noiseandinterference)。要计算SNR,就要
知道signalstrength,noise,interference 这三样。signalstrength很容易,可以根据
propagationmodel公式计算出来。所以,问题集中在如何计算noise和interference.
2>noise的来源有2:1来自于环境
2产生于receiver。
其中由receiver产生的noise也分为2种:1thermalnoise
2platformnoise
thermalnoise之前讲过,热噪声,可以理解为机器发热产生的。如果datarate加
快,显然机器的处理速度会变快,自然也会发热发的多,自然thermalnoise会变大。
所以thermalnoise除了和机器本身有关以外,还和datarate有关系。
不同的产品有不同的receiversensitivity因为他们的platformnoise是不同的。即
使同一个产品的receiversensitivity也不是固定的,因为不同的datarate造成不同的
thermalnoise。因此不同的datarate有不同的receiversensitivity。(概括起来一句话:
不同的产品有不同的receiver sensitivity,同一产品在不同的datarate时的receiver
sensitivity也不相同)
3>BER和SNR之间的关系
作者给的那幅图死活看不懂,也找不到platformnoise的定义。不过据我的猜测,所谓
的platformnoise可能是一个noise的基本值。那幅图下面有句话说明了BER和SNR
之间的关系:
Receiversensitivity is the received signal power withwhichBERis less than
10e-5.Toachievethis BER,SNRshouldbeapproximately10.
就是说,要保BER小于这个10e-5,Signal/noiseratio要大致是10。信号强度10倍
于噪声才可以保证错误率在一个比较低的,可接受的值。所以SNR越高,BER越低,
反比的关系。
4>什么是noisefloor?(天啊,我把《信号与系统》自学了一遍!)
The noise level below which signals cannot be detected under the same
measurementconditions.
Acommonwaytolower thenoisefloorin electronicssystemsis tocoolthesystemto
reduce thermal noise,whichis usuallythe majornoisesource. In special
circumstances,thenoisefloorcanalsobeartificiallylowered with techniques.
5>考虑了noise之后的CSThresh_和RxThresh_的计算
CSThresh_应该和noisefloor相同。(在PHY中计算)因为802.11b用BPSK传输
一个frame的preamble,因此CSTresh_的计算应该计算BPSK的receiversensitivity。
RxThresh_应该小于receiversensitivity大于CSThresh_.从范围和传输模型计算。
SNR在MAC层计算。(因为MAC层知道是否干扰)
6>当SNR和modulationmethod知道以后,BER可以理论上推出来(derived
theoretically,怀疑是用公式)也可以从curve上看出来(curve是测量特别的产品的
产物)。
7>让我崩溃的一段话!天啊,理论把实际简化了多少!!!!
Because Preamble, PLCP header, data of one 802.11b frame maybe
transmitted with different modulationscheme and different modulation
schemeshavedifferentreceiver noisefloor, weshouldcalculatedtheir SNR,
BERseparately.Afterthat, wecancalculateFERofthat frame anddetermine
whethertheframeisreceivedcorrectly.OnemoduleErrorModel80211isadded
intoNS2tocalculateSNRandFER.
8>加入BERSNR之后的ns2如何处理接受的过程。
NS2willusethresholdandBERtodeterminewhetheroneframeis receivedcorrectly.
CSThresh_,RxThresh_,andCPThresh_arestillhere.RxThresh_maybecalculated
withlarge rangein orderto let framessufferhighBER.
receiveprocedure
PHYmodule:
如果信号力小于CSThresh_,这个frame会直接丢掉
如果信号力小于RxThresh_,frame标记为corrupted,送给MAC
如果信号力>RxThresh_,直接将这个frame送给MAC
MACmodule:
如果在接受一个frame的时候有其他的frame来到,则将其他frames的signal加为
noise.
计算SNR和BER
根据frame的长度计算FER
用随机数来判断是否这个frame被corrupt,如果是的话,将其标记为corrupted.然后丢
掉。
9>最后我终于明白N多网页里出现的4个noise是什么意思
ErrorModel80211noise1_-104//ReceivernoisefloorsforBPSK
ErrorModel80211noise2_-101//...forQPSK
ErrorModel80211noise55_-97//...forCCK5.5
ErrorModel80211noise11_-92//...forCCK11

posted on 2012-09-03 16:34  祺昕  阅读(703)  评论(0)    收藏  举报

导航