{'fraction_non_alphanumeric': 0.038728954777911856, 'fraction_numerical': 0.007843475262885709, 'mean_word_length': 4.529308975377283, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Indoor Localization by Fusing a Group of Fingerprints Based on Random Forests

Indoor localization based on SIngle Of Fingerprint (SIOF) is rather susceptible to the changing environment, multipath, and non-line-of-sight (NLOS) propagation. Building SIOF is also a very time-consuming process. Recently, we first proposed a GrOup Of Fingerprints (GOOF) to improve the localization accuracy and reduce the burden of building fingerprints. However, the main drawback is the timeliness. In this paper, we propose a novel localization framework by Fusing A Group Of fingerprinTs (FAGOT) based on random forests. In the offline phase, we first build a GOOF from different transformations of the received signals of multiple antennas. Then, we design multiple GOOF strong classifiers based on Random Forests (GOOF-RF) by training each fingerprint in the GOOF. In the online phase, we input the corresponding transformations of the real measurements into these strong classifiers to obtain multiple independent decisions. Finally, we propose a Sliding Window aIded Mode-based (SWIM) fusion algorithm to balance the localization accuracy and time. Our proposed approaches can work better in an unknown indoor scenario. The burden of building fingerprints can also be reduced drastically. We demonstrate the performance of our algorithms through simulations and real experimental data using two Universal Software Radio Peripheral (USRP) platforms.


I. ABSTRACT
Indoor localization based on SIngle Of Fingerprint (SIOF) is rather susceptible to the changing environment, multipath, and non-line-of-sight (NLOS) propagation. Building SIOF is also a very time-consuming process. Recently, we first proposed a GrOup Of Fingerprints (GOOF) to improve the localization accuracy and reduce the burden of building fingerprints. However, the main drawback is the timeliness. In this paper, we propose a novel localization framework by Fusing A Group Of fingerprinTs (FAGOT) based on random forests. In the offline phase, we first build a GOOF from different transformations of the received signals of multiple antennas. Then, we design multiple GOOF strong classifiers based on Random Forests (GOOF-RF) by training each fingerprint in the GOOF. In the online phase, we input the corresponding transformations of the real measurements into these strong classifiers to obtain multiple independent decisions.
Finally, we propose a Sliding Window aIded Mode-based (SWIM) fusion algorithm to balance the localization accuracy and time. Our proposed approaches can work better in an unknown indoor scenario. The burden of building fingerprints can also be reduced drastically. We demonstrate the performance of our algorithms through simulations and real experimental data using two Universal Software Radio Peripheral (USRP) platforms.

III. INTRODUCTION
E MERGENCE of location-based service and applications has led to a growing demand for space sensing and localization [1], [2]. Although Global Positioning System (GPS) has gained great success in many outdoor localization fields, such as commercial, personal, and military applications, it does not perform effectively in complex indoor environments owing to the disability of GPS signals to penetrate in-building materials. Therefore, precise indoor localization is well sought and critical for a wide range of applications.
Indoor localization environment consists of severe multipath and non-line-of-sight (NLOS) between the transmitter and receiver. In addition, the changing environment resulted from moving people and closing/opening of doors and windows, presents a big challenge for indoor localization. These factors degenerate the performance of some range-based indoor localization approaches [3], [4]. The fingerprint-based approach does not need to estimate the distance between the transmitter and receiver. It achieves better performance than the range-based approach in a complex indoor environment. However, most of the existing fingerprint-based approaches are based on a SIngle Of Fingerprint (SIOF), such as received signal strength (RSS). The major challenge of RSS is its fluctuation with time and changing environment. So, RSS shows low accuracy and poor robustness in practice. Other SIOFs, including channel impulse response (CIR) [5], [6], signal strength difference (SSD) [7], [8], signal subspace [9], [10], power delay doppler profile (PDDP) [11], can improve the accuracy of indoor localization to some extent. All in all, they all belong to the SIOF-based localization framework, which cannot work well in an unknown indoor environment because it only uses little information about indoor environment.
Another drawback of the SIOF-based localization approach is the big burden of building fingerprint. To reduce this burden, some fingerprint building strategies have been proposed, including crowdsourcing [12], matrix completion (MC) [13], compressive sensing (CS) [14], and others [15]. These techniques can alleviate the fingerprint building burden from different viewpoints. However, the performance of rebuilding fingerprints may decrease as the number of samples in the original fingerprint decreases.
Recently, we first creatively proposed a GrOup Of Fingerprints (GOOF) based localization framework [16]. GOOF can overcome the drawbacks resulted from SIOF. Based on the constructed GOOF, after training multiple GOOF-AadaBoost classifiers, we used MUltiple Classifiers mUltiple Samples (MUCUS) to determine the final location prediction. MUCUS can yield higher accurate results. However, the main drawback of MUCUS is the timeliness.
In this study, we propose a novel localization framework by Fusing A Group Of fingerprinTs (FAGOT) based on random forests. The new proposed GOOF is composed of six different kinds of fingerprints, namely, RSS fingerprints (RSSFs), power spectral density fingerprints (PSDFs), covariance matrix fingerprints (CMFs), and signal subspace fingerprints (SSFs), fourth-order cumulant fingerprints (FoCFs), and fractional low order moment fingerprints (FLOMFs), which can be obtained by different transformations of the received signals y (t) of multiple antennas, as illustrated in Fig. 1. Each fingerprint in the GOOF has its special function. Among them, RSSFs reflect the distance between a transmitter and a receiver; SSFs are robust to multipath propagation [9]; CMFs, FoCFs, and FLOMFs are robust to Gaussian, color, and impulse noise, respectively; PSDFs describe the distribution of signal power in the frequency domain and have been used as an efficient fingerprint in many fields [17]. In a real indoor localization scenario, the types of noise and environment are changing and cannot be predicted in advance, and we cannot know which fingerprint can work better in an unknown indoor scenario. Based on the constructed GOOF, we design a GOOF multiple classifiers based on Random Forests (GOOF-RF) to train fingerprints in the GOOF. Finally, we localize the target by inputting the corresponding transformations of the online data into the strong classifiers. A fast fusion strategy, referred to as the Sliding Window Aided Mode-based (SWIM) fusion algorithm, is proposed to refine a better location estimation. Our proposed localization framework consists of two phases: an offline phase, which includes GOOF building and GOOF-RF training, and an online localization phase, which includes GOOF-RF testing and SWIM fusion, as summarized below.
• The offline phase a). GOOF building: Assume that we have Q grids in an unknown indoor environment, the received array with M antennas is deployed at the origin, and L snapshots Y = [y (1) , y (2) , · · · , y (L)] of size M × L are collected at each grid. Then, we can build the GOOF by using Y with different transformations. The Q different labels are also added into the constructed GOOF for further classification. b). GOOF-RF training: After obtaining the GOOF, we divide each fingerprint in the GOOF into two parts, one to train the GOOF multiple classifiers based on random forests (GOOF-RF) and the other to test these classifiers. Assume that we have H different kinds of fingerprints in our constructed GOOF; then, we can train H strong classifiers by using random forests.
• The online phase a). GOOF-RF testing: Assume that we can obtain Z (Z L) samples of each fingerprint for testing. First, we input all the testing data to the trees in the H random forest strong classifiers. Then, each classifier outputs an Z × 1 prediction vector b γ , (γ = 1, · · · , H).
b). SWIM fusion: Based on B, we choose a rectangle sliding window of length W to provide fast prediction. Our proposed SWIM fusion algorithm can optimize the balance between the localization accuracy and speed, which is very attractive in the real environment.
The proposed localization algorithm can synthesize not only different predictions of H strong classifiers but also the predictions of each strong classifier with different samples. The adopted sliding window strategy readily balances the localization speed and accuracy simultaneously.
The main contributions of this work are summarized below: • As compared with the SIOF-based framework, our proposed FAGOT localization framework can achieve better performance in an unknown indoor environment in that it can fuse the predictions of different classifiers. Theoretically, the more different kinds of fingerprints in the GOOF, the higher localization accuracy of FAGOT.
• The proposed GOOF-RF training and testing algorithms are simple to implement, and less susceptible to overfitting without tuning a bunch of parameters. The testing time is shorter and easier to realize. • The fingerprints building burden is reduced efficiently because the GOOF building strategy can obtain different kinds of fingerprints based on the measurements of received antennas.
Specifically, in case of building the same number of fingerprints, the building burden of the GOOF is 1/H of that of the SIOF-based approaches. Meanwhile, the localization accuracy can be improved remarkably.

IV. RELATED WORK
The existing indoor localization techniques using wireless sensor networks (WSN), wireless local area networks(WLAN), radio frequency identification (RFID) technology, light visible communication, and others [18]- [20], have limited ability in coping with complex multipath, NLOS, and changing environment in indoor scenarios. In the past few decades, array signal processing has gained tremendous achievements in outdoor target identification, direction finding, and beamforming [20], [21]. As the development of antenna technique and high speed baseband processing integrated circuit (IC), small array processing platforms, such as USRP, have been used in many fields based on software defined radio (SDR) technology [22]. Hence, indoor localization using small platform with multiple antennas becomes feasible and has been a hot research subject. Kleisouris et al. [23] provided an experimental evaluation of the localization performance under multiple antennas and showed that the localization accuracy can be improved greatly by employing multiple low-cost antennas regardless of whether fingerprint matching, statistical maximum likelihood estimation, or multilateration is used. Note that this conclusion was drawn by only using RSS of multiple antennas as the metric.
Recently, random forest, as one of the most popular machine learning techniques, has been studied widely in many fields [24]. The random forest is unexcelled in accuracy and runs efficiently on large databases. It can handle thousands of input variables without variable deletion as well as give estimates on which variables are important in the classification. Meanwhile, it can effectively estimate missing data and maintain accuracy when a large proportion of the data are missing. Although random forest has achieved tremendous success in regression and classification problems, it is seldom studied in indoor localization. Calderoni et al. [25] studied an indoor localization approach by using random forest classifiers based on RFID technology. Jedari et al. [26] proposed a random forest based localization approach in the WLAN environment. All these approaches belong to the SIOF-based indoor localization framework. To make full use of multiple fingerprints, we first creatively proposed a GOOF based localization framework in [16].
The constructed GOOF is trained as multiple strong classifiers by using AdaBoost. A multiple classifiers multiple samples (MUCUS) fusion algorithm was proposed to fuse the predictions of these strong classifiers with multiple samples. The robustness and accuracy of [16] are good enough but the speed of localization is slightly slow. In this work, we propose a novel FAGOT indoor localization framework based on random forests to overcome the above drawbacks as follows.

A. Signal Model
Consider an indoor environment deployed with a uniform linear array (ULA) in which M antenna elements are equally spaced apart, with an inter-distance of d, as shown in Fig. 1. Let y m (t) denote the received signal at the mth antenna element with channel gain α i , delay τ i , and angle-of-arrival (AoA) θ i . Note that the received signal of each path consists of an enormous number of unresolvable signals received around the mean of AoA in each element in a complex T in the ULA can be expressed as [20], [27] where I denotes the number of paths received by each antenna element and a is an array steering vector. The location x of the transmitted signal s (t) is to be estimated. The unknown noise vector n (t) = [n 1 (t) , n 2 (t) , · · · , n M (t)] T with n m (t) being the noise of the mth antenna element. The array steering vector is defined as a (θ) = [a 1 (θ) , a 2 (θ) , · · · , a M (θ)] T , where its mth element is where f m (θ) denotes a complex field pattern of the mth array element and λ is the carrier wavelength. The received signal in Eq. (1) can be expressed in the following integral form: where h (θ, τ ) represents the channel as a function of the azimuth-delay spread (ADS). The average power azimuth-delay spectrum (PADS) is given by where E {·} is the expectation operator and δ (·) is the Dirac deta function. The central angular of arrival (CAoA) θ 0 and angular spread (AS) σ A are defined as where P A (θ) = P (θ, τ ) dτ is the power angular spectrum (PAS).
Similarly, the average delay spread (ADS) and delay spread (DS) can be given by where P D (τ ) = P (θ, τ ) dθ is the power delay spectrum (PDS). The indoor localization problem using ULA is to estimate x from the L measurements of y (t).

B. GOOF Building
Here, we address how to build our proposed GOOF from the received signals y (t) by using L snapshots. Assume that we divide the indoor environment into Q grids with equal spacing.
The signal s (t) is transmitted from one antenna located at the qth grid, and the received signals vector of M antenna elements at time t is denoted by y q (t).

• Covariance matrix fingerprints (CMFs)
We can estimate the covariance matrix by using L snapshots at the qth grid without any knowledge of noise distributions as follows: Note that the estimated covariance matrix (7) can be expressed aŝ The (i, j)th entry of (8) is the correlation between the outputs of the ith and jth antennas.
We can estimate the RSS from (8) as follows.

• RSS fingerprints (RSSFs)
It is well known that the ith diagonal element of the estimated covariance matrix r (0) in Eq. (8) denotes the autocorrelation of the received signals y i (t) of the ith antenna element, i.e., So, we can build the RSS fingerprints by taking the diagonal elements of (8), i.e., where diag{·} is the operator of extracting the diagonal elements of a matrix. In comparing with Eqs. (8) and (10), it is remarkable that the CMFs can offer more information about the indoor channel than that of the RSSFs because the CMFs have much correlation information among antenna elements. So, we have enough reasons to believe that the CMFs yield a more accurate location estimate than that of the RSSFs.
• Power spectral density fingerprints (PSDFs) The normalized PSD can be calculated by where Y m (k) is a sequence of complex Discrete Fourier Transform (DFT) coefficients for the received signal sequence y m (t) of the mth antenna, which is given by in which L is the DFT length and K is the point number in the frequency domain.
• Signal subspace fingerprints (SSFs) By taking eigen-decomposition (ED) of the estimated covariance matrix, we have where Σ q s is the signal subspace corresponding to the k largest eigenvalues whose elements are the diagonal elements of the diagonal matrix Σ q s ; U q n is the noise subspace, which corresponds to the M − k small eigenvalues. Signal subspace methods are empirical linear methods for dimensionality reduction and noise reduction. They have also been demonstrated to be robust to multipath propagation in indoor localization [9]. Note that we just build the signal subspace fingerprints by taking the first column of U q s instead of finding the k columns of U q s for simplicity. • Fourth-order cumulant fingerprints (FoCFs) The FoC of the received signals y (t) can be given by where and It is well known that the FoCFs are generally robust to color noise [28].
• Fractional low order moments fingerprints (FLOMFs) Impulsive noise distorts the signal and causes the degeneration of localization accuracy of source. Studies in [29] have shown that the symmetric alpha-stable (SαS) processes are able to model the impulsive noise better. We can calculate the FLOMFs as follows [30].
where 0 < α ≤ 2 is the characteristic exponent of an SαS processes. Note that when p = 2, Eq. (17) is the special case of Eq. (7). However, for impulse noise, the FLOM is unbounded.
The FLOM is a good statistic used to estimate DOAs of sources in array signal processing field.
So far, we have addressed how to build the GOOF based on the received signals. Note that the dimensions of the six proposed fingerprints in the GOOF are not the same. Except for the RSSFs, the rest of them are complex values. For the complex fingerprints, we just take absolute values of them and drop the phase information, which is sensitive to the noise level. We adjust the dimensions and data types of the constructed GOOF, as shown in Table. I. For comparisons, we summarize the GOOF building procedures in Algorithm 1. To obtain as many fingerprints as possible at each grid for further random forests classifiers training, we partition the L snapshots into M groups with each group having L/M snapshots. We just use the L/M snapshots to estimate each fingerprint.
It is worth to note that the proposed GOOF building strategy can reduce the fingerprints building burden as compared with the SIOF-based approaches [13]- [15]. The GOOF building strategy can obtain multiple types of fingerprints with different transformations from the same measurements, while the SIOF building strategies can only obtain one kind fingerprint from the same measurements. Hence, the efficiency of our GOOF building strategy is much higher than the SIOF-based building strategies. In other words, GOOF can obtain the same localization precision with less fingerprints building time as compared with the SIOF. Furthermore, the SIOF building strategies can only reduce the fingerprints building burden but not improve the localization accuracy; our GOOF strategy can not only reduce the fingerprints building burden, but also improve the accuracy of localization, which is very attractive for real application. for k = {1, · · · , M} do 3: CalculateR q by using Eq. (7) 4: Calculate RSS q by using Eq. (10) 5: Calculate PSD q by using Eq. (11) 6: Calculate U q s by using Eq. (13) 7: Calculate C q 4,y by using Eq. (14) 8: Calculate C q f,y by using Eq. (17) 9: Transform the GOOF like  [31]. The key aspect of random forest is the fact that its component trees are all randomly different from one another. This leads to decorrelation between the individual tree predictions and, in turn, results in improved generalization and robustness. A tree is a collection of nodes and edges organized in a hierarchical structure. Nodes are divided into split nodes and leaf nodes. All nodes have exactly one incoming edge. Our proposed GOOF multiple classifiers based on random forests (GOOF-RF) will build multiple strong classifiers from our constructed GOOF. Each strong classifier yields its final location estimation of the target. We illustrate our proposed GOOF-RF training procedures in Fig. 2, which shows that each kind of fingerprints can be trained as a random forest classifier. We summarize the basic principle of random forests as follows.
Let ζ = (ζ 1 , ζ 2 , · · · , ζd) ∈ F be a data vector, where the components ζ i represent some attributes of the vector and F represents the constructed GOOF;d is the dimensionality of ζ. In our case, ζ represents the different fingerprints vector built in the GOOF. Note thatd may vary from different kinds of fingerprints. In general, the feature space F andd can be very large, especially in the image processing field. Fortunately, we can extract only a small portion ofd as where χ j = [φ, ψ, ς] T ∈ T denotes the parameters of the test function at the jth split node.
Here, ψ defines the geometric primitive used to separate the input data (e.g., an axis-aligned hyperplane, an oblique hyperplane, a general surface, etc.) [32]. The parameter vector ς captures thresholds for the inequalities used in the binary test. The filter function φ selects some features of choice out of the entire vector ζ.
At each node j, depending on the subset of the incoming training set S j , we learn the function that "best" splits S j into S L j and S R j . The parameter vector χ j is selected by maximizing the following objective function at the jth nodê where I j is called information gain at node j and it is a function of the vector η = S j , S L j , S R j , χ j T .
The left child node S L j and right child node S R j are defined in mathematics as and the information gain I j can be defined as where H (S j ) is the Shannon entropy at node j before the split, which can be defined as where q i indicates the class label of ζ i . The set of all classes is denoted as C and p (q i ) is the empirical distribution extracted from the points within the set S j . Other key model parameters that impact the behavior of a decision tree most include the maximum allowed tree depth D and the tree number T in a forest. Given D , for a binary decision tree, we can calculate the number of internal nodes ni and the number of leaf nodes nf as follows The total number of nodes in a decision tree with depth D is nr = ni + nf = 2 D − 1.
The proposed GOOF-RF algorithm can be divided into an offline training phase and an online testing phase. We first summarize the procedures of our proposed GOOF-RF training algorithm in Algorithm 2. After obtaining multiple strong classifiers, each testing sample is simultaneously pushed through all trees in these multiple strong classifiers until it reaches the corresponding leaves. Tree testing is done in parallel, thus achieving high computational efficiency. The GOOF-RF testing algorithm is summarized in Algorithm 3. Note that the function Vote [·] in Algorithm 3 denotes that it chooses the classification having the most votes (over all the trees in the forest).
Note that the qth entry of the vector p z in Algorithm 3 is 1 and others are zeros if the γth classifier predicts the location to be q. We can transform p 1 , · · · , p Z given by the γth strong classifier into a Z × 1 vector b γ whose zth entry is the location label estimated from the γth classifier when inputting the zth testing sample, i.e., b γ (z) = loc (p z = 0) , Initiate Tree (t ) = ∅

13:
Compute entropy of node S R j using Eq. (22) 14: Compute entropy of node S L j using Eq. (22) 15: Compute information gain I j using Eq. (21) 16: Chooseχ j at split node j using Eq. (19) 17: where loc (X) returns the location of nonzero entry in X. The final output of Algorithm 3 is the final prediction matrix B, as shown in Fig. 3. How to fuse these predictions is the key for indoor localization. In [16], we proposed the MUCUS fusion algorithm to obtain a robust location prediction. However, the timeliness is the bottleneck for real implementation. In this paper, we derive an improved fusion algorithm to balance the robustness, accuracy, and timeliness.

D. Sliding Window aIded Mode-based (SWIM) fusion localization algorithm
Let G γ = [(ζ γ 1 , q) , (ζ γ 2 , q) , · · · , (ζ γ Z , q)] ⊂ GOOF be the Z testing samples at the qth grid of the γth type fingerprint, where ζ γ z is the zth sample vector of the γth fingerprint and q is the corresponding location label. We can input the Z testing samples of the γth fingerprint one by one into the γth random forest strong classifier, which has been trained by Algorithm 2. Then, the γth strong classifier will work as a predictor to give a Z × 1 prediction vector ν γ for the Z samples, Algorithm 3 GOOF-RF Testing Input: 1) The testing sample set ζ z ∈ G ⊂ GOOF.
2) The H strong random forest classifiers H.
3) The number of testing sample Z. Output: The prediction matrix B 1: for γ = {1, · · · , H} do 2: for z = {1, · · · , Z} do 3: Initiate the prediciton of random forest p = 0 4: for t = {1, · · · , T } do 5: Compute the prediction of the t th tree p t 6: end for 7: in which ν γ (z) denotes the output of the γth classifier when inputting the zth testing sample. The total prediction matrix B = [ν 1 , · · · , ν H ], as shown in Fig. 3. For the zth testing sample, the H strong classifiers yield different prediction results {q, q 1 , q 3 } ∈ ω z . For the γth strong classifier, different testing samples may give different prediction results {q, q 1 , q 2 , q 3 , q 4 } ∈ ν γ . From these prediction results, we find that the outputs of all the strong classifiers with different samples can be combined to produce a more accurate fusion result. We demonstrate our proposed Sliding Window aIded Mode-based (SWIM) fusion localization algorithm as follows.
First, we can calculate the entropy of the prediction of the γth strong classifier with Z samples as follows where p (ν γ (z)) is calculated as normalized empirical histogram of predictions of the γth strong classifier in Q. H (ν γ ) denotes the robustness of the γth classifier to the environment noise, i.e., the smaller H (ν γ ), the better robustness of the predictions of the γth strong classifier.
Similarly, we can calculate the entropy of the zth testing sample for all strong classifiers as follows where p (ω z (γ)) is calculated as the normalized empirical histogram of predictions of the zth testing sample in Q. Note that H (ω z ) shows the environment adaptability of these fingerprints, i.e., how well these fingerprints cope with multipath and changing environment. The bigger H (ω z ), the more complex of the environment.
Based on the above analysis, a good location estimation should be given from the γth strong classifier with the minimal entropy H (ν γ ), which has good performance to cope with the environment noise and yieldsγ which means that we choose the predictions of theγth strong classifier with a high priority which has the best robustness to the environment noise. In order to combine the predictions of the other classifiers, we first give a mode-based robustness estimator aŝ where mode (X) returns the sample mode of X, which is the most frequently occurring value in X. This estimator means that the optimal estimate must come from the most frequently occurring value in B, meanwhile, this value must occur in νγ.
The main drawback of (28) is the timeliness. In general, the value of Z determines the speed of real localization, the bigger Z, the slower the localization speed. In order to optimize the localization speed and robustness, we further propose the SWIM fusion algorithm as follows.
Assume a rectangular sliding window of length W (W ≤ Z) to be used in the Z samples.
We can just consider fusing W × H submatrice B instead of the total prediction matrix B.
Given a matrix B, we can obtain some submatrice B . The number of B is U. Here, U is the prediction frequency, i.e., the localization occurrences per unit time, which shows the speed of localization, U = Z − W + 1. Based on submatrice B , we can derive the SWIM algorithm aŝ where the submatrix B and vector ν γ are and respectively, where u = 1, · · · , U. By using (29), we can obtain a faster localization result with a tiny robustness loss.
Assume that the true grid location is q; to evaluate the performance of our proposed algorithm, we define a metric of the prediction probability as which will be used to evaluate the performance of our proposed FAGOT localization framework.
The operator {q = q} is defined as E. Performance Analysis 1) Localization time: One of the main advantages of our proposed framework is that the localization time based on B can be shortened to 1/U of the localization time based on B.
The sliding window aided strategy can not only improve the speed of our approach, but also overcome the fluctuation of some SIOF-based localization approaches, which can be seen in experimental results. The larger W, the smaller U and the slower of the localization speed.
However, it can improve the robustness and accuracy of SWIM.
2) Robustness: Consider the worst case that the predictions of all strong classifiers in a sliding window are different, which corresponds to mean (H (w z )) = max (H (w z )). In this case, if νγ (u) = · · · = νγ (u + W − 1), which means min (H (νγ)) is a small number close to zero, then (33) can give a stable prediction. However, if min (H (νγ)) is not the small number close to zero (H (νγ) can be determined in advance depending on H), it shows that νγ has different predictions. So, it may give a wrong prediction based on (33) with a certain probability, and thus leads to the decrease of robustness. In this case, we can improve the robustness by choosing a bigger sliding window length W.
3) Accuracy: From (33), we find that our estimator will work well, even if only one of these six strong classifiers works well while the others have lower prediction probability. Generally speaking, the larger W, the higher accuracy and robustness but slower speed of SWIM. So, how to balance the speed and accuracy is a key problem. In general, W should be chosen based on the noise level. The basic principle of choosing W is that we should choose a larger W when SNR is lower. In general, if one of the strong classifiers can provide a more robust prediction, W ≥ 5 can guarantee that the fusion result of SWIM will not be worse than the best one of these strong classifiers.

VI. EXPERIMENTAL RESULTS
We will employ simulation data and real data to test the performance of our proposed algorithms. In the simulation part, we consider different noise by using our proposed signal model in Section V-A, and in the real experimental setup, we use two SDR [22] platforms to collect real data. for γ = {1, · · · , H} do 6: Compute the entropy H ν γ by using (25) 7: end for 8: Find the optimal classifier labelγ by using (27) 9: Compute the location estimateq by using (29) 10: end for 11: Calculate the prediction probability by using (32) 12: return

A. Simulation Data
Assume we have a ULA of 7 antennas with carrier frequency at 950 MHz. The interspace between adjacent antenna is half wavelength. The uniform PAS model is adopted, i.e., P A (θ) = fingerprints are considered. We build the GOOF by using Algorithm 1, and then we divide each of these fingerprints into two groups: one with 60 samples is used to train the multiple strong classifiers, and the other with 40 samples is used to test these classifiers. The tree number of each random forest T = 50, the tree depth D = 8, and the weak learner h is a decision dump.   Fig. 7. Here, T = 50 and h is a decision stump. Note that the prediction probability becomes better as D increases from 2 to 8. However, the performance shows limited improvement when D increases from 6 to 8, while the training time and testing time become much longer, as shown in Fig. 8.
We fix D = 8 and h to be the above decision dump and change T from 10 to 100 with 30 interspaces. We depict the average prediction probability versus SNRs with different T in Fig. 9. The corresponding average training and testing time are shown in Fig. 10. It is seen that the best T for our problem is 40, too large T cannot improve the prediction probability  in [16]. The length and width of our laboratory are 9.8m and 6.3m, respectively. The receiver array with 4 antennas is deployed at the corner of the laboratory at the height of 1.5m.
We transmit a cosine signal with carrier frequency of 900MHz at 18 grid to build the GOOF by using the signals received at the four antennas. L = 400 snapshots are taken, and are divided SNR(dB) So, our algorithm is very robust to the unknown indoor environment. By the way, the number of snapshots used to compute the GOOF is only five, which may degrade the fingerprints in the GOOF. However, our proposed fusion algorithm can work well in this case.

VII. CONCLUSION
Based on the FAGOT localization framework, we have proposed random forest based classifiers training and testing algorithms. We have also proposed SWIM to balance the speed and robustness of indoor localization. Our proposed algorithms can not only overcome drawbacks of SIOF-based indoor localization methods, but also balance the robustness and speed of the MUCUS [16].
Apart from the fingerprints constructed in the GOOF of [16], we have also incorporated PSDFs into our GOOF, which further enrich the channel information of the GOOF. Of course, other fingerprints, such as CIR, PDDP, crowdsourcing, can also be added into the GOOF. All in all, GOOF strategy just represents the developing trend of building fingerprints. Here, we just discuss random forest based classifiers and AdaBoost based classifiers [16]. Other machine learning methods, such as Support Vector Machine (SVM), Neural Network (NN), and Convolutional Neural Network (CNN), can also be used as classifiers. How to use this GOOF better by using machine learning is an interesting future pursuit.
Simulations show that our proposed localization framework can achieve better performance regardless of noise types. The real experiment results demonstrate that our proposed localization framework is still robust to the unknown localization environment. The proposed GOOF can not only reduce the burden of building fingerprints, but also can offer more information about the indoor environment for further localization, and is thus very attractive for localization in an unknown complex indoor environments.