Hi,
there's a major flaw in your request: the idea that an adjacency matrix can exist.
The best you could have is a mutual BER matrix, and even that is meaningful only for simple scenarios (i.e., where the BER is only dependent on the mutual ode positions).
In all the other cases... you'll have issues. Big issues.
Let me list the problems:
- The packet loss probability is dependent on the packet length. Thus, two nodes may communicate with short packets, and not with long ones.
- The channel loss probability may be not dependent only on the nodes mutual position.
- The packet loss is not an on/off thing, it's a probability.
- Two nodes will be "reachable" with different degrees of goodput. It depends on the modulation and coding...
- Etc.
Just to make things clear: check the function:YansWifiChannel::Send (Ptr<YansWifiPhy> sender, Ptr<const Packet> packet, double txPowerDbm,
WifiTxVector txVector, WifiPreamble preamble) const
Each receiver (all the nodes with the same channel) will be called by it, and each node will have to decide if the packet is received correctly knowing:
- The rx power,
- The TxVector (details on the packet),
- etc.
and only the receiver will know what is the probability to receive the packet.
Summarizing, first define what you mean by "adjacent", then... well, you'll have to operate a lot of simplifications.
T.
PS: mind that a node can not know how many nodes are in its surroundings unless the nodes are transmitting. I have rejected (with shame) too many papers for this idiot mistake.
Nevertheless, there's always somebody ready to say "let's assume that a node knows what are its neighbors".