LATEST TRENDS on COMMUNICATIONS
An Open-Source Radio Coverage Prediction Tool
ANDREJ HROVAT*, IGOR OZIMEK*, ANDREJ VILHAR*,
TINE CELCER*, IZTOK SAJE+ and TOMAŽ JAVORNIK*
*
Department of Communication Systems,
*
Jozef Stefan Institute, +Mobitel, d.d.
*
Jamova cesta 39, SI-1000 Ljubljana, +Vilharjeva 23, SI-1000 Ljubljana
*+
SLOVENIA
andrej.hrovat@ijs.si http://www-e6.ijs.si
Abstract: - The cellular concept applied in mobile communication systems enables significant increase of
overall system capacity, but requires careful radio network planning and dimensioning. Wireless and mobile
network operators typically rely on various commercial radio network planning and dimensioning tools, which
incorporate different radio signal propagation models. In this paper we present the use of open-source
Geographical Resources Analysis Support System (GRASS) for the calculation of radio signal coverage. We
developed GRASS modules for radio coverage prediction for a number of different radio channel models, with
antenna radiation patterns given in the standard MSI format. The results are stored in a data base (e.g. MySQL,
PostgreSQL) for further processing and in a simplified form as a bit-map file for displaying in GRASS. The
accuracy of prediction was confirmed by comparison with results obtained by a dedicated professional
prediction tool as well as with measurement results.
Key-Words: network planning tool, open-source, GRASS GIS, path loss, raster, clutter, radio signal coverage
for radio network optimization and are intended for
specific tasks such as WLAN network planning,
calculation of radio coverage inside buildings, design
of radio-relay links, etc.
Those mentioned tools do not allow users to add
new propagation prediction modules or to adjust the
existing ones. From the scientific point of view their
usage is therefore very limited. These limitations can
be avoided by using an open-source platform which
can be upgraded by an arbitrary propagation model.
As the terrain relief significantly influences radio
wave propagation, a logical choice is to use an opensource geographical information system (GIS).
These systems also include built-in functions for
displaying results on geographical maps, importing
different raster and vector GIS formats, converting
geographical
coordinates,
etc.
Geographical
Resources Analysis Support System (GRASS) is one
of the most wide-spread open source GIS systems,
which has been successfully used for many years and
has a wide spectrum of already implemented
modules [11].
In the paper, the following section presents the
GRASS system with its main structure,
characteristics and its applicability in the field of
radio communications. Next, a description of the
radio coverage prediction software developed in
GRASS is presented. The essential building blocks
calculating path loss, sectorisation, radio coverage,
and converting and evaluating input/output data are
1 Introduction
Emerging user applications call for increased
bandwidth
of
communication
systems.
Consequently, higher frequencies are used in
wireless systems while the size of radio cells is
becoming smaller. The cellular concept enables
lower transmission power and frequency reuse in
cells which are far enough from each other.
However, due to the increased complexity, a wireless
system has to be planned carefully. Cellular system
planning involves determining the number and the
locations of base stations, their hardware and
software, frequency and code planning. One of the
aims is to efficiently use the allocated frequency
band and to assure high radio coverage.
For the calculation of radio coverage, various
mathematical radio propagation models are being
used [1, 2, 3, 4]. They can be divided into three
groups: (i) statistical models, (ii) deterministic (or
theoretical) models and (iii) combinatorial models.
Various commercial programming tools are
available for radio coverage calculation. The first
representative tools were designed for mobile
operators and national regulators, e.g. Planet [5],
decibel Planner [5], Vulcano [6] and CS telecom nG
[7]. Accordingly, their price was high while their
accessibility and spread of usage were low. Later on,
some cheaper yet functionally limited tools have
appeared on the market, e.g. WinProp [8], RPS [9]
and TAP [10]. These tools do not comprise modules
ISSN: 1792-4243
135
ISBN: 978-960-474-200-4
LATEST TRENDS on COMMUNICATIONS
where each mapset represents either a subregion or
data of a specific user. Users may read and copy data
from any mapset, while modifications are allowed
only within their own mapsets. Such organization
enables efficient collaboration between users in a
working group. The described structure of maps and
files is maintained automatically by GRASS.
LOCATION
MAPSET
GEOMETRY AND
ATTRIBUTE DATA
RASTER MAPS
GRASS
DATABASE
/cats
/cell
2 GRASS Open Source GIS Tool
GIS systems find their applications in several
different fields, including space planning, business
management, navigation, environmental protection,
demographical data management etc. Several
professional GIS tools exist on the market; however,
due to their limitations such as price, long response
to required changes and limited possibility of tool
modifications, the open-source approach to the
programming part of GIS technology has also been
developed. Similarly to other technologies, GIS
technology also benefits from the open-source
approach. Some of the advantages are: continuous
improvement and control carried out by developers
from all over the world, heterogeneous approach to
development, accessibility and adjustability.
GRASS [11] is one of the eight starting projects
of the OSgeo foundation [12], established in 2006,
which supports and promotes open source geospatial
software. Nowadays, GRASS is known as one of the
most important open source GIS tools. It operates
over raster and vector data and includes methods for
image processing and display. It is published under
the GPL license, its usage is supported under various
operating systems including Mac OS X, Microsoft
Windows and Linux.
GRASS comprises over 350 already implemented
modules for processing, analysis and visualization of
geographical data. The core modules and libraries
are written in the C programming language. A well
documented API (Application Programming
Interface) with a few hundred C functions is
available for the developers of new modules. The
documentation is up-to-date and is available online
[13]. For large projects, processing may be
automated by using scripting languages.
/home/user/grassdata
/PERMANENT
/slovenia
/PERMANENT
/user1
/ljubljana
/cellhd
...
/vector
/avilhar
/toulouse
.
.
.
.
.
.
/border
/roads
...
/dbf
...
.
.
.
Fig. 1: GRASS data organization
Modules for data processing are classified
according to their functionality. They are invoked by
commands of a form x.name, where x stands for a
class and name stands for a specific task within this
class. Some class examples are:
g. (general commands),
r. (raster data processing),
v. (vector data processing),
d. (commands for graphical display).
2.2 Usage in the Field of Radio
Communications
In its original form, GRASS can be used to analyse a
radio coverage that has been either measured or
calculated beforehand by using an arbitrary tool. Of
course, the data has to be imported into the GRASS
environment in a proper form. Alternatively, radio
coverage models can be implemented inside GRASS
due to its open-source nature. By doing so, potential
inconveniences and/or errors that may arise from
data format conversion are avoided. The whole
process can remain modular, as different modules are
used for the data analysis and the propagation
prediction.
2.1 Structure of Data and Commands
3 Radio Coverage Project in GRASS
The organization of geographical data in GRASS is
depicted in Fig. 1. The data is divided into different
locations, where each location is defined by its own
coordinate system, map projection and geographical
boundaries. Each location can have many mapsets,
ISSN: 1792-4243
/europe
VECTOR MAPS
explained. In addition, a module for tying various
processing modules into a complete radio coverage
tool is also described. In section 4, the GRASS
software package is evaluated by comparing
simulation results with field measurements and
simulations performed with a professional tool. The
paper concludes by a description of our experience
with the GRASS system and by plans for our future
work.
We have developed a modular radio coverage tool
characterized by a high level of flexibility and
adaptability. It performs separate calculation of the
radio signal path loss using an arbitrary channel
model, and the inclusion of antenna radiation
136
ISBN: 978-960-474-200-4
LATEST TRENDS on COMMUNICATIONS
responsible for a correct sequence of modules
execution. Therefore, each individual module
represents realization of the radio calculations only,
while the script takes care for the input and output
data management. The achieved modularity has
several benefits:
simple upgrade or substitution of existing
mathematical modules with new models,
module independency from a specific
network,
quick and simple recalculation for an
individual segment or chosen geographical
region,
possibility of parallelized calculation.
In each step, realization of different modules with
the same or a similar task is feasible. Proper module
selection is performed through the script and
depends on the usage purpose. This is significant
especially for the first segment where different
mathematical models for radio signal propagation
can be taken into consideration. In the first segment,
four modules are implemented, r.fspl, r.hata,
r.hataDEM and r.cost231. Module r.sector is
currently the only module in the second segment
while the third segment contains two modules db.GenerateTable (creates an empty table for the
results) and r.MaxPower (arranges the computed
data and writes it to the output file).
patterns and setup parameters such as antenna tilting,
azimuth and antenna height. Furthermore, it
performs computation of the maximum signal level
at the receiver and additional processing of the
output data.
The software packet block diagram is presented in
Fig. 2. It is composed of two basic compositions of
modules. The first part is composed of GRASS
modules for radio coverage calculations, which are
linked together with a script written in the Python
programming language. Additional modules for data
comparison and for adapting input data to the
GRASS data structure build the second group of
GRASS modules.
Besides the GRASS modules represented in Fig.
2 as white squares, the input and output data are also
depicted as different colorized parallelograms.
Textual input and output files are indicated in
orange, GRASS raster files in blue, while databases
are denoted in yellow.
The core of the radio coverage software is radio
coverage calculation in Fig. 2 encircled with a
dashed line. Radio coverage calculation for the
whole cellular network is divided into three steps:
path loss calculation for isotropic source,
calculation of influence of the antenna
diagram, antenna tilt and azimuth,
storage of N highest calculated received
signal strength values into a database.
In the GRASS programming environment every
segment is implemented as a separate module. A
script written in the Python programming language is
3.1 Implemented Path Loss Models
Currently, four basic path loss prediction models for
Fig. 2: Radio coverage prediction software block diagram
ISSN: 1792-4243
137
ISBN: 978-960-474-200-4
LATEST TRENDS on COMMUNICATIONS
the open rural and suburban environments are
implemented.
The FSPL (Free Space Path Loss) model
implemented in the r.fspl module calculates radio
signal propagation attenuation in free space with no
nearby obstacles to cause reflections or diffractions
[14]. At higher carrier frequencies and in
environments without many reflections, the r.fspl
module can serve as the first approximation of the
radio signal propagation prediction for the
geographical points that are in the transmitter’s lineof-sight. Therefore, the calculation must be done in
two steps. In the first step, the visibility between the
transmitter and each receive point in the area must be
determined with the already integrated r.los module.
Afterwards, the path loss at the LOS points is
calculated using the r.fspl module.
The r.hata module implements the Okumura-Hata
model [1]. The model is founded on empirically
determined radio propagation characteristics and
includes three variants: for the urban, suburban and
open environments. The model does not consider
terrain configuration neither the environment where
the mobile terminal is located, which are its main
drawbacks. Radio signal attenuation depends only on
the distance, antennas heights and carrier
frequencies. To improve the model accuracy, an
additional knife edge diffraction module must be
implemented.
The COST231 model, realized in the r.cost231
module, is an extension of the Okumura-Hata model
for higher frequencies [15]. It is suitable for medium
and large cities where the base station antenna height
is above the surrounding buildings. The terrain
configuration is only partly taken into consideration.
Therefore, the signal is predicted also behind larger
geographical
obstacles,
which
significantly
contributes to the model inaccuracy.
In the r.hataDEM module, a modification of the
Okumura-Hata model is implemented [16]. In
addition to the carrier frequency, the distance
between the transmitter and the receiver, and the
receiver and transmitter antenna heights, the model
takes into consideration also the terrain profile,
clutter data and the spherical earth impact. This is the
most accurate and sophisticated model implemented
in GRASS so far.
r.sector module calculates the actual path loss for the
analyzed cell and writes the data to the output raster
for further processing.
3.3 Arranging Cells According to Received
Power and Writing in Database
After the path loss for each individual cell located
within the analyzed area has been calculated, the
radio signal coverage prediction must be performed.
The received signal strengths for cells included in
simulations are calculated with the r.MaxPower
module. Values from different antennas at each
receive location are arranged in a table in a
decreasing sequence. An empty table is first
generated with the db.GenerateTable module.
Furthermore, the r.MaxPower module also generates
an output raster file with the maximal received signal
strengths for all individual points, which can be
graphically presented in GRASS GUI (Fig. 3).
Fig. 3: Radio coverage calculation for flat terrain at
2040 MHz with r.hataDEM module
3.4 Python Script
In order to enable interaction of all processing
modules, we wrote a module, r.radcov, in the Python
scripting language. Creation of the user interface
itself was considerably simplified by the fact that
GRASS has built-in support for this, offering input
parameter parsing and checking against allowed
values, and also automatically generating graphic
user interface at run time if a user wants to use it.
First, r.radcov reads an input table in the CSV
(Comma Separated Value) format, which specifies
the configuration of the radio cells comprising the
radio network, such as positions and orientations of
antennas, etc. It also takes a number of parameters
(as command-line arguments or via the GRASS’s
auto-generated GUI) specifying global simulation
data such as radio transmission frequency etc. The
script performs extensive checking of these
parameters as well as the contents of the input table
against valid values and reports eventual errors.
3.2 Antenna Radiation Diagram Influence
After the path loss calculation of the isotropic source
for a specific region, the antenna’s radiation diagram
is considered. Based on the input raster containing
the path loss data for the isotropic source, and the
antenna’s radiation diagram (beam direction,
electrical and mechanical tilt, antenna gain) the
ISSN: 1792-4243
138
ISBN: 978-960-474-200-4
LATEST TRENDS on COMMUNICATIONS
the professional radio signal coverage prediction
programme TEMS.
The performance of the new software package
was investigated for different types of networks
(GSM, UMTS) and terrains (hilly and almost flat
rural, urban, and suburban). Due to the limited scope
of the article, only the analysis for one region with
several UMTS base stations is included. Radio signal
coverage prediction using the custom built GRASS
software takes longer than an identical prediction
with the TEMS software package.
The accuracy of the GRASS prediction software
can be verified from charts in Fig. 4. On the left side,
the charts comparing the measurements and
calculations with the GRASS radio coverage
prediction software are depicted, while graphs
showing the comparison between the measurements
and calculations with the TEMS software package
are on the right. It is evident from the received power
charts showing the simulation results from both the
software and the field measurements that the
Next, r.radcov performs a two-step coverage
computation by first calling modules for the selected
propagation models (e.g. r.hata, r.hataDEM,…) and
then applying antenna transmission beam forming
using the actual antennas’ radiation patterns.
Finally, r.radcov calls the r.MaxPower module,
which joins all partial coverage results for individual
antennas into a complete coverage data, given as a
bit map picture and a database (e.g. MySQL,
PostgreSQL) for further processing.
4 Radio Coverage Tool Performance
Analysis
The performance and accuracy of the developed
modules for radio signal coverage prediction was
investigated through the comparison of simulation
results with field measurements. The reference
values were obtained by comparing field
measurements and simulation results acquired from
-20
-20
Meas.
Sim
-40
-60
Rscp [dBm]
Rscp [dBm]
-60
-80
-100
-80
-100
-120
-120
-140
-140
-160
Meas.
Sim
-40
0
0.5
1
1.5
N
2
2.5
-160
3
x 10
0
0.5
1
4
1.5
N
2
1.5
N
2
2.5
3
x 10
4
60
60
40
40
20
20
Diff [dBm]
Diff [dBm]
Received power
0
-20
0
-20
-40
-40
-60
-60
-80
0
0.5
1
1.5
N
2
2.5
-80
3
x 10
4
0
0.5
1
2.5
3
x 10
4
Difference between calculated and measured received power
Comparison between measurements and
calculations with GRASS radio coverage
prediction software
Comparison between measurements and
calculations with TEMS software package
Fig. 4: Comparison simulations and measurement results at 2040MHz
ISSN: 1792-4243
139
ISBN: 978-960-474-200-4
LATEST TRENDS on COMMUNICATIONS
data. The achievment made so far represents a strong
base for future work and is interesting both from the
point of view of researchers as well as network
developers.
simulation results match with the measurements
rather well. The deviation among the measurements
and simulations for both software applications is
depicted in the second raw of diagrams in Fig. 4. It is
evident that the difference between the diagrams on
the left- and on the right-hand side is minor. Thus, it can
be concluded that the results from the developed
radio coverage tool are comparable with the results
from the TEMS software package. Some negligible
differences between the results originate from the
fact that the implemented path loss model in the
TEMS software used in the simulation is not entirely
available. Thus, it cannot be realized in the GRASS
software with all the minor details.
Acknowledgment
The authors gratefully acknowledge for suggestions,
advices and the results of measurements and radio
cover predictions the Radio networks department at
Mobitel d.d.
References:
[1] M. Hata, Empirical Formula for Propagation
Loss in Land Mobile Radio Services, IEEE
Transactions on Vehicular Technology, Vol. 29,
No. 3, August 1980.
[2] S. R. Saunders, Antennas and Propagation for
Wireless communication systems, John Wiley &
Sons, 1999.
[3] Y.Okumura, E. Ohmori, T. Kawano, K. Fukada,
Field Strength and its Variability in VHF and
UHF Land-Mobile Radio Service, Review of the
Electrical Communication Laboratory, Vol. 16,
No. 9-10, September-October 1968.
[4] G.
L.
Stuber,
Principles
of
mobile
communications, Kluwer Academic Publishers,
London 2001.
[5] Planet and decibel Planner (Marconi),
http://www.ericsson.com/.
[6] Vulcano, Siradel, http://www.siradel.com/.
[7] CS telecom nG http://www.atdi.com/.
[8] WinProp,
AWE
Communications,
http://www.awe-communications.com/.
[9] RPS - Radiowave Propagation Simulator,
http://www.radiowave-propagation-simulator.de/.
[10] TAP
Terrain
Analysis
Tool,
http://www.softwright.com/.
[11] M. Neteler, H. Mitasova, Open source GIS – a
GRASS GIS aproach, third edition, Springer,
2008.
[12] OSgeo, http://osgeo.org.
[13] GRASS
6
Programmer's
Manual,
http://download.osgeo.org/grass/grass6_progman/
[14] K. Bullington, Radio Propagation for Vehicular
Communications, IEEE Transaction on Vehicular
Technology, Vol. VT-26, No. 4, November 1977,
pp. 295-308.
[15] D. J. Cichon, T. Kurner, Propagation prediction
models, COST 231 Final Rep., Available on:
http://www.lx.it.pt/cost231/.
[16] Ericsson Radio Systems AB, TEMS CellPlanner
Universal Common Features, Reference Manual,
April 2006.
5 Conclusion
Efficient calculation of predicted radio coverage is
required for precise planning of cellular radio
telecommunication systems. Existing programming
tools are either expensive or limited in functionality
and do not allow any modifications. Open-source
systems enable adjustments to specific requirements
of developers, and improvements of existing models,
based on measurements.
A representative open source system GRASS has
been presented in this paper. A description of the
radio coverage prediction software developed in
GRASS has been given. The tool includes
propagation and sectorisation modules, a module for
radio signal coverage calculation, and additional
modules for preparing input data and analyzing
simulation results. The r.radcov module, written in
Python, which interconnects individual modules into
a complet radio signal propagation software is also
described. At the end, the developed software is
evaluated by comparing to field measurements and
simulation result obtained from a professional
software application.
The radio signal coverage prediction software
implementation was quite straightforward, as API is
well developed and documented. The set of built-in
C functions is adequate. The possibility to study
parts of the already implemented code is also very
helpful.
The developed software package with the
implemented path loss modules gives satisfactory
accuracy compared to professional simulation tools.
Additional model tuning based on field
measurements will be performed. In our future work,
we also plan to expand the functionalities of the
developed software package and build additional
path loss modules for urban and hilly rural
environments that will include also the elements of
ray tracing techniques and additional environment
ISSN: 1792-4243
140
ISBN: 978-960-474-200-4