Skip to main content

CRRM 5G system-level simulator

Keith Briggs and Ibrahim Nur

The CRRM (cellular radio reference model) simulator emulates a cellular radio system following 5G concepts and channel models. The intention is to have an easy-to-use, scalable, and very fast system written in pure Python with minimal dependencies.

Note that CRRM is a system-level simulator, not a link-level simulator. This means that it takes a coarse-grained approach, specifically meaning that it does not model concepts like packet flows and queueing at all. Resource allocation is modelled, but only as a continuous process that ignores discrete resource blocks. These simplifications are necessary if large systems are to be simulated. The main application areas are the evaluation of high-level network management strategies, not the accurate estimation of throughputs to indvidual devices. Other software is available for that type of link-level simulation.

The simulator builds on an earlier one developed for the AIMM project (https://github.com/keithbriggs/AIMM-simulator) by Keith Briggs (https://keithbriggs.info), but is a complete rewrite with many improvements. It also uses ideas from the CRM project by Kishan Sthankiya (https://github.com/apw804/CellularReferenceModel).

Software dependencies

  1. Python 3.8 or higher https://python.org.
  2. NumPy https://numpy.org/.
  3. SciPy https://scipy.org/.
  4. Matplotlib https://matplotlib.org.

Installation from PyPi

pip install CRRM

Installation from source

  1. Download zip from the green "<> Code" tab above
  2. unzip CRRM-2.0.zip
  3. cd CRRM-2.0
  4. pip install .

Documentation

See https://crrm-20.readthedocs.io/en/latest/ (local version in doc/sphinx-build/index.html).

Further technical documentation is at https://arxiv.org/abs/2511.02692.

Release files for CRRM 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for CRRM 2.0.2
File Interpreter ABI Platform
crrm-2.0.2-py3-none-any.whl Python 3 none any Details

Release files / crrm-2.0.2-py3-none-any.whl

Download URL crrm-2.0.2-py3-none-any.whl
Size 140.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e0420f122221b4b3b654857b71660423a451818f4d7370df98625a248ae9f2cc
BLAKE2b-256 checksum
How to use checksums
35b1fff3f167885c549acbbf38ac619ee24613719848e9c4b90d7a8917f79a20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

2.0.2 This release

1 release file

2.0.1

1 release file

2.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page