Comyx is a Python library for simulating wireless communication systems. It uses NumPy and SciPy for numerical computation, and Numba for just-in-time (JIT) compilation. It provides a number of features for simulating wireless communication systems:
- B5G Features: Supports a variety of B5G specific features, such as STAR-RIS, and NOMA.
- Channel Models: Provides the AWGN, Rayleigh, and Rician fading models.
- Signal Modulation: Supports a variety of modulation schemes, such as BPSK, QPSK, and QAM.
- Performance Metrics: Can calculate a variety of performance metrics, such as the sum rate, and outage probability.
- Update documentation
- Add network optimization support
- Add Reinforcement Learning (RL) support
You can install the latest version of the package using pip:
pip install comyx
Note: It is recommended to create a new virtual environment so that updates/downgrades of packages do not break other projects.
Or you can clone the repository along with research code and perform an editable installation:
git clone https://github.com/muhd-umer/comyx.git
pip install -e .
Reinforcement Learning (RL) Support
For RL support, you will need to install the following dependencies:
-
Install PyTorch (Stable)
pip install torch torchvision torchaudio
-
Install Ray RLlib
pip install -U ray[default] # core, dashboard, cluster launcher pip install -U ray[rllib] # tune, rllib