Introduction

            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 north west corner of the map to be modeled

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.

Solution

 

            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 north west corner was also recorded. The picture was then scaled to match the scale of the received power maps by making each pixel equal to a 10 m distance. This resulted in an image that was 178 x 211 pixels. In this greyscale picture, a color value of zero indicates

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 2. Measurement of the building masks dimensions using Keyhole™.

 
 

 

 


outdoors while a color value not equal to zero indicates indoors.

Text Box:  
Figure 3. Modified Building Mask.

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.

 

Results

            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

 

Conclusion

            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.

 

Works Cited

 

[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.


Appendix: Matlab source code

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');