Technology for determining the location or position of devices that emit radio signals has the potential to provide a wide variety of location-specific applications. For example, in cellular telephone communication networks, the ability to locate a cellular telephone is a critical requirement of emergency (e911) responder systems. Such location systems employ location techniques, many of which are suitable for cellular telephone applications where location precision is not a requirement.
Radio location techniques for indoor radio applications, such as wireless local area networks (WLANs), require generally higher location precision. Some of these location technologies use time-of-arrival (TOA) or time-difference-of-arrival (TDOA) with respect to signals emitted by the device to be located. Other location technologies rely on receive signal strength or path loss between the device to be located and reference devices at known positions that receive the signal emitted by the device.
There is room for improving the accuracy and reliability of location systems that use path loss information to determine the location of a device that emits radio signals detected by other devices at known positions. In particular, some receive signal strength location techniques heretofore known require laborious user assisted calibration of the system by physically walking a transmitter throughout the entire area of interest. Other techniques require numerous transmitter devices placed at known positions in order to assist in calibrating the system. This increases the cost of the system. Furthermore, some systems require imported coverage maps that require a user to manually import information about a space of interest using a software tool that requires the user to trace over a floor plan with a mouse, and to add to that data information describing walls, obstructions, etc.
Techniques are described herein for reducing the complexity and improving the accuracy of receive signal strength based location systems. The system comprises a plurality of radio sensor devices placed at known positions within a space in which positions of devices are to be estimated. The path loss is measured between all combinations of pairs of radio sensor devices based on a test signal transmitted by each radio sensor device. A path loss model is evaluated to compute modeled path loss data between all combinations of pairs of radio sensor devices. For each measured path loss, a path loss error relative to each radio sensor device is computed by taking the difference between the measured path loss and the modeled path loss. The path loss error relative to each radio sensor device at any candidate position is interpolated from the computed path loss errors. A path loss estimate between a candidate position and each radio sensor device is computed by adding the interpolated path loss error relative to that radio sensor device at the candidate position and path loss data obtained by evaluating the path loss model based on the distance between each candidate position and the corresponding radio sensor device.
Another technique is provided for generating path loss estimate data. Test signals are transmitted between each radio sensor devices, and a path loss is measured at each of the other radio sensor devices to measure the path loss between all combinations of pairs of radio sensor devices. For each radio sensor device, parameters are derived for a path loss model function from the measured path loss between that radio sensor device and each of the other radio sensor devices using a minimization computation. Then, a path loss estimate between a position and each radio sensor device is computed by evaluating the path loss model function using the parameters derived for each radio sensor device.
Position estimation procedures are provided for estimating the position of a device emitting radio signals (called a target device) using the path loss estimate data derived by either of the methods described above. Techniques are also provided to use historical data pertaining to estimated transmit power of a target device when computing a position of that target device in conditions where there is position ambiguity.
Other radio position techniques are described herein that can be used with the path loss estimation techniques described above, or with any other path loss computation techniques heretofore known or hereinafter developed.
The position/location estimation system and method described herein uses received signal strength (RSS) of the signal emitted by the device to be located (target device) and does not require the aforementioned laborious offline calibration or imported coverage maps. The algorithm may be implemented in two phases, an offline phase for sensor self-calibration, and an online phase for real-time position estimation.
The System in General
With reference to
The server 400 includes a processor 410 that executes a position estimation process 420 that includes both the self-calibration offline phase and the online position estimation phase.
The techniques described herein are applicable to many applications where the target device emits radio energy. For example, the target device may be a wireless communication device that transmits a signal according to a wireless communication protocol that the sensors also recognize and operate on. In this sense, one or more sensors may initiate an exchange of signals with the target device in order to solicit transmissions from it, from which RSS measurements can be made at the sensors. An example of such a protocol is an IEEE 802.11 WLAN protocol. A sensor may transmit a data packet that the target device responds to with an acknowledgment message. Alternatively, a request-to-send/clear-to-send exchange may be initiated by a sensor. However, it is not necessary that a sensor initiate an exchange with the target device. The sensors may simply listen for transmissions or emissions from the target device. Moreover, the target device may be a device that emits radio energy that is not consistent or the same as the wireless communication protocol used by the sensors. For example, the target device may be a device that emits energy that interferes with the operation of IEEE 802.11 WLAN, such as a microwave oven, Bluetooth™ device, cordless telephone, wireless video camera, etc.
Theory of Operation
Let U be a random vector (2- or 3-dimensions) denoting the unknown target position, and let R be a random vector denoting the RSS information from the sensors. The following is a model for the dependence of R on U:
R=PTx·0.1−[L(U,usens(1)) . . . L(U,usens(N))]T+N
where PTx represents the (unknown) target transmit power in dBm, usens(i) is the (known) position of the ith sensor for i=1 to N, 1 is the all-ones column vector, N is a vector of lognormal AWGN samples in dB to represent lognormal fading and shadowing, and L(U,usens(i)) represents the path loss between sensor(i) and the position U, not accounting for effects of fading or shadowing. An improvement to this model that takes into account the receiver noise floor of each sensor is
R=10log10[100.1(P
where NF is the (known) noise floor in dBm at each sensor.
Given an RSS observation r, the position estimation algorithm picks the most likely position u* over all candidate positions and transmit powers, i.e.,
If the candidate positions are equally likely and the components of the AWGN vector N have equal variance, it is straightforward to show that (2) is equivalent to:
The actual path loss L(u,usens(j)) between position u and sensors) is unknown, but an estimate L can be obtained by employing an indoor path loss model to generate a rough estimate of the path loss, and an additive correction term to get the model to agree with the measured path loss data at the sensor locations. This technique is described in detail below.
Let Lmodel(u1, u2)=PathLossFunc(∥u1-u2∥) denote an estimate of the path loss between two arbitrary positions u1 and u2 based on a path loss model. The path loss model is implemented in the function PathLossFunc and uses only the distance between the two positions to estimate the path loss. One example of an indoor path loss model is described in “900 MHz Path Loss Measurements and Prediction Techniques for In-Building Communication System Design,” Seidel, et al., Proc. 41st IEEE VTC Conference, 1991. This path loss model can be expressed as follows:
Path Loss [dB]=P1[dB]+27.6·log10(d),
where d is the distance between the emitter and the receiver, and P1 is the path loss at 1 meter which depends on transmit and receive antenna gains, and the frequency of the target transmit signal.
Another path loss model is described in “Coexistence between Bluetooth and IEEE 802.11 CCK Solutions to Avoid Mutual Interference”, A. Kamerman, Lucent Technologies Bell Laboratories, January 1999. This path loss model uses a line-of-sight assumption (path loss coefficient=2.0) for the first 8 meters, and a larger path loss coefficient beyond 8 meters to account for walls, etc.:
Path Loss [dB]=P1 [dB]+20·log10(d) if d<8 m
Path Loss [dB]=P1 [dB]+20·log10(8)+33·log10(d/8) otherwise.
Still another path loss model approach is to assume a two-coefficient model of the form:
Path Loss [dB]=C0+C1·log10(d),
and to solve for the c0 and c1 that form a best-fit line through the measured path loss data from the sensor self-calibration measurements. For example, a single-breakpoint model may be defined as follows:
where d0 is the breakpoint distance in meters, C0 is the path loss at 1 meter, C1 is the path loss slope for distances under d0 meters, and C2 is the path loss slope beyond d0 meters.
Moreover, multiple path loss models may be used. For example, one path loss model may be used for areas with low obstruction densities (e.g., open areas or hallways), another path loss model for high obstruction densities (cubicles, walls, etc). The specific C0, C1 and C2 values for these parameters at 2.4 GHz were found empirically and are listed below:
Continuing with the development for the path loss estimate L, let E be the path loss error matrix defined by
Ei,j=[e1 . . . eN]T=Lmeas(usens(i), usens(j))−Lmodel(usens(i), usens(j))
where Lmeas(usens(i), usens(j)) is the measured path loss between sensor(i) and sensors) when sensor(j) receives a test signal from sensor(i). When i=j, Lmeas(usens(i), usens(j))=0. The measurement assumes that averaging is performed (ideally with antenna diversity and/or with frequency diversity by transmitting a broadband signal during calibration) during the measurement to mitigate the effects of fading or shadowing. Note that with an appropriate amount of averaging, it is reasonable to assume that the measured path loss and the actual path loss are the same, i.e., Lmeas(usens(i), usens(j))=L(usens(i), usens(j)).
The jth column of the path loss error matrix defined above, ej, represents the error between the path loss model and the actual (measured) path loss, when the path loss is measured at each of the sensor positions relative to sensor (O). For convenience, ej is referred to as “the path loss error relative to sensor (j).”
The estimate {circumflex over (L)} for the path loss L(u,usens(j)) between position u and sensor(j) can now be defined as follows:
In the second term of the above equation, multi-dimensional interpolation is used to interpolate the path loss error relative to sensor (j) between the positions at which the error is known (i.e., at the sensor positions) to form an estimate of the error at position u.
One example of a multi-dimensional interpolation technique useful for the Interp( ) function is known as “Kriging”, and is described in “DACE: A MATLAB Kriging Toolbox,” Version 2.0, Aug. 1, 2002, Lophaven, H. Nielsen, J. Søndergaard, Department of Informatics and Modeling, Technical University of Denmark. A number of other well-known multi-dimensional interpolation techniques can be used for this application, such as Akima splines, bi-linear interpolation, etc.
Substituting {circumflex over (L)} for L in equation (4), the position estimator can now be defined as follows:
The position estimation algorithm selects the candidate position u* that is associated with the closest RSS in Euclidean distance to the RSS observation vector r using equation (7). Said another way, the position estimation algorithm computes a most likely position over a plurality of candidate positions and a plurality of candidate transmit powers of the target device based on the receive signal strength data at the known sensor positions. This could be done either by evaluating equation (7) over a grid of candidate positions u={ucand(n)}, or by using an iterative multi-dimensional minimization algorithm, such as the Simplex Method, Powell's Method, or Simulated Annealing as described in Numerical Recipes in C, The Art of Scientific Computing, Press et al., Cambridge University Press, 1992.
An improvement of this process is to collect a sequence rn of RSS observations from multiple transmissions by a target device instead of a single observation. A Maximum Likelihood Sequence Estimation (MLSE) algorithm is employed to produce the following generalization of equation (7) for a sequence of observations:
for a block of Nseq observations r1, . . . ,rNseq, or
using a bank of lowpass filters (one filter for each candidate (u,PTx) pair) to replace the sum in equation (5). Using this approach, the ML position estimate is the position that corresponds to the filter having the smallest output. The time constant of the filters should be small enough to give good averaging but large enough to accommodate any motion of the target.
Still another modification of the basic process is when each sensor has multiple antennas and receive antenna diversity capability. Diversity may be achieved by selection diversity or full simultaneous receive diversity (e.g., a receiver for each antenna path). RSS data is observed from multiple antennas on sensor devices from one or more transmissions (or emissions) by a target device. Using {r1n}, . . . , {rPn} to denote RSS observation sequences from P antennas, the MLSE estimator for the P antenna case is
for a block of Nseq observations, and
In the above expression, σ2 represents the noise variance of the RSS estimate (empirically, σ has been shown to be close to 5 dB), and fP
With respect to equation (12), two lowpass filters, which may be referred to as “slow” and “fast” may be used in practice to track fast target movements without introducing large position estimate variations. The input RSS data is applied to both the filters to produce estimates u*,slow and u*,fast. Nominally u*,slow is used as the final estimate of the target location. However, if the difference between the two estimates is greater than the threshold (rthresh) u*,fast is used as the output and the state of the fast filter is loaded to that of the slow filter.
Another form for the position estimator is as follows:
An additional minimization step over path loss models is added in equation (13) to search over two or more two different path loss models. For example, a low obstruction density path loss model and a high obstruction density path loss model may be used as referred to above, and minimization performed as indicated in equation (13) over these two models.
System Implementation
The self-calibration process 500 begins in
Reference is now made to
The self-calibration path loss estimation process of
In step 610 of
Then, as shown by step 622, for each candidate transmit power PTx of the device to be located, several further computations are made. The derivation of the candidate transmit powers will be described hereinafter. In step 624, the intermediate vector {circumflex over (r)}=10log10[100.1(P
Steps 640-646 illustrate one procedure for selecting the candidate transmit powers PTx of the target device used in the computations shown in
A purpose of steps 640-646 in
Another path loss estimate technique involves estimating the path loss between a point in space u and a sensor by fitting a path loss model to the conditions of the channel environment in which the sensors are deployed.
Steps 672 and 678 set up a loop in which the index i is associated with a transmitting sensor. In step 674, the server directs sensor i to transmit a test signal at a known power Pi. Each of the other sensors receives the test signal and in step 676, the RSS is measured at each sensor(j) (each of the other sensors) and the vector Lmeas(usens(i),usens(1): usens(N)) which represents the path loss (computed by subtracting the RSS at sensors) from Pi) between sensor(i) and each sensors). Steps 674 and 676 are repeated for i=1 to N thereby building a vector of this type for each sensor(i).
Steps 680 and 686 define a loop in which the index(j) is associated with a sensor with respect to which a path loss estimate is to be computed from the data computed in step 676. In step 682, the path loss model parameters [C0, C1, C2, d0] for sensors) is estimated by minimizing the mean squared error between the measured path loss and the path loss model function. That is, in step 682, the minimum of the norm squared of the difference between the vector Lmeas(usens(1),usens(N): Usens(j)) and Lmodel(C0, C1, C2, d0,dsens(1)−sens(j): dsens(N)−sens(j)), is computed, where dsens(1)−sens(j):dsens(N)−sens(j) represents the distance between sensor(1) and sensors), the distance between sensor(2) and sensors), . . . , and the distance between sensor(N) and sensor(j), which are known quantities. The parameters C0, C1, C2, d0 are the variables to be computed by the argmin( ) operation for each sensors). Other arithmetic computations may be performed to solve for the parameters. In step 684, a path loss estimate Lest(u,usens(j)) is defined by evaluating the path loss model function Lmodel with the parameters C0, C1, C2, d0, for sensor(j), in other words, Lmodel[C0, C1, C2, d0, d]j, where d is the distance between an arbitrary point in space (e.g., a candidate position) and the position of sensor j, usens(j). Thus, each sensors) will have its own possibly unique set of path loss model parameters C0, C1, C2, d0.
The process 670 may be performed with any one or more path loss models for each sensor. It is another way of interpolating the path loss error between the measured path loss between the sensors and a path loss model for the corresponding distance. Furthermore, the process 670 may be performed after initial installation of the sensors at a particular site, or on an occasional basis thereafter to update the path loss model parameters for any changes or variations in the environment. In use, the path loss estimate Lest(u,usens(j)) is substituted in all respects in the position estimation processes of
To summarize the process depicted by
Deriving the parameters may involve minimizing the mean squared error between the measured path loss and the path loss model function, that is, computing a minimum of a square of a norm of a difference between a vector representing measured path loss between a known position and each of the other known positions and a vector representing the path loss model function based on corresponding distances between the known position and each of the other known positions.
The processes described above in conjunction with
The multiple observation and multiple-antenna sensor enhancements described above are useful in conjunction with the estimated path loss data produced according to the methodology of
An advantage of the techniques for generating path loss estimates as described above (in conjunction with
Additional Features and Concepts
With reference to
Another multi-story location approach is to put sensors on multiple floors and use these sensors to locate the target device in three dimensions where the sensor locations are tracked in 3-dimensions (instead of 2-dimensions) and 3-dimensional data is used (in the processes shown in
A hybrid approach may be provided that combines these two approaches, where sensors from a certain number of floors (e.g., 3) having the highest Pavg(f) are used to triangulate on the target in three-dimensions using the processes shown in
The SAGE block 740 includes a spectrum analyzer 742, a signal detector 743 consisting of a peak detector 744 and one or more pulse detectors 745, a pulse detector lite block 746, and a snapshot buffer 748. A Fast Fourier Transform (FFT) block (not shown) is coupled to the spectrum analyzer 742, or included in the spectrum analyzer 2132. The SAGE 740 generates spectrum activity information that is used in the sensor and the server to determine (classify/identify) the types of signals occurring in the frequency band, and captures signals for location measurement operations. The functions of the SAGE 740 are described more fully in commonly assigned U.S. Pat. No. 6,714,605, commonly assigned co-pending U.S. application Ser. No. 10/420,511, filed Apr. 22, 2003, entitled “System and Method for Real-Time Spectrum Analysis in a Radio Device,” and commonly assigned co-pending U.S. Provisional Patent Application No. 60/587,834, filed Jul. 14, 2004, entitled “Pulse Detection Scheme for Use in Real-Time Spectrum Analysis.”
The snapshot buffer 748 collects a set of raw digital signal samples useful for signal classification and deriving RSS data from received packets. The snapshot buffer 748 can be triggered to begin sample collection from either the signal detector 748 or from an external trigger source, such as a signal from the processor to capture received signal data for a period of time sufficient to include a series of signal exchanges used for location estimation. Alternatively, the snapshot buffer may be in a free-running state continuously storing captured and then in response to detecting the first signal (e.g., the Probe Request frame), the snapshot buffer is put into a post-store mode that extends long enough to capture the ACK frame signal data. Furthermore, the snapshot buffer 748 can capture raw (digital) data for a received signal from any type of target device, even a device that may interfere with a particular type of communication network, such as an 802.11 WLAN. Among other functions, The MCU 750 can then perform processing on the captured raw data to compute a RSS measurement data therefrom. Moreover, using the snapshot buffer 748 data to compute the RSS data achieves greater accuracy and range than is possible with an 802.11 chipset device, for example.
The advantage of the sensor configuration shown in
In summary, a method is provided for determining a position of a target device based on data pertaining to strength of an emission received from the target device at a plurality of known positions, the method comprising: receiving an emission from the target device at each of a plurality of known positions to produce receive signal strength data; and computing a most likely position over a plurality of candidate positions and a plurality of candidate transmit powers of the target device based on the receive signal strength data. The most likely position may be computed over a plurality of candidate positions, a plurality of candidate transmit powers and a plurality of path loss models. The various path loss estimation and position estimation techniques described herein may be used in conjunction with this method.
According to one embodiment, a method is provided for generating path loss estimate data associated with an area in which a plurality of radio sensor devices are deployed at known positions and used to determine a position of a target device in the area based on emissions received from the target device, the method comprising: with respect to a test signal transmitted by each radio sensor device, measuring path loss at each of the other radio sensor devices to measure the path loss between all combinations of pairs of radio sensor devices; evaluating a path loss model based on the distance between all combinations of pairs of radio sensor devices to produce path loss model data; computing, relative to each radio sensor device, a path loss error between the measured path loss and the path loss model data when the path loss is measured at each of the other radio sensor positions relative to that radio sensor device; interpolating a path loss error relative to each radio sensor device at a candidate position from the corresponding computed path loss errors; and computing a path loss estimate between a candidate position and each radio sensor device by adding the interpolated path loss error relative to a radio sensor device at the candidate position to path loss data obtained by evaluating the path loss model based on a distance between a position of the corresponding radio sensor device and the candidate position.
According to another embodiment, a method is provided for generating path loss estimate data associated with an area in which a plurality of radio sensor devices are deployed at known positions and used to determine a position of a target device in the area based on emissions received from the target device, the method comprising: with respect to a test signal transmitted by each radio sensor device, measuring path loss at each of the other radio sensor devices to measure the path loss between all combinations of pairs of radio sensor devices; for each radio sensor device, deriving parameters for a path loss model function from the measured path loss between that radio sensor device and each of the other radio sensor devices; and computing a path loss estimate between a position and each radio sensor device by evaluating the path loss model function using the parameters derived for each radio sensor device.
Furthermore, a method is provided for producing path loss data with respect to signals transmitted between each of a plurality of radio sensor devices deployed at a corresponding position in an area where a position of a target device is to be computed, the method comprising: identifying an axis of symmetry with respect to the positions of the plurality of sensors; with respect to signals transmitted by each of the plurality of radio sensor devices, computing first path loss data with respect to the plurality of sensors at positions on one side of the axis of symmetry; and deriving the path loss data with respect to the plurality of sensors at positions on an opposite side of the axis of symmetry from the first path loss data.
Still further, a method is provided for determining the position of a target device that emits radio signals in a multi-story building, comprising: deploying a plurality of radio sensor devices at known positions on each of the floors of a multi-storing building; receiving radio emissions from the target device at the plurality of radio sensor devices and deriving received power data at each radio sensor device from the received radio emissions, where P(f,k) is the power received from the target device at the kth sensor on floor f; computing an average power per sensor per floor Pavg(f)=ΣkP(f,k)/N(f), wherein N(f) is the number of sensors on floor f; and estimating that the target device is on floor f0, where f0 maximizes Pavg(f) over f.
All of the path loss estimation and position estimation techniques described herein may be embodied by a computer readable medium storing instructions that, when executed by a computer or processor, cause the computer or processor to perform the various path loss estimation and position estimation computation techniques described herein.
The above description is intended by way of example only.
This application claims priority to U.S. Provisional Application No. 60/582,317, filed Jun. 23, 2004, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60582317 | Jun 2004 | US |