U.S. patent application number 12/622289 was filed with the patent office on 2010-06-03 for wireless position determination using adjusted round trip time measurements.
This patent application is currently assigned to QUALCOMM Incorporated. Invention is credited to Alok Aggarwal, Saumitra Mohan Das, Ayman Fawzy Naguib, Vinay Sridhara.
Application Number | 20100135178 12/622289 |
Document ID | / |
Family ID | 42077331 |
Filed Date | 2010-06-03 |
United States Patent
Application |
20100135178 |
Kind Code |
A1 |
Aggarwal; Alok ; et
al. |
June 3, 2010 |
WIRELESS POSITION DETERMINATION USING ADJUSTED ROUND TRIP TIME
MEASUREMENTS
Abstract
One method for wirelessly determining a position of a mobile
station includes measuring a round trip time (RTT) to a plurality
of wireless access points, estimating a first distance to each
wireless access point based upon the round trip time delay and an
initial processing time associated with each wireless access point,
estimating a second distance to each wireless access point based
upon supplemental information, combining the first and second
distance estimates to each wireless access point, and calculating
the position based upon the combined distance estimates. Another
method includes measuring a distance to each wireless access point
based upon a wireless signal model, calculating a position of the
mobile station based upon the measured distance, determining a
computed distance to each wireless access point based upon the
calculated position of the mobile station, updating the wireless
signal model, and determining whether the wireless signal model has
converged.
Inventors: |
Aggarwal; Alok; (Foster
City, CA) ; Naguib; Ayman Fawzy; (Cupertino, CA)
; Sridhara; Vinay; (Santa Clara, CA) ; Das;
Saumitra Mohan; (San Jose, CA) |
Correspondence
Address: |
QUALCOMM INCORPORATED
5775 MOREHOUSE DR.
SAN DIEGO
CA
92121
US
|
Assignee: |
QUALCOMM Incorporated
San Diego
CA
|
Family ID: |
42077331 |
Appl. No.: |
12/622289 |
Filed: |
November 19, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61116996 |
Nov 21, 2008 |
|
|
|
61117055 |
Nov 21, 2008 |
|
|
|
Current U.S.
Class: |
370/252 ;
370/328; 455/41.2 |
Current CPC
Class: |
G01S 5/14 20130101; G01S
5/0205 20130101; G01S 5/10 20130101; H04W 24/00 20130101; H04W
64/00 20130101; G01S 13/765 20130101 |
Class at
Publication: |
370/252 ;
370/328; 455/41.2 |
International
Class: |
H04J 1/16 20060101
H04J001/16; H04W 4/00 20090101 H04W004/00 |
Claims
1. A method for wirelessly determining a position of a mobile
station, comprising: measuring a round trip time (RTT) to each of a
plurality of wireless access points; estimating a first distance to
each wireless access point based upon the round trip time delay and
an initial processing time associated with each wireless access
point; estimating a second distance to each wireless access point
based upon supplemental information; combining the first and second
distance estimates to each wireless access point; and calculating
the position of the mobile station based upon the combined distance
estimates.
2. The method of claim 1, wherein the supplemental information
includes received signal strength intensity (RSSI), a previous
position estimate, and/or information provided by Bluetooth,
beacons, RFID tags, coordinates from a map, and/or Satellite
Positioning System (SPS) signals.
3. The method of claim 1, wherein the determining the second
distance to each wireless access point further comprises: measuring
a received signal strength of a packet from each wireless access
point; and estimating a distance to each wireless access point
based upon the measured signal strength.
4. The method of claim 3, wherein estimating a distance to each
wireless access point based upon the measured signal strength
further comprises: relating a received signal strength intensity
(RSSI) and distance utilizing a model.
5. The method of claim 4, wherein the model provides an average
distance, and a variance in this distance, as a function of
RSSI.
6. The method of claim 4, wherein the model assumes an indoor
environment and provides upper and lower bounds for RSSI as a
function of distance between the mobile station and a wireless
access point.
7. The method of claim 6, wherein the model further includes a
propagation model based upon a map indicating the deployment of
each wireless access point.
8. The method of claim 4, wherein the model relates the RSSI to an
approximate maximum distance between the mobile station and a
wireless access point.
9. The method of claim 1, wherein measuring a round trip time delay
to the wireless access point further comprises: transmitting a
packet from the mobile station to the access point; recording a
first time when the transmitted packet was sent; receiving a
response packet from the wireless access point in response to the
transmitted packet; recording a second time when the response
packet was received; and computing a difference between the second
recorded time and the first recorded time.
10. The method of claim 9, wherein the transmitted packet utilizes
a unicast packet whereby the mobile station does not associate with
the wireless access point.
11. The method of claim 9, wherein the transmitted packet utilizes
a packet whereby the mobile station associates with the wireless
access point.
12. The method of claim 10, wherein the mobile station and the
wireless access points operate in accordance with IEEE 802.11
standards, cellular piconet, cellular femtocell, and/or Bluetooth
networking standards.
13. The method of claim 1, further comprising: selecting each of
the wireless access points based upon a received signal strength
indicator.
14. The method of claim 1, wherein the calculating the position of
the mobile station using the first and second distances to each
wireless access point further comprises: determining the combined
distance by performing a weighted combination of the first and
second distances, wherein the first distance is weighted by a first
variance associated with RSSI measurements, and the second distance
is weighted by a second variance associated with a round trip time
noise; and performing trilateration using the combined distance
associated with each wireless access point.
15. An apparatus for wireless position determination, comprising: a
wireless transceiver; a processor coupled to the wireless
transceiver; and a memory coupled to the processor, wherein the
memory stores executable instructions and data for causing the
processor to measure a round trip time (RTT) to each of a plurality
of wireless access points, estimate a first distance to each
wireless access point based upon the round trip time delay and an
initial processing time associated with each wireless access point,
estimate a second distance to each wireless access point based upon
supplemental information, combine the first and second distance
estimates to each wireless access point, and calculate the position
of the mobile station based upon the combined distance
estimates.
16. The apparatus of claim 15, wherein the supplemental information
includes received signal strength intensity (RSSI), a previous
position estimate, and/or information provided by Bluetooth,
beacons, RFID tags, coordinates from a map, and/or Satellite
Positioning System (SPS) signals.
17. The apparatus of claim 15, wherein the instructions for
determining the second distance to each wireless access point
further cause the processor to measure a received signal strength
of a packet from each wireless access point, and estimate a
distance to each wireless access point based upon the measured
signal strength.
18. The apparatus of claim 17, wherein the instructions for
estimating a distance to each wireless access point based upon the
measured signal strength further cause the processor to relate a
received signal strength intensity (RSSI) and distance utilizing a
model.
19. The apparatus of claim 18, wherein the model provides an
average distance, and a variance in this distance, as a function of
RSSI.
20. The apparatus of claim 18, wherein the model assumes an indoor
environment and provides upper and lower bounds for RSSI as a
function of distance between the mobile station and a wireless
access point.
21. The apparatus of claim 20, wherein the model further includes a
propagation model based upon a map indicating the deployment of
each wireless access point.
22. The apparatus of claim 18, wherein the model relates the RSSI
to an approximate maximum distance between the mobile station and a
wireless access point.
23. The apparatus of claim 15, wherein the instructions for
measuring a round trip time delay to the wireless access point
further cause the processor to transmit a packet from the mobile
station to the access point, record a first time when the
transmitted packet was sent, receive a response packet from the
wireless access point in response to the transmitted packet, record
a second time when the response packet was received, and compute a
difference between the second recorded time and the first recorded
time.
24. The apparatus of claim 23, wherein the transmitted packet
utilizes a unicast packet whereby the mobile station does not
associate with the wireless access point.
25. The apparatus of claim 23, wherein the transmitted packet
utilizes a packet whereby the mobile station associates with the
wireless access point.
26. The apparatus of claim 24, wherein the mobile station and the
wireless access points operate in accordance with IEEE 802.11
standards, cellular piconet, cellular femtocell, and/or Bluetooth
networking standards.
27. The apparatus of claim 15, further comprising instructions
which cause the processor to select each of the wireless access
points based upon a received signal strength indicator.
28. The apparatus of claim 15, wherein the instructions for
calculating the position of the mobile station using the first and
second distances to each wireless access point further cause the
processor to determine the combined distance by performing a
weighted combination of the first and second distances, wherein the
first distance is weighted by a first variance associated with RSSI
measurements, and the second distance is weighted by a second
variance associated with a round trip time noise, and perform
trilateration using the combined distance associated with each
wireless access point.
29. An apparatus for wireless position determination, comprising:
means for measuring a round trip time (RTT) to each of a plurality
of wireless access points; means for estimating a first distance to
each wireless access point based upon the round trip time delay and
an initial processing time associated with each wireless access
point; means for estimating a second distance to each wireless
access point based upon supplemental information; means for
combining the first and second distance estimates to each wireless
access point; and means for calculating the position of the mobile
station based upon the combined distance estimates.
30. The apparatus of claim 29, wherein the supplemental information
includes received signal strength intensity (RSSI), a previous
position estimate, and/or information provided by Bluetooth,
beacons, RFID tags, coordinates from a map, and/or Satellite
Positioning System (SPS) signals.
31. The apparatus of claim 29, wherein the determining the second
distance to each wireless access point further comprises: means for
measuring a received signal strength of a packet from each wireless
access point; and means for estimating a distance to each wireless
access point based upon the measured signal strength.
32. The apparatus of claim 31, wherein estimating a distance to
each wireless access point based upon the measured signal strength
further comprises: means for relating a received signal strength
intensity (RSSI) and distance utilizing a model.
33. The apparatus of claim 32, wherein the model provides an
average distance, and a variance in this distance, as a function of
RSSI.
34. The apparatus of claim 32, wherein the model assumes an indoor
environment and provides upper and lower bounds for RSSI as a
function of distance between the mobile station and a wireless
access point.
35. The apparatus of claim 34, wherein the model further includes a
propagation model based upon a map indicating the deployment of
each wireless access point.
36. The apparatus of claim 32, wherein the model relates the RSSI
to an approximate maximum distance between the mobile station and a
wireless access point.
37. The apparatus of claim 29, wherein measuring a round trip time
delay to the wireless access point further comprises: means for
transmitting a packet from the mobile station to the access point;
means for recording a first time when the transmitted packet was
sent; means for receiving a response packet from the wireless
access point in response to the transmitted packet; means for
recording a second time when the response packet was received; and
means for computing a difference between the second recorded time
and the first recorded time.
38. The apparatus of claim 37, wherein the transmitted packet
utilizes a unicast packet whereby the mobile station does not
associate with the wireless access point.
39. The apparatus of claim 37, wherein the transmitted packet
utilizes a packet whereby the mobile station associates with the
wireless access point.
40. The apparatus of claim 38, wherein the mobile station and the
wireless access points operate in accordance with IEEE 802.11
standards, cellular piconet, cellular femtocell, and/or Bluetooth
networking standards.
41. The apparatus of claim 29, further comprising: means for
selecting each of the wireless access points based upon a received
signal strength indicator.
42. The apparatus of claim 29, wherein the calculating the position
of the mobile station using the first and second distances to each
wireless access point further comprises: means for determining the
combined distance by performing a weighted combination of the first
and second distances, wherein the first distance is weighted by a
first variance associated with RSSI measurements, and the second
distance is weighted by a second variance associated with a round
trip time noise; and means for performing trilateration using the
combined distance associated with each wireless access point.
43. A method for wirelessly determining a position of a mobile
station using signals provided by a plurality of wireless access
points, comprising: measuring a distance to each wireless access
point based upon a wireless signal model; calculating a position of
the mobile station based upon the measured distance; determining a
computed distance to each wireless access point based upon the
calculated position of the mobile station; updating the wireless
signal model based upon the measured and computed distances to each
wireless access point; and determining whether the wireless signal
model has converged.
44. The method according to claim 43, further comprising: repeating
the method of claim 43 when the wireless signal model has not
converged.
45. The method according to claim 43, further comprising:
determining that the wireless signal model has not converged;
refining the distance measurement to each wireless access point
based upon the updated wireless signal model; calculating a refined
position of the mobile station based upon the refined distance
measurement; determining another computed distance to each wireless
access point based upon the refined position of the mobile station;
and updating the wireless signal model based upon the refined
measurement and computed distances to each wireless access
point.
46. The method according to claim 43, wherein the wireless signal
model relates the distance between the mobile station and each
wireless access point to a round trip time (RTT) of the wireless
signal.
47. The method according to claim 46, further comprising: measuring
a round trip time (RTT) to each of the wireless access points;
determining a first distance to each wireless access point based
upon the round trip time delay; determining a second distance to
each wireless access point based upon supplemental information;
calculating the position of the mobile station using the first and
second distances to each wireless access point; and updating the
initial processing time for each of the wireless access points
based upon the calculated position of the mobile station.
48. The method according to claim 47 further comprising:
determining that at least one of the updated processing times have
not converged; measuring the round trip time delay to each of the
plurality of wireless access points; determining a revised first
distance to each wireless access point based upon the round trip
time delay and the updated processing time associated with each
wireless access point; calculating a subsequent position of the
mobile station using the revised first distance and the second
distance to each wireless access point; and refining the updated
processing time for each of the wireless access points based upon
the subsequent position of the mobile station.
49. The method according to claim 47, wherein the supplemental
information may be derived from RSSI models, a previous position
estimate, information provided by Bluetooth, beacons, RFID tags,
coordinates from a map, and/or Satellite Positioning System (SPS)
signals.
50. The method according to claim 43, wherein the wireless signal
model relates the distance between the mobile station and each
wireless access point to received signal strength intensity (RSSI)
of the wireless signal.
51. The method of claim 50, wherein the model assumes an indoor
environment and further comprises: receiving an initial model of
the indoor environment; calculating an initial position of the
mobile station based upon the initial distance to each wireless
access point; and updating the initial model using the calculated
initial position and the received signal strength of the
packet.
52. The method of claim 51, further comprising: updating the model
of the indoor environment based upon subsequent positions and
received signal strength measurements as the mobile station moves
within the indoor environment.
53. The method of claim 51, wherein the initial model is generated
based upon ray tracing a map of the indoor environment.
54. The method of claim 51, wherein the initial model is generated
based upon generic models of indoor environments.
55. The method of claim 53, wherein the generic models of indoor
environments include office environments, warehouse environments,
and/or shopping mall environments.
56. The method of claim 51, wherein calculating an initial position
of the mobile station further comprises: determining an initial
distance to each wireless access point based upon the initial
model; and performing trilateration using the initial
distances.
57. The method of claim 51, wherein calculating an initial position
of the mobile station further comprises: matching observed RSSI
values with a fingerprinting database.
58. The method of claim 43, wherein the determining the second
distance to each wireless access point further comprises:
determining a mean RTT noise from the supplemental information;
subtracting the initial processing time and the mean RTT noise from
the RTT to determine an adjusted time value; and converting the
adjusted time to the second distance.
59. The method of claim 58, wherein the mean RTT noise value is
based upon a received signal strength intensity value associated
with each wireless access point.
60. The method of claim 43, wherein it is determined that the
wireless signal model has converged, further comprising: storing
parameters associated with the wireless signal model.
61. An apparatus for wireless position determination of a mobile
station using signals provided by a plurality of wireless access
points, comprising: a wireless transceiver; a processor coupled to
the wireless transceiver; and a memory coupled to the processor,
wherein the memory stores executable instructions and data for
causing the processor to measure a distance to each wireless access
point based upon a wireless signal model, calculate a position of
the mobile station based upon the measured distance, determine a
computed distance to each wireless access point based upon the
calculated position of the mobile station, update the wireless
signal model based upon the measured and computed distances to each
wireless access point, and determine whether the wireless signal
model has converged.
62. The apparatus according to claim 61, further comprising
instructions causing the processor to repeat the instructions of
claim 61 when the wireless signal model has not converged.
63. The apparatus according to claim 61, further comprising
instructions causing the processor to determine that the wireless
signal model has not converged, refine the distance measurement to
each wireless access point based upon the updated wireless signal
model, calculate a refined position of the mobile station based
upon the refined distance measurement, determine another computed
distance to each wireless access point based upon the refined
position of the mobile station, and update the wireless signal
model based upon the refined measurement and computed distances to
each wireless access point.
64. The apparatus according to claim 61, wherein the wireless
signal model relates the distance between the mobile station and
each wireless access point to a round trip time (RTT) of the
wireless signal.
65. The apparatus according to claim 64, further comprising
instructions causing the processor to measure a round trip time
(RTT) to each of the wireless access points, determine a first
distance to each wireless access point based upon the round trip
time delay, determine a second distance to each wireless access
point based upon supplemental information, calculate the position
of the mobile station using the first and second distances to each
wireless access point, and update the initial processing time for
each of the wireless access points based upon the calculated
position of the mobile station.
66. The apparatus according to claim 65 further comprising
instructions causing the processor to determine that at least one
of the updated processing times have not converged, measure the
round trip time delay to each of the plurality of wireless access
points, determine a revised first distance to each wireless access
point based upon the round trip time delay and the updated
processing time associated with each wireless access point,
calculate a subsequent position of the mobile station using the
revised first distance and the second distance to each wireless
access point, and refine the updated processing time for each of
the wireless access points based upon the subsequent position of
the mobile station.
67. The apparatus according to claim 65, wherein the supplemental
information may be derived from RSSI models, a previous position
estimate, information provided by Bluetooth, beacons, RFID tags,
coordinates from a map, and/or Satellite Positioning System (SPS)
signals.
68. The apparatus according to claim 61, wherein the wireless
signal model relates the distance between the mobile station and
each wireless access point to received signal strength intensity
(RSSI) of the wireless signal.
69. The apparatus of claim 68, wherein the model assumes an indoor
environment and the apparatus further comprises instructions
causing the processor to receive an initial model of the indoor
environment, calculate an initial position of the mobile station
based upon the initial distance to each wireless access point, and
update the initial model using the calculated initial position and
the received signal strength of the packet.
70. The apparatus of claim 69, further comprising instructions
causing the processor to update the model of the indoor environment
based upon subsequent positions and received signal strength
measurements as the mobile station moves within the indoor
environment.
71. The apparatus of claim 69, wherein the initial model is
generated based upon ray tracing a map of the indoor
environment.
72. The apparatus of claim 69, wherein the initial model is
generated based upon generic models of indoor environments.
73. The apparatus of claim 71, wherein the generic models of indoor
environments include office environments, warehouse environments,
and/or shopping mall environments.
74. The apparatus of claim 69, wherein calculating an initial
position of the mobile station further comprises instructions
causing the processor to determine an initial distance to each
wireless access point based upon the initial model, and perform
trilateration using the initial distances.
75. The apparatus of claim 69, wherein calculating an initial
position of the mobile station further comprises instructions
causing the processor to match observed RSSI values with a
fingerprinting database.
76. The apparatus of claim 61, wherein the determining the second
distance to each wireless access point further comprises
instructions causing the processor to determine a mean RTT noise
from the supplemental information, subtract the initial processing
time and the mean RTT noise from the RTT to determine an adjusted
time value, and convert the adjusted time to the second
distance.
77. The apparatus of claim 76, wherein the mean RTT noise value is
based upon a received signal strength intensity value associated
with each wireless access point.
78. The apparatus of claim 61, wherein it is determined that the
wireless signal model has converged, further comprising
instructions causing the processor to store parameters associated
with the wireless signal model.
79. An apparatus for wireless position determination of a mobile
station using signals provided by a plurality of wireless access
points, comprising: means for measuring a distance to each wireless
access point based upon a wireless signal model; means for
calculating a position of the mobile station based upon the
measured distance; means for determining a computed distance to
each wireless access point based upon the calculated position of
the mobile station; means for updating the wireless signal model
based upon the measured and computed distances to each wireless
access point; and means for determining whether the wireless signal
model has converged.
80. The apparatus according to claim 79, further comprising: means
for repeating the functions of claim 79 when the wireless signal
model has not converged.
81. The apparatus according to claim 79, further comprising: means
for determining that the wireless signal model has not converged;
means for refining the distance measurement to each wireless access
point based upon the updated wireless signal model; means for
calculating a refined position of the mobile station based upon the
refined distance measurement; means for determining another
computed distance to each wireless access point based upon the
refined position of the mobile station; and means for updating the
wireless signal model based upon the refined measurement and
computed distances to each wireless access point.
82. The apparatus according to claim 79, wherein the wireless
signal model relates the distance between the mobile station and
each wireless access point to a round trip time (RTT) of the
wireless signal.
83. The apparatus according to claim 82, further comprising:
measuring a round trip time (RTT) to each of the wireless access
points; means for determining a first distance to each wireless
access point based upon the round trip time delay; means for
determining a second distance to each wireless access point based
upon supplemental information; means for calculating the position
of the mobile station using the first and second distances to each
wireless access point; and means for updating the initial
processing time for each of the wireless access points based upon
the calculated position of the mobile station.
84. The apparatus according to claim 83 further comprising: means
for determining that at least one of the updated processing times
have not converged; means for measuring the round trip time delay
to each of the plurality of wireless access points; means for
determining a revised first distance to each wireless access point
based upon the round trip time delay and the updated processing
time associated with each wireless access point; means for
calculating a subsequent position of the mobile station using the
revised first distance and the second distance to each wireless
access point; and means for refining the updated processing time
for each of the wireless access points based upon the subsequent
position of the mobile station.
85. The apparatus according to claim 79, wherein the wireless
signal model relates the distance between the mobile station and
each wireless access point to received signal strength intensity
(RSSI) of the wireless signal.
86. The apparatus of claim 85, wherein the model assumes an indoor
environment and further comprises: means for receiving an initial
model of the indoor environment; means for calculating an initial
position of the mobile station based upon the initial distance to
each wireless access point; and means for updating the initial
model using the calculated initial position and the received signal
strength of the packet.
87. The apparatus of claim 86, further comprising: means for
updating the model of the indoor environment based upon subsequent
positions and received signal strength measurements as the mobile
station moves within the indoor environment.
88. The apparatus of claim 86, wherein calculating an initial
position of the mobile station further comprises: means for
determining an initial distance to each wireless access point based
upon the initial model; and means for performing trilateration
using the initial distances.
89. The apparatus of claim 79, wherein the determining the second
distance to each wireless access point further comprises: means for
determining a mean RTT noise from the supplemental information;
means for subtracting the initial processing time and the mean RTT
noise from the RTT to determine an adjusted time value; and means
for converting the adjusted time to the second distance.
90. A method for wirelessly determining a position of a mobile
station, comprising: measuring a round trip time delay to each of a
plurality of wireless access points; estimating an initial
processing time for each of the wireless access points; calculating
the position of the mobile station based upon the measured round
trip time delays and estimated processing times; and updating the
estimated processing time for each of the wireless access points
based upon the calculated position of the mobile station.
91. The method of claim 90, further comprising: determining that
the updated processing times have not converged; measuring the
round trip time delay to each of the plurality of wireless access
points; calculating a subsequent position of the mobile station
using the measured round trip time delays and updated estimated
processing times; and refining the updated processing time for each
of the wireless access points based upon the subsequent position of
the mobile station.
92. The method of claim 90, further comprising: determining that
the estimated processing times have converged; determining that the
mobile station has changed position; measuring a round trip time
delay to each of a plurality of wireless access points; and
calculating a position of the mobile station using the measured
round trip time delays and updated estimated processing times.
93. The method of claim 90, wherein measuring a round trip time
delay to the wireless access point further comprises: transmitting
a packet from the mobile station to the access point; recording a
first time when the transmitted packet was sent; receiving a
response packet from the wireless access point in response to the
transmitted packet; recording a second time when the response
packet was received; and computing a difference between the second
recorded time and the first recorded time.
94. The method of claim 93, wherein the transmitted packet utilizes
a unicast packet whereby the mobile station does not associate with
the wireless access point.
95. The method of claim 93, wherein the transmitted packet utilizes
a packet whereby the mobile station associates with the wireless
access point.
96. The method of claim 93, wherein the mobile station and the
wireless access points operate in accordance with IEEE 802.11
standards, cellular piconet, cellular femtocell, and/or Bluetooth
networking standards.
97. The method of claim 90, wherein the estimating the initial
processing time further comprises: determining received signal
strength of a packet from each wireless access point; estimating a
distance to each wireless access point based upon the determined
signal strength; calculating the initial processing time for each
wireless access point based upon the estimated distance.
98. The method of claim 97, further comprising: bracketing the
distance to each wireless access point within an interval based
upon the received signal strength.
99. The method according to claim 98, wherein it is known that the
processing times for at least two wireless access points are
substantially different, the method further comprising: estimating
the initial processing time for each wireless access point to lie
in the midpoint of its respective interval.
100. The method according to claim 98, wherein it is known that the
processing times for the wireless access points are substantially
similar, the method further comprising: estimating the initial
processing time to lie in the midpoint of an intersection of the
intervals of the wireless access points.
101. The method of claim 90, wherein the calculating the position
of the mobile station further comprises: selecting the plurality of
wireless access points based upon received signal strengths;
determining positions of each of the selected wireless access
points; calculating a distance between the mobile station and each
wireless access point using the measured round trip time delay and
the estimated processing time; and performing trilateration based
upon the calculated distance and a position for each wireless
access point.
102. The method of claim 101, wherein the position of each of the
selected wireless access points are defined in a standard
coordinate system.
103. The method of claim 90, wherein the updating the estimated
processing time for each of the wireless access points further
comprises: calculating a distance to each wireless access point
based the calculated position of the mobile station and positions
of the wireless access points; and computing a new processing time
for each wireless access point based upon the measured round trip
time delay to each wireless access point and the calculated
distance to each wireless access point.
104. An apparatus for wirelessly determining a position of a mobile
station, comprising: a wireless transceiver; a processor coupled to
the wireless transceiver; and a memory coupled to the processor,
wherein the memory stores executable instructions and data for
causing the processor to measure a round trip time delay to each of
a plurality of wireless access points, estimate an initial
processing time for each of the wireless access points, calculate
the position of the mobile station based upon the measured round
trip time delays and estimated processing times, and update the
estimated processing time for each of the wireless access points
based upon the calculated position of the mobile station.
105. The apparatus of claim 104, further comprising instructions
causing the processor to determine that the updated processing
times have not converged, measure the round trip time delay to each
of the plurality of wireless access points, calculate a subsequent
position of the mobile station using the measured round trip time
delays and updated estimated processing times, and refine the
updated processing time for each of the wireless access points
based upon the subsequent position of the mobile station.
106. The apparatus of claim 104, further comprising instructions
causing the processor to determine that the estimated processing
times have converged, determine that the mobile station has changed
position, measure a round trip time delay to each of a plurality of
wireless access points, and calculate a position of the mobile
station using the measured round trip time delays and updated
estimated processing times.
107. The apparatus of claim 104, wherein measuring a round trip
time delay to the wireless access point further comprises
instructions causing the processor to transmit a packet from the
mobile station to the access point, record a first time when the
transmitted packet was sent, receive a response packet from the
wireless access point in response to the transmitted packet, record
a second time when the response packet was received, and compute a
difference between the second recorded time and the first recorded
time.
108. The apparatus of claim 107, wherein the transmitted packet
utilizes a unicast packet whereby the mobile station does not
associate with the wireless access point.
109. The apparatus of claim 107, wherein the transmitted packet
utilizes a packet whereby the mobile station associates with the
wireless access point.
110. The apparatus of claim 107, wherein the mobile station and the
wireless access points operate in accordance with IEEE 802.11
standards, cellular piconet, cellular femtocell, and/or Bluetooth
networking standards.
111. The apparatus of claim 104, wherein the estimating the initial
processing time further comprises instructions causing the
processor to determine received signal strength of a packet from
each wireless access point, estimate a distance to each wireless
access point based upon the determined signal strength, and
calculate the initial processing time for each wireless access
point based upon the estimated distance.
112. The apparatus of claim 111, further comprising instructions
causing the processor to bracket the distance to each wireless
access point within an interval based upon the received signal
strength.
113. The apparatus according to claim 112, wherein it is known that
the processing times for at least two wireless access points are
substantially different, the apparatus further comprises
instructions causing the processor to estimate the initial
processing time for each wireless access point to lie in the
midpoint of its respective interval.
114. The apparatus according to claim 112, wherein it is known that
the processing times for the wireless access points are
substantially similar, the apparatus further comprises instructions
causing the processor to estimate the initial processing time to
lie in the midpoint of an intersection of the intervals of the
wireless access points.
115. The apparatus of claim 104, wherein the calculating the
position of the mobile station further comprises instructions
causing the processor to select the plurality of wireless access
points based upon received signal strengths, determine positions of
each of the selected wireless access points, calculate a distance
between the mobile station and each wireless access point using the
measured round trip time delay and the estimated processing time,
and perform trilateration based upon the calculated distance and a
position for each wireless access point.
116. The apparatus of claim 104, wherein the updating the estimated
processing time for each of the wireless access points further
comprises instructions causing the processor to calculate a
distance to each wireless access point based the calculated
position of the mobile station and positions of the wireless access
points, and compute a new processing time for each wireless access
point based upon the measured round trip time delay to each
wireless access point and the calculated distance to each wireless
access point.
117. An apparatus for wirelessly determining a position of a mobile
station, comprising: means for measuring a round trip time delay to
each of a plurality of wireless access points; means for estimating
an initial processing time for each of the wireless access points;
means for calculating the position of the mobile station based upon
the measured round trip time delays and estimated processing times;
and means for updating the estimated processing time for each of
the wireless access points based upon the calculated position of
the mobile station.
Description
CLAIM OF PRIORITY UNDER 35 U.S.C. .sctn.119
[0001] The present Application for Patent claims priority to
Provisional Application No. 61/116,996 entitled "DETERMINATION OF
PROCESSING DELAY FOR ACCURATE TWO-WAY RANGING IN A WIRELESS
NETWORK" filed Nov. 21, 2008, and 61/117,055 entitled "LOCALIZATION
VIA SIGNAL STRENGTH" filed Nov. 21, 2008, each assigned to the
assignee hereof and hereby expressly incorporated by reference
herein in its entirety.
REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT
[0002] The present Application for Patent is related to the
following co-pending U.S. patent applications.
[0003] "BEACON SECTORING FOR POSITION DETERMINATION" by Aggarwal et
al., having Attorney Docket No. 090215, filed concurrently
herewith, assigned to the assignee hereof, and expressly
incorporated by reference herein.
[0004] "NETWORK-CENTRIC DETERMINATION OF NODE PROCESSING DELAY" by
Aggarwal et al., having Attorney Docket No. 090505, filed
concurrently herewith, assigned to the assignee hereof, and
expressly incorporated by reference herein.
[0005] "WIRELESS-BASED POSITIONING ADJUSTMENTS USING A MOTION
SENSOR" by Aggarwal et al., having Attorney Docket No. 090533,
filed concurrently herewith, assigned to the assignee hereof, and
expressly incorporated by reference herein.
FIELD OF DISCLOSURE
[0006] Aspects of this disclosure generally relate to wireless
communication systems, and more specifically, to improved position
determination methods and apparatuses for use with and/or by
wireless mobile devices.
BACKGROUND
[0007] Mobile communications networks are in the process of
offering increasingly sophisticated capabilities associated with
the motion and/or position location sensing of a mobile device. New
software applications, such as, for example, those related to
personal productivity, collaborative communications, social
networking, and/or data acquisition, may utilize motion and/or
position sensors to provide new features and services to consumers.
Moreover, some regulatory requirements of various jurisdictions may
require a network operator to report the location of a mobile
device when the mobile device places a call to an emergency
service, such as a 911 call in the United States.
[0008] In conventional digital cellular networks, position location
capability can be provided by various time and/or phase measurement
techniques. For example, in CDMA networks, one position
determination approach used is Advanced Forward Link Trilateration
(AFLT). Using AFLT, a mobile device may compute its position from
phase measurements of pilot signals transmitted from a plurality of
base stations. Improvements to AFLT have been realized by utilizing
hybrid position location techniques, where the mobile station may
employ a Satellite Positioning System (SPS) receiver. The SPS
receiver may provide position information independent of the
information derived from the signals transmitted by the base
stations. Moreover, position accuracy can be improved by combining
measurements derived from both SPS and AFLT systems using
conventional techniques.
[0009] However, conventional position location techniques based
upon signals provided by SPS and/or cellular base stations may
encounter difficulties when the mobile device is operating within a
building and/or within urban environments. In such situations,
signal reflection and refraction, multipath, and/or signal
attenuation can significantly reduce position accuracy, and can
slow the "time-to-fix" to unacceptably long time periods. These
shortcomings may be overcome by having the mobile device exploit
signals from other existing wireless networks, such as Wi-Fi (e.g.,
IEEE 802.11x standards), to derive position information.
Conventional position determination techniques used in other
existing wireless networks may utilize round trip time (RTT)
measurements derived from signals utilized within these
networks.
[0010] Utilizing RTT measurement techniques to accurately determine
position typically involves knowledge of time delays incurred by
the wireless signals as they propagate through various network
devices comprising the network. Such delays may be spatially
variant due to, for example, multipath and/or signal interference.
Moreover, such processing delays may change over time based upon
the type of network device and/or the network device's current
networking load. In practice, when employing conventional RTT
positioning techniques, estimating processing delay times may
involve hardware changes in the wireless access points, and/or
time-consuming pre-deployment fingerprinting and/or calibration of
the operational environment.
[0011] Accordingly, it may be desirable to implement various
models, alone or in combination, that exploit wireless signal
properties (such as, for example, RTT, signal strength, etc.) which
can improve position determination while avoiding costly
pre-deployment efforts and/or changes to the network
infrastructure.
SUMMARY
[0012] Exemplary embodiments of the invention are directed to
apparatus and methods for wirelessly determining the position of a
mobile station. In one embodiment, a method may include measuring a
round trip time (RTT) to each of a plurality of wireless access
points, and estimating a first distance to each wireless access
point based upon the round trip time delay and an initial
processing time associated with each wireless access point. The
method may further include estimating a second distance to each
wireless access point based upon supplemental information,
combining the first and second distance estimates to each wireless
access point, and calculating the position of the mobile station
based upon the combined distance estimates.
[0013] In another embodiment, an apparatus for wireless position
determination is presented. The apparatus may include a wireless
transceiver, a processor coupled to the wireless transceiver, and a
memory coupled to the processor. The memory may store executable
instructions and data for causing the processor to measure a round
trip time (RTT) to each of a plurality of wireless access points,
estimate a first distance to each wireless access point based upon
the round trip time delay and an initial processing time associated
with each wireless access point, estimate a second distance to each
wireless access point based upon supplemental information, combine
the first and second distance estimates to each wireless access
point, and calculate the position of the mobile station based upon
the combined distance estimates.
[0014] In yet another embodiment, a method for wirelessly
determining a position of a mobile station using signals provided
by a plurality of wireless access points is presented. The method
may include measuring a distance to each wireless access point
based upon a wireless signal model and calculating a position of
the mobile station based upon the measured distance. The method may
further include determining a computed distance to each wireless
access point based upon the calculated position of the mobile
station, updating the wireless signal model based upon the measured
and computed distances to each wireless access point, and
determining whether the wireless signal model has converged.
[0015] In yet another embodiment, an apparatus for wireless
position determination of a mobile station using signals provided
by a plurality of wireless access points is presented. The
apparatus may include a wireless transceiver, a processor coupled
to the wireless transceiver, and a memory coupled to the processor.
The memory may store executable instructions and data for causing
the processor to measure a distance to each wireless access point
based upon a wireless signal model, calculate a position of the
mobile station based upon the measured distance, determine a
computed distance to each wireless access point based upon the
calculated position of the mobile station, update the wireless
signal model based upon the measured and computed distances to each
wireless access point, and determine whether the wireless signal
model has converged.
[0016] In yet another embodiment, a method for wirelessly
determining a position of a mobile station may include measuring a
round trip time delay to each of a plurality of wireless access
points and estimating an initial processing time for each of the
wireless access points. The method may further include calculating
the position of the mobile station based upon the measured round
trip time delays and estimated processing times, and updating the
estimated processing time for each of the wireless access points
based upon the calculated position of the mobile station.
[0017] In yet another embodiment, an apparatus for wirelessly
determining a position of a mobile station may include a wireless
transceiver, a processor coupled to the wireless transceiver, and a
memory coupled to the processor. The memory may store executable
instructions and data for causing the processor to measure a round
trip time delay to each of a plurality of wireless access points,
estimate an initial processing time for each of the wireless access
points, calculate the position of the mobile station based upon the
measured round trip time delays and estimated processing times, and
update the estimated processing time for each of the wireless
access points based upon the calculated position of the mobile
station.
[0018] Various embodiments may benefit from having wireless access
points which do not require knowledge of their processing times
and/or require providing this information to mobile stations using
beacons, ranging packets, and/or look-up tables. Such advantages
can reduce the burden on wireless access point manufacturers, which
may be able to avoid modifications their hardware and/or protocols.
Moreover, various embodiments may permit reducing the complexity of
maintaining a central database of the processing time values for
different manufactures of wireless access points.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings are presented to aid in the
description of embodiments of the invention and are provided solely
for illustration of the embodiments and not limitation thereof.
[0020] FIG. 1 is a diagram of an exemplary operating environment
for a mobile station consistent with embodiments of the
disclosure.
[0021] FIG. 2 is a block diagram illustrating various components of
an exemplary mobile station.
[0022] FIG. 3 is diagram illustrating an exemplary technique for
determining a position of a mobile station using information
obtained from a plurality of wireless access points.
[0023] FIG. 4 is a diagram showing exemplary timings within a round
trip time (RTT) occurring during a wireless probe request and a
response.
[0024] FIG. 5 is a graph illustrating an exemplary relationship of
a received signal strength indication (RSSI) and the distance
between a mobile station and a wireless access point.
[0025] FIG. 6 is a flowchart showing an exemplary process for
combining wireless signal models to improve the position
determination of a mobile station.
[0026] FIG. 7 is flowchart of another embodiment of the process
illustrated in FIG. 6, where the distances based upon the measured
signal strength (RSSI) and RTT may be combined to improve the
position of the mobile station.
[0027] FIG. 8 shows a flowchart illustrating an exemplary method
for adaptively improving a wireless signal model.
[0028] FIG. 9 is a graph of exemplary ranging models used to
determine the distance between a mobile station and a wireless
access point based upon RSSI.
[0029] FIG. 10 is a diagram of an exemplary indoor environment
which may be modeled to improve distance estimates between wireless
access points and a mobile station based upon RSSI.
[0030] FIG. 11 is a flowchart illustrating another exemplary method
which uses both RSSI and RTT ranging models for position
determination, wherein the RTT model is adaptive model.
DETAILED DESCRIPTION
[0031] Aspects of the invention are disclosed in the following
description and related drawings directed to specific embodiments
of the invention. Alternate embodiments may be devised without
departing from the scope of the invention. Additionally, well-known
elements of the invention will not be described in detail or will
be omitted so as not to obscure the relevant details of the
invention.
[0032] The word "exemplary" is used herein to mean "serving as an
example, instance, or illustration." Any embodiment described
herein as "exemplary" is not necessarily to be construed as
preferred or advantageous over other embodiments. Likewise, the
term "embodiments of the invention" does not require that all
embodiments of the invention include the discussed feature,
advantage or mode of operation.
[0033] The terminology used herein is for the purpose of describing
particular embodiments only and is not intended to be limiting of
embodiments of the invention. As used herein, the singular forms
"a", "an" and "the" are intended to include the plural forms as
well, unless the context clearly indicates otherwise. It will be
further understood that the terms "comprises", "comprising,",
"includes" and/or "including", when used herein, specify the
presence of stated features, integers, steps, operations, elements,
and/or components, but do not preclude the presence or addition of
one or more other features, integers, steps, operations, elements,
components, and/or groups thereof.
[0034] Further, many embodiments are described in terms of
sequences of actions to be performed by, for example, elements of a
computing device. It will be recognized that various actions
described herein can be performed by specific circuits (e.g.,
application specific integrated circuits (ASICs)), by program
instructions being executed by one or more processors, or by a
combination of both. Additionally, these sequence of actions
described herein can be considered to be embodied entirely within
any form of computer readable storage medium having stored therein
a corresponding set of computer instructions that upon execution
would cause an associated processor to perform the functionality
described herein. Thus, the various aspects of the invention may be
embodied in a number of different forms, all of which have been
contemplated to be within the scope of the claimed subject matter.
In addition, for each of the embodiments described herein, the
corresponding form of any such embodiments may be described herein
as, for example, "logic configured to" perform the described
action.
[0035] FIG. 1 is a diagram of an exemplary operating environment
100 for a mobile station 108. Embodiments of the invention are
directed to a mobile station 108 which may utilize a combination of
range models and/or for determining position. Other embodiments may
adaptively change the ranging models, such as, for example, using
round trip time measurements (RTTs) that are adjusted to
accommodate for processing delays introduced by wireless access
points. The processing delays may vary among different access
points and may also change over time. By using supplemental
information, such as, for example, a received signal strength
indicator (RSSI), the base station may determine position and/or
calibrate out the effects of the processing delays introduced by
the wireless access points using iterative techniques.
[0036] The operating environment 100 may contain one or more
different types of wireless communication systems and/or wireless
positioning systems. In the embodiment shown in FIG. 1, a Satellite
Positioning System (SPS) 102 may be used as an independent source
of position information for the mobile station 108. The mobile
station 108 may include one or more dedicated SPS receivers
specifically designed to receive signals for deriving geo-location
information from the SPS satellites.
[0037] The operating environment 100 may also include a plurality
of one or more types Wide Area Network Wireless Access Points
(WAN-WAPs) 104, which may be used for wireless voice and/or data
communication, and as another source of independent position
information for mobile station 108. The WAN-WAPs 104 may be part of
wide area wireless network (WWAN), which may include cellular base
stations at known locations, and/or other wide area wireless
systems, such as, for example, WiMAX (e.g., 802.16). The WWAN may
include other known network components which are not shown in FIG.
1 for simplicity. Typically, each WAN-WAPs 104a-104c within the
WWAN may operate from fixed positions, and provide network coverage
over large metropolitan and/or regional areas.
[0038] The operating environment 100 may further include Local Area
Network Wireless Access Points (LAN-WAPs) 106, may be used for
wireless voice and/or data communication, as well as another
independent source of position data. The LAN-WAPs can be part of a
Wireless Local Area Network (WLAN), which may operate in buildings
and perform communications over smaller geographic regions than a
WWAN. Such LAN-WAPs 106 may be part of, for example, WiFi networks
(802.11x), cellular piconets and/or femtocells, Bluetooth Networks,
etc.
[0039] The mobile station 108 may derive position information from
any one or a combination of the SPS satellites 102, the WAN-WAPs
104, and/or the LAN-WAPs 106. Each of the aforementioned systems
can provide an independent estimate of the position for mobile
station 108 using different techniques. In some embodiments, the
mobile station may combine the solutions derived from each of the
different types of access points to improve the accuracy of the
position data.
[0040] When deriving position using the SPS 102, the mobile station
may utilize a receiver specifically designed for use with the SPS
that extracts position, using conventional techniques, from a
plurality of signals transmitted by SPS satellites 102. The method
and apparatus described herein may be used with various satellite
positioning systems, which typically include a system of
transmitters positioned to enable entities to determine their
location on or above the Earth based, at least in part, on signals
received from the transmitters. Such a transmitter typically
transmits a signal marked with a repeating pseudo-random noise (PN)
code of a set number of chips and may be located on ground based
control stations, user equipment and/or space vehicles. In a
particular example, such transmitters may be located on Earth
orbiting satellite vehicles (SVs). For example, a SV in a
constellation of Global Navigation Satellite System (GNSS) such as
Global Positioning System (GPS), Galileo, Glonass or Compass may
transmit a signal marked with a PN code that is distinguishable
from PN codes transmitted by other SVs in the constellation (e.g.,
using different PN codes for each satellite as in GPS or using the
same code on different frequencies as in Glonass). In accordance
with certain aspects, the techniques presented herein are not
restricted to global systems (e.g., GNSS) for SPS. For example, the
techniques provided herein may be applied to or otherwise enabled
for use in various regional systems, such as, e.g., Quasi-Zenith
Satellite System (QZSS) over Japan, Indian Regional Navigational
Satellite System (IRNSS) over India, Beidou over China, etc.,
and/or various augmentation systems (e.g., an Satellite Based
Augmentation System (SBAS)) that may be associated with or
otherwise enabled for use with one or more global and/or regional
navigation satellite systems. By way of example but not limitation,
an SBAS may include an augmentation system(s) that provides
integrity information, differential corrections, etc., such as,
e.g., Wide Area Augmentation System (WAAS), European Geostationary
Navigation Overlay Service (EGNOS), Multi-functional Satellite
Augmentation System (MSAS), GPS Aided Geo Augmented Navigation or
GPS and Geo Augmented Navigation system (GAGAN), and/or the like.
Thus, as used herein an SPS may include any combination of one or
more global and/or regional navigation satellite systems and/or
augmentation systems, and SPS signals may include SPS, SPS-like,
and/or other signals associated with such one or more SPS.
[0041] Furthermore, the disclosed method and apparatus may be used
with positioning determination systems that utilize pseudolites or
a combination of satellites and pseudolites. Pseudolites are
ground-based transmitters that broadcast a PN code or other ranging
code (similar to a GPS or CDMA cellular signal) modulated on an
L-band (or other frequency) carrier signal, which may be
synchronized with GPS time. Each such transmitter may be assigned a
unique PN code so as to permit identification by a remote receiver.
Pseudolites are useful in situations where GPS signals from an
orbiting satellite might be unavailable, such as in tunnels, mines,
buildings, urban canyons or other enclosed areas. Another
implementation of pseudolites is known as radio-beacons. The term
"satellite", as used herein, is intended to include pseudolites,
equivalents of pseudolites, and possibly others. The term "SPS
signals", as used herein, is intended to include SPS-like signals
from pseudolites or equivalents of pseudolites.
[0042] When deriving position from the WWAN, each WAN-WAPs
104a-104c may take the form of base stations within a digital
cellular network, and the mobile station 108 may include a cellular
transceiver and processor that can exploit the base station signals
to derive position. It should be understood that digital cellular
network may include additional base stations or other resources
show in FIG. 1. While WAN-WAPs 104 may actually be moveable or
otherwise capable of being relocated, for illustration purposes it
will be assumed that they are essentially arranged in a fixed
position.
[0043] The mobile station 108 may perform position determination
using known time-of-arrival techniques such as, for example,
Advanced Forward Link Trilateration (AFLT). In other embodiments,
each WAN-WAP 104a-104c may take the form of WiMax wireless
networking base station. In this case, the mobile station 108 may
determine its position using time-of-arrival (TOA) techniques from
signals provided by the WAN-WAPs 104. The mobile station 108 may
determine positions either in a stand alone mode, or using the
assistance of a positioning server 110 and network 112 using TOA
techniques, as will be described in more detail below. Note that
embodiments of the disclosure include having the mobile station 108
determine position information using WAN-WAPs 104 which are
different types. For example, some WAN-WAPs 104 may be cellular
base stations, and other WAN-WAPs may be WiMax base stations. In
such an operating environment, the mobile station 108 may be able
to exploit the signals from each different type of WAN-WAP, and
further combine the derived position solutions to improve
accuracy.
[0044] When deriving position using the WLAN, the mobile station
108 may utilize time of arrival techniques with the assistance of
the positioning server 110 and the network 112. The positioning
server 110 may communicate to the mobile station through network
112. Network 112 may include a combination of wired and wireless
networks which incorporate the LAN-WAPs 106. In one embodiment,
each LAN-WAP 106a-106e may be, for example, a WiFi wireless access
point, which is not necessarily set in a fixed position and can
change location. The position of each LAN-WAP 106a-106e may be
stored in the positioning server 110 in a common coordinate system.
In one embodiment, the position of the mobile station 108 may be
determined by having the mobile station 108 receive signals from
each LAN-WAP 106a-106e. Each signal may be associated with its
originating LAN-WAP based upon some form of identifying information
that may be included in the received signal (such as, for example,
a MAC address). The mobile station 108 may then derive the time
delays associated with each of the received signals. The mobile
station 108 may then form a message which can include the time
delays and the identifying information of each of the LAN-WAPs, and
send the message via network 112 to the positioning server 110.
Based upon the received message, the positioning server may then
determine a position, using the stored locations of the relevant
LAN-WAPs 106, of the mobile station 108. The positioning server 110
may generate and provide a Location Configuration Information (LCI)
message to the base station that includes a pointer to the mobile
station's position in a local coordinate system. The LCI message
may also include other points of interest in relation to the
location of the mobile station 108. When computing the position of
the mobile station 108, the positioning server may take into
account the different delays which can be introduced by elements
within the wireless network.
[0045] The position determination techniques described herein may
be used for various wireless communication networks such as a wide
area wireless network (WWAN), a wireless local area network (WLAN),
a wireless personal area network (WPAN), and so on. The term
"network" and "system" may be used interchangeably. A WWAN may be a
Code Division Multiple Access (CDMA) network, a Time Division
Multiple Access (TDMA) network, a Frequency Division Multiple
Access (FDMA) network, an Orthogonal Frequency Division Multiple
Access (OFDMA) network, a Single-Carrier Frequency Division
Multiple Access (SC-FDMA) network, a WiMax (IEEE 802.16) and so on.
A CDMA network may implement one or more radio access technologies
(RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on.
Cdma2000 includes IS-95, IS-2000, and IS-856 standards. A TDMA
network may implement Global System for Mobile Communications
(GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other
RAT. GSM and W-CDMA are described in documents from a consortium
named "3rd Generation Partnership Project" (3GPP). Cdma2000 is
described in documents from a consortium named "3rd Generation
Partnership Project 2" (3GPP2). 3GPP and 3GPP2 documents are
publicly available. A WLAN may be an IEEE 802.11x network, and a
WPAN may be a Bluetooth network, an IEEE 802.15x, or some other
type of network. The techniques may also be used for any
combination of WWAN, WLAN and/or WPAN.
[0046] FIG. 2 is a block diagram illustrating various components of
an exemplary mobile station 200. For the sake of simplicity, the
various features and functions illustrated in the box diagram of
FIG. 2 are connected together using a common bus which is meant to
represent that these various features and functions are operatively
coupled together. Those skilled in the art will recognize that
other connections, mechanisms, features, functions, or the like,
may be provided and adapted as necessary to operatively couple and
configure an actual portable wireless device. Further, it is also
recognized that one or more of the features or functions
illustrated in the example of FIG. 2 may be further subdivided or
two or more of the features or functions illustrated in FIG. 2 may
be combined.
[0047] The mobile station may include one or more wide area network
transceiver(s) 204 that may be connected to one or more antennas
202. The wide area network transceiver 204 comprises suitable
devices, hardware, and/or software for communicating with and/or
detecting signals to/from WAN-WAPs 104, and/or directly with other
wireless devices within a network. In one aspect, the wide area
network transceiver 204 may comprise a CDMA communication system
suitable for communicating with a CDMA network of wireless base
stations; however in other aspects, the wireless communication
system may comprise another type of cellular telephony network,
such as, for example, TDMA or GSM. Additionally, any other type of
wireless networking technologies may be used, for example, WiMax
(802.16), etc. The mobile station may also include one or more
local area network transceivers 206 that may be connected to one or
more antennas 202. The local area network transceiver 206 comprises
suitable devices, hardware, and/or software for communicating with
and/or detecting signals to/from LAN-WAPs 106, and/or directly with
other wireless devices within a network. In one aspect, the local
area network transceiver 206 may comprise a WiFi (802.11x)
communication system suitable for communicating with one or more
wireless access points; however in other aspects, the local area
network transceiver 206 comprise another type of local area
network, personal area network, (e.g., Bluetooth). Additionally,
any other type of wireless networking technologies may be used, for
example, Ultra Wide Band, ZigBee, wireless USB etc.
[0048] As used herein, the abbreviated term "wireless access point"
(WAP) may be used to refer to LAN-WAPs 106 and/or WAN-WAPs 104.
Specifically, in the description presented below, when the term
"WAP" is used, it should be understood that embodiments may include
a mobile station 200 that can exploit signals from a plurality of
LAN-WAPs 106, a plurality of WAN-WAPs 104, or any combination of
the two. The specific type of WAP being utilized by the mobile
station 200 may depend upon the environment of operation. Moreover,
the mobile station 200 may dynamically select between the various
types of WAPs in order to arrive at an accurate position
solution.
[0049] An SPS receiver 208 may also be included in mobile station
200. The SPS receiver 208 may be connected to the one or more
antennas 202 for receiving satellite signals. The SPS receiver 208
may comprise any suitable hardware and/or software for receiving
and processing SPS signals. The SPS receiver 208 requests
information and operations as appropriate from the other systems,
and performs the calculations necessary to determine the mobile
station's 200 position using measurements obtained by any suitable
SPS algorithm.
[0050] A motion sensor 212 may be coupled to processor 210 to
provide relative movement and/or orientation information which is
independent of motion data derived from signals received by the
wide area network transceiver 204, the local area network
transceiver 206 and the SPS receiver 208. By way of example but not
limitation, motion sensor 212 may utilize an accelerometer (e.g., a
MEMS device), a gyroscope, a geomagnetic sensor (e.g., a compass),
an altimeter (e.g., a barometric pressure altimeter), and/or any
other type of movement detection sensor. Moreover, motion sensor
212 may include a plurality of different types of devices and
combine their outputs in order to provide motion information.
[0051] A processor 210 may be connected to the wide area network
transceiver 204, local area network transceiver 206, the SPS
receiver 208 and the motion sensor 212. The processor may include
one or more microprocessors, microcontrollers, and/or digital
signal processors that provide processing functions, as well as
other calculation and control functionality: The processor 210 may
also include memory 214 for storing data and software instructions
for executing programmed functionality within the mobile station.
The memory 214 may be on-board the processor 210 (e.g., within the
same IC package), and/or the memory may be external memory to the
processor and functionally coupled over a data bus. The details of
software functionality associated with aspects of the disclosure
will be discussed in more detail below.
[0052] A number of software modules and data tables may reside in
memory 214 and be utilized by the processor 210 in order to manage
both communications and positioning determination functionality. As
illustrated in FIG. 2, memory 214 may include and/or otherwise
receive a positioning module 216, an application module 218, a
received signal strength indicator (RSSI) module 220, and a round
trip time (RTT) module 222. One should appreciate that the
organization of the memory contents as shown in FIG. 2 is merely
exemplary, and as such the functionality of the modules and/or data
structures may be combined, separated, and/or be structured in
different ways depending upon the implementation of the mobile
station 200.
[0053] The application module 218 may be a process running on the
processor 210 of the mobile device 200, which requests position
information from the positioning module 216. Applications typically
run within an upper layer of the software architectures, and may
include Indoor Navigation, Buddy Locator, Shopping and Coupons,
Asset Tracking, and location Aware Service Discovery. The
positioning module 216 may derive the position of the mobile device
200 using information derived from the RTTs measured from signals
exchanged with a plurality of WAPs. In order to accurately
determine position using RTT techniques, reasonable estimates of
processing time delays introduced by each WAP may be used to
calibrate/adjust the measured RTTs. The measured RTTs may be
determined by the RTT module 222, which can measure the timings of
signals exchanged between the mobile station 200 and the WAPs to
derive round trip time (RTT) information.
[0054] Once measured, the RTT values may be passed to the
positioning module 216 to assist in determining the position of the
mobile device 200. The positioning module 216 may use supplemental
information to estimate the processing times of the WAPs. In one
embodiment, the amplitude values of the signals transmitted by the
WAPs may be used to provide this information. These amplitude
values may be determined in the form of RSSI measurements
determined by RSSI module 220. The RSSI module 220 may provide
amplitude and statistical information regarding the signals to the
position module 216. The position module may then estimate the
processing times to calibrate the RTT measurements and accurately
determine position. The position may then be output to the
application module 218 in response to its aforementioned request.
In addition, the positioning module 216 may utilize a parameter
database 224 for exchanging operational parameters. Such parameters
may include the determined processing times for each WAP, the WAPs
positions in a common coordinate frame, various parameters
associated with the network, initial processing time estimates,
processing time estimates determined previously, etc. Details of
these parameters will be provided in subsequent sections below.
[0055] In other embodiments, the supplemental information may
optionally include auxiliary position and/or motion data which may
be determined from other sources. The auxiliary position data may
be incomplete or noisy, but may be useful as another source of
independent information for estimating the processing times of the
WAPs. As illustrated in FIG. 2 using dashed lines, mobile device
200 may optionally store auxiliary position/motion data 226 in
memory which may be derived from information received other sources
as described below. Moreover, in other embodiments, supplemental
information may include, but not be limited to, information that
can be derived or based upon Bluetooth signals, beacons, RFID tags,
and/or information derived from map (e.g., receiving coordinates
from a digital representation of a geographical map by, for
example, a user interacting with a digital map).
[0056] In one embodiment, all or part of auxiliary position/motion
data 226 may be derived from information supplied by motion sensor
212 and/or SPS receiver 208. In other embodiments, auxiliary
position/motion data 226 may be determined through additional
networks using non-RTT techniques (e.g., AFLT within a CDMA
network). In certain implementations, all or part of auxiliary
position/motion data 226 may also be provided by way of motion
sensor 212 and/or SPS receiver 208 without further processing by
processor 210. In some embodiments, the auxiliary position/motion
data 226 may be directly provided by the motion sensor 212 and/or
SPS receiver 208 to the processing unit 210. Position/motion data
226 may also include acceleration data and/or velocity data which
may provide direction and speed. In other embodiments,
position/motion data 226 may further include directionality data
which may only provide direction of movement.
[0057] While the modules shown in FIG. 2 are illustrated in the
example as being contained in memory 214, it is recognized that in
certain implementations such procedures may be provided for or
otherwise operatively arranged using other or additional
mechanisms. For example, all or part of positioning module 216
and/or application module 218 may be provided in firmware.
Additionally, while in this example positioning module 216 and
application module 218 are illustrated as being separate features,
it is recognized, for example, that such procedures may be combined
together as one procedure or perhaps with other procedures, or
otherwise further divided into a plurality of sub-procedures.
[0058] Processor 210 may include any form of logic suitable for
performing at least the techniques provided herein. For example,
processor 210 may be operatively configurable based on instructions
in memory 214 to selectively initiate one or more routines that
exploit motion data for use in other portions of the mobile
device.
[0059] The mobile station 200 may include a user interface 250
which provides any suitable interface systems, such as a
microphone/speaker 252, keypad 254, and display 256 that allows
user interaction with the mobile station 200. The
microphone/speaker 252 provides for voice communication services
using the wide area network transceiver 204 and/or the local area
network transceiver 206. The keypad 254 comprises any suitable
buttons for user input. The display 256 comprises any suitable
display, such as, for example, a backlit LCD display, and may
further include a touch screen display for additional user input
modes.
[0060] As used herein, mobile station 108 may be any portable or
movable device or machine that is configurable to acquire wireless
signals transmitted from, and transmit wireless signals to, one or
more wireless communication devices or networks. As shown in FIGS.
1 and 2, the mobile device is representative of such a portable
wireless device. Thus, by way of example but not limitation, mobile
device 108 may include a radio device, a cellular telephone device,
a computing device, a personal communication system (PCS) device,
or other like movable wireless communication equipped device,
appliance, or machine. The term "mobile station" is also intended
to include devices which communicate with a personal navigation
device (PND), such as by short-range wireless, infrared, wire line
connection, or other connection--regardless of whether satellite
signal reception, assistance data reception, and/or
position-related processing occurs at the device or at the PND.
Also, "mobile station" is intended to include all devices,
including wireless communication devices, computers, laptops, etc.
which are capable of communication with a server, such as via the
Internet, WiFi, or other network, and regardless of whether
satellite signal reception, assistance data reception, and/or
position-related processing occurs at the device, at a server, or
at another device associated with the network. Any operable
combination of the above are also considered a "mobile
station."
[0061] As used herein, the term "wireless device" may refer to any
type of wireless communication device which may transfer
information over a network and also have position determination
and/or navigation functionality. The wireless device may be any
cellular mobile terminal, personal communication system (PCS)
device, personal navigation device, laptop, personal digital
assistant, or any other suitable mobile device capable of receiving
and processing network and/or SPS signals.
[0062] I. Models for Wireless Position Determination
[0063] A simplified environment is shown in FIG. 3 for illustrating
an exemplary technique for determining a position of mobile station
108. The mobile station 108 may communicate wirelessly with a
plurality of WAPs 311 using RF signals (e.g., 2.4 GHz) and
standardized protocols for the modulation of the RF signals and the
exchanging of information packets (e.g., IEEE 802.11). By
extracting different types of information from the exchanged
signals, and utilizing the layout of the network (i.e., the network
geometry) the mobile station 108 may determine its position in a
predefined reference coordinate system. As shown in FIG. 3, the
mobile station may specify its position (x, y) using a
two-dimensional coordinate system; however, embodiments disclosed
herein are not so limited, and may also be applicable to
determining positions using a three-dimensional coordinate system,
if the extra dimension is desired. Additionally, while three WAPS
311a-311c are shown in FIG. 3, embodiments may utilize additional
WAPs and solve for position using techniques applicable to
over-determined systems, which can average out various errors
introduced by different noise effects, and thus improve the
accuracy of the determined position. In order to determine its
position (x, y), the mobile station 108 may first need to determine
the network geometry. The network geometry can include the
positions of each of the WAPS 311 in a reference coordinate system
((x.sub.k, y.sub.k), where k=1, 2, 3). The network geometry may be
provided to the mobile station 108 in any manner, such as, for
example, providing this information in beacon signals, providing
the information using a dedicated server external on an external
network, providing the information using uniform resource
identifiers, etc.
[0064] The mobile station may then determine a distance (d.sub.k,
where k=1, 2, 3) to each of the WAPs 311. As will be described in
more detail below, there are a number of different approaches for
estimating these distances (d.sub.k) by exploiting different
characteristics of the RF signals exchanged between the mobile
station 108 and WAPs 311. Such characteristics may include, as will
be discussed below, the round trip propagation time of the signals,
and/or the strength of the signals (RSSI).
[0065] In other embodiments, the distances (d.sub.k) may in part be
determined or refined using other sources of information that are
not associated with the WAPs. For example, other positioning
systems, such as GPS, may be used to provide a rough estimate of
d.sub.k. (Note that it is likely that GPS may have insufficient
signal in the anticipated operating environments (indoors,
metropolitan, etc.) to provide a consistently accurate estimate of
d.sub.k. However GPS signals may be combined with other information
to assist in the position determination process.) Other relative
positioning devices may reside in the mobile station 108 which can
be used as a basis to provide rough estimates of relative position
and/or direction (e.g., on-board accelerometers).
[0066] Once each distance is determined, the mobile station can
then solve for its position (x, y) by using a variety of known
geometric techniques, such as, for example, trilateration. From
FIG. 3, it can be seen that the position of the mobile station 108
ideally lies at the intersection of the circles drawn using dotted
lines. Each circle being defined by radius d.sub.k and center
(x.sub.k, y.sub.k), where k=1, 2, 3. In practice, the intersection
of these circles may not lie at a single point due to the noise and
other errors in the networking system.
[0067] Sections 1 and 2 below will discuss in more detail the
following wireless signal models: 1) exemplary models relating
distance and wireless signal round trip time, and 2) exemplary
models relating distance and wireless signal strength. As both of
the exemplary models relate distance to different signal
parameters, they may also be referred to as "ranging" models. One
should appreciate that various embodiments of the invention are not
limited to these ranging models, and that other wireless signal
models may be used.
[0068] 1. Determining Distance Using a Round Trip Time (RTT)
Ranging Model
[0069] Determining the distance between the mobile station 108 and
each WAP 311 may involve exploiting time information of the RF
signals. In one embodiment, determining the round trip time (RTT)
of signals exchanged between the mobile station 108 and a WAP 311
can be performed and converted to a distance (d.sub.k). RTT
techniques can measure the time between sending a data packet and
receiving a response. These methods utilize calibration to remove
any processing delays. In some environments, it may be assumed that
the processing delays for the mobile station and the wireless
access points are the same. However, such an assumption may not be
true in practice.
[0070] FIG. 4 is a diagram showing exemplary timings within a round
trip time (RTT) occurring during a wireless probe request and a
response. In one embodiment, the response may take the form of an
acknowledgement packet (ACK); however, any type of response packet
would be consistent with various embodiments of the invention. For
example, an RTS (request to send) transmit packet and/or CTS (clear
to send) response packet may be suitable.
[0071] To measure the RTT with respect to a given WAP 311k, the
mobile station 108 may send a directed probe request to WAP 311k,
and then record the time the probe request packet was sent
(t.sub.TX Packet) as shown on the mobile station (MS) timeline in
FIG. 4. After a propagation time t.sub.p from the mobile station
108 to the WAP 311k, the WAP will receive the packet. The WAP 311k
may then process the directed probe request and may send an ACK
back to the mobile station 108 after some processing time .DELTA.
as shown on the WAP timeline in FIG. 4. After a second propagation
time t.sub.p, the mobile station 108 may record the time the ACK
packet was received (t.sub.RX ACK) as shown on the MS time line.
The mobile station may then determine the RTT as the time
difference t.sub.RX ACK-t.sub.TX Packet.
[0072] If the mobile station 108 knows the WAP 311k processing time
.DELTA., it can then estimate the propagation time to the WAP 311k
as (RTT-.DELTA.)/2, which will correspond to the distance (d.sub.k)
between the mobile station 108 and the WAP 311k. However, since the
mobile station 108 typically has no knowledge of the WAP 311k
processing time, the mobile station 108 should obtain an accurate
estimate of the processing time .DELTA. before it can estimate the
distance to the WAP 311k. Various techniques presented below will
describe embodiments where the mobile station 108 processes the
collected RSSI and RTT measurements to three or more WAPs 311 to
accurately estimate the WAPs 311 processing times to allow the
determination of the mobile station's position in space.
[0073] One will appreciate that by using a directed probe request
based RTT ranging as described above, the wireless device 108 does
not need to associate with any of the WAPs 311. Since a directed
access probe is considered a unicast packet, the WAP will typically
ACK a successful decoding of an access probe packet after a
prescribed period of time. The ability to do this ranging without
having to associate with the WAPs 311 may greatly reduce the extra
overhead involved.
[0074] The round-trip time between the mobile station 108 and WAP k
may be analyzed in a ranging model as follows:
RTT.sub.k=2d.sub.k+.DELTA..sub.k+.DELTA..sub.MS+n.sub.k
where:
[0075] d.sub.k is the actual distance between the mobile station
108 and WAP 311k (ft).
[0076] .DELTA..sub.k is the hardware processing time of the
k.sup.th WAP (ns).
[0077] .DELTA..sub.MS is the hardware processing time at the mobile
station 108 (ns). Here may be assumed that the processing delay can
be calibrated out the by the mobile station 108. Accordingly, it
can be set to be zero.
n.sub.k=n.sub.z,k+n.sub.MS,k+n.sub.AP,k, which is the error in the
RTT measurement (ns).
This error is the sum of the errors due to unknown WAP height,
mobile station timing errors, and WAP timing errors.
[0078] One should appreciate that given because the units of
distance are provided in feet, and the units of distance are
provided in nano-seconds, the velocity of light may be approximated
as unity to simplify the model and reduce computation time by
avoiding multiply operations.
[0079] The overall noise n.sub.k may be the sum of the WAP height,
mobile station timing, and WAP timing errors listed above. After
combining all these errors, the resulting probability density
function may be very close to Gaussian. Thus, the noise may be
modeled as Gaussian with the distance-dependent mean and standard
deviation.
[0080] 2. Determining Distance Using Signal Strength (RSSI) Ranging
Model
[0081] The distance between each WAP 311 and the mobile station 108
may also be estimated using information in addition to RTT for
obtaining an estimate of the processing times explained above. This
information is generally referred to herein as supplemental
information. One form of supplemental information may take the form
of the measured signal strength (RSSI) associated with the ACK
packets received from each WAP 311. FIG. 5 is a graph illustrating
an exemplary relationship of RSSI and the distance between a mobile
station and a wireless access point.
[0082] In order to effectively exploit RSSI, the mobile station 108
may utilize an approximate ranging model of distance, and variance
of the distance, as a function of the received signal strength
(RSSI). This model may be used when the mobile station 108 is
initially trying to learn the WAP processing delays. One feature of
the RTT-based positioning algorithm is that the RSSI model can be
extremely simple, without the need for extensive pre-deployment
fingerprinting. In one embodiment, the model may assume that the
only RSSI information known to the mobile station is the
approximate maximum distance d.sub.max, in feet, as a function of
RSSI in dBm. Based on initial propagation simulations for an indoor
environment with WAPs having a maximum range of 225 feet, this
function is provided below in Eq. 2, which is graphed in FIG.
5.
d max ( R S S I ) = min ( 10 - ( RSSI + 25.9 ) 20.0 , 225 )
##EQU00001##
[0083] From the above distance bound, the mobile station 108 may
convert any measured RSSI to a distance estimate that may be
modeled as normally distributed with the following relationships in
Eqs. 3 and 4:
d RSSI = d max ( RSSI ) 2 ##EQU00002## .sigma. d RSSI 2 = d max 2 (
RSSI ) 16 ##EQU00002.2##
[0084] where the variance assumes that
4.sigma..sub.d.sub.RSSI=d.sub.max.
[0085] In other embodiments, the mobile station could also model
the minimum distance as a function of signal strength. However, for
2-D positioning, it is possible that a mobile station is close to a
WAP in the X-Y plane (the distance utilized for positioning
purposes), but sees arbitrary signal strength because of distance
and obstacles in the Z-dimension. Thus, the simple RSSI model takes
the minimum distance vs. signal strength as 0 ft for all RSSI.
[0086] II. Combining Ranging Models for Wireless Position
Determination
[0087] The follow description provides details for a mobile station
centric algorithm for position determination using ranging models
which can be based upon RTT and other supplemental measurements,
such as, for example, RSSI. In this embodiment, the mobile device
108 may estimate distances to three or more wireless access points
using the two or more ranging models. Each wireless access point
has positions which are known to the mobile device by providing the
network geometry information using techniques mentioned above.
Using these distance estimates and the location of the wireless
access points 311, the mobile station 108 can determine its
position using known positioning techniques.
[0088] The following assumptions may be utilized in this
embodiment: [0089] 1. The mobile station 108 has the WAP 311
positions in a local or global coordinate system (which may be
obtained using methods described above). [0090] 2. The mobile
station 108 is within radio range of at least three non co-linear
WAPs 311 for two-dimensional positioning. [0091] 3. There is a
consistent processing time between when a WAP receives a unicast
packet to when it sends an ACK response (i.e. the processing time
has low-variance). [0092] 4. Each WAP 311 may have a different
processing time delay. [0093] 5. The mobile station 108 may be able
to make a nanosecond scale measurement of RTT. This may require
changes to the current mobile station 108 chipsets in the wireless
transceivers 204 and/or 206. [0094] 6. The mobile station 108 has
an approximate model of distance as a function of RSSI. [0095] 7. A
complete set of RSSI and RTT measurements (to all target WAPs) can
be completed fast enough such that the mobile station 108 can be
considered stationary while the measurements are taken; and [0096]
8. The mobile station 108 has a method of determining when it has
moved to a new location based on significant changes in RSSI, RTT,
elapsed time since the last set of measurements, and/or additional
sensor data (such as for example, motion sensor 212).
[0097] FIG. 6 is a flowchart showing an exemplary method 600 for
combining ranging models to improve the position determination of
the mobile station 108. The method may be performed at the mobile
station 108 on processor 210 using various modules and data stored
in memory 214.
[0098] Upon entering a new environment, the mobile device 108 may
initialize parameters/models associated with each WAP 311k (where
k=1, . . . , N) used for position determination (Block 605).
[0099] Accordingly, for each WAP 311k, the parameters/models may
include: [0100] 1. The location in a local or universal coordinate
system. [0101] 2. An identifier for the network associated with the
WAP (e.g., an SSID). [0102] 3. An identifier associated with the
WAP hardware (e.g., a MACID). [0103] 4. An initial processing time
delay estimate and variance. [0104] 5. For some embodiments, a
model of distance vs. signal strength (RSSI).
[0105] Once the above parameters are obtained (where they may have
been downloaded from server 110), they may be stored in memory in a
parameter database 224. Parameters 1-3 above may be obtained from
annotations from a map, as described above. In alternative
embodiments, parameters 2 and 3 may be learned by the mobile
station 108 by listening to beacons that may be provided by the
WAPs 311 (e.g., for a WiFi network, mobile station 108 may
determine the SSID and the MACID from standard beacon signals).
Parameter 4 above may be an a priori coarse initial estimate based
upon WAP specifications, and/or a more refined value learned
previously by the mobile station 108. Alternatively, the initial
processing time read from the parameter database 224 may have been
provided from the server 110, which may have been previously
learned by mobile station 108, or by another mobile station.
[0106] As provided above in the description of FIG. 4, the
processing time for each WAP 311 .DELTA..sub.k may be the
turnaround time for sending a response to a unicast packet. For
example, in 802.11a or 802.11g WiFi networks, this processing time
may correspond to a delay known as the short interframe space
(SIFS) and typically lies within 16000.+-.900 ns for a 20 MHz
channel. Let .DELTA..sub.k be the actual, unknown processing delay
for WAP 311k, and let {circumflex over (.DELTA.)}.sub.k be the
mobile station best estimate of the processing delay. The mobile
station 108 can initially take {circumflex over
(.DELTA.)}.sub.k=16000 with a variance of
.sigma. .DELTA. ^ , k 2 = 300 2 ##EQU00003##
(assuming a normal distribution with 3.sigma.=900). Alternatively,
the mobile device can obtain the initial processing delays for a
WAP 311k by using its hardware identifier (e.g., a MACID) in a
local cache that can be stored in parameter database 224, or an
external database to obtain an estimate of the processing time.
[0107] As will be discussed in more detail below, some embodiments
may use a model of distance vs. RSSI for each WAP 311 that can map
each signal strength measurement RSSI.sub.k to a distance that may
be normally distributed with mean d.sub.RSSI,k and and variance
.sigma..sub.d.sub.RSSI.sub.,k.sup.2. If no model is available, the
mobile device can use a default model (such as, for example, the
model described above in Eq. 2).
[0108] After initialization in Block 605, the mobile station 108
may measure round trip time (RTT) to each WAP 311 (B610). Here, the
mobile station 108, either using the wide area network transceiver
204, the local area network transceiver 206, or a combination of
the two, may send a directed probe request using the each WAP 311
based upon the hardware identifier (e.g., MACID for WAP 311k). By
using, for example, directed probe requests, the mobile station can
perform RTT ranging measurements without associating with the WAPs
311. This can avoid the problem of not being able to utilize WAPs
for RTT measurements which are locked down using some form of
wireless encryption (e.g., WEP, WAP, RADIUS, etc.) and require a
pass-code for access. However, one should appreciate that
embodiments are not limited to probe request packets, and other
types of packets may be used. Once a WAP processes the probe
request, it may provide an ACK response that can be received by
wide area network transceiver 204 and/or local area network
transceiver 206. Upon receiving the ACK response, the mobile
station 108 may compute the RTT using RTT module 222.
[0109] As described above, based upon the RTT ranging model, each
RTT measurement for WAP 311k may be given by
RTT.sub.k=2d.sub.k+.DELTA..sub.k+n.sub.k [0110] where [0111]
d.sub.k is the actual distance (ft) between the mobile station 108
and the WAP 311k; [0112] .DELTA..sub.k is the actual processing
time (ns) for WAP 311k; and [0113] n.sub.k is Gaussian noise having
a mean and variance depending on distance d.sub.k.
[0114] In the above equation, the units for distance and time are
feet and nano-seconds, respectively, so the speed of light
propagation may be estimated as .about.1 ft/ns. This approximation
may be useful as it may obviate multiplication operations when
converting between distance and time, thus saving processing time
and power consumption.
[0115] Using the RTT measurements and the aforementioned RTT
ranging model, the distance between the mobile station and each WAP
311k may be estimated (B615). The actual processing time delay
.DELTA..sub.k for each WAP 311k may be previously determined using
manufacturer specifications and/or calibration techniques, and
subsequently stored in parameter database 224 for used by the
mobile station 108.
[0116] Using a second model, a supplemental distance to each WAP
may be estimated using another approach(es) which may not rely on
the RTT of the signal, but rather some other supplemental
information (B620). As used herein, the supplemental distance is
the same distance (d.sub.k) as discussed above, but it is estimated
using techniques other than RTT. In some embodiments, the
supplemental information may exploit one or more alternative
properties of the signals exchanged between the mobile station 108
and the WAPs 311, such as, for example, amplitude and/or phase. In
other embodiments, the supplemental information may a previously
determined position. As discussed above, and presented in more
detail below in the description of FIG. 7, amplitude (e.g., RSSI)
may be used to estimate the supplemental distance.
[0117] In other embodiments, other independent sensors may provide
supplemental information that may be useful. For example,
accelerometers or other forms of networked position determination
(AFLT, etc.) may help estimate distances between the WAPs and
mobile station 108. Additionally, while SPS signals may be weak
and/or intermittent in some of the operating environments of method
600, there may be, in some environments, adequate SPS signal
strength which may be sufficient for determining supplemental
distances between the mobile station 108 and the WAPs 311.
[0118] For example, a mobile station with a set of valid
ephemerides may be able to detect when it is indoors vs. outdoors
based on its ability to detect satellites. This can help eliminate
conditions when a portion of the initial bounded space is outside.
If the system has provided WGS84 coordinates for the WAPs or a
WGS84 landmark on a map, the mobile station 108 may also be able to
use its last-known position from SPS to limit its current
position.
[0119] In another example, the mobile station 108 may have motion
sensor-based information (from motion sensor 212) which may relate
its current position to a previously established position. If, for
example, a mobile station includes an accelerometer, it may know
that it has experienced at most 4 meters of movement from a
previously established position It can use that data to limit the
range of locations at which it may currently be. A triaxial
accelerometer and altimeter might also be combined to determine
movement along the Z axis.
[0120] Once the two distance estimates to each WAP are determined
in B615 and B620, the distance estimates may be processed to
generate a combined distance estimate to each WAP (B625). This
processing may include any type of statistical and/or deterministic
approaches, including kalman filters, fading memory filters,
minimal mean square error (MMSE) techniques, etc.
[0121] Using the combined distance to each WAP 311k, the mobile
station 108 may determine its position using conventional
trilateration methods based upon the combined distances and the
network geometry (B630).
[0122] FIG. 7 is flowchart of another embodiment 700 providing an
alternative approach to the process blocks 615-625 illustrated in
FIG. 6. In FIG. 7, the supplemental distances are based upon the
measured signal strength RSSI associated with the ACK responses
provided by the WAPs 311. The RSSI measurements for each WAP may be
mapped to distances using the models described above. These
RSSI-based distances may be used in conjunction with RTT-based
distances to determine position of the mobile station 108, and to
calibrate the processing times of the WAPs 311.
[0123] Further referring to FIG. 7, after the RTTs to each WAP 311k
have been measured (610, FIG. 6), the distance to each WAP 311k is
determined based upon the RSSI (B715). The measured RSSI.sub.k
values (for each WAP) may be the average of the RTT ranging packets
measured from each WAP 311k. The mobile station 108 may determine
the distance to each WAP 311k using RSSI.sub.k based upon the
following equation.
d.sub.RSSI,k=f.sub.d(RSSI.sub.k)
.sigma..sup.2.sub.d.sub.RSSI.sub.,k=f.sub..sigma..sub.2(RSSI.sub.k)
[0124] where [0125] d.sub.RSSI,k is the distance from mobile
station 108 to WAP 311k. [0126] .sigma..sub.RSSI,k.sup.2 is the
variance the distance d.sub.RSSI,k based upon RSSI.sub.k. [0127]
f.sub.d(RSSI.sub.k) is a mathematical model relating distance and
RSSI. [0128] f.sub..sigma..sub.2(RSSI.sub.k) is a mathematical
model relating variance and RSSI.
[0129] The mobile station 108 may then estimate the mean and
variance of the RTT noise n.sub.k. Once the mobile station 108
determines the RTT noise, the following can be estimated.
{circumflex over (.mu.)}.sub.n,k=.mu..sub.n,k(d.sub.RSSI,k)
{circumflex over
(.sigma.)}.sub.n,k.sup.2=.sigma..sub.n,k.sup.2(d.sub.RSSI,k+2.sigma..sub.-
d.sub.RSSI.sub.,k) [0130] where [0131] {circumflex over
(.mu.)}.sub.n,k is an estimate of the mean of the RTT noise. [0132]
{circumflex over (.sigma.)}.sub.n,k.sup.2 is an estimate of the
variance of the RTT noise. [0133] .mu..sub.n,k(d.sub.RSSI,k) is a
mathematical model of the mean RTT noise as a function of distance
to WAP 311k. [0134]
.sigma..sub.n,k.sup.2(d.sub.RSSI,k+2.sigma..sub.d.sub.RSSI.sub.,k)
is a mathematical model of the variance of the RTT noise as a
function of distance to the WAP 311k, where the mobile device adds
2.sigma..sub.d.sub.RSSI.sub.,k to take a more conservative estimate
of the RTT noise variance.
[0135] When the mobile station 108 has no knowledge of the RTT
statistics, it may assume, for example, that {circumflex over
(.mu.)}.sub.n,k=0 and {circumflex over (.sigma.)}.sub.n,k.sup.2=50,
where RTT timing is estimated using a 20 MHz clock with 50 ns
resolution.
[0136] The mobile device 108 may then determine the distance to
each WAP 311k based upon the measured RTT (B720), and may also
determine the variance of the distance based on the measured RTT
using the following equations.
d RTT , k = RTT _ k - .DELTA. ^ k - .mu. ^ n , k 2 ##EQU00004##
.sigma. d RTT , k 2 = .sigma. .DELTA. ^ , k 2 + .sigma. ^ n , k 2 /
m k 4 ##EQU00004.2## [0137] where: [0138] d.sub.RTT,k is the
RTT-based distance to each WAP 311k. [0139] RTT.sub.k is the
averaged RTT time over m.sub.k measurements for WAP 311k. [0140]
{circumflex over (.DELTA.)}.sub.k is the estimated processing time
for WAP 311k [0141] .sigma..sub.d.sub.RTT.sub.,k.sup.2 is the
variance of d.sub.RTT,k.
[0141] .sigma. .DELTA. ^ , k 2 ##EQU00005## [0142] is the variance
of {circumflex over (.DELTA.)}.sub.k [0143] {circumflex over
(.sigma.)}.sub.n,k.sup.2 is an estimate of the variance of RTT
noise. [0144] m.sub.k is the number RTT measurements associated
with WAP 311k.
[0145] The mobile station 108 may truncate d.sub.RTT,k if necessary
to fall between 0 and the maximum WAP 311 range.
[0146] Once the RTT-based distance and variance are determined as
above, the mobile station 108 may determine a combined distance
estimate to each WAP 311k (B723). In one embodiment, the combined
distance estimate may be performed using a weighted combination of
the RTT-based distance d.sub.RTT,k and the RSSI-based distance
d.sub.RSSI,k for each WAP 311k to determine a distance estimate
d.sub.est,k. This distance estimate may be determined by using a
Minimum Mean Square Error (MMSE) estimator based on the following
equation:
d est , k = ( .sigma. d RSSI , k - 2 .sigma. d RSSI , k - 2 +
.sigma. d RTT , k - 2 ) d est , k + ( .sigma. d RTT , k - 2 .sigma.
d RSSI , k - 2 + .sigma. d RTT , k - 2 ) d RTT , k , ##EQU00006##
[0147] with variance estimated as:
[0147]
.sigma..sub.d.sub.est.sub.,k.sup.2=(.sigma..sub.d.sub.RSSI.sub.,k-
.sup.-2+.sigma..sub.d.sub.RTT.sub.,k.sup.-2).sup.-1.
[0148] The above equations may assume that the RSSI and RTT noise
can be modeled as uncorrelated and Gaussian.
[0149] The above distance estimator may rely on RSSI when
.sigma..sub.d.sub.RTT.sub.,k.sup.2 is large, either from
uncertainty in the processing time or very noisy RTT measurements.
However, once the processing time is known (e.g., low
.sigma. .DELTA. ^ , k 2 ) ##EQU00007##
the above MMSE estimator may put more weight on the RTT
measurements.
[0150] Once the set of distances {d.sub.est,k} to each WAP 311k
have been determined, the method may then proceed to Block 725,
where the position of the mobile device 108 may be determined using
known trilateration techniques. In other embodiments, triangulation
or other positioning algorithms may be used. The distances with
lower variance .sigma..sub.d.sub.est.sub.,k.sup.2 may be given more
weight in the algorithm. The trilateration algorithm may also
utilize past localization data to perform trajectory smoothing
using, for example, Kalman filtering.
[0151] III. Updating the Ranging Models to Improve Position
Determination
[0152] In order to improve the position determination process,
various embodiments of the invention provide for updating the
ranging models to improve their accuracy in an adaptive manner. In
one embodiment, the processing times {circumflex over
(.DELTA.)}.sub.k associated with each WAP 311k used in the RTT
ranging model may be updated using an iterative approach. Thus,
these processing times {circumflex over (.DELTA.)}.sub.k can be
refined through a "learning" process to arrive at better values. In
other embodiments, the RSSI ranging models may be adjusted using an
adaptive process to improve their fidelity. Different aspects of
the models may be continuously monitored and updated if it is
determined that the model should be improved.
[0153] FIG. 8 shows a flowchart illustrating an exemplary method
800 for adaptively improving a wireless signal model. The mobile
station 108 may measure the distance to each WAP 311k using a
wireless signal model (B815). While only one model is discussed
here for ease of explanation, other embodiments may use a plurality
of wireless signal models. A position of the mobile station 108 may
then be calculated using conventional localization (e.g.,
trilateration) techniques (B820). Once the mobile station 108
position has been estimated, mobile station 108 may compute the
distance between the estimated position and each WAP 311k. Using
the computed distances determined in B825 and the measured
distances determined in B815, mobile station 108 may update the
wireless signal model to improve its fidelity. As will be shown
below, for example, the RTT ranging model may be improved by
updated the processing time {circumflex over (.DELTA.)}.sub.k
associated with each WAP 311k. In other embodiments, coefficients
associated with the RSSI ranging model may be updated, as will also
be described in more detail below.
[0154] Once the model is updated in B830, a test may be performed
to determine if the model has converged (B835). This test may be a
simple threshold of a parameter of interest in the model, or may be
a more sophisticated metric based on statistical measurements. Once
the model has converged, any further iterations may only bring
marginal improvements to the model and are thus may not be worth
performing. If no further convergence is observed in B835, then
subsequent position determinations may be performed using the
updated wireless model (B840).
[0155] 3.1 Updating the RTT Model Using Minimum Mean Square
Error
[0156] Further referring to FIG. 8, in another embodiment of the
process 800 described above, the details are provided below when
the wireless signal model is the RTT ranging model. Once the
position of the mobile station has been determined, the mobile
station 108 may update the estimated processing times {circumflex
over (.DELTA.)}.sub.k for each WAP 311k based upon the position.
After performing the position determination in B820 (e.g.,
trilateration), the mobile station 108 has the option of updating a
local (e.g., parameter database 224) or remote database with
information about the processing times {circumflex over
(.DELTA.)}.sub.k, observed WAPs 311k (e.g., based upon MACID).
Embodiments allow the localization system to learn and adapt over
time by varying each {circumflex over (.DELTA.)}.sub.k, without
requiring a substantial up-front deployment cost.
[0157] Below more details are presented for allowing the mobile
station 108 to update its estimate of the processing delay. This
algorithm may assume that the trilateration error at the current
position in space is uncorrelated with previous measurements. That
is, the mobile station 108 should perform this processing delay
update procedure when it has moved sufficiently far from its
previous location in space. The mobile station 108 could estimate
such movement detecting a large change in the RSSI or RTT
measurements and/or by utilizing other sensors (e.g., motion sensor
212).
[0158] After trilateration, the mobile station 108 may calculate
the distance d.sub.tri,k between the estimated position and WAP
311k. The average round-trip time RTT.sub.k and the
post-trilateration distance d.sub.tri,k may be related via the
following matrix equation:
[ RTT _ k d tri , k ] = [ 1 2 0 1 ] [ .DELTA. k d k ] + [ n _ k k ]
. ##EQU00008##
[0159] where .DELTA..sub.k is the exact processing time delay for
WAP 311k, d.sub.k is the exact distance to WAP 311k, n.sub.k is the
average noise in the RTT measurements, and .epsilon..sub.k is the
post-trilateration error. Let us define the post-trilateration
error variance, which is unknown, as
.sigma..sub.d.sub.tri.sub.,k.sup.2=E.left
brkt-bot..epsilon..sub.k.sup.2.right brkt-bot.. A reasonable
heuristic may be to take the average variance of the
pre-trilateration distances, modeled using the following equation,
as trilateration may have an averaging effect on the positioning
error:
.sigma. d tri , k 2 = .sigma. d tri 2 = 1 K k = 1 K .sigma. d est ,
k 2 ##EQU00009##
[0160] The mobile station 108 can model all variables on the right
side of the above matrix equation as being uncorrelated and
normally distributed as described below.
.DELTA. k ~ N ( .DELTA. ^ k , .sigma. .DELTA. ^ , k 2 )
##EQU00010## d k ~ N ( d RSSI , k , .sigma. d RSSI , k 2 )
##EQU00010.2## n _ k ~ N ( .mu. ^ n , k , .sigma. ^ n , k 2 / m k )
##EQU00010.3## k ~ N ( 0 , .sigma. d tri , k 2 ) ##EQU00010.4##
[0161] The mobile station 108 can then form an updated estimate of
the processing time delays using minimum mean square error (MMSE)
techniques as shown using the equations below:
.DELTA. ^ k , new = ( .sigma. .DELTA. ^ , k , new 2 .sigma. .DELTA.
^ , k 2 ) .DELTA. ^ k + ( 1 - .sigma. .DELTA. ^ , k , new 2 .sigma.
.DELTA. ^ , k 2 ) .DELTA. ^ k , measured , where ##EQU00011##
.sigma. .DELTA. ^ , k , new 2 = ( 1 .sigma. .DELTA. ^ , k 2 + 1
.sigma. ^ n , k 2 / m k + 4 ( .sigma. d RSSI , k - 2 + .sigma. d
tri , k - 2 ) - 1 ) - 1 , and ##EQU00011.2## .DELTA. ^ k , measured
= RTT _ k - .mu. ^ n , k - 2 ( .sigma. d RSSI , k - 2 .sigma. d
RSSI , k - 2 + .sigma. d tri , k - 2 d RSSI , k + .sigma. d tri , k
- 2 .sigma. d RSSI , k - 2 + .sigma. d tri , k - 2 d tri , k ) .
##EQU00011.3##
[0162] The new processing time {circumflex over
(.DELTA.)}.sub.k,new may be a weighted sum of the current
processing time {circumflex over (.DELTA.)}.sub.k and a measured
processing time {circumflex over (.DELTA.)}.sub.k,measured that may
be derived from the RTT measurements, the RSSI distances, and the
post-trilateration distances. The weights may depend on the
estimated variance of the processing time. During the early stages
of learning, typically
.sigma. .DELTA. ^ , k , new 2 << .sigma. .DELTA. ^ , k 2
##EQU00012##
and the processing time is updated with {circumflex over
(.DELTA.)}.sub.k,new.apprxeq.{circumflex over
(.DELTA.)}.sub.k,measured. During the intermediate stages
{circumflex over (.DELTA.)}.sub.k,new, may be updated whenever the
measurements cause a substantial decrease in
.sigma. .DELTA. ^ , k 2 . ##EQU00013##
Once {circumflex over (.DELTA.)}.sub.k has converged, based on
.sigma. .DELTA. ^ , k , new 2 .apprxeq. .sigma. .DELTA. ^ , k 2 ,
##EQU00014##
the processing time may reach a steady state with {circumflex over
(.DELTA.)}.sub.k,new.apprxeq.{circumflex over (.DELTA.)}.sub.k.
[0163] 3.2 Updating the RSSI Model Using Iterative Techniques
[0164] In another embodiment of the process shown in FIG. 8, the
wireless signal model may be based upon an RSSI ranging model. FIG.
9 is a graph of exemplary ranging models used to determine the
distance between a mobile station and a wireless access point based
upon RSSI. In various embodiments, the mobile station 108 may
"listen" for signals transmitted by each WAP 311k, where the
signals may be in the form of beacons. The signal strength of each
transmission may be converted to a distance using a model that may
be based on the deployment environment, such as, for example, an
office building or shopping mall. As shown in FIG. 9 the exemplary
plot of RSSI vs. distance is representative of an indoor
environment, with upper and lower bounds being shown. These bounds
may be based upon the variance of the RSSI. In other embodiments,
as will be described in more detail below for FIG. 10, the model
may be based on propagation models based upon a map of the WAP
deployment.
[0165] The models may be used to convert signal strength to a
distance for each WAP 311k. An initial distance estimate may be
determined by the midpoint of the min/max range from the RSSI,
although more sophisticated approaches may be used. Trilateration
may be performed using the initial distance estimates to roughly
approximate the position of the mobile station 108. In some
embodiments, the variance of the RSSI measurements may be used to
weight distance estimates based upon confidence prior to
trilateration (e.g., low variance distance estimates may be
weighted higher than high variance estimates). Moreover, multiple
measurements may be performed to each WAP 311 in a short time
interval to reduce noise via averaging, filtering, and/or other
processing. In other embodiments, various model(s) may provide an
average distance, and a variance in this distance, as a function of
RSSI.
[0166] Advantages of using such a model may include: avoiding
time-consuming fingerprinting of the environment of interest;
generating no additional wireless traffic to determine the
estimates; and utilizing standard wireless protocols (e.g., 802.11
a/b/g/n, etc.) without having to alter them.
[0167] FIG. 10 illustrates a diagram of an exemplary indoor
environment 1000 which may be modeled to improve distance estimates
between wireless access points and a mobile station based upon
RSSI. In this environment, the mobile station 108 may be able to
exchange wireless signals with a plurality of Local Area Network
Wireless Access Points (LAN-WAPs) 1006. Some LAN-WAPs, for example,
1006a, 1006c, and 1006e, may be within direct line of sight with
the mobile station 108. One may expect, in the absence of other
forms of electronic interference, that the signals received from
LAN-WAPs 1006a 1006c, and 1006e would be relatively strong. Other
LAN-WAPs, for example 1006b and 1006d, may reside in different
rooms, and may have the signals attenuated by building obstructions
such as walls. The attenuation of signals exchanged with LAN-WAPs
1006b and 1006e may vary depending upon the material used in the
construction of the walls. RSSI models relating distance and signal
strength may be generated based upon the indoor environment 1000.
Such models may include the geometry of each LAN-WAP in relation to
the mobile device 108, and/or geometry of each LAN-WAP in relation
to the obstructions within the environment. Furthermore, such
models may also include other factors affecting the signal, such
as, for example, the material of the obstructions to module their
attenuation effects (e.g. metal walls versus drywall), the
radiation patterns of the LAN-WAP antennas, interfering signals
from undesired sources (e.g., other WAPs external to the LAN), the
make and model of each individual LAN-WAP 1006, etc.
[0168] In some embodiments, the mobile station may already be
receiving the LAN-WAP network geometry through a particular
channel. Such as channel may be used to provide information about
the local conditions which may be presumed to exist. For example,
the channel may be used to provide a ray-tracing based model of the
local conditions which would improve on the fidelity of the base
RSSI model. This model might be provided in the forms as detailed
as the ray-tracing of the venue or as simple as a reference to a
known set of general models (e.g. "auditorium", "cube farm",
"high-rise office"). In other embodiments, a full map of the
environment may be provided, and the mobile station 108 may also
produce its own ray-tracing model, and/or perform pattern-matching
to pick a more appropriate RSSI model.
[0169] In other embodiments, the RSSI model may be dynamic in
nature, and thus can be refined in an iterative manner over time as
the mobile station 108 moves throughout the environment 1000. For
example, the mobile station 108 may initially start with a simple
model of how the RSSI behaves with distance (for example, as
described above in FIG. 5 and FIG. 9), using a ray-tracing model
generated from a map of the environment, and/or from a generic
model such as office, warehouse, mall, etc. The mobile station 108
may then move around the environment, localizing itself using the
positioning algorithm described in above. Deviations from the model
may be compared, and the model updated, based upon the computed
position of the mobile station 108.
[0170] 3.3 Updating the RTT Module by Bounding Range Using the RSSI
Model
[0171] FIG. 11 is a flowchart showing another exemplary process
1100 for which uses both RTT and RSSI ranging modules for
determining the position of a mobile station and adaptively
improving the RTT model.
[0172] In this embodiment, the mobile station may determine an
initial estimation of the WAP 311 processing times based on the
known limitations of the WAP radio ranges. The mobile station 108
may calculate its position using a trilateration algorithm, where
typically at least three WAPs 311 are visible in two-dimensional
space. The mobile station may perform updates to prior estimates of
the WAP 311 processing times by comparing its most recent
calculated position with prior position solutions. Using the
updated position calculations and additional RTT measurements, the
mobile station 108 may continue refining the processing time
estimate as more measurements are taken. The details of this
process are presented below.
[0173] Process 1100 may start out by having the mobile device 108
initialize various parameters associated with each WAP 311k
(B1105). This process may be similar to the initialization
described in B605. The mobile station 108 may then perform RTT
measurements to each WAP 311k (B1110). As before, the model for RTT
may be provided as:
RTT.sub.k=2d.sub.k+.DELTA..sub.k+n.sub.k, [0174] where [0175]
d.sub.k is the actual distance (ft) between the mobile station 108
and the WAP 311k; [0176] .DELTA..sub.k is the actual processing
time (ns) for WAP 311k; and [0177] n.sub.k is uniform noise having
a mean and variance depending on distance d.sub.k.
[0178] As in the previous embodiment, the foregoing method may
estimate the processing time .DELTA..sub.k for each WAP 311k. Note
that this model differs from model used in the aforementioned
process 800 described above in 3.1, in that the noise n.sub.k may
be modeled here using a uniform distribution, whereas in process
800 a Gaussian distribution may be used. The noise n.sub.k may be
mitigated by averaging several measurements taken in the same
location. This assumption may be reasonable if the mobile station
108 is stationary or moving at low speed.
[0179] One may note that, as presented above, because the units for
distance and time are in feet and nano-seconds, respectively, the
speed of light propagation may be estimated as .about.1 ft/ns.
[0180] Once RTT.sub.k are determined, the mobile station may
determine an initial estimate of each WAP 311k processing time
{circumflex over (.DELTA.)}.sub.k based upon signal strength
measurements (B1115).
[0181] By determining the strength of one or more received packets
used in making the RTT measurements in Block 1110, the mobile
station 108 can bracket the distance d.sub.k a WAP 311k to be in an
interval between a maximum range (R.sub.k,min) and a minimum range
(R.sub.k,min), as represented by the equation below.
R.sub.k,min.ltoreq.d.sub.k.ltoreq.R.sub.k,max
[0182] If the processing time is different for each WAP 311k, the
initial estimate of processing time {circumflex over
(.DELTA.)}.sub.k,init may be approximated as the midpoint of the
above interval for each WAP 311k:
{circumflex over
(.DELTA.)}.sub.k,init=E[RTT.sub.k-n.sub.k-R.sub.k,min-R.sub.k,max]=RTT.su-
b.k-R.sub.k,min-R.sub.k,max.
[0183] If the processing time is the same for each WAP 311k, the
initial estimate of processing time {circumflex over
(.DELTA.)}.sub.k,init may be approximated as the midpoint of the
intersection of the above intervals for WAPs 311:
.DELTA. ^ k , init = .DELTA. ^ k = max ( RTT k - 2 R k , max ) +
min ( RTT k - 2 R k , min ) 2 . ##EQU00015##
[0184] The process 1100 may next calculate the position of the
mobile station based on the measured RTTs and then WAP processing
time estimates (B1120). To determine position, the mobile station
108 may convert the RTT measurements associated with each WAP 311k
to an estimated distance {circumflex over (d)}.sub.k. The estimated
distance to each WAP 311k may be determined using the following
equation.
d ^ k = max ( 0 , RTT k - .DELTA. ^ k 2 ) ##EQU00016##
[0185] Once the set of estimated distances {{circumflex over (d)}}
are determented for the available WAPs 311k, the mobile station 108
may calculate its position (x,y) using trilateration. Typically,
the error in the calculated position (x,y) is less that the error
associated with each estimated distance.
[0186] The process may then update the distance to each WAP 311
then determine a new processing time for each WAP based upon the
new distance (B1125). The new distance to each WAP 311k may be
determined using the following equation.
{circumflex over
(d)}'.sub.k=.parallel.(x,y)-(x.sub.k,y.sub.k).parallel. [0187]
where [0188] (x, y) is the most recent position of the mobile
station [0189] (x.sub.k , y.sub.k) is the position of each WAP
311k
[0190] From the new distance estimate {circumflex over (d)}'.sub.k,
the mobile station 108 may update the processing time estimate
{circumflex over (.DELTA.)}'.sub.k using the following equation,
when each WAP 311k has a different processing time.
{circumflex over (.DELTA.)}'.sub.k=RTT.sub.k-2{circumflex over
(d)}'.sub.k
[0191] If it may be assumed that each WAP 311k has substantially
the same processing time, the following equation may be used to
update the processing time estimate.
{circumflex over (.DELTA.)}'=mean(RTT.sub.k-2{circumflex over
(d)}'.sub.k)
[0192] A test may be performed to determine if further iterations
should be made to further refine the processing time estimates. In
one embodiment, the WAP 311 processing estimates may be tested to
determine if they have converged (B1135). Alternatively, a test may
be performed on the distances to each WAP, or a mathematical
functions thereof (e.g., mean distances), to determine whether
further refinements to the processing time should be performed. If
further iterations are useful, the process 1100 may loop back to
Block 1140, where the round trip time to each WAP 311k is measured
again. One should appreciate that multiple measurements may be
performed, and may be mathematically combined with prior
measurements (e.g., averaging, FIR/IIR filtering, etc.), to
mitigate the effects of noise. The new RTT measurements may then be
used in a reiteration of Blocks 1120 through 1125 to refine the
processing time estimate {circumflex over (.DELTA.)}'.sub.k
associated with each WAP 311k.
[0193] If in B1135 it is determined that no further refinements to
processing time should be performed, the process 1100 may then
monitor the position of the mobile station 108 to determine whether
its position has changed (B1141). If so, the mobile station 108 may
repeat the process 1100 starting looping back to Block 1110. In
this case, if new WAPs are discovered, the initial processing times
may be computed as described above in Block 1115. However, for WAPs
that are in still in range which already have had refined
processing times determined (assuming that they are different), the
refined times for these WAPs may be used to improve the efficiency
of the process 1100. If it is determined in Block 1141 that the
position of the mobile station 108 has not changed, the mobile
station may monitor its position to detect changes in position
(B1142).
[0194] In some embodiments, determining whether the mobile station
108 has changed position in Block 1141 may be accomplished using
the motion sensor 212, or some other form of position determination
(e.g., AFLT, GPS, etc.) In these embodiments, the motion state of
the mobile device may be monitored, and once motion is detected,
the process resumes as described above.
[0195] In other embodiments, where the mobile station may not have
a motion sensor 212, or the environment prevents motion detection
through other means (e.g., insufficient signal coverage for GPS
and/or AFLT), the mobile station may monitor its position in Block
1142 by continuing to measure RTT to each WAP 311k using the
updated processing times (B1145), and then determining its position
(B1150) based upon the updated. WAP processing time as described
above.
[0196] Those of skill in the art will appreciate that information
and signals may be represented using any of a variety of different
technologies and techniques. For example, data, instructions,
commands, information, signals, bits, symbols, and chips that may
be referenced throughout the above description may be represented
by voltages, currents, electromagnetic waves, magnetic fields or
particles, optical fields or particles, or any combination
thereof.
[0197] Further, those of skill in the art will appreciate that the
various illustrative logical blocks, modules, circuits, and
algorithm steps described in connection with the embodiments
disclosed herein may be implemented as electronic hardware,
computer software, or combinations of both. To clearly illustrate
this interchangeability of hardware and software, various
illustrative components, blocks, modules, circuits, and steps have
been described above generally in terms of their functionality.
Whether such functionality is implemented as hardware or software
depends upon the particular application and design constraints
imposed on the overall system. Skilled artisans may implement the
described functionality in varying ways for each particular
application, but such implementation decisions should not be
interpreted as causing a departure from the scope of the present
invention.
[0198] The methodologies described herein may be implemented by
various means depending upon the application. For example, these
methodologies may be implemented in hardware, firmware, software,
or any combination thereof. For a hardware implementation, the
processing units may be implemented within one or more application
specific integrated circuits (ASICs), digital signal processors
(DSPs), digital signal processing devices (DSPDs), programmable
logic devices (PLDs), field programmable gate arrays (FPGAs),
processors, controllers, micro-controllers, microprocessors,
electronic devices, other electronic units designed to perform the
functions described herein, or a combination thereof.
[0199] For a firmware and/or software implementation, the
methodologies may be implemented with modules (e.g., procedures,
functions, and so on) that perform the functions described herein.
Any machine-readable medium tangibly embodying instructions may be
used in implementing the methodologies described herein. For
example, software codes may be stored in a memory and executed by a
processor unit. Memory may be implemented within the processor unit
or external to the processor unit. As used herein the term "memory"
refers to any type of long term, short term, volatile, nonvolatile,
or other memory and is not to be limited to any particular type of
memory or number of memories, or type of media upon which memory is
stored.
[0200] If implemented in firmware and/or software, the functions
may be stored as one or more instructions or code on a
computer-readable medium. Examples include computer-readable media
encoded with a data structure and computer-readable media encoded
with a computer program. Computer-readable media includes physical
computer storage media. A storage medium may be any available
medium that can be accessed by a computer. By way of example, and
not limitation, such computer-readable media can comprise RAM, ROM,
EEPROM, CD-ROM or other optical disk storage, magnetic disk storage
or other magnetic storage devices, or any other medium that can be
used to store desired program code in the form of instructions or
data structures and that can be accessed by a computer; disk and
disc, as used herein, includes compact disc (CD), laser disc,
optical disc, digital versatile disc (DVD), floppy disk and blu-ray
disc where disks usually reproduce data magnetically, while discs
reproduce data optically with lasers. Combinations of the above
should also be included within the scope of computer-readable
media.
[0201] In addition to storage on computer readable medium,
instructions and/or data may be provided as signals on transmission
media included in a communication apparatus. For example, a
communication apparatus may include a transceiver having signals
indicative of instructions and data. The instructions and data are
configured to cause one or more processors to implement the
functions outlined in the claims. That is, the communication
apparatus includes transmission media with signals indicative of
information to perform disclosed functions. At a first time, the
transmission media included in the communication apparatus may
include a first portion of the information to perform the disclosed
functions, while at a second time the transmission media included
in the communication apparatus may include a second portion of the
information to perform the disclosed functions.
[0202] While the foregoing disclosure shows illustrative
embodiments of the invention, it should be noted that various
changes and modifications could be made herein without departing
from the scope of the invention as defined by the appended claims.
The functions, steps and/or actions of the method claims in
accordance with the embodiments of the invention described herein
need not be performed in any particular order. Furthermore,
although elements of the invention may be described or claimed in
the singular, the plural is contemplated unless limitation to the
singular is explicitly stated.
* * * * *