0% found this document useful (0 votes)
4 views42 pages

Chapter 1 Introduction

cdhfjfvjhgjhgjh

Uploaded by

nestor martourez
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views42 pages

Chapter 1 Introduction

cdhfjfvjhgjhgjh

Uploaded by

nestor martourez
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

1

TABLE OF CONTENT
TABLE OF CONTENT..............................................................................................i

TABLE OF FIGURES.............................................................................................iii

Abstract....................................................................................................................iv

Acknowledgement.....................................................................................................v

CHAPTER 1 INTRODUCTION...............................................................................2
1.1 Background and problem motivation.................................................................................................2

1.2 Goals............................................................................................................................................2

1.3 Limitations.........................................................................................................................................2

1.4 Objectives (Concrete goals)...............................................................................................................2

1.5 Project context...................................................................................................................................3

CHAPTER 2: PROJECT AND FRAMEWORK DESCRIPTION...........................5


2.1 JavaFX Architecture:.........................................................................................................................6

2.2 JAVA Desktop Application platform..................................................................................................9

2.2.1 JavaFX Development Framework.............................................................................................10

2.2.2 JavaFX Application Structure..................................................................................................10

2.2.3 JavaFX Application Dveleopment............................................................................................12

CHAPTER 3: REQUIREMENT ANALYSIS.........................................................14


3.1 Functional Requirements.................................................................................................................14

3.1.1 Input Requirements...................................................................................................................14

3.1.2 Operational Requirements........................................................................................................14

3.1.3 Output Requirements................................................................................................................14

3.2 Non-Functional Requirements.........................................................................................................14

3.2.1 Software Requirements.............................................................................................................15

2
3.2.2 Secondary Requirements..........................................................................................................15

3.3 Algorithm Flow Chart......................................................................................................................15

CHAPTER 4: RADIO PLANNEX PRO GRAPHICAL DESIGN AND


IMPLEMENTATION..............................................................................................17
4.1 Design View of the tool.............................................................................................................17

4.2 Implementation of the Radio Plannex tool.......................................................................................18

4.2.1 System Parameters Tab:....................................................................................................18

4.2.2 Transmitter side parameter tab :.........................................................................................19

4.2.3 Receiver side parameters:..................................................................................................20

4.2.4 Locate site map tab:...........................................................................................................21

4.2.5 Final budget output tab:.....................................................................................................21

4.3 Database design:........................................................................................................................21

CONCLUSION.......................................................................................................23

PART B....................................................................................................................24

CHAPTER 5: RADIO NETWORK PLANNING WITH ATOLL..........................25


5.1 OBJECTIVE:.......................................................................................................................................25

5.2 Coverage planning of LTE network in Atoll, case study: Buea area.................................................25

5.2.1 Hardware and software requirements:.....................................................................................25

5.2.2 PROCEDURE..............................................................................................................................25

5.3 Work done with Google Earth..........................................................................................................25

5.4 Work done in ATOLL.........................................................................................................................27

REFERENCES........................................................................................................32

3
TABLE OF FIGURES
Figure 1 : JAVAFX Software stack.................................................................................................................7
Figure 2: JavaFX scsene graph......................................................................................................................8
Figure 3: JavaFX media engine file formats................................................................................................10
Figure 4: JavaFX Application Structure.......................................................................................................12
Figure 5: JavaFX application development procedures..............................................................................15
Figure 6: Flowchart of the series of steps needed to perform calculation on Radio plannex tool.............19
Figure 7: Flowchart of Radio Plannext Tool showing the series of steps to carry out calculations.............19
Figure 8: JavaFX scene Builder Design view...............................................................................................22
Figure 9: Radio Plannex tool showing first view (system Parameter tab)...................................................23
Figure 10: Transmitter side Paramater tab view........................................................................................24
Figure 11: Receiver side parameter view...................................................................................................25
Figure 12: Final budget parameter tab view..............................................................................................26
Figure 13: Database design shown relations of the tables.........................................................................27
Figure 14 :Google Map application............................................................................................................31
Figure 15: Buea view from Google Maps...................................................................................................32
Figure 16: Google Map place marker setting window...............................................................................32
Figure 17: Atoll Software window when launched....................................................................................33
Figure 18: Atoll project Creation selection window wizard.......................................................................33
Figure 19: Setting up the map grid system on Atoll...................................................................................34
Figure 20: Atoll network parameters window............................................................................................35
Figure 21: Atoll importing map points from excel document....................................................................35
Figure 22: Atoll setting network parameters for simulation......................................................................36
Figure 23: Atoll setting propagation model to use in planning..................................................................36
Figure 24: Final results from simulation by signal level on Atoll................................................................37

4
Abstract
The aim of coverage dimensioning is to determine the number of base stations needed to cover a
specific area. For that, the dimensioning will include; to obtain the Maximum Allowable path
loss (MAPL) per direction of analysis, to obtain the cell radius, and to estimate the number of
base stations for coverage requirement.

To do these calculations theoretically on paper, it takes some considerable amount of time to


come up with the final results involve in coverage dimensioning as per the directions considered
(that is Uplink or Downlink direction) which is at times prone to errors by the person the
calculations. By so doing, in order to eliminate the too much time to perform calculations on
paper, it is therefore wise to transform our theoretical formulas used in our calculations into a
form which can be easily and efficiently used as a tool to calculate these key results involved in
this process whenever needed. The objective of this project is therefore to design and implement
a software tool that can be used to obtained these calculated parameters from inputs whenever
needed.

This work is divided into five different phases. The first phase which is requirement (parameter)
analysis where the various parameters needed as inputs to this tool are investigated and studied
for use in the design phase. The second, third, fourth and fifth phases are all under the design,
testing and implementation of the tool.

The system was implemented using JAVAFX platform and the SQLite database server. We used
an iterative software development model in order to implement the functional requirements
incrementally and in doing so we were able to evaluate our work early, before the next set of
requirement were implemented after testing each section with its calculations in accordance our
the results from our calculations obtained theoretically.

5
Acknowledgement
We would like to thank our lecturer Mr. Nkemeni Valery not only for the opportunity to work on
such a project but also upon the implementation of this project has broaden our understanding of
the Radio network planning process and also the opportunity to get interested in programming
and development of such an interesting application that we too will be able to use at home to
fastened our calculations during tutorials and studies at home. We are also grateful because we
have been able to use a real and professional tool (Atoll ) to carry out coverage planning too and
to be able to exploit some of its wonderful functionalities that are needed in every radio network
process. Lastly we will also like to thank our course mates for their wonderful ideas we all
shared during the project development.

6
PART A

1
CHAPTER 1 INTRODUCTION

1.1 Background and problem motivation


The implementation and use of radio network dimensioning tools in the radio planning process
is a fast and efficient method to easily manage and manipulate the available data needed for the
process and to reduce the time in doing analysis of the various links involved hence improving
their service time.

Prior to the design of this project, we never had a simple graphical user interface calculator to be
able to help us at home to quickly analyze our MAPL and cell radius during tutorials and self-
research for 4G LTE network architecture.

1.2 Goals
The purpose of this project is to;

1) Carry out coverage planning of an LTE network on Buea using the Atoll radio network
planning tool.
2) Design and implementation of a radio network planning tool using any
programming language of your choice that does the following
 Perform Link budget calculation in 4G LTE
 Displays the coverage plan of the selected sites on Google Earth.

The software should be able to perform all the calculations using data to be used as input (keyed
in by the user) and then produce the various results as per the inputted data by the user. So at the
end of the dimensioning calculations, the final results to be obtained from the software are the
MAPL, cell radius and number of eNodeBs needed for a particular inputted total coverage area.

1.3 Limitations
 We decided from the beginning that we were going to use inTelliJ IDE a product from
Jetbrains software organization since we are very familiar with their environment and due
to its over compactness and functionality but were not able to exploit its full
functionality into this project since it was just a trial version.

2
 We decided to design and implement the tool in the Java programming language because
it has a good user interface design capability and due to its diverse functionality it offers
in the development of desktop applications.

1.4 Objectives (Concrete goals)


This project’s goals were to achieve the following two-fold objectives:

1. Operational objective: A software tool will be designed using JAVAFX


framework(as my choice of programming framework used) that carriers and
specifies all our parameters needed to carry out our calculations.
2. Display objective: At the end of the project, the tool should be able to display the
Maximum Allowable Path loss, cell radius and then final coverage on Google
maps to show the positions of the eNodeBs in a specified coverage area.

There are diverse versions of tools needed to carry out the objectives of this project such as Atoll
for radio frequency engineering,

1.5 Project context


Radio network planning is a process that defines the stages i.e. visits in the area, measurements,
planning, documentation required to provide a desired radio network plan for a certain
geographical area. Moreover, the radio network planning process has to be defined carefully and
carried out in different phases in order to manage the strong influences between:

 Coverage
 Capacity
 Quality(Interference probability)

These three areas must all be optimized in order to achieve a cost-efficient and overall high
Quality of Service (containing good speech quality, minimum radio network congestion, and
minimum number of drop calls or handover failures) radio network. In coverage planning the
aim is to maximize the base station coverage areas and thus minimize the required infrastructure.
Correspondingly, the base station need has to be minimized in the capacity planning by reusing
the frequencies as often as possible. These two topics have different applications: base station
coverage area can be maximized by maximizing the base station antenna height and the base
station capacity can be maximized by maximizing the frequency reuse that can be reached by

3
minimizing the base station antenna height. Furthermore, quality is not a real planning
topic but is a very important “issue” and refers to primarily interference that can be
connected to capacity and frequency planning that depend on coverage issues like the base
station antenna heights. Quality connects radio network coverage and capacity planning and is
related to frequency planning. This illustrates that any of these “topics” cannot be maximized but
that they all have to be optimized in order to achieve a cost-efficient and high Quality of Service
radio network.

This project aims to demonstrate how to design and develop a simple GUI tool to do coverage
planning(Link Budgeting) for LTE network using parameters that are perculiar in 4G LTE
systems to calculate the Maximum Allowable Path Loss(MAPL), Cell radius and the total
number of cells/eNodeBs. The data used by the tool to perform it calculations will be stored in a
light weight database (SQLite database) so that they can be easily retrieved to be used in
calculations and also reports easily printed from the saved data in the database.

To make the usage of the application to be more interactive and user friendly, the user is giving
access to fill the parameters needed by the tool into sections that is the tool is divided into four
sections which are systems parameters, transmitter side parameters, receiver side parameters and
the final budget output section. Each section upon feeling the data is saved to the database
having tables representing the various four sections to hold their corresponding data.

Furthermore to create a great user experience, the tool does not only give you the possibility of
saving to the database tables but also gives you the capability of updating an existing data that
was saved already into the database(for example upon doing the calculation of the MAPL and
you noticed that it value is large as a result of an abnormal parameter value, so the tool gives
you now the ability to go to the tap and update that parameter with a new value then perform the
calculation again for the MAPL).

4
CHAPTER 2: PROJECT AND FRAMEWORK DESCRIPTION
In this project “Design and implementation of Radio Network planning tool using any
programming language of your choice to do link budget calculations in 4G LTE and then display
the coverage on Google maps” was carried out. The tool provides a smooth and better user
experience, offering an interactive way of performing calculations through its graphical user
interface design.

With this tool, a user should be able to carry out calculation of the MAPL, cell radius and total
number of eNodeBs for a specified coverage area in a 4G LTE network. The users would set the
parameters needed for the calculation from one section.

This project was carried out using the JAVA programming language with JavaFX framework to
enable us build good and responsive design of the user interface of the tool. Java was selected
because of its diverse functionality such as it is “write once read many” (that is it can be written
in one machine running a different operating system but can also run any other machine running
the same/different operating system), offers a means for good user interface design, it offers an
efficient way of managing resources needed for a project, Java applications are running on more
than 3 billion devices now ranging from desktop, embedded systems, mobile devices, web
systems and in machines.

We used the JavaFX framework (library) because it offers a better design capability and JavaFX
provides a rich set of graphics and media API’s and it leverages the modern Graphical
Processing Unit through hardware accelerated graphics. JavaFX also provides interfaces using
which developers can combine graphics animation and UI control.

The following are some of the important features of JavaFX :

 Written in Java: The JavaFX library is written in Java and is available for the languages
that can be executed on a JVM, which include – Java, Groovy and JRuby. These JavaFX
applications are also platform independent.

5
 FXML: JavaFX features a language known as FXML, which is a HTML like
declarative markup language. The sole purpose of this language is to define a user
Interface.
 Scene Builder: JavaFX provides an application named Scene Builder. On integrating this
application in IDE’s such as intelliJ, Eclipse and NetBeans, the users can access a
drag and drop design interface, which is used to develop FXML applications (just like
Swing Drag & Drop and Dreamweaver Applications). Swing Interoperability: In a
JavaFX application, you can embed Swing content using the Swing Node class.
Similarly, you can update the existing Swing applications with JavaFX features like
embedded web content and rich graphics media. Built-in UI controls: JavaFX library
caters UI controls using which we can develop a full-featured application.
 CSS like Styling: JavaFX provides a CSS like styling. By using this, you can improve
the design of your application with a simple knowledge of CSS. Canvas and Printing
API: JavaFX provides Canvas, an immediate mode style of rendering API. Within the
package [Link] it holds a set of classes for canvas, using which we can
draw directly within an area of the JavaFX scene. JavaFX also provides classes for
printing purposes in the package [Link].
 Rich set of API’s: JavaFX library provides a rich set of API’s to develop GUI
applications, 2D and 3D graphics, etc. This set of API’s also includes capabilities of
Java platform. Therefore, using this API, you can access the features of Java languages
such as Generics, annotations, Multithreading, and Lambda Expressions. The
traditional Java Collections library was enhanced and concepts like observable lists and
maps were included in it. Using these, the users can observe the changes in the data
models.
 Integrated Graphics library: JavaFX provides classes for 2d and 3d graphics.
 Graphics pipeline: JavaFX supports graphics based on the Hardware-accelerated
graphics pipeline known as Prism. When used with a supported Graphic Card or GPUit
offers smooth graphics. In case the system does not support grap hic card then prism
defaults to the software rendering stack.

2.1 JavaFX Architecture:


The important packages of this API are:

6
 [Link]: Contains classes to add transition based animations such as fill, fade,
rotate, scale and translation, to the JavaFX nodes.
 [Link]: Contains a set of classes responsible for the JavaFX application
life cycle.
 [Link]: Contains classes to add CSS–like styling to JavaFX GUI applications.
 [Link]: Contains classes and interfaces to deliver and handle JavaFX events.
 [Link]: Contains classes to define 2D objects and perform operations on them.
 [Link]: This package holds the top level container classes for JavaFX
application.
 [Link]: This package provides classes and interfaces to support the scene
graph. In addition, it also provides sub-packages such as canvas, chart, control, effect,
image, input, layout, media, paint, shape, text, transform, web, etc. There are several
components that support this rich API of JavaFX.

The following illustration shows the architecture of JavaFX API. Here you can see the
components that support JavaFX API.

Figure 1 : JAVAFX Software stack

 Scene Graph
In JavaFX, the GUI Applications were coded using a Scene Graph. A Scene
Graph is the
starting point of the construction of the GUI Application. It holds the (GUI)
application
primitives that are termed as nodes.
A node is a visual/graphical object and it may include — Geometrical (Graphical)
objects – (2D and 3D) such as circle, rectangle, polygon, etc.
 UI controls – such as Button, Checkbox, Choice box, Text Area, etc.

7
 Containers – (layout panes) such as Border Pane, Grid Pane, Flow Pane, etc.
 Media elements – such as audio, video and image objects.

In general, a collection of nodes makes a scene graph. All these nodes are arranged in
hierarchical order as shown below.

Figure 2: JavaFX scsene graph

Each node in the scene graph has a single parent, and the node which does not contain any
parents is known as the root node. In the same way, every node has one or more children,
and the node without children is termed as leaf node; a node with children is termed as a
branch node. A node instance can be added to a scene graph only once. The nodes of a
scene graph can have Effects, Opacity, Transforms, Event Handlers, Event Handlers,
Application Specific States.

 Prism
Prism is a high performance hardware–accelerated graphical pipeline that is used to
render the graphics in JavaFX. It can render both 2-D and 3-D graphics. To render
graphics, a Prism uses:
 DirectX 9 on Windows XP and Vista.
 DirectX 11 on Windows 7.
 OpenGL on Mac and Linux, Embedded Systems.
In case the hardware support for graphics on the system is not sufficient, then Prism uses
the
software render path to process the graphics.

8
When used with a supported Graphic Card or GPU, it offers smoother graphics. Just in
case
the system does not support a graphic card, then Prism defaults to the software
rendering
stack (either of the above two).

 GWT ( Glass Windowing Toolk it)


As the name suggests, GWT provides services to manage Windows, Timers,
Surfaces and
Event Queues. GWT connects the JavaFX Platform to the Native Operating System.
 Quantum Toolkit
It is an abstraction over the low-level components of Prism, Glass, Media Engine, and
Web
Engine. It ties Prism and GWT together and makes them available to JavaFX.
 WebView
Using JavaFX, you can also embed HTML content in to a scene graph. WebView
is the
component of JavaFX which is used to process this content. It uses a technology called
Web
Kit, which is an internal open-source web browser engine. This component supports
different
web technologies like HTML5, CSS, JavaScript, DOM and SVG.
Using WebView, you can:
 Render HTML content from local or remote URL.
 Support history and provide Back and Forward navigation.
 Reload the content.
 Apply effects to the web component.
 Edit the HTML content.
 Execute JavaScript commands.
 Handle events.
In general, using WebView, you can control web content from Java.
 Media Engine
The JavaFX media engine is based on an open-source engine known as a Streamer. This
media engine supports the playback of video and audio content. The JavaFX media
engine provides support for audio for the following file formats:

9
Figure 3: JavaFX media engine file formats

The package [Link] contains the classes and interfaces to provide


media
functionality in JavaFX. It is provided in the form of three components, which are:
 Media Object: This represents a media file.
 Media Player: To play media content.
 Media View: To display media.

We also used a light weight database (SQLite database) to be inbuilt in the tool for holding the
data set by the user for calculations rather than using variables to hold this parameters at all time
and also to easily print a report of this parameters and their calculated values at the end of each
session if need be.

2.2 JAVA Desktop Application platform


The important features about the use of Java as a development environment are around the
Application Programming Interface (API) it provides. Java is a high-level programming
language originally developed by Sun Microsystems and released in 1995. Java runs on a variety
of platforms, such as Windows, Mac OS, and the various versions of UNIX. The following are
the main characteristics of the Java programming language;

 Object Oriented: In Java, everything is an Object. Java can be easily extended since it is
based on the Object model.

 Platform independent: Unlike many other programming languages including C and C+


+, when Java is compiled, it is not compiled into platform specific machine, rather into
platform independent byte code. This byte code is distributed over the web and
interpreted by virtual Machine (JVM) on whichever platform it is being run.

10
 Simple: Java is designed to be easy to learn. If you understand the basic concept of OOP
Java would be easy to master.

 Secure: With Java's secure feature it enables to develop virus-free, tamper-free systems.
Authentication techniques are based on public-key encryption.

 Architectural-neutral: Java compiler generates an architecture-neutral object file


format which makes the compiled code to be executable on many processors, with the
presence of Java runtime system.

 Portable: Being architectural-neutral and having no implementation dependent aspects


of the specification makes Java portable. Compiler in Java is written in ANSI C with a
clean portability boundary which is a POSIX subset.

 Robust: Java makes an effort to eliminate error prone situations by emphasizing mainly
on compile time error checking and runtime checking.

 Multithreaded: With Java's multithreaded feature it is possible to write programs that


can do many tasks simultaneously. This design feature allows developers to construct
smoothly running interactive applications.

 Interpreted: Java byte code is translated on the fly to native machine instructions and is
not stored anywhere. The development process is more rapid and analytical since the
linking is an incremental and light weight process.

 High Performance: With the use of Just-In-Time compilers, Java enables high
performance.

 Distributed: Java is designed for the distributed environment of the internet.

 Dynamic: Java is considered to be more dynamic than C or C++ since it is designed to


adapt to an evolving environment. Java programs can carry extensive amount of run-time
information that can be used to verify and resolve accesses to objects on run-time.

11
2.2.1 JavaFX Development Framework
Each Java application is written in the Java Programming language and run on a separate
instance of a virtual machine called Java Virtual Machine (JVM). The Java Runtime
Environment (JRE) is responsible for the memory and process management, which kills the
process when the need arises to release memory to the java runtime. The java runtime and the
Java Virtual Machine sit on a Kernel that interacts with the low-level hardware. A set of APIs is
then necessary to expose the underlying hardware features and services.

2.2.2 JavaFX Application Structure


In general, a JavaFX application will have three major components namely Stage, Scene and
Nodes as shown in the following diagram.

Figure 4: JavaFX Application Structure

A stage (a window) contains all the objects of a JavaFX application. It is represented by Stage
class of the package [Link]. The primary stage is created by the platform itself. The
created stage object is passed as an argument to the start() method of the Application
class (explained in the next section). A stage has two parameters determining its position namely
Width and Height. It is divided as Content Area and Decorations (Title Bar and Borders). There
are five types of stages available:

12
 Decorated
 Undecorated
 Transparent
 Unified
 Utility

You have to call the show() method to display the contents of a stage.

Scene

A scene represents the physical contents of a JavaFX application. It contains all the contents of
a scene graph. The class Scene of the package [Link] represents the scene object. At an
instance, the scene object is added to only one stage. You can create a scene by instantiating the
Scene Class. You can opt for the size of the scene by passing its dimensions (height and width)
along with the root node to its constructor.

Scene Graph and Nodes

A scene graph is a tree-like data structure (hierarchical) representing the contents of a


scene. In contrast, a node is a visual/graphical object of a scene graph. A node may include:

 Geometrical (Graphical) objects (2D and 3D) such as – Circle, Rectangle, Polygon,
etc.
 UI Controls such as – Button, Checkbox, Choice Box, Text Area, etc.
 Containers (Layout Panes) such as Border Pane, Grid Pane, Flow Pane, etc.
 Media elements such as Audio, Video and Image Objects.

The Node Class of the package [Link] represents a node in JavaFX, this class is the
super class of all the nodes. As discussed earlier a node is of three types:

Root Node: The first Scene Graph is known as the Root node.

 Branch Node/Parent Node: The node with child nodes are known as branch/parentnodes.
The abstract class named Parent of the package [Link] is the base class of
all the parent nodes, and those parent nodes will be of the following types –
 Group: A group node is a collective node that contains a list of children nodes. Whenever
the group node is rendered, all its child nodes are rendered in order. Any transformation,
effect state applied on the group will be applied to all the child nodes.

13
 Region: It is the base class of all the JavaFX Node based UI Controls, such as Chart,
Pane and Control.
 WebView: This node manages the web engine and displays its contents.
 Leaf Node: The node without child nodes is known as the leaf node. For
example, Rectangle, Ellipse, Box, ImageView, MediaView are examples of leaf nodes.

It is mandatory to pass the root node to the scene graph. If the Group is passed as root, all the
nodes will be clipped to the scene and any alteration in the size of the scene will not
affect the layout of the scene.

2.2.3 JavaFX Application Dveleopment


The JavaFX application development practice is focused on optimum user experience. The Java
IDE (Integrated Development Environment) provides a set of tools and APIs(Application
Programming Interface) libraries to write robust and sophisticated desktop applications. The
desktop application development steps revolve around four development phases as shown in the
figure below

Setup your development Install the Java IDE tools and other
environment supported tools

Setup
Install the Java Virtual Machine
Setup JVM and devices
(JVM) to enable your system
testing
recognize java apps

14
Debug
TestBuild
your
yourapplication
application
and
Build,configure run your
and using
using
test your
Debugging and Prepare your application for Publicize,
Java
the IDE
IDE’s sell
debugging
application java and distribute
testing
tools
tools
and
Publishing applicationinindebug
debugmode
mode
Testing Build andyour
run
Release
Debug
Test your
your
your application Createyour
application
application
application yourapplication
javafx project on your
release loggers to users
Create
Figure 5: JavaFX your Application
application IDE together with all your
development procedures
CHAPTER 3: REQUIREMENT ANALYSIS
In software engineering, application developers need to clearly understand the problems to be
solved. It is therefore important for a developer to properly model the scenarios that can
influence the solution to the problem by collecting relevant information. This process is called
requirement analysis. The requirement analysis provides the opportunity for a developer to get a
better understanding of the problem in question. For effective design and development of this
project, the following requirements must be met. They can be divided into functional
requirements and non-functional requirements.

3.1 Functional Requirements


This section describes different requirements that are accomplished by the Link Budgeting Tool
(Radio Plannex Pro). In order to achieve the desired goal of this project, the functional
requirements must be met. The following are the three major actions performed by Radio
Plannex Pro.

3.1.1 Input Requirements


Input requirements are the requirements a user must fulfill before being able to obtain the final
output of the application. A user can use the application by providing some inputs that are
needed in each section of the application which are later then used in calculation of various
parameters. After providing all the inputs needed for each section then calculated output
parameters is archived, he will then proceed to a new section where he/she carry out the same
process until the last section to obtain the results of desired output parameters.

3.1.2 Operational Requirements


The operations that the application performs are accepting inputs from users, perform some
calculations, import Google Maps, display the coverage of each site with available eNodeBs then
Print a report as a result of the parameter inputs and output calculated results saved in the SQLite
database. This application also validate user inputs to check if it is a number or not and provides
a graphical view of displaying the results of the calculated parameters through the use of gauges
as software UI.

15
3.1.3 Output Requirements
Output requirements ensure that the user is able to calculate and display the result of MAPL, cell
radius and the number of eNodeBs needed on the UI. It also be able to print a pdf report and also
try to display the coverage indicating the various eNodeBs on the Coverage map of interest.

3.2 Non-Functional Requirements


Non-functional requirements are requirements that do not affect the proper running of the Radio
Plannex Pro tool. However, it is worthwhile to mention and consider these requirements for the
purpose of software quality and analysis.

3.2.1 Software Requirements


The Radio Plannex Pro Tool, like other software engineering projects, needs well defined
specifications that must meet the software environments needed to achieve the desired goal of
the project.

The software requirements considered in the development of this project are highlighted below:

 This application runs on all machines running a JVM and a JRE on their operating
system.
 For windows users, you must have at least windows7 and %512 RAM and 3GB Hard
Disk space.
 You must have intelliJ IDE, Scene Builder installed, install all the necessary libraries and
system dependencies in case you want to improve and continue on the development .
 You must have Sqlite browser application to be able to view the data manipulated during
development (in case you want to continue the development).

3.2.2 Secondary Requirements


Secondary requirements are future considerations that can be incorporated into the application
for further development:

 Ability to properly manipulate the Google Maps functionalities well.


 Ability to support other network types such as GSM, UMTS, Microwave, Optical and 5G
networks.
 Ability to perform Monte Carlo simulations that is simulation of cavarage by signal level,
and coverage by congestion of the network.

16
 Ability to do capacity planning and perfom frequency planning.
 Ability to do Transmission network planning and Core network planning.

3.3 Algorithm Flow Chart


A successful and dynamic application should have a flow of events that implements the system
behavior. The term algorithm describes a solution to a problem. Algorithm is important in a
problem-solving environment because it states the steps and procedures leading to the solution.
In other words, an algorithm provides step-by-step procedures in solving a particular problem.

On the other hand, a flowchart is a diagram representing the flow of a process in a system. It
combines symbols and flow lines, to visually represent the operation of the algorithm. The
Algorithm Flowchart therefore is a figurative representation of the entire process, describing a
set of instructions executed step-by-step to solve a given problem.

17
Figure 6: Flowchart of the series of steps needed to perform calculation on Radio plannex tool

18

Figure 7: Flowchart of Radio Plannext Tool showing the series of steps to carry
out calculations
19
CHAPTER 4: RADIO PLANNEX PRO GRAPHICAL DESIGN AND
IMPLEMENTATION
Before discussing on the design and implementation of this tool, let me explain the structure of a
typical JavaFX FXML project created with intelliJ IDEA. A freshly created JavaFX project on
intelliJ has a project structure that begins with the project directory (folder). This folder harbor
all the files needed for the project to run and operate during development. This folder initially
contains 3 sub folders which are src, External libraries and scratches and consoles. The src folder
also referred to as the source folder harbors packages which define the scope of classes, the
external libraries folder contains external libraries imported into the project by the developer for
extending the functionality of the project and the consoles and scratches and consoles folder
saves all the error messages into log files which is been used by the IDE for initialization
purposes. The src folder contains a single package folder that is having the same name as the
project and also but in all lower cases. This package folder then contains 3 files which are
actually the classes for us to work on. This files are the Main where the application begins
running class file, Controller class file which handles the actions performed on the GUI as well
as the

A Graphical User Interface (GUI) is a user-friendly interface, which allows a user to use icons or
other visual elements to interact with the application. In this section, the different GUI elements
and their implementations are analysed in detail.

4.1 Design View of the tool


This tool was designed with the help of the JavaFX scene builder application which provided us
with the drag and drop capability of picking components to specified locations on the scene
where we want them to be. This builder has a generator that generates all the FXML codes
generated from the use of any component on your design. This design is linked to the controller
class “Link_Budget.java” which contains all our methods which can handle the actions
performed on the tool during running. This design is also associated to the FXML class on the
IDE which actually holds the generated codes from the designs. Below is a view of the design

20
Figure 8: JavaFX scene Builder Design view

The layout is a Relative Layout that consists of an AnchorPane component to act as a parent
node to hold all the other GUI components, an image view to display the logos, Labels to hold
the various descriptions of the parameter fields, buttons, a JTabbed Pane that is toggleable to
switch between the different sections involve in the application and some gauges to display
results of some calculations.

4.2 Implementation of the Radio Plannex tool


In this section, all the steps taken to implement the calculation logic of the Radio Plannex Tool is
explained.

To perform the various calculations, it was carried out in the controller class which carries
several methods which performs different functions according to the action performed on the
GUI when the tool is being ran. The following methods are found in the controller class to
carryout different actions performed by the user.

This tool is made up of 5 sections which are all placed in a JTabbed Pane component with each
having it own parameters to select/input and save when the tool is being launched. These five
sections are as follows;

21
4.2.1 System Parameters Tab:
This is the first view of the tool when it has been launched. It contains parameters which
considered to be setting up the system before moving to the next section where the actually
inputs are required. It contains parameter variables like system bandwidth, data channel type,
frequency band, terrain morphology and so on. This view can be seen below.

Figure 9: Radio Plannex tool showing first view (system Parameter tab)

4.2.2 Transmitter side parameter tab :


This tab contains parameter inputs that are peculiar to the transmitter side of the link
budget. It contains parameters like maximum transmit power, allocated resource blocks,
subcarrier power, transmit antenna gain, transmit cable loss and so on. Each of this
parameters is accompanied by an input field to accept the input from the user which are
going to be used for the calculation of other parameters used in the budgeting process.
This tab also contains a button to save this data input and calculations to the database
which will be used in the feature for other parameter calculation and also an update
button which provides the ability of a data in any section to be updated if need be for

22
every session when the application is in use. Below is a view of this tab together with
some inputs and calculated results obtained from the inputs.

Figure 10: Transmitter side Paramater tab view

4.2.3 Receiver side parameters:


This section contains parameters which are peculiar to the receiver side(uplink) of the
budget. It contains parameters like the SINR, receiver noise figure, receiver antenna gain,
receiver cable loss, receiver body loss and so on. It view can be seen below.

23
Figure 11: Receiver side parameter view

4.2.4 Locate site map tab:


This tab contains the view where the Google maps will be loaded if the application is
connected to the internet to display the selected area of interest where this coverage will
be carried out. This section is not fully implemented due to time constraint so I hope to
continue on the development of this section to make it better.

4.2.5 Final budget output tab:


This section contains the final parameters that are needed to produce the primary
objectives of the project (MAPL, cell radius and number of eNodeBs). Some of these
parameters include indoor penetration loss, shadow fading margin ,antenna heights(both
user equipment and eNodeB) site type, propagation model and total surface area of the
specified area to carry out the budget. This section also utilizes the calculated results from
the other sections to do its own calculations through the help of the database which helps
to keep those data which are then retrieved when needed in the calculation of any other
parameter value. Below is a final view of the tool which gives the specific objective of
the application.

24
Figure 12: Final budget parameter tab view

4.3 Database design:


We use an SQlite database which is an inbuilt database that is design and integrated into
an application during design for the purpose of storing data for that application during
execution. We created a database in the IDE which in turn have four tables pertaining to
save the data of the various tabs of the tool. Note the table names are chosen out of
context. The relation schema of the database containing all the various tables can be seen
below

25
Figure 13: Database design shown relations of the tables

The parameter table stores the data on the parameter tab section of the GUI, the downlink table
stores the data on the transmitter side tab, the uplink saves those for receiver side parameters and
the budgetOutput table stores the ones for the last view on the application. From the figure
above, it is shown some arrows. These arrows indicates the relations of the saved data to the
other tables. The budgetOutput tables contain arrows from all the tables because it utilizes data
from all the other tables to perform its own calculations.

26
CONCLUSION
The project was carried out to DO COVERAGE PLANNING FOR AN LTE NETWORK
USING ATOLL SOFTWARE IN BUEA and TO DESIGN AND IMPLEMENT A SOFTWARE
TOOL TO DO COVERAGE PLANNING USING ANY PROGRAMMING LANGUAGE OF
YOUR CHOICE. The goals of this project was to:

1) Carry out coverage planning of an LTE network on Buea using the Atoll radio
network planning tool.
2) Design and implementation of a radio network planning tool using any
programming language of your choice that does the following
 Perform Link budget calculation in 4G LTE
 Displays the coverage plan of the selected sites on Google Earth.

The objectives of the project were achieved by carrying out coverage planning using the Atoll
radio network planning tool and by observing software development procedures and principles
for software designs and implementation. In achieving the goals of this project, two major parts
were designed and implemented which are the use of the Atoll planning tool to do the coverage
for Buea and the design and implementation of the coverage tool using the JavaFX programming
framework. The design of this tool was done in steps which are; Firstly the designed with the
JavaFX scene builder application which provides a UI is attractive, intuitive, responsive and with
good user experience in mind. Secondly, the design of the SQLite database was realized, and the
contents of the database can be easily accessed directly by the application during execution
instead of using a third party database management tool . This database secure and easy to
manage the data needed by the application in any calculation. Furthermore, all required
functionalities were implemented accordingly and, hence, a fully operative and functional
desktop application was developed. The application is able to perform radio link budgeting for an
LTE network to produce maximum allowable path loss, cell radius and total number of eNodeBs
as the final results to be produced by the application. In addition, though not fully functional, the
application could demonstrate a feature that allows the user to load Google maps from the
internet if the machine being ran on is connected to the internet to select the area of interest.

27
PART B

28
CHAPTER 5: RADIO NETWORK PLANNING WITH ATOLL

5.1 OBJECTIVE:
The objective of this section is to perform coverage planning of a deployed LTE network in
Atoll, a radio network planning software package. The case study here is the Buea area where we
were required to install 9 BTS sites and analyze the coverage to determine if the 9 BTS sites will
be enough to take care of coverage requirement of the Buea area.

5.2 Coverage planning of LTE network in Atoll, case study: Buea area.

5.2.1 Hardware and software requirements:


 Personal computer (PC).
 Atoll and Google Earth.

5.2.2 PROCEDURE
The procedure to perform the coverage plan of the area of Buea consists of two parts; the work
done with Google Earth and that done with Atoll.

5.3 Work done with Google Earth


In order to plan and forecast our network in the Buea area, we needed up to date geospatial
information about the Buea area. With the help of GIS, we were able to sit within our comfort
zone and obtain live feeds from Buea using GOOGLE EARTH. To do this, GOOGLE EARTH
on a PC is started with an internet connection available. The following window appears

29
Figure 14 :Google Map application

On the search panel on the top left of the screen, Buea was typed and searched for. The following
figure was obtained

Figure 15: Buea view from Google Maps

Since telecommunications resources and hardware are very expensive, we made sure of the
proper use of these resources so as to minimize cost whilst still providing good quality of service
to the consumer when deploying our network. In order to achieve this, we had to test and
simulate our network results before implementing them. This was made possible by GOOGLE
EARTH. We used 9 BTSs to perform our coverage planning in the area of Buea. On GOOGLE
EARTH, the 9 BTSs were added arbitrarily using the add placemaker icon and each placemaker
represents a BTS. The ensuing window when the add placemaker icon is clicked can be seen
below.

30
Figure 16: Google Map place marker setting window

We tabulated the coordinates(latitudes and longitudes) of each BTS on excel for later use in
ATOLL

5.4 Work done in ATOLL


In Atoll the following steps were performed

Step 1: Atoll is ran and the following window appeared

Figure 17: Atoll Software window when launched

Step 2: Go to File˃ New, then click document Template and the following windowed appeared

31

Figure 18: Atoll project Creation selection window wizard


We then select LTE and clicked ok and the following window appeared

Step 3: We configure the document properties by going to Document, then selecting Properties.
In the coordinate system we configure the Projection, Display and Degree format as shown
below. We then select ok.

32

Figure 19: Setting up the map grid system on Atoll


Step 4: We right-click on sites under the network panel and select open table to get the following
window

Figure 20: Atoll network parameters window

Step 5: In this step we simply copied the Excel document we had save and paste it in Atoll as
seen below

33
Figure 21: Atoll importing map points from excel document

Step 6: we go under sites, right-clicked on each BTS and added 3 transmitters to each to give a
better capacity to our network by employing the concept of SECTORIZATION using 3 sector
BTS. We then right-clicked on transmitters and add table in-order to make adjustments to our
antennas. We set the antennas height to 40m and the 3 transmitters of each BTS were given an
azimuth of 0, 120 and 240 degrees respectively. All these is seen in the figure below.

Figure 22: Atoll setting network parameters for simulation

Step 7: here we selected the COST231-HATA for our propagation model as follows; right-
clicked on predictions>properties and we select Cost-Hata as shown below

34
Figure 23: Atoll setting propagation model to use in planning

Step 8: we right-clicked on predictions>new predictions and selected “Coverage by Signal Level


(DL)”. We then made some few adjustments and save our work to be exported in Google Earth.

Results

After exporting our work in ATOLL to GOOGLE EARTH the following result was obtained.

Figure 24: Final results from simulation by signal level on Atoll

35
REFERENCES
1. Atoll training manual for radio frequency engineers.
2. [Link]/ LTE Radio Link Budgeting and RF Planning -
lteencyclopedia
3. NGMN[Link] (White paper on Gateways, backhaul, security)
2. 4GAmericas [Link]
3GPP Release 10 and beyond
IPv6 integration
GSN-UMTS migration to 4G
4. Janaswamy,R.,RadioPropagationandSmartAntennasforWirelessCommunications,
Kluwer,2000.
5. Mewer R. Professional Android 2 Application Development. Indianapolis: Wiley
Publishing, Inc.; 2010.
6. Lim J. Algorithms, Flowcharts, Data Types and Pseudo Code [online]. CA: scribed;
January 2011. URL: [Link]
DataTypes-and-Pseudo-Code. Accessed 13 November 2014.
7. Gilmore J. Beginning PHP and MySQL from Novice to Professional 4 th edition.
NewYork: Apress; 2008.
8. Foundamentals of Cellular Network Planning and Optimization; 2G/2.5G/3G……
Evolution to 4G;
Ajah R. Mishra.

36

You might also like