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 :
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
$ 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.
$ 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
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
$ 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
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:
- https://www.nsnam.org/wiki/Installation
- https://www.sciencedirect.com/topics/engineering/millimeter-wave
- 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
- https://github.com/nyuwireless-unipd/ns3-mmwave
- https://www.ericsson.com/en/reports-and-papers/further-insights/leveraging-the-potential-of-5g-millimeter-wave