IEEE 802.11 MAPC (c-SR) simulator
Project description
IEEE 802.11 MAPC Coordinated Spatial Reuse (C-SR) Simulator
mapc-sim
is a simulation tool for IEEE 802.11 Multi-Access Point Coordination (MAPC) scenarios with coordinated
spatial reuse (C-SR). It provides a framework for modeling and analyzing the performance of wireless networks under
various configurations and environmental conditions. A detailed description can be found in:
- Maksymilian Wojnar, Wojciech Ciezobka, Katarzyna Kosek-Szott, Krzysztof Rusek, Szymon Szott, David Nunez, and Boris Bellalta. "IEEE 802.11bn Multi-AP Coordinated Spatial Reuse with Hierarchical Multi-Armed Bandits", $JOURNAL_NAME_TODO, 2024. [TODO_PREPRINT_INSERT, TODO_PUBLICATION_INSERT]
Features
- Simulation of C-SR: You can simulate the C-SR performance of an 802.11 network, including the effects of hidden nodes, variable transmission power, node positions, and modulation and coding schemes (MCS). Calculate the aggregated effective data rate.
- TGax channel model: The simulator incorporates the TGax channel model for realistic simulation in enterprise scenarios. The simulator also supports the effects of wall attenuation and random noise in the environment.
Repository Structure
The repository is structured as follows:
mapc_sim/
: Main package containing the simulator.constants.py
: Physical and MAC layer constants used in the simulator.sim.py
: Main simulator code.utils.py
: Utility functions, including the TGax channel model.
test/
: Unit tests and benchmarking scripts.
Installation
The package can be installed using pip:
pip install mapc-sim
Usage
The main functionality is provided by the network_data_rate
function in mapc_sim/sim.py
. This function calculates
the effective data rate for a given network configuration. Example usage:
from mapc_sim.sim import network_data_rate
# Define your network configuration
# ...
data_rate = network_data_rate(key, tx, pos, mcs, tx_power, sigma, walls)
For more detailed examples, refer to the test cases in test/test_sim.py
.
Testing and Benchmarking
Run the unit tests to ensure everything is working correctly:
python -m unittest
You can benchmark the performance of the simulator using test/sim_benchmark.py
.
Additional Notes
- The simulator is written in JAX, an autodiff library for Python. It may require additional dependencies or configurations to run properly, especially with GPU acceleration. For more information on JAX, please refer to the official JAX repository.
How to reference mapc-sim
?
TODO
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mapc_sim-0.1.3.tar.gz
.
File metadata
- Download URL: mapc_sim-0.1.3.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5963dbee0e5d240c0b2160e3fc3338b179eb70b3f9e3966da5d397ed4f7f8588 |
|
MD5 | 43df28d74c598fe8738051521f16653d |
|
BLAKE2b-256 | 03e52d5a687df1b8d01ac3fa9c35f1b6ba8cedb79fdc845b878c919a863c52ce |
File details
Details for the file mapc_sim-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: mapc_sim-0.1.3-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4941f58f6a2c3b99f4f52a71ca98002d99b8ebc272a67bc066d1b6c29f57e770 |
|
MD5 | f126fd2da9b3599fa192a9f009233a50 |
|
BLAKE2b-256 | 85d15c6a7eed3b118fb11565c2d7e8faaa7134411e71e36c2bf7f7abd67df5ee |