Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
|Visualization||Algorithms||Multiple Access Interference||CSMA||Sensor||WiseRoute||Radio range||Porting|
What is this page ?
Here can be found a list of the most frequently asked questions regarding MF2O4, and their answers.
Feel free to add any information that you may find relevant by editing this page and copy-pasting an existing entry.
I cannot see the nodes in the TCL/TK simulation GUI
When using the B-MAC or the L-MAC algorithms provided with a revision of the mobility framework 2.02p3 for omnet++4.0 it may be possible that while simulating with the GUI, you can’t see any node into the simulation field but that the simulation seems to run correctly. The reason why you can’t see nodes is that the simulated field is not completely shown in the window, so that what you are watching is just a small part of the entire field. Just zoom out few times for fitting the simulated field to the window size.
What algorithms are implemented in MF2O4 ?
What is the IEEE 802.15.4 CSMA protocol ?
Background information can be found at wikipedia and
the standard itself is available at IEEE .
This is an implementation of the CSMA mode of the IEEE 802.15.4 standard.
Thus the radio never enters sleep mode, which makes it a bad candidate
for ultra low power wireless sensor networks, but can be useful for comparison purposes (Packet Error Rate, Latency).
What are the snrEvalRadioAccNoise3 / DeciderRadioAccNoise3 modules ? How does it work and what do they do ?
snrEval receives frame start events through its handleLowerMessage() method.
If we are trying to synchronize on a frame (SYNC state), the module will
schedule a self message (or timer) at the end of the
Start Frame Delimiter. At this point in (simulation) time, the BER is
estimated from the SNR, and a random value is generated. If this random
value is lower than the BER estimate, we consider that the
synchronization failed. If it succeeds, we attempt to receive the frame
and forward it, together with the SNR history, to the decider module, at
the end of the reception.
If the radio is not in sync state, e.g. already receiving a frame, or
transmitting a frame, sleeping, or switching between two modes, a frame
start event will simply be used to increase the noise level estimate.
A timer will be scheduled at the end of the interfering frame, to update
the noise level accordingly.
The received signal divided by the noise level gives a SNR estimate. The
noise level is updated at each frame start and at each frame end. So we
have a “noise level history” composed of segments.
The decider considers each of these segments, divides their duration
with the symbol duration, and compute for each segment, the probability
of having at least one error during that segment.
If no errors are found for all SNR segments in the decider, the frame
is considered valid and forwarded to the MAC by the decider.
The file snrEvalFSM.odg (openoffice draw) gives an overview of the SNREvalRadioAccNoise3 finite state machine.
What is the WiseRoute module ?
The wiseroute layer is a simple routing layer that builds a convergecast
routing tree by initially flooding the network. When a node first
receives this route building message, it selects the source node as its
parent in the tree.
This tree building procedure takes some time to complete. This is why
the SensorApplLayer provides an initializationTimer to delay its first
After the tree building procedure, wiseroute does not generate any
signaling traffic. It is however possible to configure it to
periodically rebuild the tree. If this is not desired, set this
parameter to a large value (e.g. 1 month).
What is the SensorApplLayer module ?
The sensor application layer generates packets to simulate the activity
of a sensor network.
You can configure it as you like: the inter-arrival times of the packets
can be distributed according to a uniform distribution, or
exponentially. Some of the nodes can be switched off (nbPackets = 0) as
it is commonly the case for the sink node (the tree root node). The
rates can be specified individually if you want it so.
What is the radio transmission range if the transmission power is set to x mW ?
There is no “transmission range”. The radio model is not an “on/off”
The greater the distance, the higher the bit error rate.
What really interests you is the packet error rate. This depends on the
bit error rate and on the packet size.
You can find the answer to your question by setting up a simulation
network with two nodes A and B and use an omnet++ iteration variable in
the ini file for the position of B. Configure B to send for instance
1000 packets and count the received packets at A.
Now you can analyze the results using an omnet++ analysis file. Create a
scatter plot, with the position of B on the horizontal axis and the BER
on the vertical axis. You can create a similar graph but with the number
of packets received at A to see the effect of distance on PER.
You can also iterate over the transmitted power levels and packet sizes,
and use one of these variables as “isoline” parameter for the scatter
plot. You’ll get one line per packet size or per tx power level.
How do I port my modules developed for Mobility Framework 2 and Omnetpp3 to Omnetpp4 ?