US 8077090 B1
The simultaneous localization and RF modeling technique pertains to a method of providing simultaneous localization and radio frequency (RF) modeling. In one embodiment, the technique operates in a space with wireless local area network coverage (or other RF transmitters). Users carrying Wi-Fi-enabled devices traverse this space while the mobile devices record the Received Signal Strength (RSS) measurements corresponding to access points (APs) in view at various unknown locations and report these RSS measurements, as well as nay other available location fix to a localization server. A RF modeling algorithm runs on the server and is used to estimate the location of the APs using the recorded RSSI measurements and any other available location information. All of the observations are constrained by the physics of wireless propagation. The technique models these constraints and uses a genetic algorithm to solve them, thereby providing an absolute location of the mobile device.
1. A computer-implemented process for performing localization of one or more mobile devices, comprising:
using a computing device for:
recording measurements of received signal strength indication (RSSI) from each Radio Frequency (RF) transmitter reported by a mobile device;
recording measurements of any available location fix by the mobile device;
using a RF propagation model, prepared without prior knowledge of the physical space in which the mobile device is located or the location and power of the RF transmitters, to estimate parameters comprising: the location of the mobile device, the transmit power of each RF transmitter, and the location of each RF transmitter based on the recorded measurements of received signal strength indication and any available location fixes; and
using trilateration to determine the location of the mobile device from the estimated location of the RF transmitters and the estimated parameters.
2. The computer-implemented process of
translating the RSSI measurements reported by the mobile device into distances from the corresponding RF transmitters whose locations are estimated with the RF propagation model, and
using the distances from at least three RF transmitters to compute the location of the mobile device.
3. The computer-implemented process of
4. The computer-implemented process of
5. The computer-implemented process of
6. A computer-implemented process for performing localization, comprising:
using a computing device for,
recording at one or more mobile devices, RSSI measurements corresponding to RF transmitters received by the one or more mobile devices at various unknown locations;
reporting the recorded RSSI measurements to a remote server;
recording any available GPS lock at the one or more mobile devices;
reporting any GPS lock to the remote server;
using the RSSI measurements and any GPS locks recorded at the one or more mobile devices to determine the location of the one or more mobile devices, without prior knowledge of the physical space in which the mobile devices are located or the location and power of the RF transmitters, using the constraints of the physics of RF propagation at the remote server; and
reporting the determined location of the one or more mobile devices.
7. The computer-implemented process of
8. The computer-implemented process of
9. The computer-implemented process of
10. The computer-implemented process of
11. The computer-implemented process of
12. The computer-implemented process of
location of each RF transmitter;
transmit power of each RF transmitter; and
a decay constant of the log distance path loss model.
13. A system for determining locations of a Wi-Fi capable device in an indoor environment, comprising:
a general purpose computing device;
a computer program comprising program modules executable by the general purpose computing device, wherein the computing device is directed by the program modules of the computer program to,
periodically scan for Wi-Fi access points using a Wi-Fi enabled mobile device;
transmit a list of discovered Wi-Fi access-points and associated received signal strength indication (RSSI) measured by the mobile device to a remotely located server;
transmit any GPS locations discovered by the mobile device to the remotely located server;
use a RF model of the indoor environment, created without prior knowledge of the space the mobile device is located in or the location and power of the Wi-Fi access points, using the list of discovered Wi-Fi access points and associated received RSSI and the discovered GPS locations to provide the location of the mobile device to user of the mobile device.
14. The system of
15. The system of
16. The system of
17. The system of
18. The system of
19. The system of
20. The system of
The need for location information to enable pervasive computing applications in indoor environments, coupled with the unavailability of GPS in such environments, has motivated a large body of research on indoor localization. In particular, there has been a focus on leveraging existing infrastructure, such as, for example, access points in a wireless local area networks, to enable indoor localization. The advantage of this approach is that the cost of deploying a specialized infrastructure for localization is avoided. While the near-ubiquity of wireless Local Area Networks (WLAN), also commonly named WiFi-networks, makes WLAN-based indoor localization attractive, there is a need for a significant degree of pre-deployment efforts such as, for example, building detailed Radio Frequency (RF) maps or RF propagation models based on surveys of the environment, with these approaches.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The simultaneous localization and RF modeling technique described herein pertains to a method of providing simultaneous localization and radio frequency (RF) modeling.
In one embodiment of the simultaneous localization and RF modeling technique, the technique operates in an indoor space, such as an office building or a mall, with wide area WLAN coverage (or other RF transmitters) but where there is no knowledge of the physical layout, including the placement of wireless Access Point (APs) (or other RF transmitters). Users carrying Wi-Fi-enabled mobile computing devices, such as smartphones, traverse the space in normal course. The mobile devices record the Received Signal Strength (RSS) measurements corresponding to the APs in view at various (unknown) locations and report these to a localization server. Occasionally, a mobile device will also obtain and report a location fix, say by obtaining a Global Positioning System (GPS) lock at the entrance of the space or near a window. A simultaneous localization and RF modeling algorithm runs on the localization server and is used to estimate the location of the Wi-Fi APs using the recorded RSSI measurements and any other available location information. All of the observations reported to the server, even the many from unknown locations, are constrained by the physics of wireless RF propagation. The simultaneous localization and RF model models these constraints and then uses a genetic algorithm to solve them, thereby providing an absolute location of the mobile device (e.g., in terms of latitude and longitude).
It should be noted that the technique is not limited to only indoor environments and can be used anywhere there are RF transmitters. Additionally, any RF transmitter device can be used instead of only Wi-Fi access points, such as, for example, global system for mobile communications (GSM) transmitters. Also, although no knowledge of the physical layout of the space being mapped is necessary, if layout information is available it can be used to improve simultaneous localization and RF modeling using the technique.
The specific features, aspects, and advantages of the disclosure will become better understood with regard to the following description, appended claims, and accompanying drawings where:
In the following description of the simultaneous localization and RF modeling technique, reference is made to the accompanying drawings, which form a part thereof, and which show by way of illustration examples by which the simultaneous localization and RF modeling technique described herein may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the claimed subject matter.
1.0 Simultaneous Localization and RF Modeling Technique
The following sections provide an overview of the simultaneous localization and RF modeling technique, as well as exemplary architectures and processes for employing the technique. Exemplary computations for creating and using the RF model employed in one embodiment of the technique for localization are also described.
1.1 Overview of the Technique
There has been a focus on leveraging existing infrastructure (e.g., wireless access points) to enable indoor localization, the advantage being that the cost of deploying a specialized infrastructure for localization is avoided. Existing solutions, however, require extensive pre-deployment effort, for instance, to build detailed RF maps or RF propagation models based on surveys of the environment. The simultaneous localization and RF modeling technique described herein provides a novel localization system that leverages existing infrastructure but does not require any explicit pre-deployment effort. Although much of this specification describes simultaneous localization and RF modeling by employing a wireless local area network (WLAN), commonly called a Wi-Fi network, and associated wireless access points in an indoor environment, it is to be understood that the technique's embodiments can be employed with any system of RF transmitters in both indoor and outdoor environments.
In one embodiment, in an indoor environment, the simultaneous localization and RF modeling technique relies on three basic assumptions: (i) that there are enough wireless APs to provide excellent coverage throughout the indoor environment, (ii) that users carry mobile devices, such as smartphones and netbooks, equipped with Wi-Fi receivers, and (iii) that occasionally a mobile device obtains an absolute location fix, say by obtaining a GPS lock at the edges of the indoor environment, such as at the entrance or near a window. In one embodiment of the simultaneous localization and RF modeling technique, users simply sit, stand, or move around in the indoor environment in normal course. While they do so, each user's mobile device records the received signal strength (RSS) from the wireless APs visible to it at various (unknown) locations, and reports this information, along with the occasional location fix when available, to a central localization server. The server uses this data to simultaneously learn the characteristics of the RF propagation environment to build an RF model and to localize the users' devices. Localization is performed in terms of absolute coordinates: latitude and longitude.
A key advantage of embodiments of the simultaneous localization and RF modeling technique is that they do not require any prior knowledge of the RF environment, including the location and transmit power of the APs, information that is often not readily available in settings such as malls and multi-tenant office buildings, where APs have been deployed by many different entities reducing the calibration effort needed for indoor localization. Another advantage is that embodiments of the simultaneous localization and RF modeling technique described herein do not require any explicit user participation to aid the localization process. In particular, users are not required to indicate their current locations, even when building the RF model used in localization. Finally, the simultaneous localization and RF modeling technique only needs measurements of the APs by the mobile node and does not require any distance measurements between mobile nodes. So even a single mobile node that traverses the space of interest over time can generate sufficient data for the simultaneous localization and RF modeling.
By not requiring any pre-deployment effort or explicit user participation, the simultaneous localization and RF modeling technique has the potential of enabling practical and viable localization. For instance, a simultaneous localization and RF modeling server in a cloud could automatically construct an RF model for, and thereby enable localization in, an indoor space in any part of the world, based just on the measurements reported by the simultaneous localization and RF modeling technique's clients in the space of interest. Such automated operation brings forth a number of novel challenges, including filtering the very large number of measurement reports to identify a small and useful subset, and efficiently computing the RF model despite the very large space of possibilities.
1.2 Exemplary Architecture.
As shown in
In one embodiment, a location client 104 is a piece of software that is installed on the mobile devices 102. The location client 104 has two important tasks. First, it provides location information to mobile applications residing on the mobile device 102, and second, it assists the server 106 in the construction of an RSS map of the local environment.
In one embodiment of the technique, the location client 104 first checks to see it can obtain its location using a GPS receiver 112. If no GPS signal is available, it scans its environment for wireless APs 116 in its view using a RF scanner 118. The scanner 118 scans for a few seconds (3 seconds in one implementation) collecting beacons from each AP 116 it sees. It then transmits its observations 120, in one embodiment a list of the mean and standard deviation of the RSS seen from various APs 116 over the collected data to the server 106. Using the mean reduces errors due to multi-path while the standard deviation is used to determine the quality of the data. The server 106 then uses a computed RF model 122 of the RSS environment to determine the location of the mobile device in real time and responds to the location client 104.
For new indoor spaces, the RF model 122 must first be generated before location queries can be answered. For this, the client or clients 104 scan for wireless APs 116 in their range and transmit the observed mean and standard deviation of RSS to the server 106 in the same manner as a location query. While in one implementation the mobile devices 102 periodically perform a scan and push the information to the server 106, this can be easily implemented as a pull, where the server 106 requests a scan. Pull is desirable since mobile devices then need scan only when necessary and this can lead to significant energy savings.
The server 106 has two important functions. First, it responds to location queries from the location clients 104 in real time, and second, it uses a simultaneous localization and RF modeling algorithm to construct and maintain the RF model 122 for the environment in question.
The data from a large number of mobile devices can be very large and in many cases is not useful for creating the RF model 122. Thus, in one embodiment, the simultaneous localization and RF modeling technique performs pre-filtering and selects only a useful subset of the available data to construct the model. Additionally, the server 106, may potentially reside in a cloud and leverage its computing resource to construct the RF model 122.
The communication manager 210 handles all communication between the client and the server. In one working embodiment, the technique uses a Wi-Fi interface to communicate.
The observation manager 208 collects raw data from the RF scanner 204 and filters it in a filter 222 before transmitting it to the server 220. The observation manager 208 computes the average and standard deviation of the RSS over all the readings for each AP. In one working embodiment, average RSS readings less than −85 dB are deemed unreliable and dropped. Low RSS readings can lead to large location accuracies due to decreased spatial resolution arising out the exponential nature of signal decay. The observation manager 208 also suppresses transmission of RSS readings with a high standard deviation. Transmitting data from the same location over and over again when the mobile user is stationary can be wasteful. To avoid this, in one embodiment of the technique, the observation manager 208 maintains a cache 224 of recently transmitted values and suppresses potentially duplicate information by checking against the cache.
The location client 212 provides an interface to send queries to the server 220 issued from the user 216. Upon receiving a query request from the user 216, the location client 212 first attempts to use the GPS locator 206 to obtain its location. Upon failing, it uses the RF Scanner 204 to obtain the list of APs 214 seen and the corresponding RSS values. These values are sent in the query to the server 220 using the communication manager 210 on the mobile device 202.
The server 220, as depicted in
In one embodiment, the pre-filter 230 is responsible for analyzing the received RSS data received periodically from various users and presenting only a representative subset to the GA module 234. This is important to make the technique practical, since solving the equations with thousands of locations may require impractically long amounts of time. In one embodiment, the pre-filter 230 uses specialized algorithms described later in Sections 2.1 and 2.2 to reduce the volumes of data to a manageable set of equations.
The GA module 234 continuously runs a GA (described later in more detail) to solve the equations, improving the estimates of the AP parameters in each generation. The GA is inherently amenable to massively parallel computation, since each of the operations such as crossover and mutation, for example, can be parallelized.
1.3 Exemplary Processes Employed by the Simultaneous Localization and RF Modeling Technique.
The following paragraphs provide descriptions of exemplary processes for employing the simultaneous localization and RF modeling technique. It should be understood that in some cases the order of actions can be interchanged, and in some cases some of the actions may even be omitted.
1.4 Creation and Use of a RF Model.
An overview of the technique and related art, as well as exemplary architectures and processes employing the technique, having been discussed, the following sections provide exemplary computations used in one embodiment of the technique to create and use a RF model (e.g., as shown in
1.4.1 Localization using the Simultaneous Localization and RF Modeling Technique
To provide a physical intuition to the working of the simultaneous localization and RF modeling technique described herein, example scenarios depicted in
In practice, however, the distances between mobile devices and APs can only be inferred from RSS values.
In Eqn 1, the jth mobile user located at a distance dij (e.g., measured in meters) from the ith AP sees a signal strength of pij (measured in dBm). Pi is the RSS from the ith AP at a distance of one meter (referred to as transmit power henceforth). The path loss exponent γi captures the rate of fall of RSS in the vicinity of the ith AP. The higher the value of γi, the steeper is the fall of RSS with distance. The need for having a different γi for each AP arises from the fact that rate at which RSS falls with distance depends on the local environment. RSS from an AP that is located in an area surrounded by walls, people and other obstacles might decay at a much faster rate compared to the same from other APs in the indoor environment that enjoy relatively freer signal propagation. R in Eqn 1 is a random variable that hopes to capture the variations in the RSS due to multi-path effects, asymmetries in the physical environment (e.g., obstructions) and other imperfections in the model itself.
Based on a log distance path loss (LDPL) model dij can be computed as,
Eqn 2 assumes the a priori knowledge of Pi and γi. The simultaneous localization and RF modeling technique, takes a novel approach to estimating these. Given a set of RSS observations between APs and mobile users (pij), the technique treats Pi and γi as unknowns in addition to the unknown locations of APs and mobile users. It then solves the set of simultaneous equations formed by the LDPL model for each RSS observation.
Assume that there are m APs and n unknown locations on a floor. For simplicity assume that all the m APs are visible from each of the n locations (this assumption will be relaxed later in this section). The total number of RSS observations and hence the total number of LDPL equations will be mn. Assuming 2D locations, each of the n locations has two unknowns namely the x and y coordinates. Each of the m APs has four unknowns namely Pi, γi and its 2D location. The total number of unknowns is thus 4m+2n.
While mn grows in a quadratic fashion, 4m+2n grows linearly. This suggests that given enough locations (such that mn>4m+2n), there will be eventually enough constraints in the system of equations to make the system uniquely solvable. Closer examination however, reveals that the system of LDPL equations is scale, translation, rotation and reflection invariant. In other words, a solution to LDPL equations will yield locations that are a scaled, translated, rotated and/or reflected version of the true locations. Knowing three true, non-collinear locations (either AP or mobile users) then, all the other true locations can be determined.
1.4.2 The Nature of LDPL Equations
LDPL equations (Eqn 1) are a system of simultaneous non-linear equations. This section explains the nature of solutions to LDPL equations.
18.104.22.168 Solving for the Parameters of a Solitary AP
It is well known that distances from at least three known non-collinear locations are necessary to uniquely determine an unknown location (using trilateration). A corresponding issue in the simultaneous localization and RF modeling technique is, what is the minimum number of known locations at which RSS measurements must be taken in order to uniquely determine the four AP parameters namely P,γ and the 2D location?
If P and γ are known, then a RSS measurement p can be converted into the distance d between the x and the AP using the equation Eqn 2. A minimum of three such RSS measurements at known locations are then required to uniquely establish the location of the AP. In the absence of the knowledge of P and γ, then, two additional measurements (constraints) will be required to uniquely determine their values. In other words five RSS measurements are required to uniquely determine an AP. It also follows that that given RSS measurements from only four known locations, there will be two possible solutions for (P, γ and location) that satisfy the set of four RSS measurements.
22.214.171.124 The Notion of Co-Circular Dependency
It is well known that three or more collinear locations cannot be used in trilateration to determine an unknown location. A similar yet slightly different situation arises in solving LDPL equations when all the locations where RSS observations were taken are co-circular with respect to the AP i.e., lie on a circle centered around the AP's location. In this special case, while the location of the AP can be ascertained as the centre of the circle passing through these locations, it is impossible to uniquely determine both P and y. In the simultaneous localization and RF modeling technique thus, one embodiment avoids observations that have almost the same RSS values from the same AP.
While a necessary criterion for the existence of a unique solution to the system of simultaneous equations is that the number of equations should greater than or equal to the number of variables, this is by no means a sufficient condition that guarantees a unique solution. For example, if there are 6 APs (AP1 through AP6) and 20 mobile user locations from which RSS observations were made, an edge between an AP and a mobile user location is drawn if and only if the AP can be seen from that location. The number of LDPL equations in this system is 61, and the number of variables is 58. However, from the very structure it is clear that the system is not localizable since the group of APs, AP1 through AP3 is free to rotate about to the AP4 through AP6.
The localizability question in the simultaneous localization and RF modeling technique is as follows: given a set of RSS measurements at some unknown and known locations, is it possible to determine a unique set of coordinates for all the unknown locations by solving the corresponding the simultaneous localization and RF modeling technique's equations? The question is extremely relevant because, in practice not all APs may be visible from all locations in the indoor environment. Unfortunately, determining the necessary and sufficient conditions under which a set of LDPL equations has a unique solution is still an open problem.
However, for most practical scenarios, it is possible to determine whether or not a system of LDPL equations can be uniquely solved by making sure that following three conditions are satisfied.
C1: Each unknown location must see at least 3 APs.
C2: Each AP must be seen from at least 5 locations (known or unknown)
C3: The Jacobian of the system of LDPL equations must have a full rank (equal to the number of variables) for a random choice of the AP parameters and unknown locations.
Conditions C1 and C2 follow from the discussion in Section 126.96.36.199 and 188.8.131.52. Condition C3 essentially linearizes the system of LDPL equations into the form Jy=k, where J is the Jacobian, y is a vector containing all unknown parameters and k a constant vector. The lack of full rank then exposes any insufficient coupling in the equations.
1.5 Computational Challenges
While there are several different approaches to solving a set of over-determined equations, in one implementation, the technique attempts to find a solution that minimizes the least mean absolute error,
JEZ is a non-linear objective function and does not appear to allow for an analytical closed form solution. Optimization schemes such as the Newton Raphson Method or Gradient Descent (GD) are iterative schemes that start from an initial guess and find the closest local minimum. It was found that such schemes fail to find a solution to JEz since the number of local minima in JEZ is immense. The other alternatives are search techniques such as simulated annealing or genetic algorithms. While genetic algorithms can search the solution space efficiently, they can miss local minima that might provide a reasonably good solution. Consequently, to obtain the benefits of both these approaches, in one implementation of the technique, a hybrid approach is used that used gradient descent to refine the solutions generated by a GA.
Solving LDPL equations using the GA can take a few minutes to several hours depending on the size of the problem. However, these equations need only be solved once (or periodically once every a few days to refresh the model) to determine the AP locations, their transmit powers and the path loss exponents. Once having estimated the model, new location queries can be answered through standard techniques such as trilateration (by converting RSS measurements to distances in Eqn 2) in real-time. It should be noted that although various embodiments of the simultaneous localization and RF modeling technique described herein employ a LDPL model, other derivatives of the LDPL model could be employed with the technique with other parameters that might also be estimated.
1.5.1 The Genetic Algorithm (GA)
The Genetic Algorithm (GA) employed in one embodiment of the technique starts by picking an initial set of solutions (initial generation) randomly and refining them using gradient descent. A solution consists of a vector of values of all the unknowns to be solved in the LDPL equations. The fitness of each solution is then evaluated by computing
1. 10% of the solutions with the highest fitness are retained.
3. 60% of the solutions are generated by picking two solutions S1 old, S2 old from the previous generation (parent solutions) and mixing them using a random convex linear combination. In other words,
4. The remaining 20% solutions are generated by randomly picking a solution from the previous generation and perturbing it (e.g., using perturbation based mutation) by adding (or subtracting) random values (drawn from an exponential distribution to allow occasional large perturbations) to all the locations, Pi and γi. The solutions are then refined using the GD.
As generations evolve, solutions with higher fitness are discovered. The process terminates the GA when no improvement is found for ten consecutive generations.
1.5.2 Reducing the Search Space
When the solution space is extremely large, a randomly picked solution is likely to be far from the optimal solution. Consequently it may take a large amount of time before the GA discovers the optimal solution. Narrowing the search space can dramatically reduce running times. The most obvious way to narrow search space is to limit the search space of the variables. For example, knowing the dimensions of the floor one can limit the search of the locations to within the floor perimeter. For AP transmission powers the technique chooses a generous search space namely (−50,0)dBm. For γi the technique chooses the search space (1.5,6.0). It is believed that these ranges will be accommodating for most practical indoor deployments.
Another way to narrow the search space is to leverage constraints inherent to the problem. Given m APs and n locations, as previously discussed there are a total of 4m+2n variables to be picked randomly. However, having picked all the 4m AP parameters the 2n unknown locations can be determined through trilateration (using Eqn 2 to convert RSS to distances). Thus, the GA needs to randomly pick only 4m unknowns rather than 4m+2n. Eliminating each variable to be picked randomly exponentially reduces the search space.
The search space can be further reduced by using the already determined (or known) locations. For example, suppose that a particular AP can be seen from three known locations. Then after randomly picking P and y, its location can be uniquely determined. In general, the underlying constraints in the LDPL equations can be listed as follows:
R1: If an AP can be seen from five or more fixed (or determined) locations, then all four of its parameters can be uniquely solved.
R2: If an AP can be seen from four fixed locations, there exist only two possible solutions for the four parameters of the AP.
R3: If an AP (say ith AP) can be seen from three fixed locations. Then after picking γi randomly from (1.5,6.0) there exist only two possible solutions that satisfy the observations for the AP location and its transmission power.
R4: If an AP can be seen from two fixed locations, then, having picked Pi and γi randomly, there will be only two possible locations for its location.
R5: If an AP can be seen from one location only, then, after picking Pi and γi randomly, the AP can only lie on a circle of radius given by Eqn 2 centered about the known location.
R6: If the parameters for three (or more) APs have been fixed, then all unknown locations that see all these APs can be exactly determined using trilateration.
Constraints R0-R6 indicate that after selecting only a few of the variables randomly, the rest can be deterministically computed. The smaller the number of randomly chosen variables, the smaller is the search space.
Based on these underlying constraints in EPL equations, a Random Solution Generation Algorithm (RSGA) was developed. RSGA attempts to minimize the number of variables that need to be randomly picked among the entire set of variables in a given set of equations in a greedy fashion. The essential idea behind RSGA is to start by determining AP parameters with as many known locations as possible. Upon determining AP parameters for three or more APs, locations that can see these APs can be determined using trilateration. These determined locations in turn can be used to determine the parameters of some other APs. The procedure continues until all APs and locations have been determined. The pseudo code for RSGA is provided below:
Function RSGA(Ldone, Cdone, O, l, base)
for i=1 to mdo
if change=false then
for j=1 to ndo
RSGA is a recursive algorithm that takes five inputs. Ldone is the set indices of all locations where RSS observations were taken that have been determined so far. Cdone is the set of indices of APs with their AP parameters determined. O is the set of RSS observations p1 . . . n,1 . . . m. l is the recursion level which searches for the constraint Ri. base takes a value of 5 if there are 5 or more known locations, otherwise it takes the value of the number of known locations. The entire procedure begins by initializing Ldone with indices of all the known locations, Cdone as an empty set and l=base. The function APRandomInit(l,O′,Ldone) finds a set of random AP parameters given l determined (or known) locations based on constraint rule Ri. For each value of l in APRandomInit(l,O′,Ldone) a different strategy is used to determine the random AP parameters based on constraints R2-R6. For example, in case of R2 or R3 (l=4,5), the value of the AP parameters is determined through an exhaustive search over several combinations of P and γ in combination with trilateration. In case of R4 (l=3), γ is chosen randomly and P is searched exhaustively to determine local minima in the mean absolute error. At l=0, all AP parameters are generated randomly.
2.0 Challenges in Real Environments
In this section the novel practical challenges addressed by one embodiment of the technique are addressed.
2.1 Selecting the Right Set of Access Points
In one working embodiment of the simultaneous localization and RF modeling technique, the sheer number of wireless APs that could be seen on a given floor in test deployments came as a rather unexpected surprise. For example, in one deployment one could see a total of about 160 APs across a single office floor. A large fraction of these APs actually belonged to neighboring office buildings. Another interesting observation was that often each AP was configured with multiple Service Set Identifiers (SSIDs) and appeared as different APs. Running the technique on all observed APs would constitute a computational hardship at the cost of incremental gains. Consequently, an automated AP filtering mechanism is employed by one embodiment of the technique that analyzes the data and selects the most suitable APs. Note that the technique has no information as to if these APs belonged to the indoor environment in question or not.
Several naive approaches to AP selection can be designed based on desirable properties such as coverage, low standard deviation in RSS, and high average signal strength. For one embodiment of the technique however, the goal was to minimize the number of selected APs while preserving performance. To this end, a access point selection algorithm, herein called APSelect, was developed. The essential idea behind APSelect is to select each AP to provide information that other selected AP do not. APSelect however, uses a more approximate and simpler approach. It starts by computing a similarity metric for each pair of APs based on observed RSS. APs with the most similar data are then clustered together. A representative AP is then elected from each cluster.
To compute the similarity metric, all the RSS observations pij from the ith AP at the jth location are first normalized to lie within the range (0,1) by dividing them by 100 (since observed RSS typically lie in the range 0 to −100 dBm) and then their mean is subtracted from each reading to give a normalized RSS observation pij normalized. When RSS readings are not available at certain locations, these gaps are filled with a reading of −100 dBm assuming that the RSS is below the receive threshold of the receiver. The similarity metric is then computed as,
For clustering similar APs, hierarchical clustering is used. Initially each AP represents a single cluster and at each following step two of the most similar clusters are merged. The similarity between two AP clusters is computed as the average similarity between all inter-cluster pairs of APs. For selecting a representative AP within a cluster all APs are first ranked in the order of the number of known locations that can be see the AP. An AP that can see a larger number of known locations is given a higher priority. Among APs with same priority, an AP which has the highest average similarity to rest of the APs in its cluster is selected as the cluster head. In one embodiment the minimum number clusters is selected while ensuring that no two clusters have a similarity greater than 90%.
2.2 Selecting a Subset of Locations
For creating the RF model, ideally RSS observations come from several different locations across the indoor environment. For example, data from a single mobile user who actively ventures to different places across the indoor space to different locations while his mobile device transmits the RSS information to a server. Alternatively, data can come from a large number of mobile device users spread out across various locations of the indoor space. Given the large amount of data, then, the technique culls out the “useful” subset of data.
To tackle this problem a location selection algorithm, herein called LocSelect, was developed. LocSelect works in a similar manner as APSelect, except that each new location is selected such that the RSS information it provides has minimum overlap with other selected locations.
2.3 Receiver Gain Differences
While ideally all mobile devices should measure the same RSS, they often do not. The average RSS received by different mobile devices at the same location, during the same time interval and oriented along the same direction at line-of-sight from an AP can have large differences. Such differences can arise from the difference in receiver gains of these mobile devices and calibration errors. Since several different mobile devices can participate in the simultaneous localization and RF modeling technique, such differences can potentially increase localization errors. It has been suggested to maintain a database of pre-measured differences in receiver gains among various well known mobile devices. However, it has been found that there are gain differences of 2-7 dB even among two devices of the same model.
To account for these gain differences an additional unknown parameter—the receiver gain G, for each user, is introduced in one embodiment of the technique. In other words the LDPL model becomes,
In one implementation of the technique a novel approach is taken to estimate Gk. The basic idea is that if two users happen to transmit RSS observations from the same (or nearby) locations, then, the difference in gains between the two users can be estimated by subtracting their observations. In practice, however, the technique does not know the locations from which the RSS data was obtained (unless a corresponding GPS reading was obtained). Hence, the technique must rely on the RSS observations to ascertain that the observations from the two users were indeed taken from the same or close locations. To this end, the technique uses the fact that proximity between two locations can be inferred from the likeliness of the RSS readings seen at these locations. Suppose the RSS readings seen by two users are <p1 1, p2 1, . . . pm 1> and <p1 2, . . . p2 2−pm 2> respectively, then the affect of the receiver gains can then be eliminated by computing the vectors <p2 1−p1 1, . . . pm 1−p1 1> and <p2 2−p1 2, . . . pm 2−p1 2>. The technique uses the distance between these vectors to infer the likelihood that these readings came from locations that were close by. By creating pairs of readings from the two users' RSS data, that are most likely to have come from the same location, the technique estimates the difference in gains from between the users' receivers. These estimates can then be used as constraints in the genetic algorithm.
When a new mobile user enters the indoor space, the trilateration based localization (after using AP parameters to convert RSS to distances from the APs) can lead to errors if the receiver gains are not taken into account.
3.0 The Computing Environment
The simultaneous localization and RF modeling technique is designed to operate in a computing environment. The following description is intended to provide a brief, general description of a suitable computing environment in which the simultaneous localization and RF modeling technique can be implemented. The technique is operational with numerous general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable include, but are not limited to, personal computers, server computers, hand-held or laptop devices (for example, media players, notebook computers, cellular phones, personal data assistants, voice recorders), multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Device 600 also can contain communications connection(s) 612 that allow the device to communicate with other devices and networks. Communications connection(s) 612 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal, thereby changing the configuration or state of the receiving device of the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
Device 600 may have various input device(s) 614 such as a display, keyboard, mouse, pen, camera, touch input device, and so on. Output device(s) 616 devices such as a display, speakers, a printer, and so on may also be included. All of these devices are well known in the art and need not be discussed at length here.
The simultaneous localization and RF modeling technique may be described in the general context of computer-executable instructions, such as program modules, being executed by a computing device. Generally, program modules include routines, programs, objects, components, data structures, and so on, that perform particular tasks or implement particular abstract data types. The simultaneous localization and RF modeling technique may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
It should also be noted that any or all of the aforementioned alternate embodiments described herein may be used in any combination desired to form additional hybrid embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. The specific features and acts described above are disclosed as example forms of implementing the claims.