This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

Ubiquitous positioning provides continuous positional information in both indoor and outdoor environments for a wide spectrum of location based service (LBS) applications. With the rapid development of the low-cost and high speed data communication, Wi-Fi networks in many metropolitan cities, strength of signals propagated from the Wi-Fi access points (APs) namely received signal strength (RSS) have been cleverly adopted for indoor positioning. In this paper, a Wi-Fi positioning algorithm based on neural network modeling of Wi-Fi signal patterns is proposed. This algorithm is based on the correlation between the initial parameter setting for neural network training and output of the mean square error to obtain better modeling of the nonlinear highly complex Wi-Fi signal power propagation surface. The test results show that this neural network based data processing algorithm can significantly improve the neural network training surface to achieve the highest possible accuracy of the Wi-Fi fingerprinting positioning method.

Ubiquitous positioning technologies include but are not limited to Global Satellite Navigation Systems (GNSS) such as the American Global Positioning System (GPS), cellular and Wi-Fi networks, Radio Frequency Identification (RFID), Ultra-wide Band (UWB), ZigBee, and their integrations. Among these positioning technologies, Wi-Fi networks with the IEEE 802.11 license free communication standard have been rapidly developed in many metropolitan cities, e.g., in Australia, Hong Kong SAR of China, and Taiwan. The fundamental function of Wi-Fi networks is to provide a low-cost and effective platform for multimedia communications. In addition, the propagation of Wi-Fi signals, if properly modeled, can provide real-time positional information of mobile devices in both indoor and outdoor environments. Different Wi-Fi positioning approaches include Cell-Identification (Cell-ID), trilateration and fingerprinting. Detailed explanation of these approaches can be found in, for example [

Cell-Identification is the simplest method for signal strength based positioning systems such as cellular mobile network and Wi-Fi positioning. However, only very crude positioning results can be obtained. At an unknown mobile device’s position where signal strengths from _{2} from AP_{2} is the strongest among RSS_{i}_{i}_{2}, Y_{2}) will be used to approximate the mobile device’s position. With this approach, the accuracy would depend on the effective signal propagation distance, as well as density and distribution of the APs installed. This approach was further improved by for example, the weighted centroid localization (WCL) proposed by [

An example of radio map generated from a Wi-Fi signal strength database.

In real-time positioning, the RSSs collected at an unknown position are compared with radio map’s pattern. The pattern comparison algorithms can be generally classified into deterministic and statistical approaches which include point matching, area based probability and Bayesian network [

In this paper, our proposed neural network algorithm is compared with the point matching approach based on the minimum norm principle as described below.

The minimum norm point matching method can be mathematically expressed as:
_{RM} (_{MEAS} (

Since their emergence, the Neural Network of different types and structures has been used effectively in a number of cognitive processes. They have been shown to be able to detect some very subtle changes in observable data patterns. The activation (or transfer) functions that link one layer of neurons to the next are sigmoid instead of ordinary algebraic functions which render it highly responsive to any abrupt changes in the input data. In fact, it was proved by [

From the above introduction of the fingerprinting positioning approach, it is possible to consider the co-ordinates ((_{i}_{1}, _{2}, …, _{m}_{1}, _{2}, …, _{m}

With the above reason, a simple 3 layer Feed-forward Neural Network is considered to be an efficient learning algorithm for a more accurate position determination using Wi-Fi networks, and this Neural Network model is described below.

Let _{i}

The output from neuron _{j}_{1,}_{2}) is given by
_{k}

Combining Equations (2) and (3), we have,

From Equation (4), we see that given a set of average weighted signal strengths from a set of _{ij}_{1,} _{2}) correspond as the output from the network. Consider
_{i,l}

The configuration of our proposed neural network is shown in _{i}_{jk}_{ij}_{j}_{k}_{i,l}_{1}, _{2}) of a given point in our training set corresponding to the output (_{1}, _{2}); and the above parameters should be determined with the condition that the sum of squares of their difference is minimized. That is to minimize the expression
_{1} − _{1})^{2} + (_{2} − _{2})^{2}

A three-layer feed-forward Neural Network for Wi-Fi positioning.

Here the summation is taken over the entire training set. We shall see that the success of our learning process depends on whether we can get the smallest possible value for the above sum of squares of their difference or, in other words, the best learning surface that describes the actual RSS pattern generated by all the access points covering the whole region.

The minimization algorithm was adapted and modified from [

full local exploration

partial local movement and

exploratory movements

Each step is described briefly as follows.

(i) Full local exploration

Let ^{(k)} be the k^{th} approximation to the point where the minimum occurs and h be the step-length. The objective function at two sets of points about ^{(k)} defined in Equations (8) and (9) is evaluated.
_{1}: ^{(k + 1)} = ^{(k)} ± h_{i}_{2}: ^{(k + 1)} = ^{(k)} ± h_{i} ± h_{j}_{j} = (0, …, 1, 0, …, 0) is the unit vector whose j^{th} coordinate is one while the remaining coordinates are zero.

Consider that the first set of points lies uniformly on a sphere of radius h, while the second set S_{2} lies on a sphere of radius ^{(k)} obtained by taking the respective lengths of ^{(k+1)}^{2}. It can be shown that the global minimum, if it exists, would most likely be entrapped lying inside this neighborhood.

The search direction can be further refined as follows:

If ^{(k + 1)}) ≤ ^{(k)}) for some choices of ^{(k + 1)} will be evaluated before performing partial local exploration in order to finely adjust search direction, that is, to set:
^{(k + 1)} = ^{(k + 1)} + h_{t} (or − h_{t})

(ii) Partial Local Movement

This procedure helps us to decide when we should take a more aggressive move to reach the optimum from far away or when to take a more cautiously slow approach, when the true optimum is close by. The basic procedure is given in the following:

Let ^{(k+1)} − ^{(k)}. We evaluate ^{(k + 1)}:
_{1}: _{s} = ^{(k + 1)} + _{2}: _{s} = ^{(k + 1)} + _{i}h_{i}
_{i} = 1 or −1 according to the sign of the coordinates of _{s} = ^{(k+1)} ± _{i} and _{i} along the direction of b is excluded.

Now, if _{s}) ≤ ^{(k+1)}) for some choice of _{s} − ^{(k+1)} definitely gives a better direction of descent and we can make exploratory moves, as described in (iii) below, along this direction. Otherwise, we have to reduce the step-length by D and start the full exploration again at ^{(k + 1)}. It should be noted that the order of iteration is linear with respect to n.

(iii) Exploratory Movement

The classical exploratory movement in “pattern search” heuristics or the corresponding “gradient method” can never be taken to full advantage if the path of displacement cannot be modified as the move proceeds. By properly adjusting the direction as the move proceeds from point to point, we can help guide our search much quicker to the true optimum. This could be done as follows:

Let _{s} − ^{(k)}, and evaluate _{1}: ^{(k + 2)} = _{s} + _{2}: ^{(k + 2)} = _{s} + _{i}
_{i} along the direction of b is excluded.

Notice that at most 2n + 1 function evaluations has to be performed.

(iv) Effect of Contraction Ratio and Initial Step Length

A contraction ratio of D = 4 can be seen to be the most appropriate choice. For, in the lower dimensional cases (^{(k)} again, one can be assured that the actual minimum point lies within these contracted spheres. Now, if the minimum value is at either one of the points on the contracted sphere S'_{1}, (^{(k + 1)} = ^{(k)} ± (h/4)_{i} for some _{2}, (^{(k + 1)} = ^{(k)} ± (h/4)_{i} ± (h/4)_{j} for some _{2} and the original outer sphere S_{2}, it is easy to see that no more than four combined local or exploratory moves are required to reach it. In all cases, the order of complexity of search is n^{2}, similar to those with lower contraction ratios. It was found by [

(V) Termination Criteria

Terminate the search, if the step size is reduced to be less than a prescribed tolerance level. Care must be taken not to set the tolerance too low, otherwise, poorer results will be obtained even at the expense of longer computer time. In our learning process, we found from experimentation that the best tolerance is 1e^{−7}.

The initial step-length affects the rate of convergence. In our test runs, the initial step-length of 0.25 gave satisfactory results in most of the benchmark test examples. Except in the cases where the objective function fluctuates wildly in part of the search region, a shorter step-length or a rescaling of the objective function might help in giving a more satisfactory convergence. Often, whether the initial step length is suitable or not, could be detected in the first few iterations.

To obtain the best learning result, the optimization process has to be rerun one or two more times with a new restarting point each time and select the best solution (

The above algorithm was validated using data collected inside a building of the Hong Kong Polytechnic University (HKPolyU) campus, with the APs’ distribution shown in

Floor plan showing the distribution of access points in the test site.

The 14 numbers of APs were labeled according to area number from A to N respectively. In our investigation, signal strength data from 3 and 4 numbers of APs were used for training by the neural network. As shown in

An example of points selected for training by the neural network.

Points with known position were used to verify the accuracy achievement of the neural network results.

Accuracy achievement based on signal reception of four access points (APs).

4-AP Combination | 0–1 m | 1.1–2 m | 2.1–3 m | 3.1–4 m | >4 m | 0–4 m | Mean Square Error | Total No. of Points |
---|---|---|---|---|---|---|---|---|

G_D_E_F | 3.5% | 14.1% | 28.2% | 15.3% | 38.8% | 61.2% | 5.5 | 85 |

H_I_J_K | 0.9% | 7.8% | 12.1% | 15.5% | 63.8% | 36.2% | 26.7 | 116 |

L_K_J_M | 7.7% | 24.0% | 32.7% | 14.4% | 21.2% | 78.8% | 10.8 | 104 |

L_N_A_B | 9.8% | 24.5% | 26.5% | 13.7% | 25.5% | 74.5% | 2.6 | 102 |

L_C_J_B | 1.8% | 8.3% | 14.7% | 20.2% | 55.0% | 45.0% | 23.2 | 109 |

N_L_B_M | 18.1% | 28.7% | 20.2% | 9.6% | 23.4% | 76.6% | 2.7 | 94 |

C_G_D_H | 14.0% | 23.3% | 22.1% | 10.5% | 30.2% | 69.8% | 8.7 | 86 |

C_J_H_L | 1.3% | 8.8% | 8.8% | 15.0% | 66.3% | 33.8% | 5.1 | 80 |

D_F_G_E | 1.1% | 7.7% | 24.2% | 22.0% | 45.1% | 54.9% | 13.6 | 91 |

H_I_G_D | 2.9% | 10.8% | 13.7% | 19.6% | 52.9% | 47.1% | 12.3 | 102 |

Note: Initialization parameters used: _{ij}_{ij}_{jk}_{j}_{k}

Likewise, the processed results using different combinations of three APs are shown in

Accuracy achievement based on signal reception of three APs.

3-AP Combination | 0–1 m | 1.1–2 m | 2.1–3 m | 3.1–4 m | >4 m | 0–4 m | Mean Square Error | Total No. of Points |
---|---|---|---|---|---|---|---|---|

G_E_F | 17.6% | 24.7% | 11.8% | 20.0% | 25.9% | 74.1% | 4.0 | 85 |

H_I_K | 9.5% | 40.5% | 28.4% | 19.8% | 1.7% | 98.3% | 4.8 | 116 |

K_J_M | 6.7% | 20.2% | 26.0% | 24.0% | 23.1% | 76.9% | 3.7 | 104 |

L_N_B | 5.9% | 12.7% | 20.6% | 17.6% | 43.1% | 56.9% | 7.7 | 102 |

C_J_B | 15.6% | 40.4% | 26.6% | 5.5% | 11.9% | 88.1% | 5.3 | 109 |

N_L_M | 2.1% | 14.9% | 17.0% | 19.1% | 46.8% | 53.2% | 8.2 | 94 |

G_D_H | 22.1% | 37.2% | 24.4% | 3.5% | 12.8% | 87.2% | 4.3 | 86 |

C_J_H | 8.8% | 11.3% | 30.0% | 22.5% | 27.5% | 72.5% | 9.8 | 80 |

D_G_E | 5.5% | 17.6% | 28.6% | 17.6% | 30.8% | 69.2% | 12.7 | 91 |

H_I_G | 2.0% | 6.9% | 7.8% | 14.7% | 68.6% | 31.4% | 14.3 | 102 |

H_I_J | 1.7% | 9.5% | 18.1% | 21.6% | 49.1% | 50.9% | 13.4 | 116 |

I_J_K | 5.2% | 14.7% | 26.7% | 18.1% | 35.3% | 64.7% | 8.9 | 116 |

H_J_K | 10.3% | 19.0% | 25.0% | 19.0% | 26.7% | 73.3% | 6.1 | 116 |

Note: Initialization parameters used : _{ij}_{ij}_{jk}_{j}_{k}

It can be seen from

Relationship between mean square error and accuracy.

Comparison of accuracy achievement between the neural network and the minimum point matching methods.

Neural Network | Point Matching | |||||
---|---|---|---|---|---|---|

3-AP Combination | 0–2 m | 2.1–4 m | Mean Square Error | 0–2 m | 2.1–4 m | Total No. of Points |

G_E_F | 42.3% | 31.8% | 4.0 | 47.1% | 31.8% | 85 |

H_I_K | 50.0% | 48.2% | 4.8 | 59.5% | 29.3% | 116 |

K_J_M | 26.9% | 50.0% | 3.7 | 63.4% | 25.9% | 104 |

G_D_H | 59.3% | 27.9% | 4.3 | 58.1% | 30.2% | 86 |

It can be seen that the success rate of the two approaches are in general very similar except the K_J_M combination that, the 0–2 m accuracy for the point matching method is significantly better. It should be noted that only a set of constant initialization parameters was used in the neural network training process. This set of parameters may not produce the best trained surface for position determination. In fact, some of the solutions so obtained may just be local minima due to high complexity of our problem. Thus the actual implementation of the 3 steps proposed in

The first investigation is the effect of the trained surface by varying the initial parameters. Parameters _{ij}_{j}_{k}_{ij}_{jk}

_{ij}

_{jk}

Results of varied initialization parameters for the 3-AP I_J_K combination.

Initialization Parameters | 0–1 m | 1.1–2 m | 2.1–3 m | 3.1–4 m | >4 m | 0–4 m | Mean Square Error | Total No. of Points |
---|---|---|---|---|---|---|---|---|

Set 1 | 8.6% | 19.8% | 26.7% | 20.7% | 24.1% | 75.9% | 7.9 | 116 |

Set 2 | 12.9% | 34.5% | 37.1% | 6.9% | 8.6% | 91.4% | 4.2 | 116 |

Set 3 | 2.6% | 8.6% | 7.8% | 12.1% | 69.0% | 31.0% | 22.7 | 116 |

Set 1: _{i}_{l}_{ij}_{jk}_{j}_{k}

Set 2 : _{i}_{l}_{ij}_{jk}_{j}_{k}

Set 3 : _{i}_{l}_{ij}_{jk}_{j}_{k}

Comparison of the neural network and the point matching method using the lowest MSE of the I_J_K combination.

Accuracy | Point Matching | Neural Network |
---|---|---|

0–2 m | 60.4% | 44.8% |

2.1–4 m | 26.7% | 46.5% |

0–4 m | 87.1% | 91.3% |

The second investigation is the variation of the input order of the signal strength from the three APs with a set of fixed parameter setting. A typical set of results is shown in

Results of different order of three APs used for neural network training.

Sequence of Combination | 0–1 m | 1.1–2 m | 2.1–3 m | 3.1–4 m | >4 m | 0–4 m | Mean Square Error |
---|---|---|---|---|---|---|---|

I_J_K | 8.5% | 19.1% | 24.0% | 18.1% | 30.4% | 69.6% | 8.7 |

I_K_J | 8.1% | 20.2% | 24.4% | 17.1% | 30.2% | 69.8% | 8.2 |

J_I_K | 11.4% | 24.6% | 26.6% | 15.8% | 21.6% | 78.4% | 6.4 |

J_K_I | 11.3% | 24.7% | 25.8% | 16.7% | 21.4% | 78.6% | 6.4 |

K_I_J | 9.0% | 20.9% | 24.6% | 19.2% | 26.3% | 73.7% | 8.1 |

K_J_I | 9.9% | 22.0% | 24.6% | 17.4% | 26.1% | 73.9% | 7.8 |

The above tests and comparison studies have confirmed the effectiveness of our proposed algorithm. Based on our experience, the 3-step heuristic optimization method can be effectively implemented by varying parameters _{ij}_{jk}

From our investigations, Wi-Fi positioning can generally achieve 1 to 4 m of accuracy in an arbitrary Wi-Fi network area using the neural network approach. However, the training process and parameter selection of the neural network is the key for achieving the highest possible accuracy of Wi-Fi positioning results. Our experimental results show that the proposed neural network improves the accuracy of positioning significantly by improving the nonlinear, highly complex Wi-Fi signal propagation patterns. To avoid being trapped in a local minimum, training should be permitted to retry with different initial parameter settings and different order of AP data inputs, so that the best set of parameters (

The following summarizes the advantages of our proposed algorithm:

This algorithm is based on the Wi-Fi fingerprinting approach that, Wi-Fi AP’s coordinates are not required in the position determination process. It is suitable for establishing a Wi-Fi based positioning system in areas such as inside shopping malls where APs’ positions are difficult or not possible to be precisely determined.

This approach is entirely general and flexible. Whenever there are some changes in the existing Wi-Fi network (e.g., some addition, or deletion or reposition of access points), all we have to do is to retrain our neural network properly.

There is no limit to how close our neural network approximation is to the actual radio data pattern (or hyper-surface), as long as we have sufficiently large number of neurons in the hidden layer of our simple three layer feed-forward neural network. However, it should be noted that, a too large number of neurons in the middle layer may render the learning process less tractable and higher truncation error. This is because the more complex structure of the function to be minimized may offset some of its improved accuracy.

Since the percentage of better than four meter accuracy is found graphically to be inversely proportional to the mean square error in our training process, one can improve it to any desirable proportion by further minimizing. It has been illustrated that one can get closer to the actual minimum square error by retraining the neural network with different initial parameter settings, our optimization algorithm is simple and effective, and can be further improved or replaced by another even more powerful one with basically no change in our model structure.

In our investigation, only the minimum norm point matching method is compared with our proposed algorithm. As addressed in the Introduction section, many other effective Wi-Fi positioning algorithms have been proposed recently. It would be worthwhile to further investigate the strengths of each approach under different geometrical, access point availability and distribution, and influence conditions, for developing a reliable ubiquitous positioning system with the best achievable accuracy, to also support Global Satellite Navigation Systems (GNSS) in case satellite positioning fails in highly obstructed outdoor environments.

This research is fully supported by UGC Research Grant BQ-936 “Intelligent Geolocation Algorithms for Location-based Services”. The authors would like to thank Jeffrey Yiu for his assistance in the field tests and data processing of the investigations presented in this paper.

The authors declare no conflict of interest.