Skip to content

Installing mmWave ns-3 Extension Module to Simulate 5G Wireless Systems

Millimetre-wave(mmWave) System:

Millimetre-wave (mmWave) communication systems have attracted significant interest regarding meeting the capacity requirements of the future 5G network[3].  MmWave spectrum is between 30 GHz and 300 GHz.  Theoretically, this Extremely high-frequency spectrum can provide extremely high-speed wireless communications so that it is used to design the fast 5G Networks. Apart from normal 5G wireless network simulations, it is possible to use mmWave along with the existing V2X and V2V based VANET scenarios to utilize the high-speed communication features of this mmWave system.  The image from [2] shows an example 5G network scenario.

Applications of mmWave

In[5], the following application of mmWave has been outlined:

  • Enhanced mobile broadband will directly benefit from high network capacity in urban environments.
  • Popular, crowded areas and hotspots with large numbers of smartphone users, stadiums or other large indoor events will get benefit from it
  • Low latency characteristics of 5G mmWave will improve surveillance and video streaming/broadcasts,
  • High-speed AR/VR for enhanced online gaming experiences, and the evolution of the 5G smart factory. 

mmWave module for ns-3

This ns-3 module is for the simulation of 5G cellular networks operating at mmWaves[3].

  • As per its documentation, this module provides the following features[4]:
  • 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 support the 3GPP NR frame structure and numerologies.
  • Custom schedulers for supporting dynamic TDD formats
  • 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)

Installation of ns-3 mmWave Under Debian 10 Buster

This ns-3 installation will not contain NetAnim. If you need it, then you have to install it from the ns-allinone-3.33 package.

Note: since I am installing this on a chrooted Dibian 10 environment, I am installing mm-Wave under /home  of the chroot jail – if you wish to do the installation on chroot jail instead of a native install, you may lean chroot based ns3 installation form the following link :

https://www.projectguideline.com/installing-ns3-35-in-debian-10-chroot-jail-under-debian-11-host-os-or-any-version-of-linux-host/

Even though the above chroot install is explaining a ns3.35 install, you  can do the same for installing ns3.33 also.

Step 1: Install the necessary dependencies of ns3 

# refresh the database of available packages
$ sudo apt-get update

#install the dependencies
$ sudo apt git install g++ python3 python3-dev pkg-config sqlite3 tbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

#(see https://www.nsnam.org/wiki/Installation for specific installation details for ns3.33 – if any)

Step 2: Clone the whole project directory from github

This repository contains a complete installation of the mmwave module on ns3.33 version. So if you try to install the module only on any other lower or higher version of ns-3, then you may face some issues/errors while compiling it or using it. 

# Make 
$ cd /home/your_home
$ git clone https://github.com/nyuwireless-unipd/ns3-mmwave.git

The above common will clone the entire ns-3.33 version of files and folders along with the mmWave extension

The following output shows the files and folders under the newly cloned  ‘ns3-mmwave’ folder. (Note: since I am installing this on a chrooted Dibian 10 environment, I am installing it under /home  of the chroot jail – and I took the screenshot after compiling it – so I may have one or two additional files and directories)

Step 3: Compiling ns3-mmwave

Hidden Section! Contact Charles  

The key/passphrase will be given once you have been approved for getting paid research support/assistance from Charles. To get paid support, you may start a 'free' research discussion.  

WhatsApp chatDiscuss Through WhatsApp
 

 
The following terminal output shows the successful configure operation:
The red warnings show the options that are not enabled in the configuration. You may just ignore them.
 

Step 4: Making ns-3.33 (or ns3-mmwave) using ‘waf’

#Compiling ns-3.33 along with mmWave extention
$ ./waf
 

 

The following terminal shows the successful compile of ns3-mmwave

 

In the above screenshot, under the mmwave module, you may found netsimulyzer module that I planned to use in future — your default installation of mmWave will not have it –  just ignore it).  

Step3: Testing the working of mmWave

The following shows the running a mmWave experiment simulation and verifying the good working of the mmWave installation/

You may copy one of the example scripts from the mmwave/example folder to /scratch folder

#Running a mmWave example
$ cd /home/your_home/ns3-mmwave/
$ cp /home/your_home/ns3-mmwave/src/mmwave/examples/mmwave-example.cc  /home/your_home/ns3-mmwave/scratch

#Now run the simulation
$ ./waf –run mmwave-example
 

 The following screenshot shows the successful run of the example simulation mmwave-example.cc

 

Hidden Section! Contact Charles  

The key/passphrase will be given once you have been approved for getting paid research support/assistance from Charles. To get paid support, you may start a 'free' research discussion.  

WhatsApp chatDiscuss Through WhatsApp
 

We may see the possibilities of visualizing a 5G network scenario using NetAnim(2D Network Scenarios) and NetSimulyzer(3D Network Scenarios) in another article.

References:

  1. https://www.nsnam.org/wiki/Installation
  2. https://www.sciencedirect.com/topics/engineering/millimeter-wave
  3. Marco Mezzavilla, Menglei Zhang, Michele Polese, Russell Ford, Sourjya Dutta, Sundeep Rangan and Michele Zorzi, End-to-End Simulation of 5G mmWave Networks, IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 20, NO. 3, 2018
  4. https://github.com/nyuwireless-unipd/ns3-mmwave
  5. https://www.ericsson.com/en/reports-and-papers/further-insights/leveraging-the-potential-of-5g-millimeter-wave
WhatsApp Discuss Through WhatsApp