Recently, Bluetooth-based indoor positioning has become a hot research topic. However, the instability of Bluetooth RSSI (Received Signal Strength Indicator) promotes a huge challenge in localization accuracy. To improve the localization accuracy, this paper measures the distance of RSSI vectors on their low-dimensional manifold and proposes a novel positioning method IWKNN (Isomap-based Weighted -Nearest Neighbor). The proposed method firstly uses Isomap to generate low-dimensional embedding for RSSI vectors. Then, the distance of two given RSSI vectors is measured by Euclidean distance of their low-dimensional embeddings. Finally, the position is calculated by WKNN. Experiment indicates that the proposed approach is more robust and accurate.

1. Introduction

Positioning is a basic requirement in people’s daily life. It is the basis of LBS (Location-Based Service) [1, 2]. Generally, positioning problems could be classified as outdoor and indoor. The outdoor positioning mainly uses GPS (Global Positioning System), GPRS (General Packet Radio Service), and so forth, while the indoor positioning mostly utilizes short range signals, such as Wi-Fi (Wireless-Fidelity) [3, 4] and Bluetooth [57]. And the testing position is determined based on the received signals. These positioning technologies have been widely used in different kinds of applications.

Beacon is a commonly used Bluetooth signal source. Figure 1 shows a picture of beacon. It is small and low-power Bluetooth dissipation equipment. It can work for even two years just with a fastener battery. So beacon can be placed without too many restrictions, having broad prospects of application.

This paper aims to improve the accuracy of Bluetooth-based indoor positioning, when beacons are preplaced at some given places in a room. A smart device is used to receive these signals. Then the position of device can be calculated based on received Bluetooth RSSI data.

Classical positioning methods could be classified as two types. One is function-based model. This kind of method is mostly developed based on signal propagation function [8, 9], for example, trilateration algorithm [10, 11] and IoT (Internet of Things) [12]. This kind of model requires an estimated signal propagation function. If the positions of emitters are given, then any testing location could be calculated based on RSSI data and signal propagation function. This kind of method does not need to store the vast RSSI data of reference positions. The localization accuracy relies on the measurement error of signal propagation function. The less the error is, the more accurate the localization is. Because the signal intensity of beacon is instable, the error of signal propagation model would be relatively large. So it is inaccurate to localize a Bluetooth receiver by this kind of method.

The other kind of method could be described as classification algorithm, which is built up based on position fingerprint. Figure 2 illustrates general positioning process based on fingerprint. Lemic et al. [13] and Jaffre et al. [14] determine the final position by KNN (-Nearest Neighbor). They find the nearest reference positions to calculate unknown position according to Euclidean distance of RSSI vectors. Caso et al. [15] develop WKNN (Weighted -Nearest Neighbor) for 3D positioning by weighting each nearest neighbor. Besides this, Shin et al. [16] propose EWKNN (Enhanced Weighted K-Nearest Neighbor) by making parameter variable to improve the positioning performance.

Cheng et al. [17] introduce SVM (Support Vector Machine) to classify the RSSI vectors. Mu et al. [18] classify the RSSI data by ANN (Artificial Neural Network). Zhe [19] develops a positioning method based on Bayes method. He uses more flexible models to estimate distributions of beacon signals. Fras et al. [20] proposed a new method that combines Bayes and WKNN. Alfakih et al. [21] develop a positioning algorithm based on GMM (Gaussian Mixture Model). They calculate the probability that the testing RSSI belongs to each reference RSSI data. The final location is calculated by sum of weighted coordinates of reference locations. Different from Bayes method, GMM is to calculate the probability based on Gaussian Mixture function.

Kim et al. [22] and Thuong et al. [23] estimate the positioning performance for KNN algorithm. Jaffre et al. [14] compare KNN and Bayes positioning method with several different distance measurements and value . Experimental result states that KNN and Euclidean distance can get the smallest mean positioning error when . Zhang et al. [24] use beacons as emitter and compare the positioning performance of ANN, SVM, and improved KNN. The paper reports that the improved KNN algorithm has the highest positioning accuracy.

Because of the instability of Bluetooth, received RSSI vectors have a large variety. This means that RSSI vectors of faraway positions may have smaller Euclidean distances than that of neighborhood. It leads to choosing a faraway reference position as candidate location sometimes. This enlarges the localization error of Euclidean distance based methods, such as KNN and WKNN. So just using Euclidean distance to measure similarity of RSSI vectors is not accurate. Bluetooth positioning requires a more robust distance measurement method.

Manifold learning [25] finds the low-dimensional embedding for high-dimensional data. Researchers have proposed different algorithms for manifold learning, such as MDS (Multidimensional Scaling) [26], LLE (Locally Linear Embedding) [27], and Isomap [28]. The geodesic distance is a useful distance metric of Isomap in manifold learning. It can be used to measure the similarity of high-dimensional vectors. Figure 3 illustrates the comparison of Euclidian and geodesic distances.

We consider Bluetooth indoor positioning as a high-dimensional data matching problem. Calculate low-dimensional embeddings for the training and testing RSSI data. Use the Euclidian distance of low-dimensional embeddings to measure the approaching extent of two given RSSI vectors. The final location is calculated by WKNN. Figure 4 demonstrates the flow chart of proposed method.

Figure 5 illustrates the comparison of positioning results of WKNN and proposed IWKNN. Figure 5(a) gives a localization illustration by WKNN based on Euclidian distance, while Figure 5(b) shows a positioning process by proposed IWKNN. In Figure 5, the red rectangles are real testing positions. The pink dots are selected nearest training positions (). The green hollow dots are obtained final position. Figure 5 shows that the proposed method can select more proper nearest positions than WKNN, achieving a better localization.

This paper is organized as follows: Section 2 introduces the mathematical model of indoor positioning problem. Section 3 illustrates the proposed localization algorithm based on Isomap and WKNN. Section 4 shows the experimental result and analysis. Section 5 concludes the whole paper.

2. The Mathematical Model of Bluetooth Positioning

This section presents the mathematical model of Bluetooth positioning problem.

Here, let us consider a general Bluetooth positioning problem. We establish a rectangular coordinate system in a region. beacons are distributed evenly in this area. Then a cell phone in this region would receive and measure RSSIs from all beacons. They can be grouped as a RSSI vector. The Bluetooth positioning problem is to determine the coordinate of cell phone in the rectangular coordinate system.

Suppose there are total reference positions. Administrator should record Bluetooth RSSI at each reference position for a period of time. When a user is standing at some place in this area, he can measure the Bluetooth RSSI by cell phone or other equipment. Then the coordinate of person can be calculated based on the newly measured and recorded RSSI data.

Let represent the coordinate of th reference location; , . is the RSSI received from the th beacon at the th reference position at time . is a vector composed of RSSI on the th reference location from different beacons at time ; , . Here, is the number of beacons. is the number of reference locations.

If the RSSI data are separately received at time , then the matrix of RSSI data for th reference locations could be written as

Let be the fingerprint of the th reference location; thenHere, .

For any unknown testing position , the received RSSI vector at could be written as

Then the localization problem could be expressed by the following formula:Here, is the positioning function to be determined, which projects a RSSI vector to coordinate of position. This problem is generally solved by positioning fingerprint methods. These kinds of methods are mostly developed based on the Euclidean distance of RSSI vectors, such as KNN [13, 14], WKNN [15], and EWKNN [16]. This paper develops a performance enhanced positioning method, which employs low-dimensional embedding distance to measure the similarity of RSSI vectors and use WKNN to determine unknown testing location.

3. Proposed Method

This section presents the proposed positioning method IWKNN. Firstly, the low-dimensional embeddings of reference and testing RSSI vectors are calculated by Isomap. Then, the unknown testing position is generated according to distances of low-dimensional embeddings by WKNN.

3.1. Overview

As an important method in manifold learning, Isomap can find the low-dimensional embedding for high-dimensional manifold. It can keep the neighborhood structure of high-dimensional manifold in a low-dimensional space.

Let be a set, which is composed of RSSI vectors..

Suppose is a low-dimensional embedding of ; , where and .

Let be a smooth embedding projection from to , , satisfying (for all ) and .

Here, the low-dimensional embedding is calculated by Isomap. The distance of RSSI vectors is measured by Euclidian distance of their low-dimensional embeddings. Finally, the unknown testing position is calculated based on low-dimensional distances by WKNN.

3.2. Geodesic Distance of High-Dimensional Data

Assume all the elements in are from the same manifold. Ideally, any element in can be linearly expressed by its neighborhood points. We connect each point in to its nearest neighbors ( is a predetermined parameter). Then an undirected weighted graph is constructed. Thus, a distance matrix of this graph could be generated by Euclidean distance. The edge weight for given two points and is .

According to Isomap algorithm [28], the shortest distance of any two high-dimensional RSSI vectors is used as geodesic distance. It can be calculated by Floyd’s algorithm [28], which is shown in Here, .

3.3. Low-Dimensional Embedding

Then a low-dimensional embedding could be calculated as follows [28]:where , , is a unit matrix, and .

Let be the largest eigenvalues of (in descending order) and their corresponding eigenvectors be . Then all of the vectors in set could be obtained by [28]

Then the low-dimensional embedding of is .

3.4. Distance of Low-Dimensional Embedding

The training low-dimensional fingerprint of the th reference point is . The testing low-dimensional vector is . The distance of and is measured by Euclidian distance.

3.5. Positioning by WKNN

According to WKNN [15], let stand for the minimum values in . Then the reference coordinates ,  , are selected as candidate reference locations. Finally, the coordinate of testing position is estimated by the following formula [15]:whereHere, is a relative small positive number.

4. Experimental Result and Analysis

4.1. Experimental Details

The experiment is carried out in a laboratory of Northeastern University. The laboratory room is . A subarea is used as experimental area.

In our experiment, beacons are used to emit Bluetooth signals, whose parameters were adjusted referencing [57]. The emitting interval is set with 2 HZ and power of −8 db. Samsung Galaxy S3 is used to receive Bluetooth signals at a frequency of 1 Hz.

Figure 6 shows the positions of beacons and reference locations. The hollow dots in Figure 6(a) show the layout of 30 beacons. They are placed evenly on the ceiling with mean distance of 2 meters. All the beacons are recorded with MAC address and positions. The solid dots in Figure 6(b) show the layout of 24 reference positions with mean distance of 2 meters on the ground.

To build a usable training fingerprint, RSSI data is recorded for 200 seconds at each reference position. And Kalman filter [29] is used to preprocess RSSI data.

Considering that a person may move fast with a cell phone, we just use one vector of RSSI data for positioning. In this paper, 74 testing positions are used in our experiment. These positions are distributed evenly with one-meter distance in the experimental area.

4.2. Selection of and

In Isomap algorithm, and are important parameters, which are the count of nearest neighbors and dimension of low-dimensional embedding. To select a proper and , some experiments are carried out firstly.

Table 1 shows the positioning errors with different . As can be seen from the table, when is between and , the maximum and mean positioning errors are relatively small and stable. According to our experiment, the proposed method achieves minimum mean error when .

Table 2 shows the mean positioning error with different and . is assigned between 15 and 21. varies from 2 to 15. In this table, we can find that when is between 4 and 6, the mean positioning error is relatively small.

According to these experiments, we set and in this paper.

4.3. The Effectiveness of Isomap

The effectiveness of Isomap is firstly examined in our Bluetooth localization experiment. We compare the performance of WKNN and EWKNN [16] and their Isomap enhanced versions. WKNN is separately tested with . And the threshold of EWKNN is mean of distance vector.

Figure 7 shows the error distribution of different methods. In Figure 7, the first-column figures illustrate the error distributions of original methods. The second column shows the error distribution of Isomap enhanced methods. The third column shows the differences of original and Isomap enhanced methods. From Figure 7, we can find that the error distribution of developed Isomap enhanced methods (IWKNN and IEWKNN) is more concentrated in the low error region than original methods (WKNN and EWKNN).

Figure 8 illustrates the cumulative probability of error distribution for different methods. The curves in these figures demonstrate that the Isomap enhanced methods (IWKNN and IEWKNN) achieve better performance than original methods (WKNN and EWKNN).

Finally, the performance of all tested methods is given in Table 3. According to this table, Isomap almost improves all of positioning indicators clearly. The best values of important indicators are given in bold font. The minimum of max error is , which is obtained by IWKNN with . The minimum of mean error is , which is obtained by IWKNN with . The minimum of min error is , which is obtained by IWKNN with and IEWKNN. The minimum of std error is , which is obtained by IWKNN with . The maximum of “ratio of error less than 2 meters” is , which is obtained by IWKNN with . This table supports the effectiveness of proposed Isomap enhanced positioning methods.

According to Table 3, we suggest or for small mean positioning error and large “ratio of error less than 2 meters.

4.4. Comparison with Different Methods

In order to test the performance of proposed method more clearly, we compare the proposed IWKNN () with six different positioning methods.

Figure 9 compares the performances of different methods. From this table, we can see that Bayes method has the best performance in the low error part, and the proposed IWKNN performs best in almost all the remaining part.

Table 4 illustrates the positioning error of different methods. According to this table, GMM, Bayes, and WKNN-Bayes’s max errors are better than other methods. But the improved Bayes method proposed by Fras et al. [20] can generate small max, mean, and std errors. The proposed IWKNN has the minimal mean error and maximal “ratio of error less than 2 meters.”

5. Conclusion

This paper presents an Isomap enhanced localization method IWKNN. The proposed method combines Isomap and WKNN for Bluetooth positioning. Firstly, we calculate low-dimensional embeddings for RSSI data by Isomap. Then, the distance of different RSSI vectors is measured by Euclidean distance of these low-dimensional embeddings. Finally, the unknown testing position is calculated by WKNN. Experiment indicates the distances of low-dimensional embeddings are more robust than those of high-dimensional ones. And the proposed IWKNN is robust and effective.

The main contribution of this paper could be concluded as follows: introduce Isomap to Bluetooth positioning problem; use low-dimensional embeddings to represent high-dimensional RSSI data; adopt distances of low-dimensional embeddings to measure the distance of RSSI vectors; combine Isomap with WKNN for Bluetooth positioning.


The method presented in this paper has been applied for patent.

Competing Interests

The authors declare that they have no competing interests.