GSM-Based Provider-Independent Positioning Method (Paper LOC_A07_29) Robert P. Biuk-Aghai Department of Computer and Information Science Faculty of Science and Technology University of Macau Av. Padre Tomás Pereira, S.J. Taipa, Macau S.A.R., China Email: robertb@umac.mo Abstract Today there are two popular positioning technologies: GPS and cellular network-based positioning. GPS does not work indoors and in densely built-up areas, whereas GSM-based positioning is usually network provider-dependent and is sold as a for-charge value-added service. To overcome the limitations of both of these technologies we have developed our own GSM-based position estimation method. It works both indoors and outdoors, is network provider-independent, and does not require any ongoing charges. For our method we collect GSM base station signals and correlate these with concurrently collected GPS position readings. The collected data is processed to prepare a database of logical base station locations which is deployed on the mobile device and is used for calculating the user's current location based solely on the IDs and signal strengths of received base stations. We have devised four position estimation algorithms with varying performance requirements and accuracy. In most cases accuracy is within 100 metres, which is satisfactory for many general applications. Moreover, we have developed several value-added location-based service applications that make use of our positioning system, including a remote position request application, a location trigger application, and a position trail application. 1. Introduction Positioning is understood to mean “determining the position of a person or object”, either relative to known locations or in terms of a coordinate system. Knowing the position of oneself or others is a common need in today’s world. It finds wide application in navigation, but other uses of positioning have gained steadily in importance and popularity over the past few years, such as location-based services [3],[4]. In order to provide positioning information, a number of techniques have been developed. For traditional navigation applications such as guiding a vehicle, ship or aircraft along a course to a destination, the Global Positioning System (GPS) [2] is currently the most popular one, whereas for location-based services cellular network-based positioning techniques are popular. Each of these has its own special characteristics and advantages as well as disadvantages, which we briefly describe below: Global Positioning System GPS, the Global Positioning System, is currently the most widely known example of a positioning system (other similar types of systems in development or use include Europe’s Galileo, Russia’s GLONASS, India’s IRNSS and China’s Beidou). Developed starting from 1978 and becoming fully operational in 1995 [5], it consists of a constellation of at least 24 (and currently 30) satellites orbiting the earth. A GPS receiving device requires the signals from at least three satellites to determine its position in two dimensions (latitude and longitude), or from four satellites for a position in three dimensions (additionally the altitude). It uses multilateration, a position calculation based on the time difference of arrival of the satellites’ signals. GPS has following advantages and disadvantages: GPS Advantages GPS Disadvantages 1. Free of charge 1. Does not work indoors, as it requires line-of-sight reception of signals from three or more satellites 2. Available world-wide 2. Does not work in densely built-up areas such as urban canyons which block GPS signals 3. Relatively high precision 3. Requires a relatively long time for initial position fix (about 1-2 (about 5-15 minutes) metres) 4. GPS receivers are relatively power-intensive, making them unsuitable for long-term battery-based use 5. GPS receivers not widespread outside vehicle/craft navigation Given the above factors, civilian (i.e. non-military) use of GPS is most popular in navigation, such as on board ships, aircraft, and vehicles. However, use of GPS outside of this application domain is rare, and only few people carry GPS receivers on a regular basis. Cell Network Localization Cell Network Localization refers to a set of techniques for determining the location of a mobile phone in a cellular phone network, such as a GSM, CDMA or other cellular network. Like GPS, it relies on multilateration to calculate the position of a phone. It is based on the signal received from one or more cellular network base stations within whose range the mobile phone is located. The calculation may be done by the base stations or by the mobile phone itself. Cell network localization has following advantages and disadvantages: Cell Network Localization Advantages Cell Network Localization Disadvantages 1. Works indoors 1. Dependent on cellular network operator 2. Works in densely built-up areas 2. For-charge service 3. Quick initial position fix (several 3. Not available outside cellular network seconds) 4. Lower precision (at best 50 metres) 4. Very low power consumption 5. Precision varying with cell density: best 5. Mobile phones widespread in urban areas, worst in rural areas Although cell network localization has the disadvantage of lower precision as compared to GPS, it is an attractive choice for location-based services because of the widespread use of mobile phones. Throughout the developed world, as well as in many other countries, mobile phones enjoy high penetration rates, exceeding 100% in some countries, meaning that some people carry more than one mobile phone. This makes the use of cellular network-based positioning a highly suitable option with the potential of widespread deployment. Whereas the lower precision of cell network localization makes it not very suited for navigation applications, there are many other applications which do not require a high degree of precision and for which a rough position estimate can be of value. For example, knowing one’s own rough location may be of value when traveling in an unknown area, and knowing the rough location of someone else may be useful when deciding whether or not to meet up with that person, considering distance and required travel time to that location. However, two other disadvantages of cell network localization make it less attractive: its dependence on the network operator, as not every network operator may provide this service; and the ongoing charging of this as a value-added service. In order to overcome these two shortcomings of current cell network localization techniques, we have developed our own GSM-based positioning method that is independent of the network service provider and does not require ongoing charges. It consists of two parts: (1) preparation of base station data, and (2) position estimation. The remainder of this paper is organized as follows: Section 2 introduces data preparation, Section 3 explains our position estimation method, and Section 4 describes three value-added positioning applications we have developed based on our positioning method. Finally, Section 5 presents conclusions. 2. Data Preparation A cellular network consists of many base stations, each serving a specific area, or cell, often overlapping with each other. Consequently, at a given location several base stations’ signals can usually be received. In a GSM network, signals from up to six base stations can be received simultaneously by a mobile phone. Where signals from more than six base stations cover a given location, only the six strongest are selected and tracked by a given mobile phone. One of these, usually the one with the strongest signal, is the serving cell, which handles the transmission of incoming and outgoing calls. Each base station is identified by a unique base station ID. The mobile phone receives this ID, and records the strength of the received signal from each base station, usually on a scale of 0 to 100. Depending on the position estimation mode (introduced in the next section), our positioning method uses two or more of the following pieces of information related to base stations to calculate a position estimate on the mobile phone: 1. The ID of received base stations 2. The strength of each base station’s signal 3. The location of each base station 4. The locations at which each base station’s signal can be received The first two of these are received by the mobile phone from the GSM network. The third and fourth are obtained from a base station location and coverage database installed on the mobile phone. As our positioning method is independent of the mobile network service provider, we create our own base station database. We do not have any information about the actual physical location of base stations. Moreover, even if the physical location of a base station were known, other factors would have to be taken into consideration, such as the type and direction of each antenna, its propagation pattern, transmission power, and others. We do not consider any of these factors and instead base our estimation method solely on observed base station signals. Receiving signals from each base station at many different locations, we determine the location at which the signal is the strongest. We record this location as that base station’s logical location. We also record other locations at which a base station’s signal can be received, together with the strength of that signal, as that base station’s coverage data. Both the logical location and the coverage data are used by different estimation modes of our position estimation method. The base station logical location database is created by us through following procedure: 1. Collect base station IDs and signal strengths using a mobile phone moving through the data collection area (in our case the city of Macau). 2. Concurrently collect location data using a GPS receiver connected to the mobile phone. 3. Correlate and aggregate the data from 1. and 2. on a PC. Aggregation is performed to reduce data volume. The entire data collection area is divided into a grid of 10 × 10 metre squares, and all base station data within that square is aggregated into a single record with an average of the observed signal strength. 4. Create the database of logical base station locations and base station coverage records. In implementing the data capture on our development device, a Dopod 818Pro mobile phone running the Windows Mobile 5.0 operating system, we encountered one further technical difficulty: the operating system only provides an application programming interface for retrieving data about the serving cell, i.e. its ID and signal strength, but not for the other five base stations. Even though this data exists in the mobile phone, no way is provided for obtaining it and its memory address is not documented. Moreover, different models of mobile phones store this information at different memory addresses. Therefore we first had to find the memory location of this base station data. This can be achieved by application unlocking on the phone, then dumping the memory content, and analyzing the dumped memory to identify the location of base station data by looking for certain patterns in the data. Once the base station data is found, the starting memory address of each base station’s data is known and our positioning module can send this to the open source CellTrack software module [1] to continuously obtain up-to-date data of all six currently received base stations, which is an essential requirement of our positioning method. 3. Position Estimation Our positioning method uses the base station data mentioned above to calculate an estimate of the current location. Position estimation is done entirely on the mobile phone. During the development of our positioning method, we have devised four different position estimation modes with different data requirements, computational effort, and accuracy, which we introduce next. 3.1 Serving Cell Mode This is the simplest mode of position estimation requiring the least computational effort. It makes use of the serving cell’s base station ID only, and does not consider signal strengths or other base stations. The returned location estimate is the serving cell’s logical location. This method is simply a database lookup requiring no calculation. As such its accuracy is the most limited of all our position estimation modes. It is mainly of use on mobile phone devices on which only the serving cell’s information is accessible. 3.2 Nearby Cell Signal Strength-Independent Mode This mode utilizes not only the serving cell’s data but also that of other nearby base stations, meaning that all the six base stations received by the mobile phone are utilized. However, only base station IDs and coverage records are used in this mode and signal strengths or logical base station locations are not considered. The basic principle underlying this mode is to look for an intersection of base station coverage areas. A given base station covers a certain area, and thus the base station database contains multiple records with different location coordinates for that base station. Another base station covers a different area, possibly overlapping that of the first one. A third base station covers yet another area, possibly overlapping the first two. When several base stations’ coverage areas are overlaid, usually only a small intersecting area results. This estimation mode thus obtains a position estimate by searching the base station database for locations at which records of all, or as many as possible, of the base stations that are currently received by the mobile phone can be found. If there are multiple matching location records, the average of these locations is calculated as the final results. This estimation mode produces considerably more accurate results than the serving cell-based mode. 3.3 Nearby Cell Signal Strength-Dependent Mode This estimation mode is very similar to the nearby cell-based signal strength-independent mode mentioned above. Its difference is that in addition to base station IDs and coverage it also uses base station signal strengths. After finding the intersection of different base station coverage areas, the final position estimate is calculated by matching the observed base station signal strengths with those recorded in the base station coverage data. For example, if the mobile phone receives base stations 100, 101 and 102 with signal strengths 80, 70 and 60, respectively, firstly the intersection of the coverage areas of base stations 100, 101 and 102 is calculated. Then the observed signal strengths are matched to those in the coverage data, by order (base station 100’s signal the strongest, that of base station 101 second, followed by that of base station 102) as well as by absolute value (a match as closely as possible to the observed values of 80, 70 and 60). Although this estimation method is computationally more intensive than the preceding two methods, it produces a more accurate position estimate. 3.4 Weighted Centroid Mode This estimation mode uses base station IDs, signal strengths and logical locations, but not coverage records, and utilizes an entirely different approach from the above three modes. Its main concept is that for a given set of received base stations the mobile phone is very likely located somewhere in between these base stations. We consider the logical locations of all base stations received by a mobile phone at a given time as the corner points of a polygon, with the mobile phone within the area of that polygon. A simple approach would be to calculate the geometric centre of the polygon and to use this as the mobile phone’s estimated position. However, we have found that distant base stations with weak signals “pull” the polygon’s centre away from the phone’s actual location. Instead, we additionally consider the base stations’ observed signal strength to calculate a weighted centre of the polygon – the stronger a given base station’s signal, the closer the centre of the polygon is in the direction of that base station. Consider the case illustrated in Figure 1. Signals from six base stations are received, labeled consecutively from 100 to 105, each with a measured signal strength ranging from 22 (base station 104) to 80 (base station 100). The geometric centre of the polygon connecting these base stations is at position c1, however when considering the signal strength, the weighted centre is at position c2, very close to the actual location of the mobile phone in this example. 3.5 Evaluation We have performed a performance evaluation of our position estimation method, for each of the estimation modes described above. The test area chosen was the south-east part of Macau, the “Freguesia da Sé” (Catholic Parish), an area of about 350 × 475 metres. A total of 30 different base stations were detected in this area. We collected a total of 1,157 position estimates, along with the actual position measured by a GPS device connected to the mobile phone. We then calculated the difference between the estimated and measured position to base 101 signal 65 base 105 signal 61 base 100 signal 80 base 102 signal 58 c2 c1 base 104 signal 22 base 103 signal 39 Figure 1 Weighted centroid position estimation determine the degree of error. Finally, we set an acceptance threshold of 100 m error for calculating overall accuracy. That is, any estimated position with 100 m or less of error is considered as accurate. The results are presented below: Estimation Mode Accuracy Serving cell mode 34% Nearby cell signal strength-independent mode 72% Nearby cell signal strength-dependent mode 80% Weighted centroid mode 93% The accuracy results for the first three modes are consistent with intuition: the more data is used in calculating a position estimate, the more accurate the estimation result becomes. The result for the fourth mode, however, is somewhat surprising: the weighted centroid mode uses much less data than both the nearby cell modes, yet it outperforms both of them in terms of accuracy. Moreover, since the data volume processed is small (only six logical base station location records) and the calculation involved is simple, position estimation in this mode is one of the fastest. 4. Positioning Applications Our positioning method is implemented as a software module that can be called by other applications on the mobile phone to provide position estimates. We have implemented three applications that use our positioning module, which are described below. 4.1 Remote Position Request Application In some situations it is valuable to know not only one’s own location, but also the location of others. For example, a parent may want to know where a child is after school, or a family member of a patient suffering from dementia may want to know their whereabouts. Our remote position request application provides such information. The application should be installed on the mobile phones of both the position requester and the remote person whose position is to be requested. Its operation mode is as follows: 1. The requester enters the phone number of the remote phone in the remote position request application. 2. The remote position request application sends an SMS message containing a position request to the remote phone. 3. The remote phone receives the position request message, parses it and diverts it to the remote position request application. 4. The remote position request application on the remote phone obtains a position estimate from its estimation module. 5. The remote position request application on the remote phone sends an SMS message containing a position response to the requester. 6. The remote position request application on the requester’s phone displays the position of the remote user on a map on the screen. The entire process is illustrated in Figure 2. (a) (b) (c) Figure 2 Remote location request: (a) entering remote phone number whose location is to be requested, (b) receiving location response, (c) displaying remote phone’s location In order to ensure privacy, the remote position request application asks the user for consent before sending a position response. However, an additional blacklist/whitelist function automates the consent processing: if the requester’s phone number is in the blacklist, the request is automatically rejected, and if the requester’s phone number is in the whitelist, the request is automatically approved. The user can maintain the blacklist and whitelist to add, edit or delete records. However, a privileged user can store password-protected entries in these lists. This is to enable a parent to store their own phone number in the whitelist and to prevent their child from deleting it from that list. To counter spoofing attempts, the position request and response messages contain a message digest to ensure that only requests and responses generated by our application will be considered as valid. 4.2 Location Trigger Application Similar to the need to know the whereabouts of others, sometimes a person may want to be notified when another person enters into a certain area. For example, a parent may want to be notified when a child arrives at school, or when that child arrives back home after school. In these cases, instead of actively requesting the position of the child, that parent should wait passively to be notified whenever the child enters into a pre-defined area. For this purpose we have developed the location trigger application. It allows a user to define a location trigger, consisting of a location on the map, a radius around that location, a phone number to send the notification to, and other attributes such as a start time and a repetition interval. As soon as the other person enters into the previously defined area, the application will transparently transmit an SMS message containing the notification to the phone number defined in the trigger. On the receiver’s phone the notification will pop up on the screen as a location on a map. Again, a trigger may be password protected to prevent modification or deletion by the user of the phone. 4.3 Location Trail Application A parent may wish to know where a child has been after school. To provide this information, we have developed a location trail application that continually records position estimates into a location log for later review. In the evening, the parent may review the log on a map to see the trail of the child’s movement. An example of this is shown in Figure 3. Figure 3 Location trail 5. Conclusions We have devised and implemented a GSM-based position estimation method. While its estimation accuracy is not as high as that of GPS, it can provide useful position estimates for many general applications. Using the weighted centroid estimation mode, good estimation accuracy can be achieved with only small required amounts of base station data. The greatest advantage of using mobile phones for positioning is that they are widespread and thus a large potential user base exists. Our positioning method overcomes the problems of other GSMbased positioning methods that are service provider-dependent. Using our data preparation tools, a logical base station location database can be generated for any area, and re-generated once base station configurations change. The three location-based service applications we have developed serve as examples of the many applications that can benefit from mobile phone-based position estimation, and we expect more applications of this kind to emerge in coming years. Acknowledgments Thanks go to Percy Ip, Vito Ng and Moray Mok for their work on implementing the position estimation system. The support from the University of Macau is gratefully acknowledged. References [1] CellTrack Forum, available online at: http://www.spv-developers.com/forum/forumdisplay.php?f=20 [2] B. Hofmann-Wellenhof, H. Lichtenegger and J. Collins, Global Positioning System: Theory and Practice, Springer, 2004. [3] D. Mohapatra and S.B. Suma, Survey of location based wireless services, 2005 IEEE International Conference on Personal Wireless Communications, pp. 358-362, 23-25 Jan. 2005. [4] B. Rao and L. Minakakis, Evolution of Mobile Location-based Services, Communications of the ACM, vol. 46, no. 12, pp. 61-65, Dec. 2003. [5] United States Coast Guard Navigation Center, Global Positioning System Fully Operational, News Release, 17 July 1995, available online at: http://www.navcen.uscg.gov/gps/geninfo/global.htm About the Author Dr Robert P Biuk-Aghai received his PhD in Computing Sciences from the University of Technology, Sydney in 2004, and his MSc in Information Systems from the London School of Economics in 1990. Since 1993 he has been with the University of Macau, where he is an Assistant Professor in computing sciences. His research interests include geographic information systems, collaboration technology, information visualization, and distance education, in which he has authored more than 35 papers. Dr Biuk-Aghai is a member of the ACM and of the IEEE Computer Society.