Skip to content

mmcesim/mmcesim

Repository files navigation

mmCEsim Build mmCEsim CLI

Code Size Total Lines License Release Download DOI

CLI & GUI Application for Millimeter Wave Channel Estimation Simulation

Important

This application is currently under active development.

Citation

Find mmCEsim useful to your research? You may consider citing it1:

[1] W. Zhao, “mmCEsim: Tasked-oriented millimeter wave channel estimation,” Zenodo, Jul. 2022, doi: 10.5281/zenodo.6912824.

@article{zhao2022mmcesim,
  title   = {{mmCEsim}: Tasked-Oriented Millimeter Wave Channel Estimation Simulation},
  author  = {Zhao, Wuqiong},
  journal = {Zenodo},
  year    = {2022},
  month   = jul,
  doi     = {10.5281/zenodo.6912824},
}

Usage

$ mmcesim -h
mmCEsim 0.3.0  (C) 2022-2024 Wuqiong Zhao
Millimeter Wave Channel Estimation Simulation
=============================================

Usage: mmcesim <command> <input> [options]

Commands:
  sim [ simulate ]       run simulation
  dbg [ debug ]          debug simulation settings
  exp [ export ]         export code
  cfg [ config ]         configure mmCEsim options
  (Leave empty)          generic use

Allowed options:

Generic options:
  -v [ --version ]       print version string
  -h [ --help ]          produce help message
  --gui                  open the GUI app

Configuration:
  -o [ --output ] arg    output file name
  -s [ --style ] arg     style options (C++ only, with astyle)
  -l [ --lang ] arg      export language or simulation backend
  --value arg            value for configuration option
  -f [ --force ]         force writing mode
  -V [ --verbose ]       print additional information
  --no-error-compile     do not raise error if simulation compiling fails
  --no-term-color        disable colorful terminal contents

Documentation and Tutorials

Here are some useful resources:

Contributing

You are welcome to contribute to mmCEsim. More information is available in CONTRIBUTING. Development documentation generated by Doxygen is available at https://dev.mmcesim.org.

Build

Build From Source

For a Unix system, you can use CMake to install mmCEsim

git clone https://github.com/mmcesim/mmcesim.git --recurse-submodules
cd mmcesim
mkdir build
cmake . build
cd build
make
sudo make install

Note

The option --recurse-submodules is required because some dependencies of mmCEsim are managed by Git submodules.

You need to have Boost Library (v1.70 or higher) to compile. If you want to build the GUI app as well, you need to install Qt6.

Some options can be configured when calling cmake.

  • CMAKE_BUILD_TYPE: Build type (default as Release)
  • CMAKE_INSTALL_PREFIX: Installation prefix (default as system path)
  • MMCESIM_BUILD_ASTYLE: Build astyle code formatter (default as ON)
  • MMCESIM_BUILD_LOG: Build mmCEsim log tool (default as ON)
  • MMCESIM_BUILD_MAINTAIN: Build mmCEsim maintenance tool (default as OFF)
  • MMCESIM_BUILD_GUI: Build mmCEsim GUI App with Qt (default as OFF)
  • MMCESIM_APPLE_COPY_SH: Copy additional shell script for macOS (default as OFF)
  • MMCESIM_TESTS: Run mmCEsim tests (default as ON)

For example, you may use

cmake . build -D CMAKE_INSTALL_PREFIX=usr/mmcesim

to install mmCEsim to the directory usr/mmcesim.

Release

You can download the latest built binary in GitHub Releases. All these releases are statically linked, so no dependency library is required.

System Architecture File Extension
Linux x86 .tar.gz
macOS x64, arm .zip
Windows x86 .zip

Accompanying Build Support

TinyTeX-mmCEsim MinGW-mmCEsim
Portable LaTeX Engine for Report Export Portable C++ Compiler Backend on Windows
mmcesim/tinytex-mmcesim mmcesim/mingw-mmcesim
Build TinyTeX-mmCEsim Build MinGW-mmCEsim

License

mmCEsim is distributed by an MIT License.

Footnotes

  1. In bibtex, the note field may not be necessary. It should only be used when the doi field does not show (for example IEEEtran style).