Keywords

1 Introduction

Since the dawn of technology, it has always been of paramount importance for people to locate themselves. This has been witnessed with the development of GNSS which has been the utmost prevalent positioning, navigation, and timing technology over the past few decades. On account of this today, many smartphones are loaded with a myriad of sensors including Global System Position (GPS) receiver, accelerometer, microphone, camera, as well as richer processing and storage resources than traditional phones [1,2,3].

For example, Alamgir et al. [1] developed a system using both GPS and GSM technologies to provide the exact position of a vehicle. In the same context, Wei et al. [4] proposed a wireless location estimation system for tracking indoor mobile users based on the Received Signal Strength (RSS) indicator approach, the Center of Gravity Algorithm (CGA) and the Algorithm Selector (AS). Joseph et al. [5] proposed a system that allows tracking people in museums using the ZigBee technology based on the localization algorithms and the Wi-Fi wireless networks in the real environment. But these systems don’t give the Global Positioning Coordinate (GPC) [6, 7].

For that, most of the positioning systems developed must exploit GNSS system to give exact GPC of UE. However, GNSS signals suffer from some limitations such as weakness and uselessness in certain environments (e.g. indoors) and they are susceptible to unintentional interference and intentional jamming. Thus, in the future, systems as intelligent transportation systems, and location-based services, the GNSS alone is not able to meet their expectations [2, 6,7,8]. A few years ago, researchers revealed that cellular signals should be an alternative to GNSSs because of their abundance, geometric diversity, high carrier frequency, large bandwidth, and high received power. The most important advantage is that there is no cost associated with using cellular signals for positioning and navigation. The UE doesn’t need any authorization to extract necessary information from received signal (e.g. RSS, Time of Arrival (ToA), connected BS, connected sector TRX…) [8,9,10,11].

In this work, exploiting only the GSM network [5, 6, 10, 11], a new algorithm is proposed and implemented in an android application named “GSM Locator”, to estimate the GPS coordinates and project these obtained position coordinates on a map loaded in an android smartphone when GNSS is not available.

For our purpose, it is more convenient to use RSS to estimate the distance between the BS and the UE, as this parameter is present in almost all cellular network generations (2G, 3G, LTE and even 5G). Furthermore, our application doesn’t need any action on the cellular network. First, it is necessary to create a local database (SQLite) linked to the android application and it must contain the GPS position and their equivalent cell ID of the entire BS around the UE. Then, the algorithm extracts the RSS from the received signal of at least the most closed BS, uses the triangularization method that leads to determine the GPS positioning. Finally, the GPS position of UE is projected on a map (Google Maps is used here). The effectiveness of the application is assessed in collaboration with the access network and cellular optimization department of Orascom Telecom Algeria (OTA). For this purpose, the usage of the GPS receiver and TEst Mobile System (TEMS) equipment is mandatory.

The paper is organized as follows: Sect. 2 provides a summary of the existing related works. In Sect. 3, we draw attention to the basic concepts of triangularization method and its adaptation to our algorithm. On the hand, GSM Locator algorithm and its implementation are addressed in Sect. 4. Subsequently, results and measures are shown in Sect. 5. Whereas, the last Sect. 6 concludes this paper.

2 Related Works

It has been very difficult to track the vehicle in the past years, but with the advent of new wireless technologies, the tracking of vehicles has become very easy. However, there are two important questions to ask: who the systems that can be easily capable of tracking your vehicle? And how can they do that? A lot of vehicle tracking systems have been suggested and executed so far. Some of them can be mentioned:

In [1], the authors proposed and developed a real-time bus tracking system that incorporate GPS module for tracking bus location and speed in order to keep monitoring the teachers’ buses in Chittagong University and to provide bus information to teachers via an android application in a more efficient manner. However, the teachers’ application receives and utilizes the data in order to observe the location address of the bus, the distance and the time required to reach a specific destination. One of the main advantages of the proposed system by the authors is that teachers only need to download the application and install it in the smartphone to exploit this facility at no additional cost. In addition, the authors think that adding the accident detection feature can further develop the proposed system. In the event of an accident, teachers will get to know about the accident and also the accident location.

In the same university of Chittagong, others authors have proposed another implementation of a vehicle tracking system based on a smartphone and a SMS service [12]. However, these authors have introduced an android application for tracking live location of the students’ bus in the Chittagong University. The application of smartphone mainly makes use of the GPS technology, the Google Map, the SMS gateway, a web server and a database server. The proposed system is consisted into two parts, such as: the server part and the client part: it is the android application for the students of Chittagong University. The main responsibility of server devices is to provide the exact location of the students’ bus to the server, or to the students of Chittagong University in the case of SMS based query from the client’s device. On the other hand, the client’s device for the students can find the bus location either using the SMS service or the Internet service. In addition, the server’s device is placed on the students’ bus with an android application installed on it. The advantage of this system is that the students can get information of the student’s bus location into two situations; the application can be run with and without the Internet connectivity. Otherwise, the system has limitations concerning the location information. To do that, they have used their own network to provide the location information of the students’ bus, but the proposed network is not accurate as the GPS technology. Also, the proposed system cannot predict the time about arriving of the students’ bus at a specific location and has no automatic notification when the students’ bus arrives at chosen location. As a future work, the authors hope to extend the proposed system and resolve the above-mentioned limitations to make the system more reliable and beneficial.

Furthermore, in [4], Wei et al. proposed an intelligent strategy of GPS sensing and transmitting. They have implemented a platform to collect the data of GPS from vehicles in a real-time. However, the proposed strategy is based on-board android smartphone, where they serve as a GPS sensor in a vehicle. The part of user application software is modelled to generate GPS location updates with the adaptive time stamps. As comparison, the authors have used the MQTT (Message Queuing Telemetry Transport) push technology as a broker to effectively reduce the mobile traffic. In addition, the authors think that the proposed system can be further developed by adding a more adaptive algorithm with other impact factors that are included as well, such as: the surrounding environment factors, the time of a day even, and the road information of the city [4].

Regarding the development of Android and Web applications [13,14,15]. In [13], in the same spirit, authors design an android application that informs and prevents patient about the potential risks of drug interactions. The application is optimized to handle various databases and operate automation of QR code.

3 Triangularization Method

The mathematical relation between the \(\mathrm{RSS}\) and the distance \(\mathrm{d}\) between the UE and the BS, is modelled as follows [8,9,10,11, 16]:

$$\frac{{\mathrm{P}}_{\mathrm{r}}}{{\mathrm{P}}_{\mathrm{t}}}={\mathrm{G}}_{\mathrm{r}}.{\mathrm{G}}_{\mathrm{t}}.({\frac{\uplambda }{4\mathrm{\pi d}})}^{2}$$
(1)

Where \({\mathrm{P}}_{\mathrm{r}}\), \({\mathrm{P}}_{\mathrm{t}}\), \({\mathrm{G}}_{\mathrm{r}}\), \({\mathrm{G}}_{\mathrm{t}}\) and \(\uplambda \) are respectively the received and the emitted power, the received and the emitter antenna gain and wavelength.

At least three receivers (connected BS) are needed to determine the GPS coordinate position of UE in 2D. This technique can use a Circular Lateration Method (CLM), as shown in Fig. 1. The dotted circles indicate errors in RSS measurements.

Fig. 1
figure 1

Trilateral location from three RSS measurements of references Ref 1, 2 and 3

So, the distances \({\mathrm{d}}_{\mathrm{i}}\) between the UE and three BS at least, are deduced from the measurement of \({\mathrm{RSS}}_{\mathrm{i}}\) and using the Eq. (1). Where \(\mathrm{i }=1\dots \mathrm{n}\), and \(\mathrm{n}\ge 3\).

We assume that the coordinate positions \(({\mathrm{X}}_{{\mathrm{BS}}_{\mathrm{i}}}, {\mathrm{Y}}_{{\mathrm{BS}}_{\mathrm{i}}})\) of the connected BS are known. The unknown data is the coordinate \(\left({\mathrm{X}}_{\mathrm{UE}}, {\mathrm{Y}}_{\mathrm{UE}}\right)\) of the UE. The system of equations referring circular lateration is represented by the nonlinear equation:

$${{(\mathrm{X}}_{\mathrm{UE}}-{\mathrm{X}}_{{\mathrm{BS}}_{i}})}^{2}+{({\mathrm{Y}}_{\mathrm{UE}}-{\mathrm{Y}}_{{\mathrm{BS}}_{i}})}^{2}= {d}_{i}^{2}$$
(2)

Each equation represents a circle. We can use algebraic transformation and transform the Eq. (2) into a linear system as fellow:

$${\mathrm{X}}_{\mathrm{UE}}^{2}-{\mathrm{X}}_{\mathrm{UE}}{\mathrm{X}}_{{\mathrm{BS}}_{i}}+{\mathrm{X}}_{{\mathrm{BS}}_{i}}^{2}+{\mathrm{Y}}_{\mathrm{UE}}^{2}-{\mathrm{Y}}_{\mathrm{UE}}{\mathrm{Y}}_{{\mathrm{BS}}_{i}}+{\mathrm{Y}}_{{\mathrm{BS}}_{i}}^{2}={d}_{ki}^{2}$$
(3)

Assuming that \(\mathrm{n}=3\) and all measurement of three BS are available and using matrix representation, the system of Eq. (3) is modelled as:

$$\left[\begin{array}{cc}{\mathrm{X}}_{{\mathrm{BS}}_{1}}-{\mathrm{X}}_{{\mathrm{BS}}_{2}}& {\mathrm{Y}}_{{\mathrm{BS}}_{1}}-{\mathrm{Y}}_{{\mathrm{BS}}_{2}}\\ {\mathrm{X}}_{{\mathrm{BS}}_{1}}-{\mathrm{X}}_{{\mathrm{BS}}_{3}}& {\mathrm{Y}}_{{\mathrm{BS}}_{1}}-{\mathrm{Y}}_{{\mathrm{BS}}_{3}}\end{array}\right]\left[\begin{array}{c}{\mathrm{X}}_{\mathrm{UE}}\\ {\mathrm{Y}}_{\mathrm{UE}}\end{array}\right]=\frac{1}{2}\left[\begin{array}{c}{d}_{2}^{2}-{d}_{1}^{2}+{\mathrm{X}}_{{\mathrm{BS}}_{1}}^{2}-{\mathrm{X}}_{{\mathrm{BS}}_{2}}^{2}+{\mathrm{Y}}_{{\mathrm{BS}}_{1}}^{2}-{\mathrm{Y}}_{{\mathrm{BS}}_{2}}^{2}\\ {d}_{3}^{2}-{d}_{1}^{2}+{\mathrm{X}}_{{\mathrm{BS}}_{1}}^{2}-{\mathrm{X}}_{{\mathrm{BS}}_{3}}^{2}+{\mathrm{Y}}_{{\mathrm{BS}}_{1}}^{2}-{\mathrm{Y}}_{{\mathrm{BS}}_{3}}^{2}\end{array}\right]$$
(4)

The linear system becomes simple as:

$$\mathrm{A}*\mathrm{X}=\mathrm{B}$$
(5)

As the matrix A is square and assumed full rank, the three distance vectors between the three BS and UE are not coplanar and it exists a unique solution by solving the following system:

$$\mathrm{X}={\mathrm{A}}^{-1}*\mathrm{B}$$
(6)

In this equation, the accuracy of the coordinate position depends on the accuracy of distance estimation \({\mathrm{d}}_{\mathrm{i}}\) which depends on the precision measurement of \(\mathrm{RSS}\) [8,9,10,11, 16].

In our algorithm, we are limited to use only three BS, so the system is simple. If we measure more than three BS we should calculate the pseudo inverse of the matrix an Eq. (6). It’s more complicated when the program is implemented.

4 GSM Locator Application

In this section, a new algorithm named “GSM Locator” is proposed. This algorithm is based only on the cellular network signalisation to estimate the GPS coordinate position of UE.

4.1 Proposed Framework

The proposed algorithm is described in details according to flowchart presented in Fig. 2.

Fig. 2
figure 2

Functional flow chart of the application

First, the smartphone scans the neighbouring cells and extracts the \(\mathrm{RSS}\) measurement and data of each connected BS. If the number of BS is less than 3, the smartphone returns and scans again. Using the ID Cells (determination of BS), the algorithm searches in the database, which is implemented in the smartphone, for the GPS coordinate position of each BS and converts them into cartesian coordinate (X and Y). The algorithm uses these data to estimate the distance between the UE and each BS. When the distance is calculated, the coordinate position of UE is deduced using triangularization method implemented in the algorithm. Finally, the GPS coordinate position of UE is projected in Google Maps.

It is important to note, that in our algorithm, we have used just three BS to estimate three unknown positions. In this case, the coordinate position calculation and code implementation are not simple. On the other hand, if we use more than three BS, the coordinate position calculation and its implementation are more complicated. But in this case, the results should be more accurate because of the abundant information availability.

4.2 GSM Locator Interface

As mentioned earlier, we present the design of GSM Locator application in an android smartphone, which aims at the geolocation of mobile terminals by exploiting the data received from the cellular network (GSM, 3G, LTE and even 5G), in particular, the power at the Downlink. We have just to adapt the code program to each cellular network. This application has a local database containing the information needed to determine the UE’s position.

The main interface of GSM Locator is presented in Fig. 3. Where, the interface display offers different information about the UE as sim serial number, MCC (Mobile Country Code), MNC (Mobile Network Code), LAC (Location Area Code), Cell ID, RSSI (Received Signal Strength Indicator) and NC (Neighbouring Cells).

Fig. 3
figure 3

The main interface of the GSM Locator application

Our Android application is composed of 5 structures ordered by following activities: Main interface, search interface, location interface, map activity interface and data base interface which contains the information about cellular network. This information is fundamental to determine the position of our mobile terminal. The interfaces concerned are illustrated in Figs. 3, 4 and 5. On the other side, the application contains three other transparent activities, which ensure the conversion of GPS coordinates to Cartesian coordinates (Deg2UTM Activity), the conversion of Cartesian coordinates to GPS coordinates (UTM2Deg Activity) and Local Database Management (Db Connection Activity).

Fig. 4
figure 4

Database interface

Fig. 5
figure 5

Search interface

To ensure the extraction of the necessary information from the Smartphone and the network, the user must have a certain number of permissions under the Android platform.

Figure 6 shows the position calculation interface in which we can see the different fields displaying: the information needed to perform the coordinate position calculation.

Fig. 6
figure 6

Location finder interface

In the final step, the coordinate position estimated is projected on a map in order to be able to visualize the position of the mobile terminal on a given area. That is why; an API-key from Google Company is required to allow access to the card via the Internet. The integration of the API-Key (Application Programming Interface-Key) is necessary for the proper functioning of our application.

5 Measurement and Experiment Results

In order to assess the performance of our application and demonstrate its effectiveness, field measurements and tests are made in collaboration with engineers of access network and optimization department of Orascom Telecom Algeria (OTA), in Oran city. The tests are ensured by TEMS equipments which measure the electromagnetic field in a GPS coordinate position and hand all necessary information of BS emitters.

Figure 7 represents the TEMS soft interface where it is shown the first selected point and the distribution of different BS and all its information. In fact, each BS is defined by its name, GPS coordinate position, and its azimuth direction and all signal delivered from the BS. This makes it easier to check the effectiveness of our algorithm.

Fig. 7
figure 7

Cellular network data displayed on the TEMS application

Figure 8 illustrates the results of the GSM locator application. It displays the three coordinate positions of the three connected BS, the distances between the UE and each BS, and finally the X Y coordinate position which is going to be converted into GPS coordinate position to be projected in Google Maps, as is shown in Fig. 9(a) and 9(b).

Fig. 8
figure 8

Estimation of the coordinate position by GSM Locator

Fig. 9
figure 9

Projection of estimated coordinate position by GSM Locator on Google map: (a) point 1, (b) point 2

Table 1, contains the data cellular network, and all necessary information to estimate the UE coordinate position, measured using TEMS equipment. We exploit these information to estimate two different UEs coordinate positions as illustrated in Table 2 and Table 3. The first point we use GSM frequency in a rural area. It is found that the error estimation of the coordinate position is about 2 m. It is an accepted result. The error estimation here is the difference of the distance between the real position measured by satellite GPS receiver of TEMS and the coordinate position estimated using our application algorithm. But when we use DCS (Digital Cellular System frequency) in an urban area, the result in Table 3 is less accurate, and it is about 10 m. The results are projected on Google maps as shown in Fig. 9(a) and 9(b).

Table 1 Data position of point 1
Table 2 Estimated position of point 1
Table 3 Estimated position of point 2

Table 4, illustrates several measurements using GSM and DCS frequency. It is clear that the obtained result is satisfactory. In fact, the real coordinate position point measured by TEMS and the estimation provided by our application gives close result. The result is very satisfactory and is more accurate when GSM frequency is emitted by the BS in urban area, the error estimation is between 2 m and 2.96 m. On the other hand, when DCS frequency is emitted by BS in an urban area, the result is less accurate; but it stays acceptable. The error estimation is between 8 and 13 m. The reason why the results with GSM frequencies (900 MHz) are better than the results with DCS frequencies (1800 MHz) is that DCS frequencies in an urban area are heavily affected by the multi-path and reflection phenomenon in buildings, cars, environment constructions which leads to signal fading. Hence, the measured power at the UE should be erroneous and the distance estimation between the UE and BS is not accurate. This leads to a less accurate coordinate position estimation.

Table 4 The results obtained of other points

The accuracy of the estimation depends on \(\mathrm{RSS}\) measure of electromagnetic field. Many factors disturb the measurement of RSS such as the geographical area, the climatic condition, absorption, fading, multipath and so on.

The results obtained stay coherent and acceptable in GPS coordinate estimation context. In order to improve the accuracy, we should read from BS another physical parameter than the RSS. Time of arrival (ToA) and the direction of arrival (DoA) can be used. But the problem is that certain cellular networks don’t emit this information/these pieces of information. In addition, android code should be developed to extract these pieces of information from the BS when they are emitted.

6 Conclusion

This paper has put forward a new algorithm implemented as android application on smartphone, named GSM Locator. This application’s primary purpose is to estimate the GPS coordinate position of UE without using GNSS system. The GSM Locator exploits only the RSS indicator extracted from CN signalization. The RSS measure estimates the distance between the UE and the BS using circular lateration and triangularization Methods. In order to assess our application effectiveness, real measures have been carried out in collaboration with OTA (Orascom Telecom Algeria) engineers using the TEMS (TEst Mobile System) equipment; these measures are compared with GSM Locator measurements. The results obtained are very satisfactory especially when GSM frequencies emitted in rural area are used. Sometimes the accuracy of the estimation is altered because of the environment and the propagation condition. Overall, the GSM Locator application achieves successfully the GPS coordinate location using only a cellular network. In order to improve the accuracy of the application, time of arrival and the direction of arrival (DoA) can be extracted from the BS signalisation and used to estimate the distance between the UE and the BS. For that, these information should be emitted by the BS, and android instructions should be developed to extract and read these information.