This is event-driven continuous-time simulator of CSMA/CA protocol
This simulator allows to estimate performance of the MAC layer in a radio network that uses CSMA/CA protocol with RTS/CTS session initiation procedure.
✅ Access Point - Gateway that receives data
✅ N nodes that transmitts data and compete for the channel
- Probability of successfull data transmission
- Probability of failed data transmission
- Collision probability of RTS message at the Gateway
- Mean tranmission cycle time
- Ration between data transmission and transmission cycle time
- install python 3.6.2+
- install numpy
- download source code
- execute unibo_rudn/simulation/sample_run.py or unibo_rudn/simulation/collect_statistics_run.py
Input parameters could be found in unibo_rudn/input/reslistic_input1.py
Parameter | Description |
---|---|
is_debug_cycle_info | Output information about node cycle states and timings |
sensing | Allows a node to sense the channel. In true the node will detect CTS message in the channel and wait till the end of detected transmission |
mode | CYCLIC - after successful data transmission the node tries to send new data packet |
simulation_time | requirested simulation time |
Nretx | Number of allowed RTS retransmissions in case of collision |
NN | Nodes number |
p_a | Probability that node has a data packet to transmit |
B | Channel bandwith |
eta | Spectral efficiency |
rb | Bit rate |
sphere_radius | Sphere radius within which ode are distributed uniformly |
c | light speed constant |
Ldata | Data packet size (bytes) |
Ldatapay | Data packet payload (bytes) |
Lack | ACK message size (bytes) |
Lrts | RTS message size (bytes) |
Lcts | CTS message size (bytes) |
Lbeacon | BEACON message size (bytes) |
Tdata | data transmission time |
Tack | ACK transmission time |
Trts | RTS transmission time |
Tcts | CTS transmission time |
Tbeacon | BEACON transmission time |
Tbo | Backoff duration |
Tdatacts | Channel busy time due to transmission |
Tout | CTS resposne waiting timeout |
Tidle | IDLE timeout before checkg if there is a new message data for transmission |
Twait | Waiting timeout due to detected transmissio |
Tmax | Backoff right boundary multiplier |