https://github.com/muhd-umer/comyx
Comyx is an optimized and modular Python library for simulating wireless communication systems
https://github.com/muhd-umer/comyx
6g noma numba numpy pytorch ray reinforcement-learning ris scipy simulation star-ris wireless-communication
Last synced: 19 days ago
JSON representation
Comyx is an optimized and modular Python library for simulating wireless communication systems
- Host: GitHub
- URL: https://github.com/muhd-umer/comyx
- Owner: muhd-umer
- License: mit
- Created: 2023-05-11T15:04:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-08T20:26:39.000Z (6 months ago)
- Last Synced: 2025-04-08T12:49:33.054Z (22 days ago)
- Topics: 6g, noma, numba, numpy, pytorch, ray, reinforcement-learning, ris, scipy, simulation, star-ris, wireless-communication
- Language: Python
- Homepage: https://comyx.readthedocs.io/
- Size: 47.6 MB
- Stars: 15
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
![]()
[](https://github.com/muhd-umer/comyx/actions?query=workflow:"build")
[](https://github.com/muhd-umer/comyx/releases/)
[](#license)
[](https://comyx.readthedocs.io/)
[](https://numpy.org/)
[](https://scipy.org/)
[](https://numba.pydata.org/)
[](https://pytorch.org/)**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.## To-Do
- [ ] Update documentation
- [ ] Add network optimization support
- [ ] Add Reinforcement Learning (RL) support## Installation
You can install the latest version of the package using pip:
```shell
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:
```shell
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)
```shell
pip install torch torchvision torchaudio
```- Install Ray RLlib
```shell
pip install -U ray[default] # core, dashboard, cluster launcher
pip install -U ray[rllib] # tune, rllib
```