Indoor Localisation Based on GSM Signals: Multistorey Building Study

Among the accurate indoor localisation systems that are using WiFi, Bluetooth, or infrared technologies, the ones that are based on the GSM rely on a stable external infrastructure that can be used even in an emergency. This paper presents an accurate GSM indoor localisation system that achieves a median error of 4.39 metres in horizontal coordinates and up to 64 percent accuracy in floor prediction (for 84 percent of cases the floor prediction is mistaken by not more than a single floor). The test and reference measurements were made inside a six-floor academic building, with an irregular shape, whose dimensions are around 50 metres by 70 metres. The localisation algorithm uses GSM signal readings from the 7 strongest cells available in the GSM standard (or fewer, if fewer than 7 are available). We estimate the location by a three-step method. Firstly, we propose a point localisation solution (i.e., localisation based on only one measurement). Then, by applying the central tendency filters and the Multilayer Perceptron, we build a localisation system that uses a sequence of estimations of current and past locations. We also discuss major accuracy factors such as the number of observed signals or the types of spaces in the building.


Introduction
Outdoor localisation is, today, a part of our life.However, such useful localisation methods as the Global Positioning System (GPS) fail inside buildings.Popular alternatives use Received Signal Strength (RSS) from wireless networks that are accessible indoors.Measuring the strength of WiFi signals from multiple Access Points in various locations, we create a map of fingerprints.In the localisation process one's position can be found by comparison of current signal strengths with the created map.
Using WiFi signals inside buildings with many different Access Points whose range covers the whole building allows a very accurate localisation solution to be built.However, this method may fail in buildings with a poor network infrastructure.Moreover, in the case of an emergency such as a fire in the building, local infrastructure may be damaged and the localisation system will fail.
An alternative is a localisation system based on an outside infrastructure.We present an indoor localisation system based on Global System for Mobile Communications (GSM) signals.The proposed localisation system can be implemented on most Android mobile phones.However, there are exceptions.Our test showed that Samsung Galaxy S III returns limited data and cannot be used.We tested the system in a six-floor academic building for three-dimensional localisation of objects.The paper presents the following results: a horizontal localisation solution with the median error less than 4.39 metres and a floor detection solution with an accuracy of 64 percent.
The remainder of this work is organised as follows: Section 2 describes the data and the data acquisition 2. Data 2.1.Data Description.The data for the statistical models were collected using three different mobile phones, Sony Ericsson E15i, Sony Ericsson MT11i, and HTC Desire, all of them running Android OS 2.1 (or newer).The measurements were taken with the phones held horizontally by hand at around 1 metre above the floor.All mobile phones were attached to a GSM (2G) mobile network during the experiment.It should be noted that in parallel with collecting the data on mobile phones, the Gateway Mobile Location Centre-(GMLC-) based location of the terminal was estimated, which could result in more frequent cell reselection requests sent to a mobile station (compared with a terminal operating in a purely idle mode of operation).This results in a more complete representation of possible serving cells in a given location, although none of our models takes direct advantage of that fact, relying only on vectors of Received Signal Strengths.
The data were gathered on all of the publicly accessible areas of a six-floor academic building (including the ground floor).The building has an irregular shape, its outer dimensions are around 50 by 70 metres, and its height is 24 metres.A 3D sketch of the building is shown in Figure 1.For more detailed plans of the building you may visit the portal for the ongoing indoor localisation project (http://lokkom .mini.pw.edu.pl:8080/miniLocal.php).
For the purpose of training and testing the statistical models for localisation prediction, we gathered the data in three independent series of measurements (each series took place in a different week).In order to have accurate coordinate information inside the building, we defined a 0.75-by-0.75-metregrid and assigned for each point a unique identifier (denoted by POI).All measurements were taken in the points of the defined grid and they were labelled by the corresponding POIs.A single measurement (fingerprint) is a real valued vector  = (rssi 1 , rssi 2 , . . ., rssi  ), where rssi  is the RSSI from the th BTS, typically ranging from −113 dBm to −51 dBm.The dimension  of the space of the fingerprints is the number of all BTSs that we decided to include when creating the localisation model.In our case, this is the number of all BTSs that were observed inside the building, that is,  = 39.When there was no signal from the th BTS, we set rssi  = −113.
The data were gathered by three persons and each series of measurements took 9 days on average.Each series of measurements was taken in around 1200 POIs.To make the final results more independent from spatiotemporal RSSI fluctuations, at each POI the measurement was taken 40 times.This resulted in a total number of ca.48000 fingerprints.
The first and the second series were taken in the same set of POIs, ordered in general in a 1.5-by-1.5-metregrid (denoted GRID 1,2 ), while the third series used for the test was  taken in another set of POIs which formed another 1.5-by-1.5metregrid (denoted GRID 3 ) shifted by 0.75 metres offset in each direction from GRID 1,2 .The exceptions from the 1.5-by-1.5-metregrid were the large lecture halls where a 3.0-by-3.0metregrid was used instead.In the remainder of the paper we shall denote the first, the second, and the third series by  1 ,  2 , and  3 , respectively.Obviously,   ⊂ R 39 for  ∈ {1, 2, 3}.
Feature vectors (elements of   ) were labelled by (i) the value of the  and  coordinates (in metres), (ii) the floor number, (iii) one of the four directions in which the phone was oriented (parallel to one of the horizontal axes); it should be noted that the orientation information has not been passed to the prediction model but was used in the generation of artificial paths.
In the whole building we observed 39 different BTS identifiers.RSSI values for up to 7 BTSs were registered in a single measurement, which corresponds to the GSM standard.In particular, according to the Radio Resource Control Protocol [1], a regular Mobile Electronics is allowed to report the signal strength for 1 serving cell and up to 6 neighbouring cells in one measurement report.Table 1 presents selected statistics on each floor of the building for the number of BTSs, relative sample size, standard deviation in horizontal directions, and the number of arbitrarily chosen areas (rooms, distinctive sections of the corridors, halls, etc.) Despite the appropriate standards, we observed that mobile phones used in the experiment reported RSSI values that are not allowed by the standard.In particular, RSSI levels ranging from −113 dBm to −11 were observed, while 3GPP specifications define the maximum value as −51 dBm (which is to be interpreted as "−51 dBm or greater").Such measurements form 0.4 percent of the data set.Moreover, unknown RSSI values were reported by the mobile terminal in 0.7 percent of the measurements.To sum up, after data set validation, a total number of 683 258 registered RSSI values for GSM BTSs were used for the purpose of this work.A histogram showing the distribution of the valid RSSI values registered in our database is shown in Figure 2.
The measurements scope was focused on the halls and corridors of the building, with the addition of several lecture rooms and computer laboratories, as these are the most often visited locations within the building.Figure 1 presents an overall view of the building with the markers denoting the points of GRID 1,2 and GRID 3 .
The data described in this section was also used in the analysis presented in [2,3], including the data from the WiFi Access Points (which are not discussed in this work).

Artificial Path Generation.
Although the basic prediction models process only a single fingerprint, much better results (especially in terms of determining the floor) could be achieved with a multipoint method (i.e., taking into account the past measurements).In each series of measurements, at every POI we took 10 fingerprints in each of the four main directions parallel with the coordinate axes of the building.We used one of the fingerprints from a given point to construct artificial paths between two randomly chosen points from the grid of defined and measured points.
We generated 500 paths for the  1 and  2 measurement series and 1000 paths for the  3 -testing measurement series.The paths were chosen by traversing the graph spanned by the points from the given series (GRID 1,2 or GRID 3 ).The neighbourhood of the point was a set of all the points at a distance of exactly 1.5 metres.If in a given direction there was no such point, a point at a 3.0-metre distance (large lecture halls) and subsequently a point at a 0.75-metre distance (narrow corridors) were chosen as its neighbours.
The topology of the building was not taken into account during the construction of the neighbourhood, except for information about the positions of the stairwells, which was used for changing the floor.
The paths for the   series ( = 1, 2, 3) were generated with the help of R software using the following algorithm: (1) Choose at random a start point from the   series.
(2) Choose at random an end point from the   series.
(3) Find the shortest path in the graph of points (a change of floor is possible only near the main staircase).
(4) Choose a fingerprint gathered in the direction in which the path is traversed, having RSSI for at least two BTSs.
In the presented generator, if the start and end points are from two different floors, the algorithm searches for the shortest path from the start point to the staircase, then inserts the predefined points between the start and end point floors, and then searches for the shortest path from the staircase to the end point.
The shortest path was found using the greedy A * algorithm (cf.[4]).The neighbour of the current point, which minimised the distance to the end point (or staircase), was chosen as the next point on the path.

Methodology
Our task was the detection of the current location of the tracked object.The location is described as a triple  = (, , ), where  and  are the horizontal coordinates of the tracked object and  is the number of the current floor.The coordinates  and  belong to R, while  belongs to Z + .The localisation system took as the input the series of fingerprints ( 1 ,  2 , . . .,   ), where   ∈ R 39 .The fingerprints were taken in consecutive points of the movement path where the th coordinate is the last fingerprint.
Figure 3 presents the schema of the localisation process that goes separately for each coordinate of  (i.e., for  1 = ,  2 = , and  3 = ).The process is hierarchical and has three steps for each th coordinate ( ∈ {1, 2, 3}).
Step 1.The estimation of the coordinate where the fingerprint   was taken for every  ≤ .This way we obtained  estimations (so-called point estimations) { p   } ≤ that represent the movement path of the terminal.This process is described in detail in Section 3.1.Section 4.1 describes several machine learning methods and we choose the best performing one.Finally Section 5 provides an analysis of the major accuracy factors for the point estimation method, as this is the main component of the whole localisation process.
Step 2. Two estimations are    and    of the th coordinate of the position where the last fingerprint   was taken.This step is based on the results from step one.The obtained point   = (  the estimation based on a single fingerprint, described in Step 1. Obviously, the parameter  (the path length) cannot be too large.To reduce the influence of not well estimated points, we can make a second estimation   = (  ,   ,   ) that calculates the central tendency with weighted single estimations.The weight should be selected to stress the influence of well estimated points and is based on the number of reported BTSs for the fingerprint   (i.e., a number between 0 and 7), which we found to be an important estimation reliability factor.The details are presented in Section 3.2.
Step 3. The final estimation for a single fingerprint is the function   → p   that, for the last observed fingerprint, returns the estimation of the th coordinate ( ∈ {1, 2, 3}) of the point   where the fingerprint   was taken.It is based on the results from Steps 1 and 2. In this stage, we had the three estimations of the position where   was taken: p  ,   , and   .We may assume that the estimation   will bring the best results among all estimations provided that the weights were well selected.However, we can try to improve our result using a method that aggregates all estimations.For that the Multilayer Perceptron can be used.The estimations constitute an input for the Multilayer Perceptron that calculates the final estimation   = (  ,   ,   ) of the position where the fingerprint   was taken.The details are described in Section 4.3.
The localisation schema (Figure 3) is the same for all coordinates.However, there are some differences between estimation for the discrete floor  and the estimation of the continuous coordinates  and .The main difference lies in the measure of central tendency that is used.For the floor estimation, a mode filter is used, while for the estimation of coordinates an average filter is applied.Details about all components of the localisation process are given in the following sections.

Estimation for a Single Fingerprint. Three functions 𝐹 𝑖 →
p   where  ∈ {1, 2, 3} that estimate the coordinates of the localisation p  on the basis of a single fingerprint   are implemented as an ensemble of decision trees.The ensemble contains multiple estimation or prediction trees created on the basis of various fragments of the learning set.A combination of the results obtained by the trees produces the final, aggregated estimator or prediction.
We compared several boosting algorithms to estimate the localisation separately for the floor and the coordinates.Our test included AdaBoost, Bagging, and Least Squares Boosting (LSBoost).AdaBoost is a classification method [5], Bagging can be used for classification or regression [6], and LSBoost is a regression method [7].The floor estimation can be performed as classification or regression task.The estimation of coordinates is a regression task.
AdaBoost was implemented as the AdaBoostM2 algorithm, where weighted pseudoloss is calculated for  observations and  classes: where ℎ  (  , ) is the confidence of prediction,  () , are observation weights, and   is the true class label.Pseudoloss is a measure of the classification accuracy from any classifier in an ensemble.
Bagging bags a weak classifier such as a decision or regression tree on a data set, generates many bootstrap replicas of this data set, and grows decision trees on these replicas.To find the predicted response of a trained ensemble, the algorithm takes an average of predictions from individual trees.
LPBoost performs multiclass classification by attempting to maximise the minimal difference between the predicted soft classification score for the true class and the largest score for the false classes in the training set.This operation should improve generalisation ability [8].

Estimation for the Fingerprints Sequence. This part describes
Step 2 of our method; that is, we find two estimations of the position where the last fingerprint   was taken.We denote them by   = (  ,   ,   ) and   = (  ,   ,   ) based on the series of estimated points { p  = ( x  , y  , f )} ≤ in the previous section.

Mode Filter.
The mode filter calculates the most popular result among the floor estimations for a single fingerprint: ( The filter is parameterised by the coefficient  that defines the size of considered historical estimations.The idea behind that formula is that a single estimation of another floor in a sequence of equal estimation is a mistake, rather than an expected movement.
To avoid a strong influence of the estimations for the farthest points, estimation is repeated  times, where  is the position of the estimation in the estimations sequence and  is the position of the last estimated point.
Equation (2) assumes that all the points are estimated with the same precision.The following formula introduces an additional coefficient   that symbolises the quality of the estimation: In the modified formula, each estimation is replicated additionally   times.The value of   should be set experimentally as a measure correlated with the estimation quality.

Average Filter.
The average filter has the same role as the mode filter but works with continuous data.The  and  coordinates can be estimated using the following formula: The element ( ∑  =1 ) −1 normalises the average, which is calculated with a decreasing influence of the estimated points.
Similarly to the mode filter, we introduce the second form of the filter that includes knowledge about the quality of the estimation: The weighted average uses weights   that estimate the quality of the x  and y  estimations.The normalisation factor is ( ∑  =1  ∑  =1   ) −1 .Unlike the commonly used complex methods, such as Kalman's filter [9], the proposed filters are quite simple.The filters can be used for all data with calculated weights.Moreover, the method can be used on data without division into the learning set and the testing set if the parameter  is already fixed.

Aggregation by a Multilayer Perceptron.
After the estimation for the fingerprints sequence we had the p  ,   , and   estimations for the point  where the last fingerprint   was taken.Although we assumed that, for the correctly selected  weights,   would be the best estimation, the rest of the estimations could give some additional knowledge.
To use all that available knowledge, we decided to aggregate all the estimations.For that task, we used a Multilayer Perceptron.
We created two independent MLP models.The first model detected the floor and the second model detected the horizontal coordinates.
All inputs and outputs of the first network were binary.Therefore, all the features were represented by a set of neurons and each neuron defined one of the possible values of the feature.
Only one neuron from the set could be active at any one time.If the number of floors is given by the number   , the output layer will have   neurons and only one of them is active.The same is with input features.The network considers the estimated floors  1 , . . .,   , the weights  1 , . . .,   , the mode   (2), and the weighted mode   (3).All features, except the weights, describe floors; therefore the total number of input neurons is The model for coordinates is much simpler.All the inputs and the output are continuous.The input neurons represent estimated values  1 , . . .,   (or  1 , . . .,   ) and weights  1 , . . .,   ,   ,   (or   ,   ), so the input layer has 2 + 2 neurons.The output result is one continuous value   or   depending on the input.
The location estimated by MLP should give better results than a pure tendency filter.However, the created network will be fitted to the problem described by the learning set.In the learning process, two sets must be created.A learning set defines a network structure and a validation set controls learning process and prevents overlearning.Although such

Tests
This section presents the results obtained in the building described in Section 2. The results of the floor detection and the results of the coordinates approximation are given separately for each of the three stages: the estimation for a single fingerprint, the estimation for the fingerprints sequence, and the MLP aggregation.

Estimation for a Single
Fingerprint.Data for the tests were divided into the learning set, the validation set, and the testing set created from the first series of measurements  1 , the second series of measurements  2 , and the third series of measurements  3 , respectively.Estimations for the floor and coordinates were made separately using different algorithms.

Floor Detection.
We tested four classification boosting algorithms to estimate the current floor of the tracked object.Our test included AdaBoost, Bagging Classification, Bagging Regression with discretisation of the results, and Least Squares Boosting.Table 2 presents the average error and accuracy for all the methods.The Bagging algorithm for the classification task gave the best results.The obtained level of errors is rather high, but the value of the average error suggests that in most of the cases the prediction error is not bigger than one floor.

Coordinates Approximation.
Estimation of horizontal position is a regression task.We checked two regression models to solve this problem: the Bagging method and the LS Boosting method.The results are given in Table 3.
The better results were obtained by the Bagging method.The mean error for the Bagging method could be accepted in indoor localisation, but gross errors were very frequent.The location estimations of 20 percent of all the test fingerprints were mistaken by more than 12 m horizontally.

Estimation for the Fingerprints Sequence.
Let us consider a sequence  1 ,  2 , . . .,   of the fingerprints that were taken along one of the artificial paths (constructed as described in Section 2.2).For each fingerprint   , let us denote a point p  = ( x  , y  , f ) that estimates the location where   was taken.The estimation is created using the Bagging method as described in Section 3.1 and Section 4.1.The aim of this section is to describe the experiments for computing the location of the point where   was taken on the basis of  −+1 ,  −+2 , . . .,   sequence of readings.For  < , we will proceed by taking the sequence  1 ,  1 , . . .,  1 ,  2 ,  3 , . . .,   of length .Below, we analyse different values of  ∈ {1, 2, . . ., 9}, in order to choose one that provides the best accuracy.
The defined sequence of fingerprints of length  allows us to apply the methods described in Section 3.2.

Weights Selection.
We introduced formulas ( 3) and ( 6) to operate with signals with a different quality.In application, it is necessary to find an accurate estimation of the quality.
We expected to have a better accuracy when more BTSs were visible.We say that a particular BTS is visible for a given fingerprint when the device reported a signal from that BTS.It is worth recalling that commonly used devices report up to 7 signals (usually the strongest ones) and the sensitivity is −113 dBm (signals that are weaker are not reported).Figure 4(a) represents the results of the floor classification for a test set of fingerprints with respect to the number of BTSs that are visible.The results are as we expected.
For instance, when 7 BTSs are visible, the accuracy is up to 66 percent, while with only 1 visible BTS the accuracy was as low as 34 percent.This suggests that when localisation is based on a history of readings in the next steps of our algorithm, one should give more importance to the fingerprints with more BTSs that are visible.
Similarly to the floor estimation case, we investigated the accuracy of the Bagging method with respect to the density of the infrastructure.The results are presented in Figure 4(b).
We expected the same relationship between the error and the number of signals, as in the case of floor detection.And, indeed, the accuracy increases with more BTSs that are visible.However, there is a difference between the horizontal and vertical cases, as we can see in Figure 4(b).The major improvement in accuracy occurs when we consider sets of fingerprints with 2 and 3 BTSs that are visible.This should not be a surprise since 3 BTSs is the minimal number needed to provide an exact localisation in ideal, hypothetical conditions with no obstacles between the antenna and the receiver.On the other hand, there is no big difference in accuracy when the number of visible BTSs increases from 4 to 7 (which is quite different to the case of floor detection).
To sum up, the results presented in Figures 4(a) and 4(b) show that the greater the number of BTSs that are visible the higher the level of accuracy that can be obtained.Hence, in further considerations we define   ∈ {0, 1, 2, . . ., 7} as the number of BTSs that were reported by the terminal for the fingerprint   .
To evaluate the influence of the signal weights used in the weighted models, we compared three sets of weights.The first   set contained equal weights.Therefore, the estimations were calculated according to (2) and (4).
The second set contained weights given by the number of observed BTSs.According to the results obtained during the estimation for a single fingerprint, the number of observed BTSs is correlated with the accuracy obtained.The estimations were calculated according to (3) and (6).
The third set contained random weights from the domain [1, . . ., 7] that covered the range of numbers of observed BTSs.This set was a reference set to check that the number of observed BTSs was a better coefficient than a random value.
Estimations for the floor and coordinates were made separately using different tendency filters.

Floor Detection.
In this section we perform the analysis of the localisation solution described above for the problem of floor prediction.The localisation is based on  ∈ {1, . . ., 9} previous RSS readings and we consider three variants.Two of them correspond to the floor classification method that follows from (2) and (3).The third one is similar to (3) but the weights   are randomly chosen from the set {1, . . ., 7}.
The localisation model was trained using the  1 -learning set and then optimised using the  2 -validation set.The accuracy obtained for the learning and the validation sets is presented in Figures 5(a In all cases we see that the weighted mode with weights corresponding to the visible BTSs brings the best results.For the validation series and the testing series, the weighted methods provide a substantial improvement when compared to localisation based on a single fingerprint (path length  = 1).Only for the learning set we obtain worse results as the length of the path considered for localisation increases.However, this is something one can expect.What is interesting is that for  > 4 the random weights gave better results than the equal weights.Probably it is the effect of random reduction of the influence of the farthest points on the path.
Figure 5(b) shows that the results obtained by the mode filter are best for  ∈ [5,6].We fix  to be 5 as, obviously, the smaller  is the better choice.
After the learning process and the validation, the obtained model was tested on the  3 -testing set. Figure 6(a) shows that the mode filter increased the accuracy from 57 percent to 61 percent.Figure 6(b) shows that the weighted mode filter obtained accuracy on the level of 62.8 percent.That improves the accuracy of floor detection using weighted mode compared to detection based on a single fingerprint.

Coordinates Approximation.
Similarly to the previous section, we perform the analysis of the localisation solution for the problem of horizontal localisation (the estimation of  and  coordinates) that relies on  ∈ {1, . . ., 9} previous RSS readings.As before, we consider three variants.Two of them correspond to (4)- (7) described in Section 3.2.2.The third one is similar to (6)-( 7) but the weights   are randomly chosen from the set {1, . . ., 7}.
The median horizontal error presented in Figures 7(a) and 7(b) shows that the weighted model gave the best results provided that the number of observed signals was taken into consideration.The results for random weights are the worst.
As before, for the learning set we obtain worse results when  increases (see Figure 7(a)).However, Figure 7(b) shows that the results for the validation and the testing set improve with the length of the path and hence we obtain an accuracy improvement when compared to the method based on a single fingerprint ( = 1).The best results can be obtained for  ∈ [6,7].
Figures 8(a) and 8(b) compare results obtained by algorithms for  ∈ {1, . . ., 5}.For paths of length 6, the horizontal mean error varies from 6.75 metres for a single fingerprint based method ( = 1) to 5.40 metres ( = 6).We can also observe more than a 2-metre reduction in the gross errors.The weighted average filter (signal weights   ) does not bring big error reduction in comparison to the average filter (equal weights).It is about 10 centimetres for both mean and gross errors.

Aggregation by a Multilayer Perceptron.
The aggregation process is carried out separately for the floor detection and the coordinates approximation because of the different input for the neural network.The differences lie in both the different data and the different structure of the input layer.

Floor Detection.
The MLP can be used in several ways in the floor detection task.First, the network can be used to estimate the current floor on the basis of single estimations.Second, the MLP can aggregate the results of the previous steps.Third, both inputs can be merged to create a new model.
In our test the MLP brings 59.54, 64.21, and 55.37 percent levels of accuracy for the estimation on the basis of single estimations, the aggregation, and the merged model, respectively.This shows that the proposed solution works better than neural network modelling.It also suggests that the results obtained by weighted model are strongly different     from the results obtained by the model based on single estimations, and so the merged model cannot work properly.
Figure 9 presents the results obtained by the aggregating neural network and Table 4 presents the results for individual floors.
The network gives good results for the first three floors.For the upper floors, results are worse, but the main source of errors is the third floor, where accuracy is about 40 percent.Additionally, for the 4th and 5th floors, the mean error is over one floor.

Coordinates Approximation.
The MLP for the horizontal coordinates approximation was tested-similar to the floor detection task-on three different inputs: for separate estimation, for aggregation, and for the merged model.In our test, the MLP brings a 6.80, 5.22, and 5.18 mean error for estimation on the basis of single estimations, aggregation, and the merged model, respectively.

Mobile Information Systems
The errors diminish according to the increase of the length of the paths.However, the length was fixed at 6 in the previous tests.The mean error, the median error, and the gross error are less than those for the weighted average filter.
Figure 10 presents the results obtained by the aggregating neural network and in Table 5, the results for the individual floors are collected.The obtained error is not correlated with the floor error (Table 4) nor the number of points.The second floor, which has the highest number of measurements, has an average error.The best results are obtained for the 4th floor, which has a relatively high floor classification error.The ground floor has the lowest error in the floor classification task.The same floor has one of the worst results in the coordinates estimation task.The worst results are for the 5th floor.

Analysis of Major Accuracy Factors
In this part, we discuss the major factors that may influence the accuracy of the localisation algorithm.In order to do that, we will look at the first step of our algorithm (see Section 3.1point estimation) since the next steps strongly rely on the first one.We call this step "point estimation" and it is the    11.One can see that the results of the algorithm are slightly better for the test fingerprints in the situation where the floor coordinate was predicted correctly.Let us also mention that the error for the  coordinate is smaller than the error for the  coordinate.However, this phenomenon should be expected as the range of  coordinate is significantly smaller than that for  coordinate.In the remainder of this section, we shall try to identify the factors that may cause the errors described above.

Number of Signals.
In Sections 4.1.1 and 4.1.2,we discussed the algorithm's performance with respect to the  infrastructure density.The analysis gave us some clue on how to proceed in Section 3.2.1.However, for the sake of completeness, we also provide some exact numbers as reading them from graphs can be quite difficult.These can be found in Table 6.

Floor.
In this section, we analyse errors with respect to the floor number.It is not a natural accuracy factor, although the following table shows that the errors vary with the floor number.We shall attempt to find the reason for this phenomenon.
Table 7 shows statistical data with respect to the floor number where the measurements were taken.
Firstly, let us look at the effectiveness of the floor's localisation as this is the most important issue in the localisation problem.
Let us observe that there is a significant difference in effectiveness for floor numbers 0 to 2, where our algorithm works better, and for floor numbers 3 to 5, where the algorithm obtains worse results.It is not surprising that the best effectiveness is obtained for floor 2, since this is where the most fingerprints were taken when collecting learning data.However, we have no simple explanation as to why the effectiveness for the other floors is so different despite their being equally represented in the collection of fingerprints gathered for learning purposes.
Let us now look at Figure 12(b), where we can see the horizontal distance error for every floor with and without the assumption that the floor prediction was correct.Once again, we see that, for the fingerprints where vertical prediction was correct, we get a slight improvement in the horizontal accuracy.

Area Type.
In this section, we analyse the effectiveness of the floor prediction as well as the mean horizontal distance error for the different space types in the building.We showed that the more regularly shaped spaces covered by the measurement points (POIs) where the fingerprints were taken were mostly covered by good POIs.Here, by regularity we mean that there is no significant difference between width and length.On the other hand, long corridors where fingerprints were only taken along them (and not in the adjacent rooms) were commonly covered by bad POIs.It should be mentioned that the POIs where fingerprints were taken for learning purposes (not testing) cover the same regions as the POIs used for testing purposes.This leads us to the conjecture that the shape of the area covered by the POIs where fingerprints are taken is important.In other words, if the shape is more compact then we obtain better results.This would explain why the effectiveness is so different on floors 3 to 5. Using visualisation methods, we are able to find the areas of the building for which the localisation algorithm should be improved.Such maps also show that the good and bad regions are not randomly distributed.They actually give us a reasonable partition into easily identified and somehow natural sectors of the building.

Other Factors.
Beside the accuracy factors discussed in the sections above, there are several other factors that influence the accuracy.All this is well covered in [10].However, the most important factor is the instability of the signal strength along the time axis.This might be caused by changes in the weather conditions or in the occupancy of the building, or various other reasons.It obviously varies from day to day  but can also be observed within much shorter periods.It should be pointed out that since the data collection was very time consuming, the measurements were taken on several different days.This is something that definitely influences the accuracy of the algorithm.Figure 13 shows how the signals from the 10 key BTSs vary among the three series for each floor and from floor to floor, with each series covering the same area of the building.This may suggest that the classical fingerprint approach is insufficient for the floor recognition problem.Perhaps GSM-based localisation should be thought of as a supplementary method rather than a stand-alone method when considering real life applications in multifloor environments.On the other hand, the horizontal accuracy of our algorithm seems to be already sufficient for localisation solutions in large single storey buildings.

Comparison with Other Methods
The results obtained are compared with the results of the random algorithm as well as results presented in other works.

Comparison with Random Selection.
Reference levels for the described algorithm were defined by the following algorithm.A set consisting of (, , floor) triplets was created.The set contained triplets from all measurements from the first and second series.Next, paths were cut on overlapping subsequences of length  starting from the th observation.This testing set was created from paths defined by measurements from the third series; that is, the testing set was the same as in the evaluation of mode and weighted algorithms described above.At each point-the last point in the subsequence of the testing path-the algorithm produced a randomly selected triplet from the set of learning triplets defined above.
The mean error obtained for floor identification was 80 percent.The mean errors for coordinate estimation were 8.97 and 12.82 metres for  and , respectively.The total mean error for a point was 17.21 metres.This test proved that the results obtained by our algorithm are reasonable.over recent years.Outdoor solutions are mainly based on GPS/AGPS combined with a GSM approach.Regrettably, they are not suitable for indoor environments-because of significant loss in the GPS signal strength.Therefore, many different methods for positioning in indoor situations have been proposed: [9,[11][12][13][14][15][16][17].These employ different technologies, for example, WiFi, Bluetooth, infrared, and various algorithms for position calculation, using proximity, distance or angle estimation, and complex analysis of the scene.A comprehensive study of the existing wireless indoor positioning solutions and their classification is presented in papers [18,19].In addition, [20] comprises an in-depth review of different methods, tools, and technologies, as well as promising areas of research for indoor tracking.

Localisation with GSM Networks
. Almost all the existing indoor positioning algorithms are based on fingerprinting.In this section, we concentrate on methods based on widely available GSM networks.This approach does not require additional installation and maintenance, and thus it has been shown to be promising for locating mobile terminals inside buildings.The main limiting factors here are multipath and fading.The power level of the signal as it is received from Access Points at a fixed location may change due to the user's orientation or environmental changes.We focus above all on the accuracy of position approximation, measured in metres, and the requirements (e.g., input data) for the methods that have been developed.
An accurate GSM indoor localisation system in multistorey buildings is proposed in [21].It is based on wide signal strength fingerprints and readings from more than 6 of the strongest cells that are used in the GSM standard.The GSM fingerprints were collected in a dense grid with 1 metre to 1.5 metres of granularity.Four methods, differing in the structure of their fingerprints (WLAN, the strongest GSM cell, the 6 strongest GSM cells, and up to 35 GSM channels) and the mean clustering algorithm, were implemented.Experiments verified that this method is comparable to the WLAN approach (achieving an accuracy of between 2.2 metres and 4.8 metres).The median accuracy achieved for multifloor positioning was 5 metres; and on just one floor, it reached 2.5-5.5 metres.For the 6 strongest cells, it ranged from 3.4 metres to 11 metres depending on the environmental properties, such as the material the building was made of.This proved that extending fingerprints, including signal strength information from channels other than the 6 strongest cells, can significantly increase localisation accuracy and, in addition, can differentiate between floors in both wooden and steelreinforced concrete buildings, unlike WLANs, whose signals are not sufficiently weakened by wooden structures between floors.The percentage of erroneous floor classification varied from 20 to 65 percent for less than 10 fingerprints and decreased to 3-11 percent for over 30 GSM channels.
In an indoor positioning system presented in [22], both GSM and WLAN signals were used to estimate the terminal position using the nearest neighbour method.Three metrics-Euclidean, Mahalanobis, and probability (based on the maximum likelihood estimator)-measuring the distance between the fingerprints in GSM, WLAN, and composed signal data spaces were investigated.Tests were performed in an indoor office of about 38 metres × 42 metres and were limited to one floor (the 7th of a 9-storey building).Both WLAN and GSM data were collected at the same time.The signal strength database was built with 180 measurements of the signal strength for 61 distinct points along the corridor with spacing of about 1.5 metres and 4 orientations were collected.The training set consisted of 80 percent of randomly chosen data.Experimental results showed that the method using both GSM and WLAN networks is stable and can reach centimetre-level accuracy, which outperforms the system that utilises a single network only.When using only GSM data, the mean error for Euclidean, Mahalanobis, and probability distances was as low as 1.69 metres, 0.87 metres, and 0.65 metres, and in the worst cases 37.3 metres, 16.76 metres, and 9.14 metres, respectively.The mean error seems to be over 7 times better than that in our method; however, the case tested here was much simpler.The sample points formed a polygonal path, similar to the letter P. Therefore, matching the estimated points is performed in practice in 1-dimensional space, not 2-dimensional or even 3-dimensional space, as in our algorithm.
The effectiveness of GSM-based localisation methods depends on the number of available and examined GSM carriers.The work [23] presents an algorithm based on fullband GSM fingerprints.Tests were performed in an urban 5room apartment on the 5th (top) floor.Both the RSS and base station identity code (BSIC) were recorded twice a day for a month, for the full available set of 498 GSM carriers using the TEMS trace mobile system.The data set contained 241 scans assigned to 5 rooms.The training set included 169 examples, and the validation set included 72 examples.Three types of classifiers were compared: nearest neighbour, support vector machine (SVM), and Gaussian process.To reduce the complexity of classifiers, the 3 fingerprint types (with a limited number of carriers with the strongest RSS values) were defined and were then compared to the one containing all GSM carriers.The commonly used 7-carrier-based measurements classified 59.3-78.8percent of fingerprints correctly, and the effectiveness for fingerprints of length 35 was 86-93.3percent.Very good performance (97.8 percent of correct radio fingerprint classifications) was obtained in the case of the linear SVM method for all active carriers, and RSS values were included.It should be noted that the localisation is limited to one floor and to room-level only; but the results confirm that the greater the extent of the fingerprints available, the higher the accuracy provided.Further extensions of this method combined with inertial sensors and a site map are the subject of [24], where an overall 70 percent correct classification was obtained with misclassifications covering mainly the adjacent rooms.The authors report that localisation was performed in a so-called short time with a very small training set.
The problem of choosing a subset of relevant GSM carriers providing a good distinction between rooms is also examined in [25].Measurements were also carried out over one month in 5 of 8 rooms of a 2nd-floor office, using a TELIT GM-862 modem that detected 534 different carriers.The input data consisted of 601 measurements assigned to 5 rooms.Two algorithms for ranking input variables were investigated: forward regression using Gram-Schmidt orthogonalization and SVM recursive feature elimination.The results obtained proved that the 60 most relevant carriers are sufficient to properly localise 97 percent of scans in an independent test set by both algorithms.

Floor Classification.
Floor classification itself is the subject of research [26].The paper presents SkyLoc, a GSM fingerprinting-based system, which determines the current floor on which a user with a mobile phone is located.The algorithm that predicts the floor uses the smallest Euclidean distance.To improve performance and memory usage, the size of fingerprints has been reduced; inappropriate signal sources have been eliminated via the following feature selection techniques: forward selection, backward elimination, and a new per-floor selection.The next optimisation was achieved using the sliding window algorithm, which first classifies each measurement individually, and then picks the current floor as the most frequently appearing floor among a sequence of 5, 10, or 20 results.The tests were conducted in 3 tall (9-, 12-, and 16-storey) buildings, using as the data set 110, 30, and 130 fingerprints per floor, respectively.The fingerprints were collected along user paths with a spacing of about 2 metres with different hardware separately for training and testing sets, at an interval of 2 days or a month, depending on the building.For 20 testing points in a sliding window, the system classified the floor correctly in 50 percent to 73 percent of cases.For 5 testing points, compared to our tests of 4 points of historical estimations and 64 percent accuracy, the obtained results were worse-the system correctly classified from 45 percent to 60 percent of cases.Surprisingly, the number of training fingerprints per floor had little impact on the localisation accuracy.
As we verified before, the effectiveness of 3-dimensional localisation may be improved when the phases of recognition of the floor, and the estimation of 2-dimensional coordinates within a given (single) floor, are separated.Floor detection can be significantly enhanced by using additional sensors embedded in mobile devices.The work [27] describes a combined seamless 3-dimensional localisation system using an atmospheric pressure sensor to calculate the user's altitude, and thus the floor, in real time.The tests were carried out in a 4-storey building.The pressure accuracy was better than 2 Pa, giving an altitude resolution of better than 0.5 m; hence, the system could accurately determine the floor.
The paper [28] presents a method of using a mobile phone's accelerometer only and analysing user trials, to map the current floor level.It does not require any infrastructure or any prior information of the building.A field study involved 10 mobile users for three hours in a 10-floor building with two elevators.Each smartphone was equipped with an embedded 3-axis accelerometer.The accuracy approached 90 percent in 2 hours and reached 97 percent in three hours.The authors reported further improvements in the localisation based on crowdsourcing in the work [29].Then, [30] describes system leveraging also using crowdsourcing and building a barometer fingerprint map containing the atmospheric pressure value for each floor level.The experimental results showed a very high accuracy for this method, of over 98 percent.
In all the works described, the complexity of the proposed solutions is not given.The authors have written that algorithms work in short time or even in real time.Only in [26] was performance evaluation performed.On average, it took 0.002 seconds to match a single testing fingerprint to a single training fingerprint; therefore, matching a current mobile phone fingerprint to a whole training set would take about a second.
To sum up, the errors for our solution (4.62 metres for a horizontal localisation in a multistorey building and 64 percent for the floor detection) are comparable to, or even better than, those obtained in the reviewed works and based only on received GSM signal strength.The results reported in literature for methods using additional sensors in a mobile system seem to be a step in the right direction towards improving the accuracy of our localisation system.

Conclusions
This work describes and analyses a localisation solution in a six-floor academic building.The localisation was based on the signals from Global System for Mobile Communications Base Transceiver Stations.The localised objects were common mobile phones.We demonstrated that, for the localisation based on a single fingerprint, we obtained a horizontal median error of about 6.5 metres and accuracy of floor detection of about 56%.We proposed a three-step method that uses not only a single fingerprint but also the preceding

Figure 1 :
Figure 1: Overall presentation of the acquired measurements within a 3D sketch of the building.The green areas represent the rooms and sections of the building where the measurements were taken and the vertical bars denote the locations where the measurements were taken.

Figure 3 :
Figure 3: Localisation schema for point .The scheme presents three steps of estimation that are done separately for  1 = ,  2 = , and  3 = .

Figure 4 :
Figure 4: Results with respect to the number of visible BTSs.

Figure 5 :
Figure 5: Floor estimation obtained by mode filters.

Figure 7 :
Figure 7: Error for localisation obtained by average filters.

Figure 9 :
Figure 9: Accuracy for floor estimation obtained by MLP.

Figure 12 :
Figure 12: Analysis with respect to the floor number.

Table 1 :
Descriptive statistics of the gathered data for each floor.
1 , 2 ,  3  ) is the average result of the estimations { p 1 , . . . ,p  }. Fr the selected , such average estimation of the position where   was taken can bring better results than

Table 2 :
Floor detection.Results for the testing series  3 .

Table 3 :
Horizontal error analysis for testing series  3 .

Table 4 :
MLP accuracy for individual floors.

Table 5 :
MLP point localisation errors for individual floor.

Table 6 :
Mean errors analysis with respect to the number of visible BTSs.

Table 7 :
Mean errors analysis with respect to the floor number.