Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
tommasozugno authored Sep 15, 2020
1 parent 5cec7b4 commit bb2c452
Showing 1 changed file with 24 additions and 14 deletions.
38 changes: 24 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,33 @@
This is an [ns-3](https://www.nsnam.org "ns-3 Website") mmWave module for the simulation
of 5G mmWave cellular networks. A description of this module can be found on [IEEExplore (open access)](https://ieeexplore.ieee.org/document/8344116/ "mmwave paper").

The mmWave module for ns-3 can be used to simulate 5G cellular networks at mmWave frequencies.
This module builds on top of the LTE one, and currently includes features such as:
- Support of a wide range of channel models, including the latest 3GPP model for frequency spectrum above 6 GHz. Ray tracing and measured traces can also be modeled.
- Custom PHY and MAC classes, inspired to the PHY and MAC of 3GPP NR. They support dynamic TDD, and are parameterized and highly customizable in order to be flexible enough for testing different designs.
- Custom schedulers for the dynamic TDD format
- Carrier Aggregation at the MAC layer
- Enhancements to the RLC layer with re-segmentation of packets for retransmissions
- Dual Connectivity with LTE base stations, with fast secondary cell handover and channel tracking
- Simulation of core network elements (with also the MME as a real node)

The following papers describe in detail the features implemented in the mmWave module:
The mmWave module for ns-3 can be used to simulate 5G cellular networks at mmWave frequencies. This module builds on top of the LTE one, and currently includes features such as:

* Support of a wide range of channel models, including the model based on 3GPP TR 38.901 for frequencies between 0.5 and 100 GHz. Ray tracing and measured traces can also be used.

* Custom PHY and MAC classes supporting the 3GPP NR frame structure and numerologies. They support dynamic TDD, and are parameterized and highly customizable in order to be flexible enough for testing different designs.

* Custom schedulers for the dynamic TDD format

* Carrier Aggregation at the MAC layer

* Enhancements to the RLC layer with re-segmentation of packets for retransmissions

* Dual Connectivity with LTE base stations, with fast secondary cell handover and channel tracking

* Simulation of core network elements (with also the MME as a real node)

The following papers describe in detail the features implemented in the mmWave
module:
- [End-to-End Simulation of 5G mmWave Networks](https://ieeexplore.ieee.org/document/8344116/ "comst paper") is a comprehensive tutorial with a detailed description of the whole module. We advise the researchers interested in this module to start reading from this paper;
- [Integration of Carrier Aggregation and Dual Connectivity for the ns-3 mmWave Module](https://arxiv.org/abs/1802.06706 "wns3 2018") describes the Carrier Aggregation implementation;
- [ns-3 Implementation of the 3GPP MIMO Channel Model for Frequency Spectrum above 6 GHz](https://dl.acm.org/citation.cfm?id=3067678 "wns3 2017") describes the implementation of the 3GPP channel model;
- [Multi-Sector and Multi-Panel Performance in 5G mmWave Cellular Networks](https://arxiv.org/abs/1808.04905 "globecom2018") describes the multi-sector addition to the 3GPP channel model;
- [Implementation of A Spatial Channel Model for ns-3](https://arxiv.org/abs/2002.09341 "wns3 2020") describes the integration of the spatial channel model based on the 3GPP specifications TR 38.901 V15.0.0;
- [Performance Comparison of Dual Connectivity and Hard Handover for LTE-5G Tight Integration](https://arxiv.org/abs/1607.05425 "simutools paper") describes the Dual Connectivity feature.

These other papers describe features that were implemented in older releases:
- [ns-3 Implementation of the 3GPP MIMO Channel Model for Frequency Spectrum above 6 GHz](https://dl.acm.org/citation.cfm?id=3067678 "wns3 2017") describes the implementation of the 3GPP channel model based on TR 38.900;
- [Multi-Sector and Multi-Panel Performance in 5G mmWave Cellular Networks](https://arxiv.org/abs/1808.04905 "globecom2018") describes the multi-sector addition to the 3GPP channel model;

If you use this module in your research, please cite
M. Mezzavilla, M. Zhang, M. Polese, R. Ford, S. Dutta, S. Rangan, M. Zorzi, _"End-to-End Simulation of 5G mmWave Networks,"_ in IEEE Communications Surveys & Tutorials, vol. 20, no. 3, pp. 2237-2263, thirdquarter 2018. [bibtex available here](https://ieeexplore.ieee.org/document/8344116/)

Expand Down Expand Up @@ -164,4 +174,4 @@ familiar with it.

If you have successfully installed mercurial, you can get
a copy of the development version with the following command:
"hg clone http://code.nsnam.org/ns-3-dev"
"hg clone http://code.nsnam.org/ns-3-dev"

6 comments on commit bb2c452

@JoseCraibas
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello dear Thommas,

I'm trying to run this module using waf, but I keep failing and I receive an error message that says: task in 'ns3module_lte' failed with exit status 1 (run with -v to display more information).

src/lte/bindings/ns3module.cc: In function ‘PyObject* PyInit_lte()’:
src/lte/bindings/ns3module.cc:215465:103: error: ‘TraceFadingLossModel’ is not a member of ‘ns3’
PyNs3SimpleRefCount__Ns3Object_Ns3ObjectBase_Ns3ObjectDeleter__typeid_map.register_wrapper(typeid(ns3::TraceFadingLossModel), &PyNs3TraceFadingLossModel_Type);

I'm using gcc/g++ 5.4.0 over Ubuntu 16.04 64 bits. Besides I use the following waf configuration:
./waf configure --build-profile=debug --enable-examples --enable-tests --enable-mpi --python=/usr/bin/python3.5 --enable-sudo

image

Could you help me find out my mistake?

Besides, I would like to know if this integration among CA, DC and mmWave works with the DCE project?

@tommasozugno
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Jose,

This is because we did not rescan the python bindings after the latest release. I will try to fix this issue in the following days. If you don't need the bindings, you can build using the option --disable-python.

Besides, I would like to know if this integration among CA, DC and mmWave works with the DCE project?

Yes.

P.S.: please consider opening an issue to report this kind of problems

Best,
Tommaso

@SplayXu
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dear Thommas,

I would like to know if it’s possible to use OLSR, AODV or other routing protocols with this module to simulate device to device communication in NS-3?
Thank you so much.

@tommasozugno
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not with this module, you should check the official ns-3 release.

Best,
Tommaso

@SplayXu
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dear Tommaso,

Sorry I didn't make my self clear. I want to simulate a D2D network with NR feature. I'm wondering if I could realize that using the PHY and MAC layer with this module.
Thank you so much for your time

@tommasozugno
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please have a look at this one, it implements the NR sidelink. I know that somebody was trying to use OLSR but I don't know if he succeeded (see here)

Please sign in to comment.