Skip to content

KatarzynaKosek/RL-UORA

Repository files navigation

Scope

This project contains code (written in Python3) for simulating two mechanisms which modify the operation of IEEE 802.11ax UORA OBO countdown:

E-OBO

The following files are necessary to simulate E-OBO operation:

  • Times.py -- methods which calculate IEEE 802.11 frame transmission durations.
  • UORA.py -- a simulator of the IEEE 802.11ax UORA frame exchange, extended to support the E-OBO mechanism.
  • EOBO.py -- allows running static or dynamic simulations.

The simulation can be run as follows:

./python EOBO.py

Within the code, the dynamic boolean defines which scenario is run (static or dynamic).

RL-OBO

The following files are necessary to simulate RL-OBO operation:

  • Times.py -- methods which calculate 802.11 frame transmission durations.
  • UORA_RL.py -- a simulator of the IEEE 802.11ax UORA frame exchange, extended to support RL methods.
  • RL-OBO.py -- implements the RL-OBO mechanism and, if executed, runs the simulation (training, then testing).

The simulation can be run as follows:

./python RL-OBO.py

Additionally, to perform a reward parameter sweep (Appendix A in the RL-OBO paper), execute RL-OBO_reward_params (which imports UORA_RL_reward_params) as follows:

./ipython RL-OBO_reward_params.py