Skip to main content

IMToolkit

IMToolkit, an open-source index modulation (IM) toolkit, attempts to facilitate reproducible research in wireless communications. The major advantages of this toolkit are highlighted as follows:

  • It accelerates bit error ratio and average mutual information simulations by relying on a state-of-the-art Nvidia GPU and the massively parallel algorithms proposed in [1].
  • It also supports the representative multiplexing schemes for ideal MIMO and OFDM scenarios, in addition to the IM family.
  • It contains a comprehensive database of designed active indices, that determine the achievable performance of the generalized spatial modulation or the subcarrier-index modulation.

For more information, please refer to the following webpages.

Installation Guide

IMToolkit is available from the Python official package repository PyPi.

> pip install imtoolkit

This installation requires NumPy, Pandas, SciPy, SymPy, Numba, and tqdm, all of which are popular Python packages. Additionally, it is strongly recommended to install CuPy 5.40+. IMToolkit is heavily dependent on CuPy to achieve significantly fast Monte Carlo simulations. The key components required by CuPy are listed here. In case CuPy is not installed in your environment, IMToolkit uses NumPy only. Note that the CuPy-based simulation is 145 times faster than the NumPy-based calculation, as reported in [1].

The above PyPi package excluded the designed active indices due to their large file size, which exceeds 500MB. Hence, this reduced-size PyPi package will automatically download a required file from the GitHub repository or a mirror website. If you need all the project files, to use imtoolkit offline, it is recommended to obtain the whole package from GitHub as follows:

> pip install git+https://github.com/imtoolkit/imtoolkit

The IMToolkit development team welcomes other researchers' contributions and pull requests. In that case, it would be better to install the latest package and activate the editable mode as follows:

> git clone https://github.com/imtoolkit/imtoolkit
> pip install -e ./imtoolkit # this activates the editable mode

A detailed tutorial for the installed imtoolkit command is available here.

Citations

It would be highly appreciated if you cite the following reference when using IMToolkit.

Of course, if your project relies on CuPy, the following reference is strongly recommended.

Contributor(s)

Metadata

Release files for imtoolkit 0.8

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 imtoolkit 0.8
File Interpreter ABI Platform
imtoolkit-0.8-py3-none-any.whl Python 3 none any Details

Release files / imtoolkit-0.8-py3-none-any.whl

Download URL imtoolkit-0.8-py3-none-any.whl
Size 77.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
228073986b6e5a57132145023e207313641e5b725d2c65e1db3bb4468e21e5c9
BLAKE2b-256 checksum
How to use checksums
999282203c0d53e43ba90cbe310e96b9eb878f67fb6d510414d841c4c03f4888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.8 This release

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

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