Wifi-Chain Scenario breaks after few seconds: PER=-nan

30 views
Skip to first unread message

Matthias Meiling

unread,
Jul 18, 2014, 6:22:02 AM7/18/14
to ns-3-...@googlegroups.com
Hi,

I set up a Wifi-Chain Scenario with predefined static routes and an On-Off-Application at Node 0 (one end of chain), and a Packet Sink at Node 1 (other end of chain). Between Node 0 and 1 are three routing nodes. Each nodepair has a distance of 130m. I used YansWifi with following parameters:

 
 YansWifiPhyHelper wifiPhy;
  wifiPhy
= YansWifiPhyHelper::Default ();
 
// Note: Detc.Threshold arround -96dB with 20dB TxPower this leads to arround 200m distance via log distance prop loss.
  wifiPhy
.Set ("TxPowerStart", DoubleValue (20.0));
  wifiPhy
.Set ("TxPowerEnd", DoubleValue (20.0));
  wifiPhy
.Set ("TxPowerLevels", UintegerValue (1));
  wifiPhy
.Set ("TxGain", DoubleValue (0));
  wifiPhy
.Set ("RxGain", DoubleValue (0));
 
// remove background noise
  wifiPhy
.Set ("RxNoiseFigure", DoubleValue (-1.79769e+308));
 
  wifiPhy
.Set ("ChannelNumber", UintegerValue (1));
  wifiPhy
.SetChannel (wifiChannel.Create());
 
  std
::string phyMode ("ErpOfdmRate54Mbps");
   
/* * ERP: Effective Radiated Power, equal to the antenna gain added to the power into that antenna. (Technically, called EIRP.) (http://www.wirelessnetworkproducts.com/wifitechfundamentals.aspx)
     * * OFDM (Orthogonal Frequency-Division Multiplexing)
     */

 
WifiHelper wifi = WifiHelper::Default ();
  wifi
.SetStandard (WIFI_PHY_STANDARD_80211g);
  wifi
.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode",
     
StringValue (phyMode), "ControlMode", StringValue (phyMode));


Note that I reduced the thermal background noise to gain such large distances (wifiPhy.Set ("RxNoiseFigure", DoubleValue (-1.79769e+308));).

For chainlength of 4 Nodes I get reasonable results: No packet loss at all. But, when I use a length of 5 and more nodes, I dont get any successful transmission at all. I will attach a plot it, as well.

When I log the "YansWifiPhy" debug notes there is one point in time when all packets has a PER value of -nan.
I checked in my logs, whether all packets are lost, because of collision, but I didn't find two nodes in transmission state at the same point in time.


Matthias Meiling

unread,
Jul 18, 2014, 6:25:17 AM7/18/14
to ns-3-...@googlegroups.com

Here are the source code and the logs I mentioned in the post above.

I used the following command producing this output: ./waf --run="chain_scenario --DeltaX=130 --Nodes=5 --EnableRice=False --DataRate=1Mbps --Seed=1234 --EnablePG=False"
chain_scenario.cc
yans_wifi_phy_debug.tar.gz

Matthias Meiling

unread,
Jul 18, 2014, 6:30:36 AM7/18/14
to ns-3-...@googlegroups.com

Here are two throughput-graphs I produced for Wifi-Mac - Layer. One overview graph of all 5 nodes and one time-dependent graph for node 4 (the node before the sink).



Matthias Meiling

unread,
Aug 1, 2014, 10:25:24 AM8/1/14
to ns-3-...@googlegroups.com
Since nobody answered yet to my post, maybe I formulate a proper question:

Why is there no transmission of any packet after a specific point in time? Even if the queue of the sending and receiving node is once full, they should receive a packet again when its queue empties a bit. This does not happen.

An other question: Why is there a PER of -nan? Shouldn't it be something like inf or something even a valid double value?
Reply all
Reply to author
Forward
0 new messages