# SmartFix: Indoor Locating Optimization Algorithm for Energy-Constrained Wearable Devices

Authors: Xiaoliang Wang; Ke Xu; Ziwei Li
Journal: Wireless Communications and Mobile Computing
 (2017)

---

## Abstract

Indoor localization technology based on Wi-Fi has long been a hot research topic in the past decade. Despite numerous solutions, new challenges have arisen along with the trend of smart home and wearable computing. For example, power efficiency needs to be significantly improved for resource-constrained wearable devices, such as smart watch and wristband. For a Wi-Fi-based locating system, most of the energy consumption can be attributed to real-time radio scan; however, simply reducing radio data collection will cause a serious loss of locating accuracy because of unstable Wi-Fi signals. In this paper, we present SmartFix, an optimization algorithm for indoor locating based on Wi-Fi RSS. SmartFix utilizes user motion features, extracts characteristic value from history trajectory, and corrects deviation caused by unstable Wi-Fi signals. We implemented a prototype of SmartFix both on Moto 360 2nd-generation Smartwatch and on HTC One Smartphone. We conducted experiments both in a large open area and in an office hall. Experiment results demonstrate that average locating error is less than 2 meters for more than 80% cases, and energy consumption is only 30% of Wi-Fi fingerprinting method under the same experiment circumstances.


---

## Body

## 1. Introduction

With massive application demands, recent decade has witnessed remarkable achievements on indoor localization based on different schemes [1–10], such as IOT [11, 12] and smart home system [13]; indoor localization plays a significant role. Thanks to the evident convenience where Wi-Fi technology has been widely used, indoor localization strategy by using Wi-Fi RSS has caught extensive attention since 2000. This strategy deploys the localization algorithm on smart terminals such as smartphones or tablets and assumes that the devices locate at the place exactly the same as the tester does. Hence, we can locate through locating the smart devices. Successful as it is, concerning relative special applications (such as smart home or office settings), it may encounter some restrictions due to false binding relationship between users and traditional smart devices. Luckily, wearable devices (such as smart watches, wristbands, rings, and glasses) have been developed rapidly and became increasingly popular in recent years. Their closer binding relationship and longer usage time improve the applicability of indoor localization algorithm.On the other hand, with new opportunities due to the popularity of wearable devices and indoor localization technology, challenges have yet been proposed. For example, wearable devices have lower capability in computing than traditional devices. Also, their less storage capacity and simpler hardware functionality block the direct usage of indoor localization technology on wearable devices. More importantly, considering current battery capacity of wearable devices is only one-tenth of that of traditional smart devices. The improvements on high energy consumption of localization algorithms must be the top issue to make localization technology on wearable devices possible.In one single real-time localization phase, energy consumption includes two main parts: computation and collection of Wi-Fi fingerprints (the same as Wi-Fi RSS). Because of various kinds of influences including random fluctuations and multipath loss due to walls, furniture, and people moving, it demands more RSS collection to ensure indoor localization accuracy. According to our experiment, energy consumption caused by real-time collection occupies 99% of all in that of localization algorithm (See Table1).Table 1
Energy consumption in localization phase (mAh).
Device
Method
Signal collection
Calculation
Proportion
HTC One
SmartFix
0.1917
0.0005
99.74%
MoLoc
0.3105
0.0003
99.90%
Wi-Fi
0.1917
0.0003
99.84%
Moto 360
SmartFix
0.00806
0.00036
95.68%
MoLoc
0.01310
0.00008
99.38%
Wi-Fi
0.00806
0.00008
98.98%The question is how to minimize the frequency of collection and at the same time guarantee acceptable accuracy? Nowadays, auxiliary sensors, for example, gyroscope, accelerate sensor, infrared, and camera, are introduced to dynamically adjust the collection frequency, reduce the energy consumption, and ensure the localization accuracy. The assisted sensors collect the mobile information and help improve the localization results, such as MoLoc [14], a strategy which implements inertial sensors to directly obtain the information of the user. However, all the methods mentioned above have to function with the help of auxiliary hardware and sensors, and, according to our survey, those devices will not cause evident energy burden to traditional smart devices, but, in terms of wearable devices which are sensitive to energy consumption, energy consumption of such sensors is unneglectable. Therefore, considering these constraints, current strategies should be further improved.In this paper, we propose a novel indoor localization strategy, SmartFix. It can cooperate with any indoor localization technology based on Wi-Fi RSS and enhance the accuracy with a very little extra energy cost of calculation but a large save of signal collection energy cost. SmartFix is an indoor localization technology free from auxiliary sensors. Aided with machine-learning algorithm, we obtain the relative features given the trajectories of users in certain areas and modify the localization results. Compared to traditional localization technology, SmartFix can achieve certain level of accuracy provided with only one RSS value. It also performs well in energy saving. In comparison to original Wi-Fi fingerprinting method, SmartFix can save 70% of energy by achieving same localization accuracy.


## 2. Motivation and Challenges

The main problem for designing wearable-based indoor localization technology is to improve the energy efficiency. To find out the key point of that, we conducted experiments on HTC One and Moto 360 and recorded and figured out the present components of localization algorithms. After that, according to the results, we analyzed the common questions on Wi-Fi-based algorithm and introduced how SmartFix takes advantage of history trajectories to improve the performance in localization.


### 2.1. Analysis of Energy Consumption

We divide the localization phase into two parts, that is, the signal collection and the calculation. We did experiments on Moto 360 Smartwatch and HTC One Smartphone. For the experiments that we discuss in this paper, we scan Wi-Fi channel numbers 1, 6, and 13 for every location and scan and collect RSS data of all Wi-Fi hotspots nearby in every 3 seconds. For the build-in sensor (accelerometer and gyroscope), we collect the data with 50 Hz and 500 Hz sampling rate on Smartphone and 25 Hz and 200 Hz on Smartwatch.Firstly, we recorded the capacity of battery during the RSS signal collection stage and calculated the average power consumption for collecting one set of RSS signal data. Secondly, we operated the locating algorithm on Smartwatch and Smartphone for many times, recorded the capacity of battery, and calculated the average energy consumption of running the algorithm one time for one location. Data analysis shows that the proportion of energy consumption of signal collection and that of calculation can reach up to 99% (see Table1).In fact, due to the low stability of Wi-Fi signal detection and the influence of environmental factors, the signal strength always fluctuates. One method to tackle this problem is to use probability estimation which relies on a special amount of real-time data. We did experiments to verify that increasing the amount of real-time data and using probability estimation will enhance localization accuracy.We implemented the basic Wi-Fi fingerprinting method (K-NN) and FreeLoc [6] which relies on the relative RSS order of different APs. Since there are only several APs in the experiment, the localization performance of FreeLoc is not good or even worse compared to that applyingK-NN. We use simple probability estimation to simulate the effect of different amounts of real-time data. Sharing the same real-time data, both methods will lose 40% accuracy when the number of real-time data reduces from nine to two per location because of the unstable Wi-Fi signals [15]. Although the amount of real-time data is very important to locating accuracy, it will certainly cause more energy consumption.We utilize the features of user motion to meet the demands of energy efficiency and the locating accuracy. There are several locating methods using user motion to help optimize the locating performance. The existing methods mainly use built-in sensors to directly obtain motion information which will add the diversity built by RSS fingerprints and help distinguish different locations. MoLoc uses digital compass and accelerometer to make user motion available. Judging from our experiment, it shows that although the energy consumption of built-in sensors does not seem to be a burden to traditional smart devices such as smart phones, it cannot be negligible when deployed in wearable devices which are more sensitive to energy efficiency. Table2 shows the proportions of energy consumption of different parts while carrying out a localization process with MoLoc on Moto 360 Smartwatch and HTC One Smartphone. Despite the differences in energy consumption of two devices, their proportion is nearly the same. The result validates our conclusion.Table 2
Energy consumption of different parts with MoLoc.
Device
Type
Wi-Fi
Built-in sensor
Calculation
HTC One
mAh
0.1916
0.1189
0.0003
proportion
61.60%
38.30%
0.10%
Moto 360
mAh
0.00806
0.00504
0.00008
proportion
61.17%
38.21%
0.62%


### 2.2. Features of User Motion in History Trajectory

In avoidance of extra energy consumption from build-in sensors, SmartFix does not require data directly from sensors but instead advances its localization accuracy by implementing machine-learning algorithms on human motion feature along the trajectories.Consistent location coordinates indicate information of trajectory; as a whole, we can learn its motion features in certain areas. Firstly, human motion is limited by physical space, and it also depends on his/her destination. What is more, whether a person is familiar with the surroundings should also be considered when learning his/her motion features. We believe that, given certain area, one has specific destination and is quite familiar with that area, and his/her trajectories are bound to follow some fixed rules and display some similar patterns. If we can obtain and learn from this motion mode, it will do much good to help improve the performance and decrease the cost in localization, which is a big deal to Location Based Service. For example, under smart home circumstances, by obtaining the location information of users, smart home management system can automatically operate on temperature, humidity, lights, videos, and security system and manage various smart devices, which can enhance its applicability and become more user-friendly.On the other hand, concerning an unfamiliar environment, though the destination is specific, when one person first steps into this area, there will be relative more random moves. Typical examples such as shopping mall, train station, and airport, in which random motions occur much more often and hence motion features which we pay attention to cannot be extracted. However, after awareness of the area when giving a large bunch of records of trajectories and eliminating those random variables, motion features can be captured by majority of actual trajectories.According to conclusion mentioned before, we figure out when we provide Location Based Service in a given area; we can benefit from history information on the trajectories or those similar patterns that the majority follows to improve the localization result, which is key to this paper.


## 2.1. Analysis of Energy Consumption

We divide the localization phase into two parts, that is, the signal collection and the calculation. We did experiments on Moto 360 Smartwatch and HTC One Smartphone. For the experiments that we discuss in this paper, we scan Wi-Fi channel numbers 1, 6, and 13 for every location and scan and collect RSS data of all Wi-Fi hotspots nearby in every 3 seconds. For the build-in sensor (accelerometer and gyroscope), we collect the data with 50 Hz and 500 Hz sampling rate on Smartphone and 25 Hz and 200 Hz on Smartwatch.Firstly, we recorded the capacity of battery during the RSS signal collection stage and calculated the average power consumption for collecting one set of RSS signal data. Secondly, we operated the locating algorithm on Smartwatch and Smartphone for many times, recorded the capacity of battery, and calculated the average energy consumption of running the algorithm one time for one location. Data analysis shows that the proportion of energy consumption of signal collection and that of calculation can reach up to 99% (see Table1).In fact, due to the low stability of Wi-Fi signal detection and the influence of environmental factors, the signal strength always fluctuates. One method to tackle this problem is to use probability estimation which relies on a special amount of real-time data. We did experiments to verify that increasing the amount of real-time data and using probability estimation will enhance localization accuracy.We implemented the basic Wi-Fi fingerprinting method (K-NN) and FreeLoc [6] which relies on the relative RSS order of different APs. Since there are only several APs in the experiment, the localization performance of FreeLoc is not good or even worse compared to that applyingK-NN. We use simple probability estimation to simulate the effect of different amounts of real-time data. Sharing the same real-time data, both methods will lose 40% accuracy when the number of real-time data reduces from nine to two per location because of the unstable Wi-Fi signals [15]. Although the amount of real-time data is very important to locating accuracy, it will certainly cause more energy consumption.We utilize the features of user motion to meet the demands of energy efficiency and the locating accuracy. There are several locating methods using user motion to help optimize the locating performance. The existing methods mainly use built-in sensors to directly obtain motion information which will add the diversity built by RSS fingerprints and help distinguish different locations. MoLoc uses digital compass and accelerometer to make user motion available. Judging from our experiment, it shows that although the energy consumption of built-in sensors does not seem to be a burden to traditional smart devices such as smart phones, it cannot be negligible when deployed in wearable devices which are more sensitive to energy efficiency. Table2 shows the proportions of energy consumption of different parts while carrying out a localization process with MoLoc on Moto 360 Smartwatch and HTC One Smartphone. Despite the differences in energy consumption of two devices, their proportion is nearly the same. The result validates our conclusion.Table 2
Energy consumption of different parts with MoLoc.
Device
Type
Wi-Fi
Built-in sensor
Calculation
HTC One
mAh
0.1916
0.1189
0.0003
proportion
61.60%
38.30%
0.10%
Moto 360
mAh
0.00806
0.00504
0.00008
proportion
61.17%
38.21%
0.62%


## 2.2. Features of User Motion in History Trajectory

In avoidance of extra energy consumption from build-in sensors, SmartFix does not require data directly from sensors but instead advances its localization accuracy by implementing machine-learning algorithms on human motion feature along the trajectories.Consistent location coordinates indicate information of trajectory; as a whole, we can learn its motion features in certain areas. Firstly, human motion is limited by physical space, and it also depends on his/her destination. What is more, whether a person is familiar with the surroundings should also be considered when learning his/her motion features. We believe that, given certain area, one has specific destination and is quite familiar with that area, and his/her trajectories are bound to follow some fixed rules and display some similar patterns. If we can obtain and learn from this motion mode, it will do much good to help improve the performance and decrease the cost in localization, which is a big deal to Location Based Service. For example, under smart home circumstances, by obtaining the location information of users, smart home management system can automatically operate on temperature, humidity, lights, videos, and security system and manage various smart devices, which can enhance its applicability and become more user-friendly.On the other hand, concerning an unfamiliar environment, though the destination is specific, when one person first steps into this area, there will be relative more random moves. Typical examples such as shopping mall, train station, and airport, in which random motions occur much more often and hence motion features which we pay attention to cannot be extracted. However, after awareness of the area when giving a large bunch of records of trajectories and eliminating those random variables, motion features can be captured by majority of actual trajectories.According to conclusion mentioned before, we figure out when we provide Location Based Service in a given area; we can benefit from history information on the trajectories or those similar patterns that the majority follows to improve the localization result, which is key to this paper.


## 3. SmartFix Architecture

This section elaborates the design for SmartFix localization algorithm. Also, there is an specific example at the end of the part to help explain the operation and details for SmartFix.


### 3.1. Feature Selection of History Trajectory

As a localization strategy is aided by history information, the first problem we are faced with is how to efficiently collect the location information or coordinates of points. In this paper, we take advantage of pedometer and gyroscope equipped on smart devices to collect the path and turning angles of trajectories. Firstly, we conducted small scale experiments recording the trajectories of users, which is labelled as Test A with 500 records. On this basis, we implement machine-learning algorithms to learn from these data and they automatically cluster into three feature values which are probability of continuous turnings, range of turning angles, and proportions of turning during one trajectory. All these features cannot be presented by Wi-Fi fingerprint matching algorithms due to its random distributed RSS value, which can cause irregular fluctuations on the localization.For further testing of those three features, we chose two areas as use cases. One is a laboratory with 200 square meters. And another is an open area with a square ring shape. It is about 1898 square meters. Total 2000 records have been collected and saved as Test B. As experiment results, all these three features also follow the rules in a larger scale test base. Therefore, we believe that, through learning from these three features, we can efficiently eliminate error fluctuations as much as possible and hence increase localization accuracy. Below we will separately discuss three modes and the patterns they follow. Wi-Fi RSS value will be influenced by many factors such as multipath effects, temperature, and humidity change or electromagnetic change. All these effects pose a negative impact on localization accuracy. Continuous turnings happen much more often under the circumstances by applying Wi-Fi RSS localization technology. However, according to our experiment, this abnormal mode can hardly be spotted in actual trajectory as shown in Figure1.Figure 1
User motion A.In this case, a trajectory moves from point (1) to point (5) keeping the straight direction. However, based on Wi-Fi detection, the result displayed is located randomly on either side of the actual trajectory. Here comes the question that is it safe enough for us to conclude that the continuous turning pattern given by Wi-Fi detection is only a result from error matching and should not be considered by deciding the correct result? To answer this question, we cluster the motion features from Test A and the result shows that it is positive as is shown in Figure 2.Figure 2
Percentage of motion pattern.In Figure2, abnormal turning refers to continuous turning in one single trajectory. Like the trajectory from point (1) to point (4) through point (2) and point (3) in Figure 1, the directions of paths (1)-(2), (2)-(3), (3)-(4) are changing all the time. This form of path located by basic Wi-Fi RSS method is more likely to contain the error points caused by unstable Wi-Fi signal, and that is why we focus on the abnormal turning rate in actual trajectory. As a result, 81% of actual trajectory remains straight and about 13% of moves are turnings. The rest, lower than 6% of situations, might present a continuous turning in a single trajectory. In order to be more convincing, we tested with a much larger scale of data of Test B and the result is accorded with our presumption, which indicates that by eliminating such abnormal patterns in the trajectories can help improve the performance in localization.Throughout the clustering for Test A, distribution of turning angles is another evident feature learned from the trajectories. Under traditional Wi-Fi detection, there is always a problem in locating turning points. On the other hand, range of turning angles depends much on the physical distribution of the place. For example, if the area is relatively spacious such as the building hall, trajectories will display the patterns with much more straight moves and turnings with small angles. Or, if the place is physically limited in space such as laboratory and office, straight moves will be cut apart and more turnings with larger angles will be presented. Hence, this feature is highly dependent on the certain place. It might be applicable within areas which share similar physical distribution. But in terms of even large scale, it is not fully representative for data from a given area to be widely used as a test base. Its limitation on robustness from different areas is presented in the following experiments; however, there is no denying for its efficiency. First of all, we clustered on Test A and obtained the distribution of turning angles from 0 to 180. Due to the dominance of straight moves, angles less than 10 degree will be considered straight moves in this operation. After that, with a larger scale Test B, including experiment areas 1 and 2, we separately clustered the trajectories and results are shown in Figure3.Figure 3
User motion B.In this experiment, we find out that there is a different range of turning angles for each od the experiment areas. The majority of each of the areas are different because of their specific physical distribution. In the case of experiment area 1, turning angles are mainly clustered around 30 degrees, with maximum value of 40 degrees. 90% of all are distributed within the range of 20 to 40 degrees. Meanwhile, for area 2, the majority stays at 50 degrees, with most of the cases being lower than 60 degrees. And turning angles in the range from 30 to 50 occupy 90% of total records. Based on these rules, as is shown in Figure4, we can improve the localization by modifying the turning points with more convincing turning angles. The third feature we captured from Test A is the proportion of turning in a whole trajectory. As is shown in Figure 5, we calculate the percentage of turnings in one trajectory given enough length and set it as a threshold. During the decision process, we calculate the percentage of turnings of the trajectory and compare it with our threshold. If that value excesses the threshold, we manually put a penalty value on its probability to prevent the situation for turnings with high frequency. Through this way, it can also help us to adjust the trajectory.Figure 4
Turning angle distribution.Figure 5
User motion C.However, like second one, this feature is also limited by physical factors. Directed by this limitation, we conducted another experiment to test its robustness. Different from previous experiment, for those trajectories with less than 10 moves, no valuable information can be extracted and is considered unrepresentative. We select the samples which has much more steps and the result is shown in Figure6. This can conclude that there will always be a threshold for each experiment area. But these values differ from each other given different physical factors. Meanwhile, the curve displays with a wave shape which indicates that as the length of trajectories increases, the turnings occur regularly in a relatively stable range in both areas 1 and 2. Based on these strategies, we design our localization algorithm, SmartFix. Next part will evaluate the performance of SmartFix in a more detailed degree.Figure 6
Proportion of turning.


### 3.2. Background Data and Location Model

SmartFix uses trajectory connectivity and motion tendency to locate and enhance accuracy, so in the collection phase, in addition to the RSS values in each position; SmartFix also uses the relationship between various locations. For example, in a region ofN positions, surveyors need to collect the RSS fingerprint information of the APs at each location: fingerprinti=(RSS1,RSS2,…,RSSm), where m represents the number of APs. Besides, SmartFix requires relative positions of those N nodes and connectivity relations to develop an indoor location model. The indoor location model can be represented as a weighted adjacency matrix M:(1)M=φ1,1φ1,2⋯φ1,Nφ2,1φ2,2⋯φ2,N⋮⋮⋱⋮φN,1φN,2⋯φN,N,φi,j=k,lociandlocjare  adjacent0,lociandlocjare  not  adjacent.We setk as an integer greater than 0,φi,j=k indicates that location j is on the number of k directions of location i, which will be used for the judgment of motion tendency. The adjacency matrix M indicates the connectivity relations corresponding to indoor locations.SmartFix assumes that the location model is available from floor plan or direct input from users. There are some studies focusing on the construction of indoor location models which may be used for SmartFix in the future.On that basis, we set up some auxiliary points located between every two localization points. Their density is much larger than that of localization points and those points do not have RSS fingerprints. Due to underlying accuracy limits of Wi-Fi localization, the difference for those auxiliary points only by applying fingerprint matching cannot be told. But judging motion pattern along the trajectory is consistent with all the points not only those localization points. Hence, we add those auxiliary points to help improve the performance in SmartFix.


### 3.3. Localization Algorithm considering Motion Feature

The core idea of SmartFix is to use the features of indoor human motion, for example, to use the continuity of motion trajectory to modify the moving path. For indoor LBS triggering on smart home scenes, users cannot jump from one to another nonadjacent location. So the current localization result must be related to the last one. For example, the last location along a path should be the reference factor of the possible current location. Judging by the value of the elementφi,j in adjacency matrix M, we learn the connectivity of loci and locj. If the last location loci is adjacent to the current location locj, which indicates that moving from loci to locj is possible, the possibility will be multiplied with an enhancement factor. Instead, if loci and locj are not adjacent, then random error is bound to occur in the current or last measurement; we weaken the probability of the occurrence by multiplying a dull factor to amend the estimated trajectory.The essence of the SmartFix algorithm is applying pruning and BFS to a tree with fixed height which contains all possible paths and its probability, finding the leaf node with the biggest cumulative probability as the current localization results. The algorithm introduces a queuecurQ containing the results of the possible current paths; the elements of the queue are tuples which hold the current position, the current path, and the cumulative probability. In every localization, it will calculate the cumulative probability Q of each possible path based on the current result and the last queue preQ and rebuild curQ for the next locating.(2)Qn=Qn-1×qi×P,lociis  adjacent  and  matchingQn-1×qi×R,lociis  not  adjacentQn-1×U,lociis  adjacent  but  not  matching,where loci is the current position and qi is the probability of loci by the current measurement. First of all, in judging motion patterns, if current motion is a turning, and then we will consider previous pattern, and together we can choose a specific strategy to modify the result. According to Algorithm 1, if there is a left turning followed by a right turning or a right one followed by a left one, considering our strategy in fixing continuous turnings, we assume that this pattern hardly happens under indoor circumstances. We therefore revise this motion into a straight move. Given three points which form these two motions, our method is to find an alternate point which can allow these two motions to be straight moves. Also, each of these points should be linked with its previous one to ensure its connectivity. After that, we generate this new trajectory and replace previous one with it.Algorithm 1:SmartFix.
Input: path
Output: estimated path path
(1) path←[]
(2) for alli∈ every possible pointsdo
(3)  PatternRecognization()
(4)  targetPoint[i]←LocalizationPoint
(5)  replacePerr[i] with targetPoint[i]
(6)  ppre[i]=∏i=1nPpoint∗Pe
(7)  Pcur[i]=∏i=1nPpoint
(8) for alli∈ every possible pointsdo
(9)  if(pQ[i]>MAX)then
(10)MAX=PQ[i]
(11)path←PQ[i]max
(12)returnpathAdditionally, if either of conditions, left to left, left to right, right to right, and right to left, is satisfied, applying the same rules according to out learning data, we also assume that turning angles should stay at certain range which depends on its place. Therefore, we also search for an alternative to ensure that its turning angle lies in that range.Besides these two modification strategies, we also introduce another assisted judging rule by setting a threshold for turning proportion. Given enough length of trajectories, if turning proportion excesses that threshold, we manually give its probability a penalty factor to decrease its possibility. Because the threshold is learned by actual trajectories provided in this area, so if there is a higher percentage in turnings, we believe it is wrong matching of Wi-Fi that causes the problem. Therefore, we also add this motion features into our localization strategy.The core algorithm calculates the probability of each possible trajectory and chooses the one with maximum likelihood to be optimal trajectory for this localization. With RSS matching kept on, we continuously acquire a modified trajectory with updated probability, and, finally, ultimate trajectory with maximum possibility can be obtained as best localization result for this strategy (see Algorithm1). Our method is to implement BFS to prune a probability tree. The subjects are all the traces given certain length, including all possible trajectory. Current trace with maximum likelihood will be considered as optimal trace for now. Also, previous likelihood is saved for further judgment. After repeating the process till the end, we will finally get a best trace which fits our strategy best. The strategy of SmartFix has been described by Algorithm 1.


## 3.1. Feature Selection of History Trajectory

As a localization strategy is aided by history information, the first problem we are faced with is how to efficiently collect the location information or coordinates of points. In this paper, we take advantage of pedometer and gyroscope equipped on smart devices to collect the path and turning angles of trajectories. Firstly, we conducted small scale experiments recording the trajectories of users, which is labelled as Test A with 500 records. On this basis, we implement machine-learning algorithms to learn from these data and they automatically cluster into three feature values which are probability of continuous turnings, range of turning angles, and proportions of turning during one trajectory. All these features cannot be presented by Wi-Fi fingerprint matching algorithms due to its random distributed RSS value, which can cause irregular fluctuations on the localization.For further testing of those three features, we chose two areas as use cases. One is a laboratory with 200 square meters. And another is an open area with a square ring shape. It is about 1898 square meters. Total 2000 records have been collected and saved as Test B. As experiment results, all these three features also follow the rules in a larger scale test base. Therefore, we believe that, through learning from these three features, we can efficiently eliminate error fluctuations as much as possible and hence increase localization accuracy. Below we will separately discuss three modes and the patterns they follow. Wi-Fi RSS value will be influenced by many factors such as multipath effects, temperature, and humidity change or electromagnetic change. All these effects pose a negative impact on localization accuracy. Continuous turnings happen much more often under the circumstances by applying Wi-Fi RSS localization technology. However, according to our experiment, this abnormal mode can hardly be spotted in actual trajectory as shown in Figure1.Figure 1
User motion A.In this case, a trajectory moves from point (1) to point (5) keeping the straight direction. However, based on Wi-Fi detection, the result displayed is located randomly on either side of the actual trajectory. Here comes the question that is it safe enough for us to conclude that the continuous turning pattern given by Wi-Fi detection is only a result from error matching and should not be considered by deciding the correct result? To answer this question, we cluster the motion features from Test A and the result shows that it is positive as is shown in Figure 2.Figure 2
Percentage of motion pattern.In Figure2, abnormal turning refers to continuous turning in one single trajectory. Like the trajectory from point (1) to point (4) through point (2) and point (3) in Figure 1, the directions of paths (1)-(2), (2)-(3), (3)-(4) are changing all the time. This form of path located by basic Wi-Fi RSS method is more likely to contain the error points caused by unstable Wi-Fi signal, and that is why we focus on the abnormal turning rate in actual trajectory. As a result, 81% of actual trajectory remains straight and about 13% of moves are turnings. The rest, lower than 6% of situations, might present a continuous turning in a single trajectory. In order to be more convincing, we tested with a much larger scale of data of Test B and the result is accorded with our presumption, which indicates that by eliminating such abnormal patterns in the trajectories can help improve the performance in localization.Throughout the clustering for Test A, distribution of turning angles is another evident feature learned from the trajectories. Under traditional Wi-Fi detection, there is always a problem in locating turning points. On the other hand, range of turning angles depends much on the physical distribution of the place. For example, if the area is relatively spacious such as the building hall, trajectories will display the patterns with much more straight moves and turnings with small angles. Or, if the place is physically limited in space such as laboratory and office, straight moves will be cut apart and more turnings with larger angles will be presented. Hence, this feature is highly dependent on the certain place. It might be applicable within areas which share similar physical distribution. But in terms of even large scale, it is not fully representative for data from a given area to be widely used as a test base. Its limitation on robustness from different areas is presented in the following experiments; however, there is no denying for its efficiency. First of all, we clustered on Test A and obtained the distribution of turning angles from 0 to 180. Due to the dominance of straight moves, angles less than 10 degree will be considered straight moves in this operation. After that, with a larger scale Test B, including experiment areas 1 and 2, we separately clustered the trajectories and results are shown in Figure3.Figure 3
User motion B.In this experiment, we find out that there is a different range of turning angles for each od the experiment areas. The majority of each of the areas are different because of their specific physical distribution. In the case of experiment area 1, turning angles are mainly clustered around 30 degrees, with maximum value of 40 degrees. 90% of all are distributed within the range of 20 to 40 degrees. Meanwhile, for area 2, the majority stays at 50 degrees, with most of the cases being lower than 60 degrees. And turning angles in the range from 30 to 50 occupy 90% of total records. Based on these rules, as is shown in Figure4, we can improve the localization by modifying the turning points with more convincing turning angles. The third feature we captured from Test A is the proportion of turning in a whole trajectory. As is shown in Figure 5, we calculate the percentage of turnings in one trajectory given enough length and set it as a threshold. During the decision process, we calculate the percentage of turnings of the trajectory and compare it with our threshold. If that value excesses the threshold, we manually put a penalty value on its probability to prevent the situation for turnings with high frequency. Through this way, it can also help us to adjust the trajectory.Figure 4
Turning angle distribution.Figure 5
User motion C.However, like second one, this feature is also limited by physical factors. Directed by this limitation, we conducted another experiment to test its robustness. Different from previous experiment, for those trajectories with less than 10 moves, no valuable information can be extracted and is considered unrepresentative. We select the samples which has much more steps and the result is shown in Figure6. This can conclude that there will always be a threshold for each experiment area. But these values differ from each other given different physical factors. Meanwhile, the curve displays with a wave shape which indicates that as the length of trajectories increases, the turnings occur regularly in a relatively stable range in both areas 1 and 2. Based on these strategies, we design our localization algorithm, SmartFix. Next part will evaluate the performance of SmartFix in a more detailed degree.Figure 6
Proportion of turning.


## 3.2. Background Data and Location Model

SmartFix uses trajectory connectivity and motion tendency to locate and enhance accuracy, so in the collection phase, in addition to the RSS values in each position; SmartFix also uses the relationship between various locations. For example, in a region ofN positions, surveyors need to collect the RSS fingerprint information of the APs at each location: fingerprinti=(RSS1,RSS2,…,RSSm), where m represents the number of APs. Besides, SmartFix requires relative positions of those N nodes and connectivity relations to develop an indoor location model. The indoor location model can be represented as a weighted adjacency matrix M:(1)M=φ1,1φ1,2⋯φ1,Nφ2,1φ2,2⋯φ2,N⋮⋮⋱⋮φN,1φN,2⋯φN,N,φi,j=k,lociandlocjare  adjacent0,lociandlocjare  not  adjacent.We setk as an integer greater than 0,φi,j=k indicates that location j is on the number of k directions of location i, which will be used for the judgment of motion tendency. The adjacency matrix M indicates the connectivity relations corresponding to indoor locations.SmartFix assumes that the location model is available from floor plan or direct input from users. There are some studies focusing on the construction of indoor location models which may be used for SmartFix in the future.On that basis, we set up some auxiliary points located between every two localization points. Their density is much larger than that of localization points and those points do not have RSS fingerprints. Due to underlying accuracy limits of Wi-Fi localization, the difference for those auxiliary points only by applying fingerprint matching cannot be told. But judging motion pattern along the trajectory is consistent with all the points not only those localization points. Hence, we add those auxiliary points to help improve the performance in SmartFix.


## 3.3. Localization Algorithm considering Motion Feature

The core idea of SmartFix is to use the features of indoor human motion, for example, to use the continuity of motion trajectory to modify the moving path. For indoor LBS triggering on smart home scenes, users cannot jump from one to another nonadjacent location. So the current localization result must be related to the last one. For example, the last location along a path should be the reference factor of the possible current location. Judging by the value of the elementφi,j in adjacency matrix M, we learn the connectivity of loci and locj. If the last location loci is adjacent to the current location locj, which indicates that moving from loci to locj is possible, the possibility will be multiplied with an enhancement factor. Instead, if loci and locj are not adjacent, then random error is bound to occur in the current or last measurement; we weaken the probability of the occurrence by multiplying a dull factor to amend the estimated trajectory.The essence of the SmartFix algorithm is applying pruning and BFS to a tree with fixed height which contains all possible paths and its probability, finding the leaf node with the biggest cumulative probability as the current localization results. The algorithm introduces a queuecurQ containing the results of the possible current paths; the elements of the queue are tuples which hold the current position, the current path, and the cumulative probability. In every localization, it will calculate the cumulative probability Q of each possible path based on the current result and the last queue preQ and rebuild curQ for the next locating.(2)Qn=Qn-1×qi×P,lociis  adjacent  and  matchingQn-1×qi×R,lociis  not  adjacentQn-1×U,lociis  adjacent  but  not  matching,where loci is the current position and qi is the probability of loci by the current measurement. First of all, in judging motion patterns, if current motion is a turning, and then we will consider previous pattern, and together we can choose a specific strategy to modify the result. According to Algorithm 1, if there is a left turning followed by a right turning or a right one followed by a left one, considering our strategy in fixing continuous turnings, we assume that this pattern hardly happens under indoor circumstances. We therefore revise this motion into a straight move. Given three points which form these two motions, our method is to find an alternate point which can allow these two motions to be straight moves. Also, each of these points should be linked with its previous one to ensure its connectivity. After that, we generate this new trajectory and replace previous one with it.Algorithm 1:SmartFix.
Input: path
Output: estimated path path
(1) path←[]
(2) for alli∈ every possible pointsdo
(3)  PatternRecognization()
(4)  targetPoint[i]←LocalizationPoint
(5)  replacePerr[i] with targetPoint[i]
(6)  ppre[i]=∏i=1nPpoint∗Pe
(7)  Pcur[i]=∏i=1nPpoint
(8) for alli∈ every possible pointsdo
(9)  if(pQ[i]>MAX)then
(10)MAX=PQ[i]
(11)path←PQ[i]max
(12)returnpathAdditionally, if either of conditions, left to left, left to right, right to right, and right to left, is satisfied, applying the same rules according to out learning data, we also assume that turning angles should stay at certain range which depends on its place. Therefore, we also search for an alternative to ensure that its turning angle lies in that range.Besides these two modification strategies, we also introduce another assisted judging rule by setting a threshold for turning proportion. Given enough length of trajectories, if turning proportion excesses that threshold, we manually give its probability a penalty factor to decrease its possibility. Because the threshold is learned by actual trajectories provided in this area, so if there is a higher percentage in turnings, we believe it is wrong matching of Wi-Fi that causes the problem. Therefore, we also add this motion features into our localization strategy.The core algorithm calculates the probability of each possible trajectory and chooses the one with maximum likelihood to be optimal trajectory for this localization. With RSS matching kept on, we continuously acquire a modified trajectory with updated probability, and, finally, ultimate trajectory with maximum possibility can be obtained as best localization result for this strategy (see Algorithm1). Our method is to implement BFS to prune a probability tree. The subjects are all the traces given certain length, including all possible trajectory. Current trace with maximum likelihood will be considered as optimal trace for now. Also, previous likelihood is saved for further judgment. After repeating the process till the end, we will finally get a best trace which fits our strategy best. The strategy of SmartFix has been described by Algorithm 1.


## 4. Evaluation

This section presents the experimental setups, results, and analyses of our experiment.


### 4.1. Experiment Settings

We implemented the prototypes of TinyLoc [16], MoLoc [14], and basic Wi-Fi fingerprinting method (k-neighbor algorithm) on Moto 360 2nd-generation Smartwatch (as shown in Figure 10) to compare the localization accuracy and energy efficiency. TinyLoc is one of our previous works which is based on two certain principles to optimize the locating results. TinyLoc is more focused on the energy efficiency than locating accuracy. Certain principles will simplify the modeling and reduce the amount of calculation. In contrast, SmartFix analyzes the history trajectory of people in given area to generate the character value of given physical area and special locations to optimize locating results. Moloc [14] also leverages user motion against unstable Wi-Fi RSS fingerprint. The basic idea of MoLoc is that user motion patterns collected by built-in sensors of mobile phones add to the diversity built by RSS fingerprints and improve the locating accuracy. At the same time, we implemented the prototypes of both original version and optimized version using SmartFix for comparison.Additionally, considering the variety of indoor environment, we conducted the experiments in an open area of 1898 m2 and also an office hall of 200 m2, respectively (as shown in Figures 7, 8, and 9).Figure 7
Floor plan of experiments.Figure 8
Exp I.Figure 9
Exp II.Figure 10
Moto 360.Experiment area I is located in an indoor corridor area of 1898 m2, with 176 locations. By taking 10 RSS samples at each location in the construction phase and the localization phase, respectively, we recorded RSS fingerprints of at most 9 APs, for the purposes of fingerprint database establishment and location estimation. For MoLoc, we recorded the directions and steps of every adjacent location from the digital compass and accelerometer readings for 4 times, three of which are used for building the motion database and one for localization. Experiment area II is located in a laboratory of 13.2 m and 15.6 m with furniture including tables, chairs, server racks, and electronic devices such as computers, servers, and switches, where the electromagnetic environment is complex. We also selected 9 APs of which signals are able to cover the whole area, and 18 reference locations of which spacing is 2–4 m pairwise. The method of data collection and other experimental settings are the same as experimental area I.


### 4.2. Performance Evaluation

We select MoLoc and TinyLoc for a comparison. These two algorithms both use user motion to enhance accuracy. In this section, we compared the effectiveness of MoLoc, TinyLoc, Smart-MoLoc (using SmartFix to optimize MoLoc), Smart-TinyLoc (using SmartFix to optimize TinyLoc), and basic Wi-Fi fingerprinting method in aspects of localization accuracy and energy efficiency both on classic smart devices and on portable devices. In this section, results and detailed analyses will be represented.


#### 4.2.1. Locating Accuracy

We compared the localization accuracy of SmartFix, MoLoc, Smart-MoLoc (using SmartFix to optimize MoLoc), Smart-TinyLoc (using SmartFix to optimize TinyLoc), and Wi-Fi fingerprinting method from two perspectives: cumulative distribution function (CDF) of average errors and locating accuracy. Then, we analyzed the locating accuracy with different number of APs, trying to explain the difference between SmartFix and MoLoc (or TinyLoc) with respect to their utilization of user motion.(3)Dloc⁡=∑n=1stepDistancelocnestimated,locnrealstep,px=countloc∈pathstep=1,2,3,…,N∧Dloc≤x∑lengthpathstep=1,2,3,…,N.We first made the cumulative distribution function of average localization errors both on Moto 360 and on HTC One. The calculation method for average error Dloc and the cumulative probability px are displayed by formula (3). The CDFs in errors of the two experiments are shown as Figures 11 and 12.Figure 11
CDF of errors in area I.Figure 12
CDF of errors in area II.Evidently, Smart-MoLoc and Smart-TinyLoc outperform original indoor locating algorithm, and TinyLoc surpasses MoLoc when compared in the same environment. When using Smart-TinyLoc or Smart-MoLoc, the average probabilities of localization error within 2 m are over 80% in area II, and those probabilities decreased to 75% and 80%, respectively, in area I. Additionally, within 3.5 m, the probability of localization error for Smart-TinyLoc reached up to 90% in area II, while, for Smart-MoLoc, the error range should be released to 5 m to acquire an equal probability. Comparing the results in two different areas, those algorithms achieved better locating accuracy in area II, and the improvement of accuracy caused by SmartFix is little bigger in area II than that in area I. In area II, the improvement is about 2% and 5% for TinyLoc and 3% and 4% for MoLoc. For example, the probability of localization over 80% for Smart-TinyLoc is about 3.5 m and about 4 m for original TinyLoc. In area I, the average improvement caused by SmartFix decreased to 2% and 3% for MoLoc and TinyLoc. That is because area I is a large open space; there are much more changes for each person and less obvious character values in history path. According to this experiment, we find that SmartFix will work better in an indoor area such as office room, home, or restaurant. The experiment results indicate that SmartFix has a 2% and 5% improvement compared to original MoLoc with inner sensors and TinyLoc using certain principles to correct locating results, especially within a small interval.We then calculated locating accuracy (point-matching probability) in two different areas with different number of APs, of which results are shown in Figures13 and 14. In this experiment, we compared three locating algorithms: SmartLos (Smart-TinyLoc), MoLoc, and basic Wi-Fi fingerprinting method. With the increase of APs amount, all three methods obtained better locating accuracy, and when the number of APs overpassed a fixed value, locating accuracy nearly remained the same, which is compliant with [17]. SmartFix and MoLoc outperform basic Wi-Fi fingerprinting method in every amount of APs. In particular, in area I, for the sake of being an open space, when the number of APs is set to 5, SmartFix achieved the highest accuracy, about 78%, followed by MoLoc, approximately 60%, and Wi-Fi fingerprinting method had only about 12% locating accuracy. When the number of APs rose to the maximum 9, SmartFix and MoLoc obtained 94% and 92% locating accuracy, respectively, and Wi-Fi fingerprinting method also had as approximately twice improvement as before. This results indicate that the number of APs has a significant effect on locating accuracy. The rising tendency of locating accuracy in area II is similar to that in area I. Because of area II’s smaller space and lower density of reference positions, much more influences are exerted upon point-matching probability rather than locating errors. Therefore, in area II, despite the same AP number 5, except Wi-Fi fingerprinting method, the other two methods obtained lower locating accuracy than that obtained in area I, and their maximum locating accuracy is also lower than that in area I.Figure 13
AP Number Change in area I.Figure 14
AP number change in area II.By studying the CDF of average errors and locating accuracy, we learned that SmartFix and MoLoc can significantly improve the locating accuracy of the Wi-Fi fingerprinting method. As for SmartFix which uses trace property, and MoLoc which uses motion property, they reached almost the same level of locating accuracy, while SmartFix is a little better in most cases.


#### 4.2.2. Energy Efficiency

We implemented the localization algorithms both on the Moto 360 2nd-generation Smartwatch and on HTC One Smartphone to compute the average energy consumption on algorithm calculating and repeatedly scanned the Wi-Fi signal to compute the average energy consumption on the data collecting. The results showed that SmartFix can significantly reduce the energy consumption of MoLoc and Wi-Fi fingerprinting method. Endurance time of locating for Smartwatch using Wi-Fi fingerprinting method with SmartFix is about 1.96 times of that using original method.For MoLoc, we repeatedly carried out the pedometer program to calculate the average energy consumption of built-in motion sensors. Figure15 shows the total energy consumption of Smart-TinyLoc, Smart-MoLoc, Smart Wi-Fi fingerprinting method, and original methods for performing one-time locating at the same accuracy level. The power consumption for one-time locating is Wi-Fi method: 0.042%; SmartFix Wi-Fi method: 0.011%; TinyLoc: 0.008%; Smart-TinyLoc: 0.008%; MoLoc: 0.022%; and Smart-MoLoc: 0.016%, respectively. And on Moto 360, the power consumption of those methods is Wi-Fi method: 0.013%; SmartFix Wi-Fi method: 0.013%; TinyLoc: 0.002%; Smart-TinyLoc: 0.002%; MoLoc: 0.007%; and Smart-MoLoc: 0.005%. The total energy consumption of SmartFix and the Wi-Fi fingerprinting method is produced from data collection and calculation, while MoLoc has extra energy consumption by built-in motion sensors. Since the energy consumption of calculation is negligible compared with that of data collection, the built-in sensors are the main cause of the extra energy consumption of MoLoc, and SmartFix can reduce work frequency of built-in sensors to achieve lower energy consumption. And for Wi-Fi method, SmartFix can significantly reduce the amount of real-time RSS data and save almost 70% energy. In fact, the locating accuracy and energy efficiency are the two related aspects. It will produce extra energy consumption if the localization algorithm takes measure to improve locating accuracy in most occasions. Locating algorithms suitable for wearable devices must consider the balance between locating accuracy and energy efficiency. Through the estimation, implementing the localization algorithms to the Moto 360 and scanning RSS signal once every 3 seconds, the time that it can perform localization with different localization algorithms is shown in Figure 16. It indicates that the stand-by times to localization are remarkably different by using different localization algorithm and the stand-by times of SmartFix methods are almost longer than the original ones. The stand-by time of Moto 360 is almost 24 hours. Working time of locating using Smart-TinyLoc for Moto 360 is the longest and can achieve 13.21 hours which is 13% longer than that using Smart-MoLoc (11.56 hours) and 3.11 times of that using original Wi-Fi fingerprinting method (4.25 hours) when it collects RSS data four times per location and achieves the acceptable accuracy. Working time of locating using SmartFix Wi-Fi fingerprinting method also extends almost 2 times than the original method.Figure 15
Energy consumption.Figure 16
Stand-by time of Moto 360.


#### 4.2.3. Compatibility

We conducted experiments to attest whether the motion features retrieved from a certain environment can be applied to other environments. To analyze the compatibility of such motion features, we exchanged the feature acquired in areas I and II, of which results are shown in Figures17 and 18. By studying the experiment results, when applying area II features to area I, we got about 15% fall-off in accuracy. Meanwhile, the results of applying area I features to area II also show about 10% accuracy decrease. Therefore, the calculation of features should be conducted within specific environment. Such features have little compatibility among different areas.Figure 17
Training set exchange I.Figure 18
Training set exchange II.


#### 4.2.4. Running Cost

As a history based indoor locating algorithm, the activating speed of SmartFix is shown in Figure19.Figure 19
Running cost of SmartFix.The figure indicates that, with the enlargement of training data, SmartFix acquired better locating accuracy, and when the number of history data reached up to 1000, locating accuracy achieved the maximum. Nevertheless, different environment results in different amount of data required. In area II, SmartFix needs more data to achieve the same locating accuracy with that in area I, which may results in area II’s small in space but complication in motion.


## 4.1. Experiment Settings

We implemented the prototypes of TinyLoc [16], MoLoc [14], and basic Wi-Fi fingerprinting method (k-neighbor algorithm) on Moto 360 2nd-generation Smartwatch (as shown in Figure 10) to compare the localization accuracy and energy efficiency. TinyLoc is one of our previous works which is based on two certain principles to optimize the locating results. TinyLoc is more focused on the energy efficiency than locating accuracy. Certain principles will simplify the modeling and reduce the amount of calculation. In contrast, SmartFix analyzes the history trajectory of people in given area to generate the character value of given physical area and special locations to optimize locating results. Moloc [14] also leverages user motion against unstable Wi-Fi RSS fingerprint. The basic idea of MoLoc is that user motion patterns collected by built-in sensors of mobile phones add to the diversity built by RSS fingerprints and improve the locating accuracy. At the same time, we implemented the prototypes of both original version and optimized version using SmartFix for comparison.Additionally, considering the variety of indoor environment, we conducted the experiments in an open area of 1898 m2 and also an office hall of 200 m2, respectively (as shown in Figures 7, 8, and 9).Figure 7
Floor plan of experiments.Figure 8
Exp I.Figure 9
Exp II.Figure 10
Moto 360.Experiment area I is located in an indoor corridor area of 1898 m2, with 176 locations. By taking 10 RSS samples at each location in the construction phase and the localization phase, respectively, we recorded RSS fingerprints of at most 9 APs, for the purposes of fingerprint database establishment and location estimation. For MoLoc, we recorded the directions and steps of every adjacent location from the digital compass and accelerometer readings for 4 times, three of which are used for building the motion database and one for localization. Experiment area II is located in a laboratory of 13.2 m and 15.6 m with furniture including tables, chairs, server racks, and electronic devices such as computers, servers, and switches, where the electromagnetic environment is complex. We also selected 9 APs of which signals are able to cover the whole area, and 18 reference locations of which spacing is 2–4 m pairwise. The method of data collection and other experimental settings are the same as experimental area I.


## 4.2. Performance Evaluation

We select MoLoc and TinyLoc for a comparison. These two algorithms both use user motion to enhance accuracy. In this section, we compared the effectiveness of MoLoc, TinyLoc, Smart-MoLoc (using SmartFix to optimize MoLoc), Smart-TinyLoc (using SmartFix to optimize TinyLoc), and basic Wi-Fi fingerprinting method in aspects of localization accuracy and energy efficiency both on classic smart devices and on portable devices. In this section, results and detailed analyses will be represented.


### 4.2.1. Locating Accuracy

We compared the localization accuracy of SmartFix, MoLoc, Smart-MoLoc (using SmartFix to optimize MoLoc), Smart-TinyLoc (using SmartFix to optimize TinyLoc), and Wi-Fi fingerprinting method from two perspectives: cumulative distribution function (CDF) of average errors and locating accuracy. Then, we analyzed the locating accuracy with different number of APs, trying to explain the difference between SmartFix and MoLoc (or TinyLoc) with respect to their utilization of user motion.(3)Dloc⁡=∑n=1stepDistancelocnestimated,locnrealstep,px=countloc∈pathstep=1,2,3,…,N∧Dloc≤x∑lengthpathstep=1,2,3,…,N.We first made the cumulative distribution function of average localization errors both on Moto 360 and on HTC One. The calculation method for average error Dloc and the cumulative probability px are displayed by formula (3). The CDFs in errors of the two experiments are shown as Figures 11 and 12.Figure 11
CDF of errors in area I.Figure 12
CDF of errors in area II.Evidently, Smart-MoLoc and Smart-TinyLoc outperform original indoor locating algorithm, and TinyLoc surpasses MoLoc when compared in the same environment. When using Smart-TinyLoc or Smart-MoLoc, the average probabilities of localization error within 2 m are over 80% in area II, and those probabilities decreased to 75% and 80%, respectively, in area I. Additionally, within 3.5 m, the probability of localization error for Smart-TinyLoc reached up to 90% in area II, while, for Smart-MoLoc, the error range should be released to 5 m to acquire an equal probability. Comparing the results in two different areas, those algorithms achieved better locating accuracy in area II, and the improvement of accuracy caused by SmartFix is little bigger in area II than that in area I. In area II, the improvement is about 2% and 5% for TinyLoc and 3% and 4% for MoLoc. For example, the probability of localization over 80% for Smart-TinyLoc is about 3.5 m and about 4 m for original TinyLoc. In area I, the average improvement caused by SmartFix decreased to 2% and 3% for MoLoc and TinyLoc. That is because area I is a large open space; there are much more changes for each person and less obvious character values in history path. According to this experiment, we find that SmartFix will work better in an indoor area such as office room, home, or restaurant. The experiment results indicate that SmartFix has a 2% and 5% improvement compared to original MoLoc with inner sensors and TinyLoc using certain principles to correct locating results, especially within a small interval.We then calculated locating accuracy (point-matching probability) in two different areas with different number of APs, of which results are shown in Figures13 and 14. In this experiment, we compared three locating algorithms: SmartLos (Smart-TinyLoc), MoLoc, and basic Wi-Fi fingerprinting method. With the increase of APs amount, all three methods obtained better locating accuracy, and when the number of APs overpassed a fixed value, locating accuracy nearly remained the same, which is compliant with [17]. SmartFix and MoLoc outperform basic Wi-Fi fingerprinting method in every amount of APs. In particular, in area I, for the sake of being an open space, when the number of APs is set to 5, SmartFix achieved the highest accuracy, about 78%, followed by MoLoc, approximately 60%, and Wi-Fi fingerprinting method had only about 12% locating accuracy. When the number of APs rose to the maximum 9, SmartFix and MoLoc obtained 94% and 92% locating accuracy, respectively, and Wi-Fi fingerprinting method also had as approximately twice improvement as before. This results indicate that the number of APs has a significant effect on locating accuracy. The rising tendency of locating accuracy in area II is similar to that in area I. Because of area II’s smaller space and lower density of reference positions, much more influences are exerted upon point-matching probability rather than locating errors. Therefore, in area II, despite the same AP number 5, except Wi-Fi fingerprinting method, the other two methods obtained lower locating accuracy than that obtained in area I, and their maximum locating accuracy is also lower than that in area I.Figure 13
AP Number Change in area I.Figure 14
AP number change in area II.By studying the CDF of average errors and locating accuracy, we learned that SmartFix and MoLoc can significantly improve the locating accuracy of the Wi-Fi fingerprinting method. As for SmartFix which uses trace property, and MoLoc which uses motion property, they reached almost the same level of locating accuracy, while SmartFix is a little better in most cases.


### 4.2.2. Energy Efficiency

We implemented the localization algorithms both on the Moto 360 2nd-generation Smartwatch and on HTC One Smartphone to compute the average energy consumption on algorithm calculating and repeatedly scanned the Wi-Fi signal to compute the average energy consumption on the data collecting. The results showed that SmartFix can significantly reduce the energy consumption of MoLoc and Wi-Fi fingerprinting method. Endurance time of locating for Smartwatch using Wi-Fi fingerprinting method with SmartFix is about 1.96 times of that using original method.For MoLoc, we repeatedly carried out the pedometer program to calculate the average energy consumption of built-in motion sensors. Figure15 shows the total energy consumption of Smart-TinyLoc, Smart-MoLoc, Smart Wi-Fi fingerprinting method, and original methods for performing one-time locating at the same accuracy level. The power consumption for one-time locating is Wi-Fi method: 0.042%; SmartFix Wi-Fi method: 0.011%; TinyLoc: 0.008%; Smart-TinyLoc: 0.008%; MoLoc: 0.022%; and Smart-MoLoc: 0.016%, respectively. And on Moto 360, the power consumption of those methods is Wi-Fi method: 0.013%; SmartFix Wi-Fi method: 0.013%; TinyLoc: 0.002%; Smart-TinyLoc: 0.002%; MoLoc: 0.007%; and Smart-MoLoc: 0.005%. The total energy consumption of SmartFix and the Wi-Fi fingerprinting method is produced from data collection and calculation, while MoLoc has extra energy consumption by built-in motion sensors. Since the energy consumption of calculation is negligible compared with that of data collection, the built-in sensors are the main cause of the extra energy consumption of MoLoc, and SmartFix can reduce work frequency of built-in sensors to achieve lower energy consumption. And for Wi-Fi method, SmartFix can significantly reduce the amount of real-time RSS data and save almost 70% energy. In fact, the locating accuracy and energy efficiency are the two related aspects. It will produce extra energy consumption if the localization algorithm takes measure to improve locating accuracy in most occasions. Locating algorithms suitable for wearable devices must consider the balance between locating accuracy and energy efficiency. Through the estimation, implementing the localization algorithms to the Moto 360 and scanning RSS signal once every 3 seconds, the time that it can perform localization with different localization algorithms is shown in Figure 16. It indicates that the stand-by times to localization are remarkably different by using different localization algorithm and the stand-by times of SmartFix methods are almost longer than the original ones. The stand-by time of Moto 360 is almost 24 hours. Working time of locating using Smart-TinyLoc for Moto 360 is the longest and can achieve 13.21 hours which is 13% longer than that using Smart-MoLoc (11.56 hours) and 3.11 times of that using original Wi-Fi fingerprinting method (4.25 hours) when it collects RSS data four times per location and achieves the acceptable accuracy. Working time of locating using SmartFix Wi-Fi fingerprinting method also extends almost 2 times than the original method.Figure 15
Energy consumption.Figure 16
Stand-by time of Moto 360.


### 4.2.3. Compatibility

We conducted experiments to attest whether the motion features retrieved from a certain environment can be applied to other environments. To analyze the compatibility of such motion features, we exchanged the feature acquired in areas I and II, of which results are shown in Figures17 and 18. By studying the experiment results, when applying area II features to area I, we got about 15% fall-off in accuracy. Meanwhile, the results of applying area I features to area II also show about 10% accuracy decrease. Therefore, the calculation of features should be conducted within specific environment. Such features have little compatibility among different areas.Figure 17
Training set exchange I.Figure 18
Training set exchange II.


### 4.2.4. Running Cost

As a history based indoor locating algorithm, the activating speed of SmartFix is shown in Figure19.Figure 19
Running cost of SmartFix.The figure indicates that, with the enlargement of training data, SmartFix acquired better locating accuracy, and when the number of history data reached up to 1000, locating accuracy achieved the maximum. Nevertheless, different environment results in different amount of data required. In area II, SmartFix needs more data to achieve the same locating accuracy with that in area I, which may results in area II’s small in space but complication in motion.


## 4.2.1. Locating Accuracy

We compared the localization accuracy of SmartFix, MoLoc, Smart-MoLoc (using SmartFix to optimize MoLoc), Smart-TinyLoc (using SmartFix to optimize TinyLoc), and Wi-Fi fingerprinting method from two perspectives: cumulative distribution function (CDF) of average errors and locating accuracy. Then, we analyzed the locating accuracy with different number of APs, trying to explain the difference between SmartFix and MoLoc (or TinyLoc) with respect to their utilization of user motion.(3)Dloc⁡=∑n=1stepDistancelocnestimated,locnrealstep,px=countloc∈pathstep=1,2,3,…,N∧Dloc≤x∑lengthpathstep=1,2,3,…,N.We first made the cumulative distribution function of average localization errors both on Moto 360 and on HTC One. The calculation method for average error Dloc and the cumulative probability px are displayed by formula (3). The CDFs in errors of the two experiments are shown as Figures 11 and 12.Figure 11
CDF of errors in area I.Figure 12
CDF of errors in area II.Evidently, Smart-MoLoc and Smart-TinyLoc outperform original indoor locating algorithm, and TinyLoc surpasses MoLoc when compared in the same environment. When using Smart-TinyLoc or Smart-MoLoc, the average probabilities of localization error within 2 m are over 80% in area II, and those probabilities decreased to 75% and 80%, respectively, in area I. Additionally, within 3.5 m, the probability of localization error for Smart-TinyLoc reached up to 90% in area II, while, for Smart-MoLoc, the error range should be released to 5 m to acquire an equal probability. Comparing the results in two different areas, those algorithms achieved better locating accuracy in area II, and the improvement of accuracy caused by SmartFix is little bigger in area II than that in area I. In area II, the improvement is about 2% and 5% for TinyLoc and 3% and 4% for MoLoc. For example, the probability of localization over 80% for Smart-TinyLoc is about 3.5 m and about 4 m for original TinyLoc. In area I, the average improvement caused by SmartFix decreased to 2% and 3% for MoLoc and TinyLoc. That is because area I is a large open space; there are much more changes for each person and less obvious character values in history path. According to this experiment, we find that SmartFix will work better in an indoor area such as office room, home, or restaurant. The experiment results indicate that SmartFix has a 2% and 5% improvement compared to original MoLoc with inner sensors and TinyLoc using certain principles to correct locating results, especially within a small interval.We then calculated locating accuracy (point-matching probability) in two different areas with different number of APs, of which results are shown in Figures13 and 14. In this experiment, we compared three locating algorithms: SmartLos (Smart-TinyLoc), MoLoc, and basic Wi-Fi fingerprinting method. With the increase of APs amount, all three methods obtained better locating accuracy, and when the number of APs overpassed a fixed value, locating accuracy nearly remained the same, which is compliant with [17]. SmartFix and MoLoc outperform basic Wi-Fi fingerprinting method in every amount of APs. In particular, in area I, for the sake of being an open space, when the number of APs is set to 5, SmartFix achieved the highest accuracy, about 78%, followed by MoLoc, approximately 60%, and Wi-Fi fingerprinting method had only about 12% locating accuracy. When the number of APs rose to the maximum 9, SmartFix and MoLoc obtained 94% and 92% locating accuracy, respectively, and Wi-Fi fingerprinting method also had as approximately twice improvement as before. This results indicate that the number of APs has a significant effect on locating accuracy. The rising tendency of locating accuracy in area II is similar to that in area I. Because of area II’s smaller space and lower density of reference positions, much more influences are exerted upon point-matching probability rather than locating errors. Therefore, in area II, despite the same AP number 5, except Wi-Fi fingerprinting method, the other two methods obtained lower locating accuracy than that obtained in area I, and their maximum locating accuracy is also lower than that in area I.Figure 13
AP Number Change in area I.Figure 14
AP number change in area II.By studying the CDF of average errors and locating accuracy, we learned that SmartFix and MoLoc can significantly improve the locating accuracy of the Wi-Fi fingerprinting method. As for SmartFix which uses trace property, and MoLoc which uses motion property, they reached almost the same level of locating accuracy, while SmartFix is a little better in most cases.


## 4.2.2. Energy Efficiency

We implemented the localization algorithms both on the Moto 360 2nd-generation Smartwatch and on HTC One Smartphone to compute the average energy consumption on algorithm calculating and repeatedly scanned the Wi-Fi signal to compute the average energy consumption on the data collecting. The results showed that SmartFix can significantly reduce the energy consumption of MoLoc and Wi-Fi fingerprinting method. Endurance time of locating for Smartwatch using Wi-Fi fingerprinting method with SmartFix is about 1.96 times of that using original method.For MoLoc, we repeatedly carried out the pedometer program to calculate the average energy consumption of built-in motion sensors. Figure15 shows the total energy consumption of Smart-TinyLoc, Smart-MoLoc, Smart Wi-Fi fingerprinting method, and original methods for performing one-time locating at the same accuracy level. The power consumption for one-time locating is Wi-Fi method: 0.042%; SmartFix Wi-Fi method: 0.011%; TinyLoc: 0.008%; Smart-TinyLoc: 0.008%; MoLoc: 0.022%; and Smart-MoLoc: 0.016%, respectively. And on Moto 360, the power consumption of those methods is Wi-Fi method: 0.013%; SmartFix Wi-Fi method: 0.013%; TinyLoc: 0.002%; Smart-TinyLoc: 0.002%; MoLoc: 0.007%; and Smart-MoLoc: 0.005%. The total energy consumption of SmartFix and the Wi-Fi fingerprinting method is produced from data collection and calculation, while MoLoc has extra energy consumption by built-in motion sensors. Since the energy consumption of calculation is negligible compared with that of data collection, the built-in sensors are the main cause of the extra energy consumption of MoLoc, and SmartFix can reduce work frequency of built-in sensors to achieve lower energy consumption. And for Wi-Fi method, SmartFix can significantly reduce the amount of real-time RSS data and save almost 70% energy. In fact, the locating accuracy and energy efficiency are the two related aspects. It will produce extra energy consumption if the localization algorithm takes measure to improve locating accuracy in most occasions. Locating algorithms suitable for wearable devices must consider the balance between locating accuracy and energy efficiency. Through the estimation, implementing the localization algorithms to the Moto 360 and scanning RSS signal once every 3 seconds, the time that it can perform localization with different localization algorithms is shown in Figure 16. It indicates that the stand-by times to localization are remarkably different by using different localization algorithm and the stand-by times of SmartFix methods are almost longer than the original ones. The stand-by time of Moto 360 is almost 24 hours. Working time of locating using Smart-TinyLoc for Moto 360 is the longest and can achieve 13.21 hours which is 13% longer than that using Smart-MoLoc (11.56 hours) and 3.11 times of that using original Wi-Fi fingerprinting method (4.25 hours) when it collects RSS data four times per location and achieves the acceptable accuracy. Working time of locating using SmartFix Wi-Fi fingerprinting method also extends almost 2 times than the original method.Figure 15
Energy consumption.Figure 16
Stand-by time of Moto 360.


## 4.2.3. Compatibility

We conducted experiments to attest whether the motion features retrieved from a certain environment can be applied to other environments. To analyze the compatibility of such motion features, we exchanged the feature acquired in areas I and II, of which results are shown in Figures17 and 18. By studying the experiment results, when applying area II features to area I, we got about 15% fall-off in accuracy. Meanwhile, the results of applying area I features to area II also show about 10% accuracy decrease. Therefore, the calculation of features should be conducted within specific environment. Such features have little compatibility among different areas.Figure 17
Training set exchange I.Figure 18
Training set exchange II.


## 4.2.4. Running Cost

As a history based indoor locating algorithm, the activating speed of SmartFix is shown in Figure19.Figure 19
Running cost of SmartFix.The figure indicates that, with the enlargement of training data, SmartFix acquired better locating accuracy, and when the number of history data reached up to 1000, locating accuracy achieved the maximum. Nevertheless, different environment results in different amount of data required. In area II, SmartFix needs more data to achieve the same locating accuracy with that in area I, which may results in area II’s small in space but complication in motion.


## 5. Related Work

Many indoor localization techniques have been proposed over the past decade and many researches study the application of indoor localization [18]. Wi-Fi-based indoor localization is always one of the most attractive techniques because of its ubiquitous deployment in indoor environment. Our work focuses on designing a low-power locating technology which can be deployed on the wearable devices and deals with the accuracy problems caused by reducing the amount of real-time data.Early indoor locating technology using GSM signal, RFID, Infrared, ultrasound pulses, or UWB required specialized hardware to determine the devices location [1]. RF signal intensity was first used in RADAR for indoor localization in 2000 [2]. In recent years, more indoor localization technologies have paid increasing attention to Wi-Fi RSS data, such as accuracy [3, 5], reducing measurement area [7], training of system [8], or using high-quality audio sensing system [19] as assistant locating method. However, as we know, the signal strength always fluctuates, so it requires a certain amount of real-time data to ensure proper locating accuracy. How to compensate the influence of measurement errors is an important research subject. FreeLoc [6] abandons methods that use RSS value directly but uses AP’s RSS relative order to locate a position and solve the problems caused by irregular changes of RSS. However, environment with less APs or adjacent regions RSS without significant change will cause some troubles in locating accuracy. MoLoc [14] is a motion-assisted locating scheme implemented on mobile phones which leverages user motion against fingerprint ambiguity. MoLoc can easily be integrated in existing locating systems by simply adding a motion database. However, the user motion detected by built-in sensors costs extra energy consumption which needs to be improved when implemented on the energy-constrained wearable devices. Another idea is to put aside the RSS and measure other stable physical data in Wi-Fi environment, such as FILA [9] proposed measure CSI (channel state information), in order to achieve higher accuracy. But it is not suitable for the wearable devices because of the low capability of detection.Energy efficiency is always a popular research topic in indoor localization [20] and also a key issue for wearable devices. Perceiving environment information to dynamically adjust the rate of data collection is the main idea of the current energy-saving mechanism, such as using velocity of the nodes to dynamically adjust the frequency of acquiring the signal strength [10, 21–24], reducing the rate of use channel responses from multiple OFDM subcarriers [25], and using the environment information [26, 27]. There are other methods to reduce the total energy consumption in a system, like GreenLoc [28]. GreenLoc considers that people generally have similar mobility patterns, so it selects a few people from the group as samples instead of detecting every person in order to lower the average energy cost for the whole system. But GreenLoc is not good at locating each of the individuals, which exactly needs to be done in smart home scenes.


## 6. Conclusion and Future Work

The rapid development of smart home and wearable devices provides a good foundation for the high availability of indoor LBS in home setting scenario. However, energy efficiency is the essential issue that needs to be significantly improved for the existing locating technology before they can be implemented on energy-constrained wearable devices. In this paper, we propose a novel indoor localization technology called SmartFix with its focus on energy efficiency, the first one that can fit in wearable computing in smart home scenes.SmartFix only needs single real-time RSS signal in the locating phase to guarantee excellent energy-saving performance. In another aspect, by referring to user motion features, SmartFix modifies locating results to achieve satisfying locating accuracy. According to the experiment, the probability of error within 2 meters can reach more than 80%. Meanwhile, energy consumption is 35% lower than that of MoLoc when achieves the same accuracy, and SmartFix obtains best accuracy with minimal energy cost. In the experiment, we applied the core idea of SmartFix to other location technology, achieved good results, and proved that SmartFix have good portability and technical compatibility.In addition to using the motion features, we will focus more on optimizing strategies for SmartFix, so that SmartFix can be applied to more diverse indoor application scenarios.



---

*Source: 8959356-2017-07-26.xml*