Embodiments of the inventive subject matter generally relate to the field of wireless communications systems, and, more particularly, to a third party device location estimation mechanism for wireless communication networks.
In wireless communication networks, the distance between a wireless area network (WLAN) client station and a WLAN access point (or other types of WLAN devices) can be estimated by measuring the round-trip time (RTT) between a message sent from the client station to the access point and an acknowledgement message (or other reply message) sent from the access point to the client station. In some cases, the location of the client station can be estimated using time different of arrival (TDOA) techniques that analyze communications of three or more network devices (e.g., access points) with known locations.
Various embodiments for third party device location estimation in wireless communication networks are disclosed. In one embodiment, a distance between an observing communication device and a reference communication device of a wireless communication network is determined. A distance between the observing communication device and a target communication device of the wireless communication network is also determined. An exchange of messages between the target communication device and the reference communication device is detected at the observing communication device. Timing information associated with the messages exchanged between the target communication device and the reference communication device is determined at the observing communication device. A distance between the target communication device and the reference communication device is determined at the observing communication device based, at least in part, on the distance between the observing communication device and the reference communication device, the distance between the observing communication device and the target communication device, and the timing information associated with the messages exchanged between the target communication device and the reference communication device.
The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The description that follows includes exemplary systems, methods, techniques, instruction sequences, and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. For instance, although examples refer to implementing a third party device location estimation mechanism in communication devices of an 802.11 WLAN, in other embodiments the third party device location estimation mechanism can be implemented by other communication devices that operate according to other suitable standards and protocols (e.g., Worldwide Interoperability for Microwave Access (WiMAX)). In other instances, well-known instruction instances, protocols, structures, and techniques have not been shown in detail in order not to obfuscate the description.
A client station in a wireless communication network can utilize RTT measurements to determine the distance between the client station and another communication device (e.g., an access point). The client station can also utilize TDOA techniques to determine its own actual location within the wireless communication network. However, to determine its own actual location using TDOA measurements, the client station typically needs to communication with three or more access points with known locations.
In some embodiments, an observing client station (or “observing communication device”) can implement a third party location estimation technique to determine the distance from a target third party client station (“target client station” or “target communication device”) to a reference communication device (e.g., an access point). The observing client station can then determine the relative location of the target client station with reference to the access point based on the measured distance (as will be described with reference to
At stage A, a distance from the observing client station 110 to the access point 120 can be determined based on an exchange of messages between the observing client station 110 and the access point 120. In one implementation, the observing client station 110 can first send a message 111 to the access point 120. For example, the transceiver unit 114 of the observing client station 110 can send a data or control packet to the access point 120. The position calculation unit 115 of the observing client station 110 can detect and store the time instant at which the end of the message 111 is sent to the access point 120. For example, based on a reference clock (or a timer), the position calculation unit 115 can store a timestamp indicating the time the end of the message 111 is sent to the access point 120. In one implementation, in response to receiving the message 111, the access point 120 can send an acknowledgement message 121 to the observing client station 110. The position calculation unit 115 can detect and store the time instant (e.g., a timestamp) at which the beginning of the acknowledgement message 121 is received at the observing client station 110. The position calculation unit 115 can then determine the time difference (tDIFF) between the time the end of the message 111 is sent to the access point 120 and the time the beginning of the acknowledgement message 121 is received at the observing client station 110. After determining the time difference (tDIFF), the position calculation unit 115 can determine the distance (D3) between the observing client station 110 and the access point 120 (based on the round-trip time of the messages) according to Eq. 1, where c is the speed of light and tWAIT is the SIFS (Short InterFrame Space) time interval associated with the message exchange between the two network devices.
Distance=[c*(tDIFF−tWAIT)]/2 Eq. 1
In some embodiments, the SIFS time interval is the time interval that a receiving network device will wait to send the acknowledgement message 121 (or other response, such as a CTS message) to the transmitting network device. For WLAN networks, the SIFS time interval is defined by the 802.11 standard. For example, the SIFS time interval is typically 10 μs for 802.11b/g, and the SIFS time interval is typically 16 μs for 802.11a. It is noted, however, that in other implementations tWAIT may be other time intervals that network devices implement after receiving a message, such as the Reduced InterFrame Space (RIFS) time interval that is applied in some cases by 802.11n devices instead of the SIFS time interval.
At stage B, a distance from the observing client station 110 to the target client station 150 can be determined based on an exchange of messages between the two client stations. In one implementation, the observing client station 110 can first send a message 112 to the target client station 150. For example, the transceiver unit 115 can send a data or control packet to the target client station 150. The position calculation unit 115 can detect and store the time at which the end of the message 112 is sent to the target client station 150. For example, based on a reference clock (or a timer), the position calculation unit 115 can store a timestamp indicating the time the end of the message 112 is sent to the target client station 150. In one implementation, in response to receiving the message 112, the target client station 150 can send an acknowledgement message 152 to the observing client station 110. The position calculation unit 115 can detect and store the time (e.g., a timestamp) at which the beginning of the acknowledgement message 152 is received at the observing client station 110. The position calculation unit 115 can then determine the time difference (tDIFF) between the time the end of the message 112 is sent to the target client station 150 and the time the acknowledgement message 152 is received at the observing client station 110. After determining the time difference (tDIFF), the position calculation unit 115 can determine the distance (D2) between the observing client station 110 and the target client station 150 based on Eq. 1.
At stage C, messages exchanged between the access point 120 and the target client station 150 are detected and timing information associated with the messages is determined. In one embodiment, the position calculation unit 115 can detect messages exchanged between the access point 120 and the target client station 150, and detect the time at which the messages are received at the observing client station 110. For example, position calculation unit 115 can detect a message 154 (e.g., a data or control packet) that is broadcast from the target client station 150 to the access point 120. The position calculation unit 115 can determine the time instant (TSTA
At stage D, a distance from the access point 120 to the target client station 150 is determined based, at least in part, on the distance measurements associated with the observing client station 110 and the timing information associated with the messages exchanged between the access point 120 and the target client station 150. In some embodiments, the position calculation unit 115 determines the distance (D1) from the access point 120 to the target client station 150 based, at least in part, on the distance (D3) between the observing client station 110 and the access point 120, the distance (D2) between the observing client station 110 and the target client station 150, and the timing information (TSTA
TAP=TO+tD1=TO+(D1/c) Eq. 2
Additionally, the time (TSTA
TSTA
Furthermore, the time (TSTA
TSTA
TSTA
(D1/c)=TSTA
D1=c*(TSTA
The position calculation unit 115 can therefore determine the distance (D1) between the access point 120 and the target client station 150, according to Eq. 4d, based on the distance D2, the distance D3, the timing information TSTA
At block 202, a message is transmitted from the observing client station 110 to the access point 120 and a time (X3) at which the message is transmitted is determined. For example, the transceiver unit 114 transmits the message (e.g., message 111 shown in
At block 204, an acknowledgement message is received at the observing client station 110 from the access point 120 and a time (Y3) at which the message is received is determined. For example, the transceiver unit 114 receives the acknowledgement message (e.g., message 121 shown in
At block 206, the distance (D3) from the observing client station 110 to the access point 120 is determined based, at least in part, on the time difference between the times X3 and Y3. For example, the position calculation unit 115 determines the time difference between the times X3 and Y3, and then calculates D3 according to Eq. 1 shown above. In another example, if the locations of the access point 120 and the observing client station 110 are known or can be estimated (e.g., the access point 120 and/or the observing client station 110 have self-locating capabilities), D3 can be determined based on the location of the access point 120 and the location of the observing client station 110. In the example diagram shown in
At block 208, a message is transmitted from the observing client station 110 to the target client station and a time (X2) at which the message is transmitted is determined. For example, the transceiver unit 114 transmits the message (e.g., message 112 shown in
At block 210, an acknowledgement message is received at the observing client station 110 from the target client station 150 and a time (Y2) at which the message is received is determined. For example, the transceiver unit 114 receives the acknowledgement message (e.g., message 152 shown in
At block 212, the distance (D2) from the observing client station 110 to the target client station 150 is determined based, at least in part, on the time difference between the times X2 and Y2. For example, the position calculation unit 115 determines the time difference between the times X2 and Y2, and then calculates D2 according to Eq. 1 shown above. The circle 475 shown in
At block 214, it is determined whether a message exchange between the access point 120 and the target client station 150 is detected. For example, the position calculation unit 115 can detect whether a message (e.g., message 154 shown in
At block 216, the time (TSTA
At block 218, the time (TSTA
At block 220, a distance (D1) from the access point 120 to the target client station 150 is determined based, at least in part, on the distance D3 between the observing client station 110 and the access point 120, the distance D2 between the observing client station 110 and the target client station 150, and the timing information (TSTA
At block 222, it is determined whether to estimate the actual location of the target client station 150. In some cases, both the distance from the access point 120 to the target client station 150 (i.e., the relative location of the target client station 150 with respect to the access point 120), and the actual location of the target client station 150 can be determined. For example, the observing client station 110 may determine how far the target client station 110 is from the access point 120, and also estimate the location of the target client station 110 (e.g., latitude and longitude coordinates). As described above, in some cases, the observing client station 110 may include self-locating capabilities to determine its own location. The access point 120 may also include self-locating capabilities to determine its own location. The observing client station 110 can then communicate with the access point 120 (e.g., send a location request message) to determine the location of the access point 120 in order to perform location estimation operations with respect to the target client station 150, as will be further described below. If it is determined to estimate the actual location of the target client station 150, the flow continues at block 224. Otherwise, the flow ends.
At block 224, the actual location of the target client station 150 is estimated based, at least in part, on the location of the observing client station 110, the location of the access point 120, the distance D1, and the distance D2. As shown in
In some implementations, as shown in the example of
In some implementations, if the location of the observing client station 110 is unknown, the position calculation unit 115 can estimate the location of the observing client station 110 as shown in the example of
In some implementations, the position calculation unit 115 can determine the distance (D1) between the access point 120 and the target client station 150, as was described above with reference to stages C and D of
In some implementations, the position calculation unit 115 can also determine the distance (D4) between the second access point 130 and the target client station 150, as was described above with reference to
In some implementations, after Stage 3 of
It should be understood that the depicted diagrams (
It is further noted that, although
Furthermore, although in some implementations tWAIT in the equations Eq. 1 and Eq. 4a-Eq. 4d is equal to the SIFS time interval (or the RIFS time interval that is applied in some cases by 802.11n devices), embodiments are not so limited. In some implementations, tWAIT in the equations Eq. 1 and Eq. 4a-Eq. 4d shown above may also include known (or estimated) internal propagation times within the hardware of the transmitting and/or receiving network device. For example, tWAIT may include the internal propagation times between the antenna and the processing units of the receiving network device.
Embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments of the inventive subject matter may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium. The described embodiments may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic device(s)) to perform a process according to embodiments, whether presently described or not, since every conceivable variation is not enumerated herein. A machine-readable medium includes any mechanism for storing or transmitting information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). A machine-readable medium may be a machine-readable storage medium, or a machine-readable signal medium. A machine-readable storage medium may include, for example, but is not limited to, magnetic storage medium (e.g., floppy diskette); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of tangible medium suitable for storing electronic instructions. A machine-readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, an electrical, optical, acoustical, or other form of propagated signal (e.g., carrier waves, infrared signals, digital signals, etc.). Program code embodied on a machine-readable signal medium may be transmitted using any suitable medium, including, but not limited to, wireline, wireless, optical fiber cable, RF, or other communications medium.
Computer program code for carrying out operations of the embodiments may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on a user's computer (e.g., in the CPU of the communication device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN), a personal area network (PAN), or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The electronic device 900 also includes a communication unit 920. In one implementation, the communication unit 920 comprises a position calculation unit 922 and a transceiver unit 928. The communication unit 920 is configured to implement a third party device location estimation mechanism in the wireless communication network 900, e.g., as was described above with reference to
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. In general, the third party device location estimation mechanism for wireless communication systems as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations, or structures described herein as a single instance. Finally, boundaries between various components, operations, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the inventive subject matter. In general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the inventive subject matter.
Number | Name | Date | Kind |
---|---|---|---|
6034635 | Gilhousen | Mar 2000 | A |
6166685 | Soliman | Dec 2000 | A |
6420999 | Vayanos | Jul 2002 | B1 |
6618005 | Hannah et al. | Sep 2003 | B2 |
6744398 | Pyner et al. | Jun 2004 | B1 |
7289813 | Karaoguz | Oct 2007 | B2 |
20010053699 | McCrady et al. | Dec 2001 | A1 |
20020155845 | Martorana | Oct 2002 | A1 |
20020196184 | Johnson et al. | Dec 2002 | A1 |
20030134647 | Santhoff et al. | Jul 2003 | A1 |
20040008138 | Hockley et al. | Jan 2004 | A1 |
20040147269 | Kim | Jul 2004 | A1 |
20040258012 | Ishii | Dec 2004 | A1 |
20040264407 | Tang et al. | Dec 2004 | A1 |
20050135257 | Stephens et al. | Jun 2005 | A1 |
20070121560 | Edge | May 2007 | A1 |
20070296633 | Yanagihara | Dec 2007 | A1 |
20080103696 | Cheok et al. | May 2008 | A1 |
20080125161 | Ergen et al. | May 2008 | A1 |
20080130604 | Boyd | Jun 2008 | A1 |
20080188236 | Alles et al. | Aug 2008 | A1 |
20080248741 | Alizadeh-Shabdiz | Oct 2008 | A1 |
20080287139 | Carlson et al. | Nov 2008 | A1 |
20090280825 | Malik et al. | Nov 2009 | A1 |
20100130225 | Alles et al. | May 2010 | A1 |
20100135178 | Aggarwal et al. | Jun 2010 | A1 |
20100150117 | Aweya et al. | Jun 2010 | A1 |
20110059752 | Garin et al. | Mar 2011 | A1 |
20110117925 | Sampath et al. | May 2011 | A1 |
20110136506 | Stewart | Jun 2011 | A1 |
20110188389 | Hedley et al. | Aug 2011 | A1 |
20110244881 | Bando et al. | Oct 2011 | A1 |
20120087272 | Lemkin et al. | Apr 2012 | A1 |
20120314587 | Curticapean | Dec 2012 | A1 |
20130005347 | Curticapean | Jan 2013 | A1 |
20130072217 | Zhang et al. | Mar 2013 | A1 |
20130072218 | Zhang et al. | Mar 2013 | A1 |
20130072219 | Zhang et al. | Mar 2013 | A1 |
20130072220 | Zhang et al. | Mar 2013 | A1 |
20130100850 | Zhang et al. | Apr 2013 | A1 |
Number | Date | Country |
---|---|---|
2012170046 | Dec 2012 | WO |
2012170062 | Dec 2012 | WO |
2013002812 | Jan 2013 | WO |
2013043664 | Mar 2013 | WO |
2013043675 | Mar 2013 | WO |
2013043681 | Mar 2013 | WO |
2013043685 | Mar 2013 | WO |
2013059636 | Apr 2013 | WO |
Entry |
---|
International Search Report and Written Opinion—PCT/US2011/054977—ISA/EPO—Jan. 31, 2012, 7 pages. |
International Search Report and Written Opinion—PCT/US2011/043781—ISA/EPO—Nov. 17, 2011, 7 pages. |
International Search Report and Written Opinion—PCT/US2011/046074—ISA/EPO—Dec. 16, 2011, 10 pages. |
Co-pending U.S. Appl. No. 13/155,037, filed Jun. 7, 2011. |
Co-pending U.S. Appl. No. 13/170,353, filed Jun. 28, 2011. |
Co-pending U.S. Appl. No. 13/236,172, filed Sep. 19, 2011. |
Co-pending U.S. Appl. No. 13/236,208, filed Sep. 19, 2011. |
Co-pending U.S. Appl. No. 13/236,232, filed Sep. 19, 2011. |
Co-pending U.S. Appl. No. 13/236,259, filed Sep. 19, 2011. |
Co-pending U.S. Appl. No. 13/278,642, filed Oct. 21, 2011. |
Co-pending U.S. Appl. No. 13/315,174, filed Dec. 8, 2011. |
U.S. Appl. No. 13/236,172 Office Action, Jun. 7, 2012 , 25 pages. |
U.S. Appl. No. 13/236,232 Office Action, Oct. 11, 2012 , 13 Pages. |
U.S. Appl. No. 13/236,208 Office Action, Nov. 7, 2012, 14 pages. |
Foy, W.H., “Position-Location Solutions by Taylor-Series Estimation”, IEEE Transactions on Aerospace and Electronic Systems, IEEE Service Center, Piscataway, NJ, US, vol. AES-10, No. 2,Mar. 1, 1976, pp. 187-194, XP011166129, ISSN: 0018-9251. |
Kleine-Ostmann, T., et al., “A data fusion architecture for enhanced position estimation in wireless networks”, IEEE Communications Letters, IEEE Service Center, Piscataway, NJ, US, vol. 5, No. 8, Aug. 1, 2001, pp. 343-345, XP011423565, ISSN: 1089-7798, DOI: 10.1109/4234.940986 Sections II and III. |
Li, H., et al., “Combination of Taylor and Chan method in mobile positioning”, Cybernetic Intelligent Systems (CIS), 2011 IEEE 10th International Conference on, IEEE, Sep. 1, 2011, pp. 104-110, XP932136955, DOI : 10.1109/ CIS.2011.6169143 ISBN: 978-1-4673-0687-4 Abstract Sections I-III. |
Shen, G., et al., “Performance comparison of TOA and TDOA based location estimation algorithms in LOS environment”, (WPNC '08) 5th, IEEE, Mar. 27, 2008, pp. 71-78, XP031247832, ISBN: 978-1-4244-1798-8 Section II (TOA Based Location Estimation Algorithms}: “C. Taylor Series Method”. |
Gholami, Mohammad R. et al., “Positioning algorithms for cooperative networks in the presence of an unknown turn-around time”, 2011 IEEE 12th Workshop on Signal Processing Advancesin Wireless Communications (SPAWC 2011) IEEE Piscataway,NJ, USA, IEEE, Piscataway, NJ, USA, XP032035718, 001: 10.11 09/SPAWC.2011.5990386; ISBN: 978-1-4244-9333-3 Jun. 26, 2011 , 166-170. |
Yu, K et al., “TOA-based distributed localisation with unknown internal delays and clock frequency offsets in wireless sensor networks”, IET Signal Processing vol. 3, No. 2 XP006032603, ISSN: 1751-9683, 001: 10.1049I1ET-SPR:20080029 Mar. 2, 2009 , 106-118. |
“PCT Application No. PCT/US12/56017 International Search Report”, Jan. 3, 2013 , 14 pages. |
“PCT Application No. PCT/US12/56053 International Search Report”, Jan. 3, 2013 , 13 pages. |
“PCT Application No. PCT/US2012/056036 International Search Report”, Jan. 3, 2013 , 13 pages. |
“PCT Application No. PCT/US2012/068543 International Search Report”, Feb. 15, 2013 , 15 pages. |
“PCT/US2012/056046 International Search Report”, Jan. 3, 2013 , 13 pages. |
U.S. Appl. No. 13/236,172 Office Action, 25 pages. |
“U.S. Appl. No. 13/236,172 Office Action”, Jan. 3, 2013 , 25 pages. |
“PCT Application No. PCT/US2012/061081 International Search Report”, Mar. 27, 2013 , 11 pages. |
“U.S. Appl. No. 13/155,037 Office Action”, Apr. 3, 2013 , 20 pages. |
“PCT Application No. PCT/US2011/043781 International Preliminary Report on Patentability”, Jun. 7, 2013, 4 pages. |
“PCT Application No. PCT/US2011/054977 International Preliminary Report on Patentability”, Jun. 10, 2013, 8 pages. |
Number | Date | Country | |
---|---|---|---|
20120315919 A1 | Dec 2012 | US |