2025-11-19: the AIMM simulator is now superseded by CRRM. Please see https://github.com/keithbriggs/CRRM-2.0.
The AIMM simulator emulates a cellular radio system roughly following 5G concepts and channel models. The intention is to have an easy-to-use and fast system written in pure Python with minimal dependencies. It is especially designed to be suitable for interfacing to AI engines such as tensorflow or pytorch, and it is not a principal aim for it to be extremely accurate at the level of the radio channel. The simulator was developed for the AIMM project (https://aimm.celticnext.eu) by Keith Briggs (https://keithbriggs.info).
The full documentation is at https://aimm-simulator.readthedocs.io/en/latest/.
- Python 3.8 or higher https://python.org.
- NumPy https://numpy.org/.
- Simpy https://pypi.org/project/simpy/.
- If real-time plotting is needed, matplotlib https://matplotlib.org.
Three ways are possible:
-
The simplest way, direct from PyPI:
pip install AIMM-simulator. This will not always get the latest version. -
Download the wheel, typically
dist/aimm_simulator-2.x.y-py3-none-any.whlfrom github, and runpip install <wheel>. -
Alternatively, the package can be installed by downloading the complete repository (using the green
<> Code ⌄button) as a zip, unpacking it, and then doingmake install_localfrom inside the unpacked zip.
After installation, run a test with python3 examples/basic_test.py.
The diagram below (not visible on pypi.org) shows the main classes in the code and the relationships between them.
