Collision detection WiFi

261 views
Skip to first unread message

peter...@gmail.com

unread,
Apr 24, 2018, 4:29:53 PM4/24/18
to ns-3-users
Hi,

We are using NS-3 to do some wireless mobile ad hoc simulations, and we're having difficulties finding a way to detect collision in the network. We understand collisions will happen in NS-3 in three general cases: 
1) During reception
2) In the air
3) During transmission

We saw in the WiFiPhy class WiFiPhy::StartReceivePacket and WiFiPhy::StartReceivePreambleAndHeader there are a number of reasons to drop the packet based on SNR.
We understand that collisions are modeled by changing SNR of the packet, however we cannot find:

1) Is there a good way to distinguish between actual collision and other propagation loss in terms of packet drop? Right now the The PhyRxDrop and PhyTxDrop counters do not distinguish them.
2) Where is the specific point of the  NS-3 codebase where the NS-3 decides that there is a collision, and change the SNR of the collided packet?

Thank you,
Peter
Message has been deleted

jared...@gmail.com

unread,
Apr 27, 2018, 4:18:44 PM4/27/18
to ns-3-users
Peter,

TL;DR -- search for "interference" in wifi-phy.cc.

I am not an ns-3 expert but I have looked a little through the wifi module code.  If you look at wifi-phy.{h,cc} you'll see that there is this InterferenceHelper m_interference member.  Whenever a packet is received, whether it's intended for the particular device or not, m_interference is notified and I think it is tracking the colliding packet powers to determine an overall SINR value to apply to its error model and determine whether the intended packet was received.  You may be able to get the information you want from that m_interference member, or you may be able to subclass and keep some application specific statistics you can retrieve later.

Good luck,
Jared.

chaiyua...@gmail.com

unread,
Oct 11, 2018, 9:01:43 AM10/11/18
to ns-3-users
Dear Jared,

I also want to study the interference part in NS3. I have looked the m_interference member, but I don't know how to obtain the ID of the interfering nodes. Do you have some ideas how I can get the ID of the nodes which can cause interference to the current node?

Thanks very much.

Yuan

在 2018年4月27日星期五 UTC+1下午9:18:44,jared...@gmail.com写道:

pdbarnes

unread,
Oct 11, 2018, 4:25:33 PM10/11/18
to ns-3-users
IIRC that information isn’t cached by the interference helper.

In principle you could add that to the interference events, but in general you’d have to account for the fact that interference is an aggregate effect: many nodes can be contributing to the total interfering power at any instant,, and even more during the window when a given node is trying to receive. No one source may dominate, but the total interfering power can lead to errors. So it’s not one node causing the interference.

Peter B.

yuan chai

unread,
Oct 12, 2018, 2:59:14 AM10/12/18
to ns-3-...@googlegroups.com
Dear Peter,

Thank you for your reply very much. There are many nodes that can cause interference, so is there a way to get the list of these nodes’ IDs?

Thanks a lot.

Yuan

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
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/z7Uc0JMa0z4/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 https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

pdbarnes

unread,
Oct 13, 2018, 10:04:13 AM10/13/18
to ns-3-users
As I said, no. You could add that information to the interference model, however.

Peter

Reply all
Reply to author
Forward
0 new messages