Recently positioning services are getting more attention not only within research community but also from service providers. From the service providers point of view positioning service that will be able to work seamlessly in all environments, for example, indoor, dense urban, and rural, has a huge potential to open new markets. However, such system does not only need to provide accurate position estimates but have to be scalable and resistant to fake positioning requests. In the previous works we have proposed a modular system, which is able to provide seamless positioning in various environments. The system automatically selects optimal positioning module based on available radio signals. The system currently consists of three positioning modules—GPS, GSM based positioning, and Wi-Fi based positioning. In this paper we will propose algorithm which will reduce time needed for position estimation and thus allow higher scalability of the modular system and thus allow providing positioning services to higher amount of users. Such improvement is extremely important, for real world application where large number of users will require position estimates, since positioning error is affected by response time of the positioning server.

1. Introduction

In past few years, positioning of mobile devices became important topic not only for researchers but also for service providers. Service providers can benefit mainly from novel indoor positioning systems and systems that can estimate position of users seamlessly in various environments. Most of these systems are, however, still only in development and testing stage [1]. Nowadays almost all mobile devices have integrated at least one Global Navigation Satellite System (GNSS) receiver, most commonly Global Positioning System (GPS). GNSSs can be used mainly in the outdoor environment to estimate position of mobile user. Nevertheless, accuracy of GNSS based positioning is not always high enough to provide reliable position estimates for Location Based Services [2]. Positioning error of user-grade GPS receiver can easily be higher than 100 m in urban environment mainly due to signal blockage and multipath propagation. Therefore, it is important to introduce backup solutions based on other technologies even for the outdoor environment.

On the other hand, positioning in indoor environment is even more demanding on accuracy and GNSS receivers are commonly not able to estimate position in these environments. Currently there has been a lot of different systems proposed to solve indoor positioning problem, based on radio networks [36], inertial measurements [7, 8], image processing [9], or magnetic measurements [10].

Indoor positioning based on inertial measurements seems to be quite promising; however, Inertial Measurement Unit (IMU) sensors integrated in the mobile devices suffer from higher errors. This is caused by the fact that integrated IMUs are of low cost and thus low quality. It is also widely known that with inertial positioning the accuracy of estimates decreases due to integration of noisy measurements over the time [8]. This may lead to extremely inaccurate position estimations.

Positioning using magnetometer measurements can provide accurate results but requires calibration measurements performed in the positioning area in various directions, since magnetic field is orientation dependent [11]. Another problem is processing of the measurements, since in magnetic based localization static measurements cannot be used and differences in movement speeds of various users have to be eliminated [12]. On top of that, processing huge database of measurements is currently problematic, since it can introduce delays in position estimations [13].

Results achieved by the optical positioning systems are quite interesting; however relatively high computation power is needed for image processing algorithms to estimate position and implementation of optical tags is commonly required in the area of positioning [14, 15]. Implementation of optical tags may be either problematic or even impossible in some areas.

On the contrary, wireless networks are widely deployed in both indoor and outdoor environments and therefore can provide signals that might be used for position estimation. In our paper we decided to use positioning based on GSM and Wi-Fi signals, since most of currently used devices have implemented receivers for these networks. Moreover, signals from these networks are almost ubiquitous in both indoor and outdoor environments.

We have previously proposed modular positioning system [16] that is able to automatically switch between various positioning modules (GNSS, GSM, and Wi-Fi) based on quality of measured signals. In the developed modular positioning system the position of mobile device is estimated by localization server, in case that GPS signals are not presented or quality of measurements is low. When alternative positioning is required measurements from Wi-Fi and GSM networks are collected and preprocessed in the mobile application and sent to the localization server which estimates position of mobile device. In this paper we will introduce algorithm that will enable deployment of the modular system by reducing response times of the positioning server.

In this paper we will propose optimization algorithm, which allows better scalability of the modular positioning system and thus allows providing positioning service for more users by reducing complexity of position estimation process and response time. This algorithm will play important role in the system, since response time is crucial parameter of positioning service. The main contribution of the paper is proposal and testing of transmitter reduction algorithm. From the results presented in the paper it is clear that proposed algorithm has positive impact on complexity of system in case that a large number of transmitters are detected. Moreover, removal of transmitters with low RSS did not have negative impact on the localization accuracy.

The rest of paper is organized as follows: developed modular system together with related work is presented in Section 2. Section 3 describes the proposed optimization algorithm. Testing scenarios will be presented in Section 4, Section 5 is focused on discussion of the achieved results, and Section 6 will conclude the paper.

In this section modular positioning system will be described together with principles and algorithms that are already implemented. The system is based on fingerprinting positioning, since it is the most common and reliable positioning framework used in both GSM and Wi-Fi networks. Fingerprinting seems to significantly outperform other positioning frameworks, especially in environments with Non-Line of Sight (NLoS) and strong multipath propagation. Therefore, we will firstly describe fingerprinting framework.

All fingerprinting based positioning systems require calibration phase in order to create radiomap of area where positioning will be performed. Calibration phase, which can be in some literature referred to as offline phase, represents a necessary step in fingerprinting framework. During this phase radiomap database is created and stored at the localization server.

In principle, localization area can be divided into small areas, which are defined by a reference point [17]. During the radiomap construction RSS samples are collected at each reference point. Vector of RSS measurements, that is, fingerprint, consists of RSS measurements from all transmitters in the communication range and can be defined as follows: where is the number of transmitters detected at the jth reference point, M is the number of reference points, are RSS values, represent coordinates of jth reference point, and parameter vector can contain additional information, which may be used during the position estimation. The idea of radiomap database construction is depicted in Figure 1.

During the online or localization phase position of the mobile device is estimated based on measured RSS vector. In principle, fingerprint is measured by the mobile device and sent to the localization server. Localization server use implemented algorithms to compare fingerprint received from the mobile device with fingerprints stored in the radiomap.

In our system we have implemented deterministic algorithms from Nearest Neighbor family. We decided to use NN family algorithms, as these algorithms can perform at the same level as statistical algorithms and in some cases can even outperform other approaches [18]. Moreover, their performance is not affected by accuracy of statistical model which is important in case when positioning system is assumed to be implemented in heterogeneous environments, that is, outdoor and different indoor environments.

Deterministic algorithms are, basically, based on assumption that RSS values at the receiver are not random and depend on position of mobile device [19]. From this assumption it is clear that position of mobile device can be estimated by finding the highest similarity between the fingerprint received from the mobile device and fingerprints stored in the radiomap. In such case position estimate is given bywhere is a nonnegative weighting factor [17]. Weights are calculated as inverted value of the Euclidean distance between fingerprint received from the mobile device and fingerprints stored in the radiomap database. Since Euclidean distance is most widely used metric in NN algorithms, it will also be used in our experiments.

The estimator of formula (2), which keeps the highest weights and sets the others to zero, is called the WKNN (Weighted K-Nearest Neighbors) method [19]. WKNN with all weights is called the KNN (K-Nearest Neighbors) method. The simplest method, where , is called the NN (Nearest Neighbor) method [20]. In [21] it was found that WKNN and KNN methods commonly outperform the NN method, especially in cases when is set to 3 or 4.

The modular localization system was proposed to be logically one level above the structure of standard localization system. This means that all its components have to be developed according to the goals and requirements of the system.

The modular localization system [16] can be represented as an integrated set of components that provide localization service for its users. The system should be able to provide simultaneous access to the services for multiple users in order to be commercially interesting. Modular localization system is developed as centralized and thus all position estimates are computed at the localization server. The system is fully autonomous, since all communication is handled by the existing telecommunication networks and there is no need to implement new infrastructure.

The idea of modular localization system was developed on the assumption that GPS (Global Positioning System), GSM, and Wi-Fi could provide seamless positioning in heterogeneous environments as can be seen in Figure 2. The system was proposed with these positioning modules, because all of required technologies are commonly implemented in standard mobile devices. The system is developed as an open platform and new positioning modules can be implemented according to requirements, for example, Bluetooth, Zig-Bee, and so forth.

In principle the modular localization system can be divided into three components, that is, mobile devices, existing network infrastructure, and localization server, that communicate with each other and have their own responsibilities. The system can be divided into individual layers with different functions. These layers are classified into three levels. In principle, each layer is allowed to communicate only with neighboring layers. However, security and management layers have to be presented at all levels and therefore can communicate with any of the three layers. All layers in the system are shown in Figure 3.

The highest presentation layer can be described as application interface. The layer is responsible for user interaction and visualization of the position estimates in various modes.

The core of the modular positioning system can be found in the application that logic layer contains. This layer is represented by modular localization algorithm (MLA), which is responsible for handling of localization requests with all necessary signal information from GPS, GSM, and Wi-Fi. It is also responsible for selection of the most appropriate platform communication with the mobile devices. The algorithm is depicted in flowchart in Figure 4.

The lowest layer, service layer, is represented by the localization and optimization algorithms implemented at the localization server and is also responsible for communication between localization server and mobile device.

The idea is that the MLA checks GPS availability and, in case that GPS signals are available, it returns the position to the mobile device from GPS measurements. However, it is obvious that GPS will not be available in all environments or due to missing GPS hardware or there will not be enough visible satellites. In such case Wi-Fi or GSM measurements will be used for position estimation. In this step the algorithm computes number of transmitters above the minimum measurable signal level for both Wi-Fi () and GSM () networks. If is higher than or equal to 3, Wi-Fi based positioning is selected. The threshold of 3 transmitters (APs or BTSs) was chosen, since we assume that signals from at least 3 transmitters are needed to clearly define position in 2D space. Lower amount of transmitters can be used for positioning; however, it is assumed that this may have negative impact on localization accuracy. This assumption is based on the fact that with less than 3 transmitters number of reference points with similar RSS fingerprints will be increased. This may have negative impact on positioning performance; therefore when less than three transmitters were detected for a given network type alternative positioning solution should be used.

In case that GPS signals cannot be used for positioning and both Wi-Fi and GSM measurements provide enough data to estimate position, the Wi-Fi based positioning is preferred. This is due to the fact that previous experimental results show that Wi-Fi based positioning can achieve better accuracy when compared to GSM.

In the service layer algorithms for position estimation are implemented. These algorithms are NN, KNN, and WKNN algorithms together with optimization algorithms. Since modular localization system will cover significantly larger area compared to traditional fingerprinting based localization systems, it is crucial to reduce complexity of position estimation process. Another important reason for reduction of the complexity of positioning process is ability to provide positioning service to higher number of users [16].

In the first step the 2-phase map reduction algorithm was implemented to the system. The idea of the algorithm is to reduce area from which reference points are selected from the radiomap database. Algorithm can be divided in two phases; in the first phase the relevant areas are found based on RSS data from fingerprint measured by the mobile device. During the second phase reference points are selected from the relevant areas, in order to reduce complexity of the position estimation process. Flowchart of the positioning algorithm can be seen in Figure 5.

In the algorithm, the weights are computed as inverted value of Euclidean distance between measured RSS samples and RSS samples stored in the radiomap database. During the first phase of the algorithm all vectors contain at least one of transmitters from fingerprint measured by a mobile device. This operation can be easily performed via SQL language and this initial filtering reduces the radiomap. This radiomap reduction is depicted in Figure 6.

In Figure 6 the situation when mobile device does not detect signals from BTS 1 is shown. Areas chosen by the first phase of the algorithm are marked with diagonal pattern. It can be seen that in this stage also areas where signals from BTS1 should be detected were chosen.

In the second stage the map reduction algorithm selects the most appropriate areas from the relevant areas chosen during the first stage, based on comparison of number of transmitters in the radiomap fingerprints that match transmitters detected by the mobile device. In this step only reference points with the highest number of matching transmitters are selected from the radiomap. The output of the second stage of the algorithm is shown in Figure 7.

In the algorithm the highest number of matches is selected, so the algorithm can handle power fluctuations that can cause the measured fingerprint from the mobile device to contain more (or less) transmitters than was detected at the reference points during the radiomap construction.

3. Proposal of Optimization Algorithm for Reduction of Transmitters

Commonly fingerprint vector components contain various RSS values from all transmitters in the communication range. Such values can achieve any value between measurable minimum and maximum in particular radio network. It has been proven that in Wi-Fi networks the weakest signals can have negative impact on achieved positioning accuracy [22]. The main idea of proposed algorithm is to filter out RSS samples that have low or negative impact on accuracy and thus reduce computing power needed by the server to compare RSS vectors and estimate position of mobile device.

Generally, sensitivity threshold for downlink in GSM900 network is −113 dBm [23]; however minimum signal strength detected in Wi-Fi networks may vary on different devices. During our previous experiments, with devices from various manufacturers, the minimum detected power levels were −113 dBm for GSM networks and between −100 dBm and −110 dBm for Wi-Fi networks, which proves correctness of the theory stated in previous sentence. The experiments were performed in the anechoic chamber with 3 different smartphones, namely, Sony Xperia Z3, Samsung S4, and HTC Wildfire S. Measurements were focused to detect differences in receiver sensitivity and characteristics. In the proposed algorithm for reduction of transmitters we decided to set the threshold 10 dB above the minimum detected power levels, that is, −103 dBm and −90 dBm for GSM and Wi-Fi, respectively. In Wi-Fi networks we have assumed minimum detected power level to be −100 dBm, since this value has been reported by all devices we have tested. However, introducing such thresholds may cause some fingerprints that are measured far from transmitters to not have sufficient amount of data to be used for position estimation.

It is assumed that, similar to trilateration based positioning, information about RSS from at least transmitters is needed in order to estimate position in -dimensional space. Since our modular positioning system estimates position in 2D space, RSS measurements from at least 3 transmitters are needed to estimate the position of mobile device. Thus 3 transmitters represent the lowest required amount for the system to operate. Obviously, if there are more transmitters with RSS values higher than the threshold then all of those will be used for position estimation, since using higher number of transmitters may have positive impact on localization accuracy and enable positioning in 3D environment. The proposed algorithm has to be as simple as possible since the main goal is reduction of the complexity of position estimation process. The flowchart of the proposed algorithm for reduction of transmitters can be seen in Figure 8.

In the first step the algorithm removes all RSS measurements below the threshold from fingerprint vector. In the second step the algorithm checks if reduced vector contains enough transmitters in order to perform positioning. In case that reduced vector does not contain enough transmitters the algorithm will choose three strongest transmitters from the original fingerprint vector. This step is introduced due to the assumption that it is still better to estimate position with lower accuracy than to have no position estimate at all. These reduced RSS vectors are afterwards used in position estimation process. The algorithm process RSS samples from single network (GSM or Wi-Fi) are based on selected localization module. Currently the system does not use combination of heterogeneous signals; however, research of possible signal combinations will be conducted in future work.

4. Experimental Scenarios

Performance of the proposed algorithm was tested in real world conditions in both GSM and Wi-Fi networks. Modular positioning system was deployed in the area of University of Žilina in both indoor and outdoor environments.

During the experiments we decided to measure more RSS samples for each fingerprint, so we can decrease positioning errors caused by the signal fluctuations by use of local mean RSS value for the position estimation. The number of measurements to achieve stable local mean RSS would be 20 and more; however, the value of 5 provides pretty similar results as can be seen from results in Figure 9 with duration of each iteration 4 times faster. The results were achieved by experimental measurements with RSS data collected during 50 independent position estimates.

Positioning error is calculated as average value of mean values of all independent trials. From Figure 9 it is clear that the higher number of measurements significantly improves localization accuracy. However, it can also be seen that changes are not so dramatic when the number of measurements used to calculate local mean RSS is more than 5.

During the experiments ground truth position was estimated by accurate GPS receiver (as reference value). In the modular positioning system the GPS module was disabled, so we were able to assess performance of positioning solutions based on radio networks. The radiomap was created using an HTC Wildfire S smartphone during the evening, when there was low number of moving reflectors, that is, people, cars, and so forth. Measurements were performed dynamically during the walk around the campus of the university. Final radiomap is depicted in Figure 10.

It can be seen that there is a difference between reference points stored in GSM and Wi-Fi radiomaps. This difference is given by the fact that at some reference points there were no enough Wi-Fi access points in the communication range; therefore, these reference points were excluded from the radiomap database.

Radiomap consists of total 937 reference points for GSM and 547 reference points for Wi-Fi positioning. In average 5 BTSs and 15 APs were detected at these points.

In the first scenario impact of the proposed algorithm on accuracy of the localization system was investigated. During the positioning phase the position of mobile device was estimated at 177 positions randomly chosen in the area where localization map was created.

In the second experimental scenario we decided to test how the proposed algorithm affects response time of the positioning server. During the testing the localization server was established as a virtual machine at laptop with Intel i3 processor and 4 GB RAM running Windows 8.1 OS. This implementation was sufficient for the testing, since this testing was focused mainly on behavior and characteristics of the positioning system. These are assumed to be independent on hardware equipment. The only difference caused by the differences in hardware and software equipment is assumed to be in absolute numbers. During the experiment, localization requests were generated and sent to the localization server and response time was measured. Localization request generated in the testing can be divided into valid and invalid requests.

Valid localization request contained measured data that were collected in the localization area and localization server was able to estimate position of mobile device from these data. On the other hand, invalid localization requests contained measurements from transmitters that were not presented in radiomap. Therefore, localization server was not able to find match between transmitters in measured fingerprint and transmitters presented in the radiomap database.

5. Achieved Results and Discussion

In this section results achieved during the experimental scenarios will be presented and discussed. Results achieved during the first testing scenario, which was aimed at evaluating impact of the transmitter reduction algorithm on localization accuracy, are presented in Table 1.

From Table 1 it can be seen that system without implemented optimization algorithms marked as basic fingerprinting achieved extremely poor results in terms of accuracy. It is important to note that Wi-Fi based positioning achieved worse results compared to GSM based positioning, which is probably caused by the fact that a high number of APs with extremely low RSS power were detected at reference points that are far from each other. It can also be seen that after application of map reduction the positioning accuracy was significantly improved. This is caused by the fact that signals from the strongest transmitters were used to preselect points from radiomap database.

In addition it can be seen that implementation of proposed algorithm did not have impact on localization accuracy. This proved our assumption that the transmitters with highest RSS values have the most significant impact on performance of the system, if high number of transmitters can be detected and thus it is possible to remove measurements from weakest transmitters without sacrificing positioning accuracy. In our measurements in average 15 APs and 5 BTSs were detected in each measurement for Wi-Fi and GSM network, respectively. These numbers were achieved after application of the transmitter removal algorithm.

The results achieved during the second scenario for both valid and invalid requests for GSM and Wi-Fi based positioning are presented in Tables 2 and 3, respectively. The requests on the localization server were generated by application and the number of requests that will be sent to the server in parallel (at the same time) was changed. In Tables 2 and 3 the results for 1, 10, and 100 parallel requests are shown. Localization requests were sent to the localization server 100 times and time between each group request and last localization server response was measured. Based on measured times, mean of response time and its standard deviation were computed and are presented in Tables 2 and 3.

From Table 2 it can be seen that proposed algorithm does not have any significant impact on response time of GSM based positioning. It can even be stated that additional delay was introduced by the algorithm when compared to fingerprinting with map restrictions. This may be caused mainly by the fact that amount of transmitters detected in the fingerprinting vectors are quite low for GSM fingerprinting. This is caused by the network infrastructure and reuse of frequencies in GSM network. During our measurement the highest number of detected BTSs was 7, which is given by the network design and the fact that smartphone used was only able to detect BTSs from one network provider.

It is important to note that invalid requests, that is, requests with data only from transmitters not present in the radiomap database, were processed much faster. This is caused by the fact that implemented optimization algorithm for radiomap reduction was not able to find any area with the signals from the given transmitters and therefore the positioning process was unsuccessful. In the basic fingerprinting, that is, without optimization, the server has to compare received data with data stored in the radiomap. However, since measurements do not contain data from known transmitters the position of mobile device will not be estimated. The optimization algorithm may therefore help to improve the performance of the positioning system significantly in case that some of the users send positioning requests from the area where positioning service is not available.

On the contrary, results achieved with Wi-Fi based positioning module show significant improvement in response time of the positioning system. From Table 3 it can be seen that proposed algorithm decreased response time three times compared to positioning with only map reduction algorithm. This is given by the fact that fingerprint vectors measured in Wi-Fi networks contain higher number of RSS value below the threshold. This is given by the fact that most of APs are placed indoors and thus radio signal is attenuated by walls of building. Moreover, communication range in Wi-Fi networks is significantly smaller compared to GSM network.

Similarly to GSM based positioning also for Wi-Fi based positioning the processing times for invalid requests are significantly lower after implementation of optimization algorithm. In this case even reduction of transmitters helped to reduce response time of the server, which is caused by the fact that less data has to be transmitted and processed. Based on the results achieved for Wi-Fi positioning it can be stated that negative impact of transmitter reduction on response time in GSM network was caused by the low number of detected transmitters. Therefore algorithm for transmitter reduction should be used only in cases when the number of detected transmitters is assumed to be higher. In GSM based positioning this can be achieved by scanning signals from BTSs of various service providers.

In the next step we decided to find dependency of number of parallel positioning requests on response time of the localization server. For this reason we decided to use small increments of number of valid parallel requests. Achieved results are shown in Figure 11.

From Figure 11 it can be seen that dependency of response time of the positioning server on number of parallel valid requests is almost linear. Small deviations from linear characteristics can be caused by processes running on the background of operating system. It is important to note that this testing represents the worst case scenario; when all requests are parallel in real implementation localization requests are assumed to be more random.

Moreover, it is important to note that during the testing phase localization server was implemented as virtual machine running at a laptop, which does not have high computation power and further improvement of response time can be expected if the system is implemented at a dedicated server.

6. Conclusion

In the paper novel optimization algorithm for reduction of transmitters was proposed to reduce response time of localization server in modular positioning system. The main idea behind the algorithm is to reduce complexity of position estimation and thus provide service that will have lowest possible latency, since high latency of position estimation can significantly reduce quality of user experience. The proposed algorithm was tested in real world conditions.

From the achieved results it can be seen that proposed algorithm does not affect accuracy of position estimates. It can also be concluded that proposed optimization algorithm has potential to reduce complexity of positioning system, especially when large numbers of transmitters with low RSS values are presented in area of positioning as can be seen from time measurements for Wi-Fi based positioning. On the other hand, it can be stated that algorithm might have negative impact on complexity of localization system if the number of removed transmitters is low, as can be seen from time measurements for GSM based positioning. In this case the response time was increased. This is caused by the fact that in GSM network number of detected transmitters cannot be higher than 7, if device allows scans only from one network operator. In the most of performed measurements signal from only one transmitter was removed by the algorithm.

It is possible to conclude that the proposed algorithm for reduction of transmitters may improve response time of positioning service, if applied correctly, that is, when large number of transmitters with low RSS can be detected in the localization area. Since most of currently used devices can only scan RSS samples from a single service provider, the algorithm should not be implemented in GSM based localization as it has negative impact on response time of the localization system.

From the results provided it can be seen that novel algorithm from transmitter removal has positive impact on complexity of the system, when implemented in Wi-Fi based positioning. In the Wi-Fi based positioning system, the mobile device may sense large number of RSS samples from different APs. Part of these samples could be removed without significant impact on the positioning accuracy especially if the RSS is low. Another positive impact of the algorithm is the fact that, by removal of transmitters with low RSS, less data has to be transferred between mobile device and localization server. Further improvement of the achieved results may be possible by implementation of the localization server on dedicated server or the cloud.

Competing Interests

The authors declare that they have no competing interests.


This work has been partially supported by the Slovak VEGA grant agency, Project no. 1/0263/16, by project Broker Centre of Air Transport for Transfer of Technology and Knowledge into Transport and Transport Infrastructure, ITMS 26220220156, and by Centre of Excellence for Systems and Services of Intelligent Transport II, ITMS 26220120050, supported by the Research & Development Operational Programme funded by the ERDF.