Cross-channel wifi interference and wifi parameters meaning (YansWifi)

1,282 views
Skip to first unread message

Michaël

unread,
Jan 2, 2015, 4:58:39 AM1/2/15
to ns-3-...@googlegroups.com
Hello,

I know that cross-channel wifi interference is not implemented in ns-3 (using YansWifiChannel). 
I see 2 different scenarios in this model:
- 2 wifi connections are on a different channel and don't interact at all (no matter the distance). This is because in the YansWifiChannel::Send method, one simply exits the loop through the 'continue' statement when the 2 interacting channels don't have the same number.
- 2 wifi connections are on the same channel and interact. A packet is sent to every YansWifiPhy object on the same channel as the sender (no matter if it's an AP or STA node).

In a post on this forum a while ago mentioned a simple model to implement cross-channel interference in YansWifiChannel. It mentioned the following paper:

Eduard Garcia Villegas, Elena Lopez-Aguilera, Rafael Vidal, Josep 
Paradells, "Effect of adjacent-channel interference in IEEE 802. 1 
WLANs" 

More specifically, table 1 in this paper was mentioned. One could become a simple model for cross-channel interference by adding attenuation to the receiver power.

Since there is interference already when 2 wifi connections are on the same channel, ns-3 should be able to take care of collisions itself. Based on the paper I tried implementing this simple model. So let's save I have an AP and STA node on channel 1 and another AP and STA node on channel 2. Looking in the table, this means the distance is 1 so for DSSS for example there will be a 0.28dB attenuation in the receiver power.

So the AP on channel 1 will send to the STA on channel 1 with full receiver power, and that same AP will send to both the AP and STA on channel 2 with the receiver power attenuated with 0.28 dB (and the other way around, the nodes on channel 2 will also send to channel 1). 

My question is now: How will I notice this in tests? If the channel distance becomes larger, more attenuation will be added (until the receiver power is nearly 0 when the channel difference is 5). How does this receiver power affect the result? Does a lower receiver power mean that it can't sense senders that are further away compared to nodes with a higher receiver power? Or will it receiver fewer packets (drop more packets)? Or what does it mean exactly?

I also noticed there's a lot of parameters in the YansWifiPhy 
EnergyDetectionThreshold
CcaMode1Threshold
TxGain
RxGain
- TxPowerLevels
- etc. 

Do any of these parameters need specific values to work in the  scenario I mentioned? 

Thanks to anyone who can give me an insight in this.

Tommaso Pecorella

unread,
Jan 2, 2015, 5:10:12 AM1/2/15
to ns-3-...@googlegroups.com
Hi,

Wi-Fi is extremely robust with respect to interferences, so you'll see reduced throughput and increased retransmissions, but you'll not see packet lost at layer 3 and above.
Said so, the best way to check if the model is correctly implemented is by checking the Rx function. You should "see" an increased noise if you have two "colliding" packets, i.e., two packets one being received (because it is in the right channel) and one disturbing (because it is in the wrong one).
You'll have to build a special simulation tho, check examples/wireless/wifi-simple-interference.cc

T.

Michaël Kint

unread,
Jan 2, 2015, 5:19:10 AM1/2/15
to ns-3-...@googlegroups.com
Hello,

Thanks for the quick reply! I'll check out the example you sent me. I'm trying to analyze the effects on the throughput in 2 different cases:
- Traffic is injected in the network over a certain period 
- A certain amount of traffic (bytes) is injected in the network

I was hoping to see some the impact of the model I mentioned on the throughput in both cases with varying channel distances, and I was looking at the pcap files and iperf log files to do this, but couldn't immediately see a difference so that's why I'm asking this. 




--
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/8v4pYZzX0m4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Boopala Krishnan

unread,
Jan 2, 2015, 9:56:15 PM1/2/15
to ns-3-...@googlegroups.com
Hi,
       I am facing the same problem. When I am trying to set different channels for two AP's. I am getting the a good throughput. But when I am trying to put two AP's in the same channel then there is no reduction in throughput. But actually the channel should be shared and by interference the throughput should reduced into half. But in my case it's not working...
Please help me.

Michaël Kint

unread,
Jan 4, 2015, 8:16:03 AM1/4/15
to ns-3-...@googlegroups.com
Hello,

That's actually a different problem because you're still using unmodified ns-3 source code. When you want to see interference when 2 AP's are on the same channel, it doesn't suffice to set the ChannelNumber attribute. You also need to use the same YansWifiPhyHelper for the 2 AP's. So you only want to call the phyChannel.create() method once and reuse that object.
 
So do

phy.SetChannel(phyChannel.Create());
and use that same phy for the 2 AP's :

NetDeviceContainer apDevice1 = wifi.Install(phy, mac1, ap.Get (0)); ...
NetDeviceContainer apDevice2 = wifi.Install(phy, mac2, ap.Get (1));
I hope I helped.

Kind regards,

Michaël

Boopala Krishnan

unread,
Jan 4, 2015, 10:55:58 PM1/4/15
to ns-3-...@googlegroups.com
Hi,
     Thank you for your post reply. 
Ya I am doing the same. My problem is how to set two different channel numbers for two AP's. I have the problem with that. 
Whether we need to declare two Yans wifi helper and channel (Or) in same channel declare next by each.

// For first AP

 wifiPhy.Set("ChannelNumber",UintegerValue(1));
  wifiPhy.SetChannel (wifiChannel.Create ());
  NetDeviceContainer apDevice = wifi.Install (wifiPhy, wifiMac, ap.Get(0));

// for second AP

 wifiPhy.Set("ChannelNumber",UintegerValue(6));
 wifiPhy.SetChannel (wifiChannel.Create ());
  NetDeviceContainer apDevice1 = wifi.Install (wifiPhy, wifiMac, ap.Get(1));

Thank you in advance...

Sebastien Deronne

unread,
Jan 5, 2015, 2:40:53 AM1/5/15
to ns-3-...@googlegroups.com
IMO you should use only one wireless channel!

Try with this:

//Create wireless channel
YansWifiChannelHelper wifiChannelHelper = YansWifiChannelHelper::Default ();
Ptr<YansWifiChannel> wifiChannel = wifiChannelHelper.Create();

// For first AP

 wifiPhy.Set("ChannelNumber",UintegerValue(1));
wifiPhy.SetChannel (wifiChannel));
NetDeviceContainer apDevice = wifi.Install (wifiPhy, wifiMac, ap.Get(0));

// for second AP

 wifiPhy.Set("ChannelNumber",UintegerValue(6));
 wifiPhy.SetChannel (wifiChannel);

Boopala Krishnan

unread,
Jan 5, 2015, 10:31:14 AM1/5/15
to ns-3-...@googlegroups.com
Ya thank you for your response.
How to set different channel for second AP. Pls help me in this........
 For your information : I did with same channel and due to interference my throughput per user got reduced to half...

Sebastien Deronne

unread,
Jan 5, 2015, 10:39:14 AM1/5/15
to ns-3-...@googlegroups.com
This did not work?

 wifiPhy.Set("ChannelNumber",UintegerValue(1)); //for AP 1
 wifiPhy.Set("ChannelNumber",UintegerValue(6)); //for AP2

What did you obtain with that?

Boopala Krishnan

unread,
Jan 6, 2015, 2:16:47 AM1/6/15
to ns-3-...@googlegroups.com

Ya this is worked on before. But when I give channel 2 for one AP and channel 1 for second AP there should be interference because they are non overlapping channels.
Pls help me in this . Whether my observation is corrected or not?

Sebastien Deronne

unread,
Jan 6, 2015, 2:22:30 AM1/6/15
to ns-3-...@googlegroups.com
There should indeed be inter channel interference.
Unfortunately, inter channel interference is not yet supported in ns-3.

Boopala Krishnan

unread,
Jan 6, 2015, 10:52:04 AM1/6/15
to ns-3-...@googlegroups.com
ohhhhh. I thought it supports inter channel interference...
Thanks for your fast reply..

Sebastien Deronne

unread,
Jan 6, 2015, 3:25:45 PM1/6/15
to ns-3-...@googlegroups.com
I think (maybe I'm wrong) that it should not be too difficult to implement the feature.

Basically, it should indicate to the receiver if another transmission is or was occurring on an overlapping channel, with the received power and the transmission duration.

I will maybe try to have a look at that in the future, but I can't do it right now.

Laurent Lava

unread,
May 4, 2016, 9:58:00 AM5/4/16
to ns-3-users
Hi Sebastien,

Did you manage to implement the adjacent channel interference feature ?
If so, could you please help me since I am trying to do the same (based on the same model).
My throughput is however just reduced by half ... Did you have the same problem by that time ?

sebastie...@gmail.com

unread,
May 5, 2016, 6:21:54 AM5/5/16
to ns-3-users
Tom is currently busy integrating SpectrumWifiPhy model into ns-3-dev (https://codereview.appspot.com/293380043/).
There will be no adjacent channel interference model integrated yet, but this should come for future release (> ns-3.26).

Hadi Samani

unread,
Sep 27, 2016, 6:37:04 AM9/27/16
to ns-3-users
Hi Tommaso,

I want to ask if ns3.26 version will support the inter channel interference in Yanswifiphy or not?
and when it will be released?

Best Regards
Hadi

Konstantinos

unread,
Sep 27, 2016, 6:45:18 AM9/27/16
to ns-3-users
Hi,

No, YansWifiPhy does NOT support (and probably will never support) inter-channel interference.
However, you can use the SpectrumPhy to evaluate inter-channel interferenece.
You can test it now on the ns-3-lbt development tree with examples for inter-channel interference evaluation.

Tommaso Pecorella

unread,
Sep 27, 2016, 1:20:52 PM9/27/16
to ns-3-users
It is also available in ns-3-dev and it will be in 3.26 (the WiFi SpectrumPhy)

T.
Message has been deleted

sumon Debnath

unread,
Feb 12, 2017, 9:51:45 AM2/12/17
to ns-3-users

Hello Tommaso,


I am trying to model adjacent channel interference for WLAN (for both non bonded and bonded channel) in ns3 using the WiFiSpectrumPhy.


In our first experiment, I have 2 access points (senders) and 2 stations (receivers) communicate on the same channel ( cause co channel interference). I count the number of received packets or throughput at each receiver when interference is available. Then I move one pair (1 AP and client) to an adjacent channel . The behavior I expected is that as channel separation increases, the received throughput should increase (since interference decreased, PER should decrease) but this doesn't seem to happen in simulation. What happens is as long as channel separation is below 5 the number of received packets is always nearly similar and once the channel separation is 5 or above the number of received packets increase abruptly. Note that 5 channel separations is the default for interference avoidance.


In our second experiment, I made same experiment using bonded channel. Similar behavior is found.


Can you please explain to this behavior. Why doesn't the number of received packets or throughput increase or decrease gradually? It has been proven through measurements that their should be a gradual change in behavior. Can you please help me how to simulate this behavior.


With Best Regards

Sumon

Tommaso Pecorella

unread,
Feb 16, 2017, 10:08:43 AM2/16/17
to ns-3-users, sebastie...@gmail.com
Hi,

no idea, but I guess Sébastien can take a look at this.
As a side note, a simple script showing the issue would help.

Cheers,

T.

Gmail

unread,
Feb 16, 2017, 2:29:10 PM2/16/17
to Tommaso Pecorella, ns-3-users
Once this release is closed, I plan to work on this topic. I do not know exactly what is currently modeled, but I do not think channel modeling is fully implemented. If you already have some pieces of code ready, feel free to share.

sumon Debnath

unread,
Feb 17, 2017, 1:05:22 AM2/17/17
to ns-3-users, tomm...@gmail.com

Hello Sebastien

Thank you very much for your advice. I simulate adjacent and co channel interference effect using spectrum module with respect to channel difference and distance between two APs. Topology and simulation result are like that

In this simulation, first 2 APs and its associated hosts exchange TCP traffic using same channel (20/40MHz). I count the received throughput at each client (co channel interference case). Then I move one pair (1 AP and client) to an adjacent channel. The behavior I expected is that as channel separation increases, the received throughput should gradually increase (since overlapping channel interference decreased, PER should decrease) but this doesn't always found in simulation. What happens is as long as channel separation is below 3 for (20MHz channel) or below 5 (for 40MHz bonded channel), the number of received packets is always nearly similar.

For channel bonding issue, I make two 20 MHz channels (1+5) as 40MHz bonded channel and (9+13) as another bonded channel.

Then I assign Channel 1 to AP1 and channe 9 to AP2 by the following command

spectrumPhy.Set ("ChannelNumber", UintegerValue(1));

spectrumPhy.Set ("ChannelNumber", UintegerValue(9));


I set 40Mhz channel width by following global declaration

Config::Set ("/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/ChannelWidth", UintegerValue (40));

Is this like that it can automatically choose another channel 5 for AP1 and channel 13 for AP2 to make 40MHz bonded channel. This behavior I found in real access point. Also please tell be bonded channel interference modeling for 802.11n is fully developed for WLAN with SpectrumPhy?


Please help me.


With Best Regards

Sumon

topology.jpg
result for 20 MHz channel.jpg
Result for 40MHz channel.png

Sebastien Deronne

unread,
Feb 21, 2017, 5:14:15 PM2/21/17
to ns-3-users
I am doing some further tests on similar scenarios to check for potential bugs.

From the results you show, I have the impression that without channel bonding it is working as expected, right?
For channel bonding I need to double check, but I think that even if you select different primary channels, the bonded channels will occupy the same spectrum.

Note that I suspecting some bugs already after some first tests, but mainly related to channel bonding. Without channel bonding, I did not detect issues yet in the 5Ghz band with 802.11n, I did not try yet in the 2.4 GHz channel.

sumon Debnath

unread,
Feb 23, 2017, 8:55:18 PM2/23/17
to ns-3-users

Sebastien Deronne


Thank you very much for your reply.

Channel 1 and 2 are around 75% overlapped with each other. But I find nearly similar throughput result for channel separation 0 and 1 (figure 1).  For channel separation 2 or more throughput increases again but for channel separation 2 and it was again same. But I think throughput increases gradually with increasing channel separation between APs.


In the second graph, throughput is nearly similar up to certain distance for different channel separation and after that throughput increases abruptly to its maximum value due to no interference effect. But it should be gradually increasing or decreasing. For channel separation 4 or more there is no interference and I find expected throughput (always high).


Though channel interference model is working with spectrum module, what do you thing is it completely implemented even for 20MHz channel?

For channel interference modelling which interference model is actually used in ns-3. Can you please tell me so that study that model?

Please help me.

 

With Best Regards

Sumon Debnath

Throughput with different Channels.png
Distance vs. throughput for different channel.jpg

Sebastien Deronne

unread,
Feb 24, 2017, 5:42:35 AM2/24/17
to ns-3-users
You have to take all effects into account. If channel overlap decreases, you can check in traces that the received power from interferer also decreases. But as long as a signal is detected above a given threshold, CSMA/CA will detect the medium as busy. As a consequence, the channel is shared by the two APs. 

Let's take a simple example of two 802.11b APs with each a station transmitting traffic:

With full overlap, both networks obviously share the throughput (around 6 Mbit/s) and you get around 3 Mbit/s per network.
If overlap decreases, the received power from interferer gets smaller but still above a threshold so CSMA/CA still share the medium among the two networks, so you still get around 3 Mbit/s per network. Depending on the distance and the transmitted power, the received power is either smaller or larger than a threshold, and thus either the channel is shared or either channel is detected as idle and they can use the full channel. Of course, if you still have an overlap in that case, noise from interferer can impact your performance. You only get full performance if you do not have overlap or if the received power is very low.

Normally everything is implemented and my tests with 802.11a/b/g successfully passed.
I noticed few bugs that I have to track and fix but they should not significantly impact your work.
I still need to do some verifications for 802.11n/ac/ax and channel bonding.

There are two error models used: Nist (default) and Yans.
Please have a look at the documentation.

sumon Debnath

unread,
Mar 2, 2017, 1:45:40 AM3/2/17
to ns-3-users

Sebastien Deronne,


Thank you very much for your intuitive explanation. Notice that the received power from interferer AP is getting smaller as the percentage of overlapping interference decreases (by increasing channel differences or distance between APs). As the received power from interferer AP is above certain threshold, CSMA/CA will detect the medium as busy and continue to share the medium among the two networks.


I want to test the throughput performance of above interference case in ns-3 simulator when the received power from interferer AP gets smaller but still above a given threshold. My question is: Due to overlapping channel interference, when received power from interferer AP is greater than the given threshold what happen on throughput result? is the throughput always nearly 50% of the full performance for 802.11n WALN (both 20/40 MHz channel)? According to your view point my previous simulation does give the expected result? 



With Best Regards

Sumon

Con con

unread,
Jan 5, 2019, 6:08:56 AM1/5/19
to ns-3-users
Hello Sebastien,
Which control algorithm are you use ? I am trying to run the same scenario using MinstrelHTWifiManager and I face some issues. I am working in the same scenario as you. 
I used mistrel since in the most widely used in real devices although it's best performance in moving stations.

Con con

unread,
Jan 5, 2019, 6:09:59 AM1/5/19
to ns-3-users
I would like to add that most of the algorithms does not support HT.and VHT Minstrel does
Reply all
Reply to author
Forward
Message has been deleted
0 new messages