標籤:

NS3中無線節點的通信傳輸範圍如何設置?

如題。在用NS3模擬wifi網路環境時,想對wifi網路的通信範圍進行設置,另外無線節點的默認通信範圍又是多少?新人求指導


官方文檔有一句很概括的話:節點100米以內,要能夠通信;200米外不能工作。

目的節點的收包過程:


當節點接收到數據包的第一比特時,檢測接收能量,如果小於wifiphy的能量檢測門限EnergyDetectionThreshold,就會被丟棄。


能量達到相應的閾值,ns3 最終依據 SNIR (信號與干擾加雜訊比)來決定 BER 和 PER 的,即最終決定數據包是否接收成功。這裡涉及到一個error
rate model,估計出錯的概率,來決定最終決定數據包是否接收成功。

ns3::YansWifiPhy類可以設置的屬性:

EnergyDetectionThreshold:能量檢測門限,默認為-96dbm


CcaMode1Threshold:確定為CCA busy狀態的門限,默認為-99dbm

TxGain:傳輸增益,默認為1db


RxGain:接收增益,默認為1db


TxPowerLevels:能量的等級數,默認為1.

TxPowerEnd:最大傳輸水平,默認為16.0206dbm

TxPowerStart:最小傳輸水平,默認為16.0206dbm


RxNoiseFigure:默認為7db


ChannelWidth:5MHz, 10MHz, 20MHz, 22MHz, 40MHz,
80 MHz or 160 MHz.默認20MHz

發射功率=TxPowerStart + txPower *(TxPowerEnd - TxPowerStart)/ TxPowerLevels

txPower 供外部程序調用的介面,比如 MacLow,指定傳輸採用的功率級數

所以綜合來講,,來調大距離,可以增大發射功率,發送增益,接受增益。。默認的通信範圍取決於傳播損耗模型和衰落模型以及一些初始值。。。當然上面只是理論,,你可以通過實踐的方法,用ns3建立兩個無線節點,,從100開始,慢慢增大距離,看看是多少的時候開始連不上就可以了。


@冷溪煦 的答案已經很詳細了,也比較普適,這裡我補充一種簡單的方法:

將信道衰落模型(PropagationLossModel)設置為RangePropagationLossModel,然後它有個屬性是「MaxRange」,設置它就幾乎是直接設置了通信範圍。

原理是:這個衰落模型是一個很理想化的模型,其核心思想就是小於通信半徑(MaxRange)時返回接收增益為0db,大於通信半徑時返回接收增益為-1000db,所以就會造成上述效果。

了解其原理之後題主就可以根據自己的需要選擇合適的方法了:如果你的模擬對這一塊要求不高,可以用這個方法,否則還請參照1樓的普適方法。

希望可以幫到你。


利用移動模型mobility model的setpositionallocator方法,設置出來就可以用做範圍(看到github上一大牛的寫法),雖然感覺只是節點之間的距離。


推薦閱讀:

TAG:WiFi |