This repository contains in the code for the ns-3 integration of the QD channel model implementation from NIST and University of Padova. Please refer to the repository of the QD implementation for a complete documentation on how to generate new scenarios. In this repository, we provide a first example based on a simple indoor scenario.
The implementation leverages the spectrum implementation of the matrix-based channel model introduced in ns-3.31, described in this paper. Please cite it if you intend to use this module:
@misc{qd-realization,
author = {Mattia Lecci and Paolo Testolina and Michele Polese and Marco Giordani and Michele Zorzi},
title = {Accuracy vs. Complexity for mmWave Ray-Tracing: A Full Stack Perspective},
howpublished = {arXiv:2007.07125},
}References on the QD model and its usage can be found in the following papers:
- M. Lecci, P. Testolina, M. Polese, M. Giordani, M. Zorzi, "Accuracy vs. Complexity for mmWave Ray-Tracing: A Full Stack Perspective," accepted for publication in IEEE Transaction of Wireless Communications, pre-print available: arXiv:2007.07125.
- M. Lecci, T. Zugno, S. Zampato, M. Zorzi, "A Full-Stack Open-Source Framework for Antenna and Beamforming Evaluation in mmWave 5G NR," in IEEE International Conference on Communications: Mobile and Wireless Networks Symposium (ICC MWN), Montreal, Canada, Jun. 2021, pre-print available: arXiv:2011.05800.
- M. Lecci, M. Polese, C. Lai, J. Wang, C. Gentile, N. Golmie, M. Zorzi, "Quasi-Deterministic Channel Model for mmWaves: Mathematical Formalization and Validation", in IEEE Global Communications Conference (GLOBECOM), Taipei, Taiwan, Dec. 2020, DOI: 10.1109/GLOBECOM42002.2020.9322374.
- C. Gentile, P. B. Papazian, R. Sun, J. Senic, and J. Wang, “Quasi- Deterministic Channel Model Parameters for a Data Center at 60 GHz,” IEEE Antennas and Wireless Propagation Letters, vol. 17, no. 5, pp. 808–812, May 2018, DOI: 10.1109/LAWP.2018.2817066.
- C. Lai, R. Sun, C. Gentile, P. B. Papazian, J. Wang, and J. Senic, “Methodology for multipath-component tracking in millimeter-wave channel modeling,” IEEE Transactions on Antennas and Propagation, vol. 67, no. 3, pp. 1826–1836, Mar. 2019, DOI: 10.1109/TAP.2018.2888686.
- M. Lecci, P. Testolina, M. Giordani, M. Polese, T. Ropitault, C. Gentile, N. Varshney, A. Bodi, and M. Zorzi, "Simplified ray tracing for the millimeter wave channel: A performance evaluation," in Workshop on Information Theory and Applications (ITA), San Diego, CA, US, Feb. 2020, DOI: 10.1109/ITA50056.2020.9244950.
The example qd-channel-model-example.cc can be used as a starting point to understand how to use the ray tracer in wireless simulations with ns-3.
To run simulations using this module, you will need to install ns-3, and clone
this repository inside the contrib directory.
Required dependencies include git and a build environment.
Please check the release page for further information on the compatible versions of ns-3.
Please refer to the ns-3 wiki for instructions on how to set up your system to install ns-3.
First, clone the main ns-3 repository:
git clone https://gitlab.com/nsnam/ns-3-dev ns-3-devThen, clone the qd-channel module:
git clone https://github.com/signetlabdei/qd-channel ns-3-dev/contrib/qd-channelConfigure and build ns-3 from the ns-3-dev folder:
./waf configure --enable-tests --enable-examples
./waf buildThis module does not provide Python bindings at the moment, they will be added in the near future.
To compile the documentation, please follow the instructions from the ns-3 manual.
Basic steps:
- Install the dcumentation-specific depdendencies as described in the ns-3 installation guide
- You might need to fix the ImageMagick permissions for ghostscript files
Compiling standalone documentation:
- Run in your terminal, in the ns-3 root folder,
make -C contrib/qd-channel/doc html - Open with your browser the file
contrib/qd-channel/doc/models/build/html/qd-channel.htmlto visualize the documentation of the model
Adding documentation to ns-3:
- In
doc/models/source/index.rst, addqd-channelin the TOC tree - In
doc/models/Makefile, add../../contrib/qd-channel/doc/source/qd-channel.rstas one of theSOURCES - Run in your terminal, in the ns-3 root folder,
make -C doc/models html - Open with your browser the file
doc/models/build/html/qd-channel.html. You should locate theQD Channel Modelin the TOC, as added before