An improved hybrid indoor positioning system based on surface tessellation artificial neural network

In indoor environments, accurate location or positioning becomes an essential requirement, driven by the need for autonomous moving devices, or to identify the position of people in large spaces. Single technology schemes which use WiFi and Bluetooth are affected by fading effects as well as by signal noise, providing inaccuracies in location estimation. Hybrid locating or positioning schemes have been used in indoor situations and scenarios in order to improve the location accuracy. Hence, this paper proposes a hybrid scheme (technique) to implement fingerprint-based indoor positioning or localization, which uses the Received Signal Strength (RSS) information from available Wireless Local Area Network (WLAN) access points as well as Wireless Sensor Networks (WSNs) technologies. Our approach consists of performing a virtual tessellation of the indoor surface, with a set of square tiles encompassing the whole area. The model uses an Artificial Neural Network (ANN) approach for position estimate, in which related RSS is associated to a 1 m × 1 m tile. The ANN was trained to match the RSS signal strength to the corresponding tile. Experimental results indicate that the average distance error, based on tile identification accuracy, is 0.625 m from tile-to-tile, showing a remarkable improvement compared to previous approaches.


Introduction
The search of accurate wireless localization algorithms, which are a key enabler technology of emerging Location Based Services (LBS) has been receiving enormous attention. The necessity of an effective and precise localization approach is growing, motivated by the increasing interest in universal computing as well as location aware approaches. 1 Global Positioning System (GPS) architectures have been vastly applied to different LBS applications. However, the performance of GPS is not as good in urban canyons compared to open spaces, particularly in-house and indoor as well as in underground situations or environments, because of excessively weak GPS signals from satellites, which cannot penetrate into the houses and buildings or through the ground. As a consequence, GPS in particular becomes ineffective for indoor localization purposes. 2 To overcome this limitation, Indoor Positioning Systems (IPS) are proposed by using single, two or more wireless technologies in combination. 3 The wireless-based localization is still affected by fading effects, which are caused by the indoor environment obstacles such as walls and partitions. These irregularities present in any indoor environment are among the major cause of positioning errors. 4 Keeping in view of these fading effects, hybrid indoor positioning systems have been proposed in order to achieve improved location accuracy as well as availability, by using the advantages and abilities of the dual technologies. 5 Due   1 to the increasing growth of Internet of Things (IoT) technology as well as Fifth Generation (5G) technology for data communication, it is necessary to examine, optimize and implement new location based indoor applications. 6 The combined placement of WLAN access points and cost-effective WSNs for universal applications has increased the already tremendous attention for IPS. The information data from the WLAN and WSN wireless systems, for indoor localization, can be obtained and used to improve the location estimate as well as information. This work utilizes a hybrid indoor positioning system based on WLAN access points and WSN technologies. The main aim of this hybrid approach is to improve the indoor positioning accuracy as well as to reduce the computing time, allowing locating any connected object in the indoor environment in real-time. This scenario is supposed to be implemented while keeping the robustness of the positioning algorithm. Indoor localization is used by the proposed hybrid technique, which use fingerprinting methods in both WLAN and WSNs.
The large number of RSS sample data for the realtime application of an indoor positioning system requires a machine learning approach and possibly heuristic optimization algorithms. One major problem in investigating those RSS sample data is the prominent non-linearity of the spatial distribution of the signal intensities. The key drawback in linking the RSS signal intensities to precise location is that these intensities appear basically random as well as fading in more secluded parts of the accessible space, leading to nonlinear association to the spatial position. Some of the experimental data, namely the signal intensities from one access points of the WSM, which were collected and implemented in our research, are illustrated in Figure 1. It is depicted that the non-linearity of the RSS signal is obvious in both spatial directions. The same behavior can be observed in all other RSS signals collected from all other access points. Though locally the signal strength could be approximated as spatially linear, this behavior becomes untenable in the whole accessible space.
In view of these considerations, the complex RSS sampled data needs solution to grab the non-linear data. The ANN approach is best choice, due to the fact that ANNs use non-linear discriminant functions intended for classification. The powerful learning capabilities, as well as adaptive abilities of ANN techniques, have been used in positioning applications, particularly together with fingerprinting approaches. 7 In ANN, location-tagged calibration data from both WLAN and WSN are utilized, leading to the proposition of a model and related hyperparameters. This trained architecture becomes the mathematical model which tackles the positioning problem and makes use of continuously available signal strength data.
In our previous research, 8 a Multilayer Perceptron (MLP) network was used to match measured positions to the predicted ones based on the WLAN and WSN hybrid signal intensities. In this work, a new concept of surface tessellation of the experimental area is introduced. The main motivation consists in the fact that, for most applications, the required positioning precision lies in the range of 1 m. Moreover, the results of present research carry a position error of the same range. 8 Thus, it seems natural to link the WLAN and WSN signal intensities to finite size tiles rather that a single point, while keeping in mind that a finite tile carries an intrinsic incertitude in the position calculation. Consequently, we aim to match finite sized tiles in a grid to measured signal intensities by means of a suitably designed and trained artificial neural network. This paper is organized into four parts. The first part gives a brief introduction of the research area and the related work. The second part presents the methodology of the research, and the third part discusses the results and discussion. The fourth and last part concludes the work and introduces ideas for future research.

Related work
In the last years, lots of researchers have developed indoor location approaches based on RSS, based on data coming from single wireless technologies. For example, numerous techniques, like Bayesian classification and filtering, Kalman filtering, GPS-like triangulation, nearest neighbors, neural networks, and support vector machines (SVM) were used to tackle the lack of precise positioning. 9,10 Up to now, the use of a single type of signal source and technology has limited the achieved position determination; consequently further research is required for an improved accuracy and adaptability. Several researchers have proposed hybrid locating systems while using the indoor/outdoor scenarios to obtain improved position accuracy as well as accessibility by manipulating abilities of various wireless technologies. 11 An indoor-based localization system combining ambient magnetic field and WiFi as fingerprints is presented in Zhang et al., 12 employing a smart combination of two fingerprinting approaches, in such a way they can complement each other. This approach gets a scalable placement because of its small fingerprint database, whereas achieving very competitive positioning accuracy in comparison of other state-of-the-art approaches. Hybrid approaches are able to achieve higher localization accuracy and decrease the workload in collecting indoor databases.
A hybrid in-building localization as well as navigation (HILN) approach for pedestrians having mapmatching-feature was proposed in Tian et al. 13 This system integrates pedestrian dead reckoning with lowrange vicinity access control approach, such as RFID, having adaptative drift adjustment at exchange control points, all together using a particle-filter map-matching algorithm. Another hybrid approach is carried out in Sharma and Gulhane. 14 The proposed system combines a mechanism of range-based technique with multiple angle measurements (AOA). However, the experimental analysis was not discussed and incomplete.
In Huang et al., 15 the authors present a hybrid Wi-Fi assisted indoor localization using Li-Fi (Light-Fidelity) based model adjustment in smart buildings. The author articulated the concept of visible light while using an LED light bulb for transmitting high speed data toward a photo detector, attached to a smartphone. The articulated idea was further verified using extensive experiments and measurements.
A hybrid indoor localization and navigation (ILONA) approach is presented in To´th. 16 The proposed ILONA system is used as an averaged core component of different systems. This proposed approach offers improved positioning and navigation amenities for the consuming end users. Smartphones have been used by this system to manage data from them. However, the proposed ILONA system could be made at low cost, as it only needs a connection between the server and the clients.
WiFi positioning and localization is used with a pedestrian-dead-reckoning (PDR) systems in Chen et al. 17 The joining of these technologies alleviates the fluctuation of RSS-based WiFi positioning, which is because of the fluctuation of RSS as well as the buildup of error with respect to time in the proposed system. In Bahillo et al., 18 another hybrid localization system is proposed and implemented utilizing RTT measurement approach, which is established on 802.11/WLAN transceivers as well as the Robust-Least-Squared-Multi-Literation (RLSM) approach. For time calibrations, a printed circuit board (PCB) is utilized. It achieved an improved position accuracy of less than 3 m.
All these works have led to the consideration that a hybrid approach can lead to a significant increase of the indoor accuracy in positioning. For the sake of limiting the implementation costs, only readily available technology was considered. In particular, WiFi and WSN were the signals we chose for our hybrid indoor positioning systems. Table 1 presents the strengths and weaknesses of the WiFi and WSN technologies, when used separately. Moreover, the usage of surface tessellation, proposed in this work, was deemed to be a novelty as no similar technique was found previously in literature. The results of our work, together with the achieved accuracies presented in the above selection of works, will be presented and compared in Section 4.

Research methodology
Due to the wide deployment application of WLANbased access points as well as WSNs in general and context-aware applications, and the utilization of both of them for positioning and localization, these technologies became attractive for LBS applications. For indoor positioning, the information data from both of WSN nodes and WLAN-based access points can be gathered and used to refine as well as improve the location estimate. In our work, we have developed and implemented a hybrid indoor positional system by combining the WLAN-based Access Point and WSNbased technologies.
On top of this, we aimed at the optimization of the tracking accuracy. The motivational aim of our research was to get an accurate and reliable locationbased technique according to the various needs in indoor applications. Utilizing both WLAN access points and WSN could leverage the limitations of any of the technologies while keeping their points of strength and in the end to improve the localization accuracy. While none of these technologies are a dominant solution for indoor positioning, the signal stability of the WiFi system could overcome the less stable signals which are typical of the WSN network and while the latter is less subjected to fading effects. On the other hand, the default short range of the WSN signals constitutes an advantage in the positioning accuracy. The hybrid approach could also improve the handling (processing) time to identify the object in in-building (indoor) environment, whereas keeping in observation the reliability of the articulated algorithm.

Site selection
For indoor signal propagation depiction, the initial raw data collection, as well as data analysis, are significant for location fingerprinting. This study investigates the real measurement of the RSSI based on IEEE 802.11b/ g wireless card and the access points (APs) accessible within the area. For experimental RSS data collection, the basement of Faculty of Engineering and Built Environment at the National University of Malaysia (UKM), Malaysia, was used. The basement, which we used as experimental area, is surrounded by many research laboratories, furnished offices, long corridors, long meetings rooms, big lecture halls, and structural pillars and walls. The sketch of the layout and relative positions in a regular grid of the anchor points where the experimental data were collected is shown in Figure 2.
The nature of indoor localization is affected by multiple fading and disturbance effects of various origins. Existing obstructions include walls between the anchor points and the experimental area, as well as pieces of furniture and moving people during working hours. The location of the Access Points was not determined as the signal intensity alone was deemed sufficient for this work, as long as the position of the access points are fixed during the whole data collection process, which of course was the case. The usage of a real communication setup allows the identification of a set of practical assumptions and confirms a fair evaluation under realistic operating circumstances.

Measurement setup
For experimental RSS data collection, we picked up 90 total anchor points for fingerprinting database implementation. A Lenovo G580 laptop computer with a core i5 processor is used as a measurement set. Furthermore, for collection of RSS data samples, an on-board wireless adaptor (Atheros AR9285) based on 802.11n, with operating system (Windows-7), is used.
For the collection and analysis of RSS data samples, an open WiFi Scanner software (inSSIDer) was used. Some adaptations were executed in the ''inSSIDer'' software, in order to create the log files of the measured RSS signals, with respect to visible MAC address and the time stamp. The distribution of the anchor points in the experimental space is shown in Figure 3. The anchor points were selected to lie on a regular grid, with intervals of 1 3 1.5 m in directions parallel to the walls. In order to avoid variations on the local signal intensities, each recording was done at exactly 1 m of height by moving a trolley with all measuring devices on top. Previous research by one of the Authors showed an influence of height on the quality and instability of the signals by gradually lowering the measuring device. 19 Consequently, it was decided to set the measuring height at 1 m.
Data were collected simultaneously in each of the 90 anchor points from WiFi and WSN sources. Each measurement was repeated 300 times along 1 min, that is, at a period of 0.2 s. The average of the 300 values was considered for building the signal database. At the same time, the standard deviation of each measured set in each point was calculated and found to be satisfactorily within 5% of the signal intensities.

Positioning algorithm
The procedural scheme of the proposed hybrid approach, which uses a fingerprinting technique for indoor localization, is shown in Figure 4. The first phase consists of the data acquisition process, that is, measuring and recording multiple signal intensities along a grid encompassing the experimental area. A set of 90 spatial locations in regular array was selected as anchor points, in which the RSS signal intensities of both WiFi and WSN were obtained. No data preprocessing was performed at this stage and consequently no influence on the selection of further anchor points was considered during data acquisition.
After obtaining all the experimental data, the analysis and construction of a mathematical model of the behavior of signal intensities in the 2D experimental area is performed by training a suitably designed Multilayer Perceptron (MLP) network, due to its intrinsic capabilities of classifying non-linear data. The algorithm for the proposed technique was developed in Matlab and run on a Windows-based 1.6 GHz Core i5 computer with 8 GB of memory.
The MLP algorithm, used to address the indoor localization scenario, requires a number of preprocessing steps in order to apply the proposed tessellation approach. The main steps consist of creating the tiling array, preprocessing the raw signals for the MLP input and associating the tiles to binary codes in order to match their positions with the standard MLP output format.
First, all the experimental surface, where anchor points were selected, is covered with a set of square tiles. The tile size was chosen to be 1 m 3 1 m, positioned in a way to avoid the experimental points to be placed on the tile edges. Thus, each data point is univocally assigned to one tile only. The choice of the tile size was driven by the consideration that this is aligned with the size of indoor locating target for macroscopic objects such as self-navigating robots or people. Each tile was then identified by two integers, counting in horizontal and vertical directions in increasing spatial coordinates. By selecting square tiles of 1 m length, the experimental area was subdivided into a 6 3 22 tessellation. Each anchor point of coordinates x, y ð Þ in  meters was assigned the tile of position T xy = T x , T y À Á according to the ceiling function as follows: where the offset of 0.3 m was added after testing with threshold algorithm so that the every anchor points does fall onto the border between two adjacent tiles.
In order to perform a meaningful selection of informative anchor points and to consider only the variation in signal intensities, normalization was performed separately on each of the 6 RSS datasets coming from the WiFi and WSN access points. Then, outliers were identified as showing normalized signal intensities beyond the range of 2s. First, separately for each of the 6 datasets, the mean M k and standard deviation D k of the RSS S ijk signal intensities were calculated. Then, normalization was performed according to the following transformation: where the index k refers to the dataset from a single signal, while i and j are the coordinates of the anchor point on the grid where signals were measured. Any access point having at least one normalized signal intensity in which N ijk . 2 is removed from the dataset as considered having outlier signal values. A total of 21 signals, corresponding to six anchor points, were detected and removed from the overall database. The remaining 84 sextuplets of normalized signals were kept as input in the MLP without further preprocessing. When using a standard MLP network, regardless of the number of hidden layers, the output consists of a string of values, each included in the open interval 0, 1 ð Þ. It is therefore necessary to identify each tile with a different code using only binary values, as discussed in the following. Moreover, it is conceivable to identify neighboring tiles, in both directions, with binary coding differing only by one digit. In order to keep a constant distance between the outputs of adjacent tiles, a binary string was chosen, in which nearby tiles would have similar patterns, and the pattern difference would grow with the distance between tiles. Based on 6 3 22 grid tessellation, a possible binary form for each tile is shown as in Figure 5. According to the binary string, the difference between the coding of two tiles would be of as many digits as the city block distance in the grid.
After the preprocessing of the signal intensities and the position targets, the MLP was initialized in terms of size of the hidden layer, learning rate and momentum value and random choice of the initial weights. The data set was split into training and testing set where the latter is 10% of the total training data (8 datasets). The flow chart of the positioning algorithm is presented in Figure 6.
The MLP network was trained with the standard technique of error reduction by backpropagation, for which the mathematical coding is well established. The goal of the MLP training consists of finding appropriate weight values W 1 and W 2 for which any input vector of the training set matches its own target within a preset minimal error. Thus, the error function is calculated as the sum of the square differences between all the target values b and the outputs g of the feedforward part of the MLP network, which is calculated as: where a is the sigmoid activation function, X is the 76 3 6 matrix of the signals. The standard backpropagation procedure consists of updating the weight matrixes at each training iteration, with the following steps. First the desired variation of the output is calculated as: which leads to the necessary variation of the values of the hidden layer:  However the values of the hidden layer, D, are not modified, as their variation is only used to evaluate the necessary correction of the first set of weights. Finally the weight corrections DW are given by: where l is the learning rate and m is the momentum, whose values are determined by trial and error during the coding debug.
The main focus point in this research was the total tile mismatch for both the training and the testing sets. First, the output of the MLP was decoded in order to transform the resulting binary string into tile coordinates. The string was split into the two parts (6 and 22 digits), then the rightmost '1' in each part was considered as the indicator of the tile. It has to be noted that any digit mismatch at the left of the indicator would not affect the definition of the tile. For example, the output strings '101010. ' and '111110...' would both be decoded as the fifth tile from the left most edge of the tessellation surface. After decoding, the total tile mismatch was evaluated by comparing the relative position of every target tile with respect to the output tile. Each distance was calculated via a city block metrics and all values were added. The MLP algorithm stopping criterion was then linked to reach a satisfactory value for both the training and testing data of total tile mismatch.

Results and discussion
For the architecture of the MLP network, it was decided to use a single hidden layer with 20 hidden units, with weighted bias nodes. The resulting weight matrixes carried dimensions of 7 3 20 and 21 3 28 respectively for W 1 and W 2 . It can be estimated that 60 hidden units would provide a MLP network with exact target prediction, based on the amount of experimental data, that is, 76 anchor points in the training data, after removing the outliers and after separation of the test data. However, it was decided to reduce that number by a factor of three to preserve the generalization capabilities of the MLP network and to aim at reducing the error of the output of the test population.
The training of the MLP network was repeated an extensive amount of times, in order to observe its behavior and to record the typical parameters corresponding to minima in the value of the error of the testing data. The very first few runs were used to fine-tune the values of the learning rate and the momentum rate, with the aim to reduce the number of training steps and consequently the computing time. In this phase, the training was done using all 84 points without selection of the testing data. The aim was to investigate the speed of the algorithm, the kind of mismatches between actual and predicted tiles and the stability of the error reduction using the backpropagation technique. The results of a typical run are shown in Figure 7. The 'tiles error' d was calculated as the city block distance between the target tile and the output tile of the MLP network.
Each run of the MLP training was accomplished with a different set of random testing points, to examine any possible consequence of such initial choice regarding the accurate results. However, in a large number of runs no significant effect on the random choice of the testing data was observed in terms of accuracy. The choice of learning rate and momentum was quickly defined by trial and error, in order to balance the speed of descent of the training error with the stability of the back propagation process. The chosen hyperparameters were found to be l = 0:01 for the learning rate and m = 0:8 for the momentum, values which provided a fast training in term of number of training iteration and consequently computing time. At the same time, the stability of the backpropagation process was achieved with the lack of insurgence of spikes or saturation in the MLP output error during training.
The algorithm was set to stop when all tiles in the training set were correctly identified, which usually happened after 30000 to 40000 iterations that took about 3 to 4 min of computing time. Tile mismatch larger than one unit used to quickly disappear within 10,000 iterations. We calculate the total tile error T as follows: where d is the tile error as defined above and n d ð Þ is the count of output tile errors.
The total tile error quickly becomes equivalent to the number of mismatched tiles. It is worth to note that a mismatch between the MLP output and the target can still lead to the correct tile identification, as the tile position is defined exclusively by the most significant bit in the coding. The MLP error was calculated according the usual expression of batch training with back propagation as given in equation (9): The layout of the anchor points, linked to the corresponding MLP tile prediction, is shown in Figure 8. We observe that after 10,000 iterations the tile mismatch is still dominant. However, after 30,000 iterations training is mostly complete and only one mismatch is left. It can be observed that in both cases the tile mismatches take place in horizontal direction. In all runs which were performed, any vertical mismatch was always corrected within few hundred iterations, possibly because of the larger extension and signal variation along the vertical direction.
The accuracy of the proposed method was investigated by considering a test population, randomly chosen as 10% of the total available data. At the beginning of every training run, the 84 points were split into 76 training data and 8 test data. These were not used for training purposes, but their tile error was considered as the accuracy parameter for the whole tile approach of the indoor positioning scenario. The final total tile error for the test population consistently reached the value of 5, although the value of 4 was never observed during dozen of runs. The average tile error T h i is calculated as follows: where the sum extends on the size N of the test population. T h i equals to 0.625 m. In Figure 9, the corresponding layout of the target and output tiles is shown, together with the mismatches. In this case, for the test population out of eight tiles, four of them were correctly identified, three carried a mismatch of one tile and one point carried a mismatch of two tiles. The result was achieved while the train population still showing a total tile error of two, that is, two mismatches of one tile. Again, this scenario was achieved with less than 40,000 iterations, that is, with a total computing time of less than 4 min.
A direct comparison with previously published results was not possible because of the novelty of this technique which considers the tessellation of the experimental space rather than the exact position of the anchor points. Under the assumption that a correct tile prediction carries no error in positioning, the resulting average distance error of the test population would be 0.625 tiles or 0.625 m. In a more conservative approach in the distance error evaluation, it can be assumed that each 1 m 3 1 m tile carries an intrinsic error d err equal to the average distance between the tile center and a random point inside it, which can be evaluated as follows: ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi x 2 + y 2 p dxdy ð11Þ Figure 8. The layout of the anchor points, marked by blue dots, and predicted tiles, whose centers are marked by red stars. The red lines join the anchor points to their mismatched tiles. The situation toward the end of the training shows one final mismatch, while all other tiles have been correctly identified. Figure 9. The layout of the test anchor points at the end of the MLP network training. The red dots, marking the positions of the test data, are connected to the red squares, which indicate the corresponding predicted tiles. Four tiles are correctly identified, three show a mismatch of one tile, while one has a mismatch of two. All training data have correct tiles except for two, whose wrong tiles are identified by the blue stars.
The resulting intrinsic error d err equals to 0.383 m. Adding this value to the 0.625 m we obtain the average positioning error of 1.01 m for the test population.
We compared the proposed approach with state-ofthe-art nearest neighbor variants that is, Nearest Neighbor (NN), kNN, and weighted kNN algorithms (wkNN). 20 We tested the algorithms using similar datasets and applied similar number of iterations of 30,000 to obtain realistic results. Among the algorithms, wkNN performs the best by giving localization error of 2.07 m with k = 4. However, the proposed hybrid tessellation ANN approach still shows significant improvement with error difference of about 1 m compared to those nearest neighbor methods. The detail results of this comparison are tabulated in Table 2. We also compare the performance with various other similar research approaches. The mentioned approaches are based on two-dimensional data acquisition. When the WiFi and WSN signals are taken separately, the achieved accuracies of the hybrid localization approaches are illustrated in Table 2. The average distance errors utilizing 228 and 96 anchor points were 1.22 m and 1.35 m, respectively. Alternatively, our previous work on hybrid indoor WiFi-WSN position system carries an accuracy of 1.05 m. 8 Hence, an improved approximation can be gained while utilizing a huge number of anchor points. Therefore, our results indicated an improved accuracy compared to other published works.

Conclusion and future work
This article illustrates a hybrid joint WiFi-based as well as WSN-based positioning system for in-building (indoor) applications. The proposed system is based on the strength and intensity of the received signals obtained from a set of locations used for experiments, with the purpose to achieve enhanced localization accuracy. We used the novel concept of virtual surface tessellation of the experimental area and to associate the positions where signals were measured to finite sized tiles. A Multilayer Perceptron Layer (MLP) network was trained in order to predict the tile location based on the hybrid signal strength. The achieved position error resulted in a significant improvement of the positioning accuracy. Moreover, our proposed hybrid inbuilding (indoor) positioning approach provides an advantage of decreased cost, and easily expandable to large areas to further test its performance and robustness. This research encourages further investigation, on the fact that the presented results were obtained with a fixed tile dimension and the MLP algorithm was designed with one hidden layer only and fixed number of hidden units. As future work, the positioning accuracy will have to be investigated using tiles of different dimensions, possibly using two hidden layers and variable MLP configurations. These results encourage further investigation and propose themselves as a promising starting point.

Authors contributions
Zahid Farid, Edgar Scavino and Mohd Amiruddin Abd Rahman conceived of the presented idea. Zahid Farid, Edgar Scavino, executed computations and proposed the theory. Imran Ullah and Gang Qiao confirmed and testified the analytical approach. Zahid Farid, Edgar Scavino encouraged Mohd Amiruddin Abd Rahman, Imran Ullah, and Gang Qiao to investigate and supervise the indoor accuracy as well as findings of this research work all together. All authors discussed and finalized the results and contributed in this work.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.