Cellular telephone radio signals that are broadcast from a tower often interact with objects on the ground in many different ways. This causes complicated propagation patterns that escape analysis by simple path loss models. However, these propagation patterns must be understood for two main reasons:
1)
For cellular planning and tower positioning
By accurately modeling cellular signal propagation, cellular planners can calculate what areas will receive adequate signal strength from a given tower. This will allow for optimal tower placement and antenna positioning. Fewer areas would receive weak signal strength and fewer areas would be over-covered.
2) For cellular handset locating
The location of a cellular caller can be calculated by back-solving the signal strength of the three most strongly received signals. However, this requires accurate models of the signal propagation of nearby towers. Handset locating is important for tracing 911 calls where the caller does not give an address.
It is the goal of this project to accurately model cellular signal propagation for cellular sites around the Georgia Tech campus. This is done using information on each cellular antenna and a map of buildings on campus with the aid of the Matlab™software package.
The useful information on each antenna and the surrounding area to be modeled included the following:
1) Longitude and latitude of the antenna
2) Direction in azimuth that the antenna is pointing
3) Effective radiated power of the antenna (transmitted power in dBm plus antenna gain)
4) Carrier frequency of the transmitter
5)
Longitude and Latitude of the
6) Longitude and Latitude of the south east corner of the map to be modeled
7) The column and row coordinates of the antenna in the raster map
8) A GIF file containing a map of campus
9) A GIF file containing an overlay mask for the map showing where buildings were located on campus
10) A received power map
The received power maps were partially filled in with sampled data for the first four out of eight cell antennas. These were for testing of model accuracy. It was the purpose of the model to fill in the data for all eight of the received power maps, with each map corresponding to a different base station antenna.
A simple model for propagation path loss as shown in Figure 1 assumes an omni directional antenna and the same path loss exponent for every geographical location. The model that this project applies uses a different path loss exponent for indoors at it does for outdoors. It also uses a 120° beam width for the sector antennas simulated. Outside of the beam width, the gain falls off by 5 dB. The model also assumes that positions with an elevation angle of less than -45° from the antenna that are indoors have a higher path loss exponent. In summary, this model differs from the simple model in the following ways:
1) Indoor Path
Loss Exponent = 3.4 Outdoor Path Loss Exponent = 2.9
2) Outside of sector antennas beam width, gain drops by 5 dB.
3) Looking from the antenna, positions below -45˚ from the horizon that are inside of a building have their path loss exponent increased by 1.
In order to
tell whether a point on the received power map was indoors or outdoors, the building
mask was overlaid onto the campus mask using a photo manipulation program. The
dimensions of the mask file were measured using geographical landmarks on a
satellite map in Keyhole™, a satellite image and measurement software utility
as seen in Figure 2. The longitude and latitude of the
Figure
2. Measurement of the
building masks dimensions using Keyhole™.
outdoors while a color value not equal to zero indicates indoors.
This picture was loaded into Matlab™ as a matrix. When the received power is being calculated for a point, the point’s position is checked against the latitude and longitude of the mask to see if it is inside the mask. If it is, the corresponding point in the mask is checked to see if the point is inside a building. If it is, the path loss exponent is set to the indoor value. if not, the path loss exponent is set to the outdoor value. After initial experimentation, the mask file was edited to account for high loss areas around trees and shadowing effects from the edges of buildings. The path loss values used were based on those described in [1]. These were confirmed through experimentation with varying values to be 3.4 for indoors and 2.9 for outdoors. The resulting mask can be seen in Figure 3. The values for the latitude and longitude of the northwest corner of the mask also had to be tweaked to match the sample data for the received power maps.
By comparison, the other two modifications to the simple model were trivial. From far away, all sector antennas look about the same. They have approximately 120° in which peak gain is transmitted and outside of which gain drops off. Experimentation with the four data samples revealed that a drop-off of 5dB gave the lowest standard deviation. When the received power at each point in the map is being calculated, the azimuth angle with the tower is checked to see if the point is inside of the antenna’s sector. If it is not, the gain is decreased by 5 dB.
Waves that propagate from outdoors to indoors are facilitated by windows and other low loss interfaces and impeded by metal and other things that may be in the walls or ceiling. Positions that are very close to the antenna get more propagation through the ceiling and less through the windows so the path loss will be greater. Buildings that are close enough to the transmitter that their distance from it is equal to the height of the transmitter have their path loss exponent increased by 1.
The model described above was used to create a Matlab™ program to fill up the received power maps of the eight cell sites with simulation data. This data was tested against the sample data for the first four sites using the CompareMaps function. The results were as follows:
Site Cell_Info_A, mean of -4.45 dB, std dev of 9.68 dB
Site Cell_Info_B, mean of +5.94 dB, std dev of 10.26 dB
Site Cell_Info_C, mean of -7.06 dB, std dev of 10.14 dB
Site Cell_Info_D, mean of -2.44 dB, std dev of 9.34 dB
Average Error of (mean = 5.0 dB, sigma = 9.9 dB) for 8 site(s)
Raw Performance Score (RPS): 10.1
This method for simulating propagation path loss is impractical for use on a nation-wide scale unless there is available an automated method for generating building masks on a nation-wide scale. For buildings of varying heights and construction, more complicated masks that contained data on floor number and building materials would be required. There is also the possibility that there would be other objects that would change the path loss. These could be trees, bodies of water, or congested roadways. Masks for these objects would have to be created on a nationwide scale as well. This would be both impractical and prohibitively expensive.
[1] G. Durgin, T.S. Rappaport, and H. Xu, " Measurements and Models for Radio Path Loss and Penetration Loss In and Around Homes and Trees at 5.85 GHz," IEEE Transactions on Communications, vol. 46, no. 11, Nov, pp. 1484-96, 1998.
lambda
= 3e8/850e6;
%approximate
height of tower
height
= 50;
%coordinates
of NW corner of building mask
mask.lat
= 33.7847;
mask.lon
= -84.4098;
%radius of
the earth
radEarth = 6.3781e6;
%load Cell_Info structs
info =
load('Cell_Info.mat');
stations
= fieldnames(info);
%load
modified building mask
campus
= imread('IndoorMask-modified2.gif','GIF');
for bb
= 1:length(stations),
Cell = getfield(info,stations{bb});
for ii = 1:203,
for jj = 1:203,
if (ii ~=
101 || jj ~= 101)
%coords
wrt tower origin
x = jj - Cell.BS_x;
y = -ii + Cell.BS_y;
%coords
wrt NW corner origin
xx = jj - 1;
yy = 203 - ii;
%distance from tower
dist =
10*sqrt((jj-Cell.BS_x)^2+(ii-Cell.BS_y)^2);
%azimuth angle of this point wrt tower azimuth
phi =
angle(y+j*x)*180/pi - 180 + Cell.azimuth;
%make sure .5 < phi <
360.5
while
(phi < .5),
phi = phi + 360;
end;
%approximate
Latitude and Longitude of this point. assume
%distances are small (approx dphi, dtheta)
Latitude = Cell.Lat_UL
- 10*(yy)/radEarth*180/pi;
Longitude = Cell.Lon_UL
+ (10*xx/(radEarth*cos(Latitude*pi/180)))*180/pi;
nn = 2.9;
%set outdoor path loss
if
(Latitude < mask.lat && Longitude > mask.lon) %if this point is inside the NW corner of the
mask
%figure out where this
point is on the building mask
maskCol = round((mask.lat -
Latitude)*pi/180*radEarth/10) + 1;
maskRow = round((Longitude - mask.lon)*pi/180*radEarth*cos(Latitude*pi/180)/10)
+ 1;
if
(maskCol <= 178 && maskRow
<= 211) %if it is inside the SE corner of the mask
if
(campus(maskCol,maskRow) ~= 0) %if this point is in a building
nn = 3.4;
%set indoor path loss exponent
%if this point is
too close to the antenna, it
%isn't in the
vertical gain area
if
(dist < height)
nn = nn
+ 1;
end
end;
end;
end;
PT = Cell.erp;
%check to see if point is
inside 120 degree sector
if
(phi < 60 || phi > 300)
GT = 0;
else
%if not, gain drops off
~5dB
GT = -5;
end
PL = 10*nn*log10(dist);
%path loss wrt 1m
switch(bb)
case
1
Cell_Info_A.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
2
Cell_Info_B.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
3
Cell_Info_C.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
4
Cell_Info_D.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
5
Cell_Info_E.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
6
Cell_Info_F.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
7
Cell_Info_G.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
case
8
Cell_Info_H.ReceivedPowerMap(ii,jj) = PT + GT + 20*log10(lambda/(4*pi)) - PL;
end
end;
end;
end;
end;
save MosherBejean Cell_Info_A Cell_Info_B Cell_Info_C Cell_Info_D Cell_Info_E Cell_Info_F Cell_Info_G Cell_Info_H
CompareMaps('Cell_Info.mat','MosherBejean.mat');