US9332383B2 - Time of arrival based positioning system - Google Patents

Time of arrival based positioning system Download PDF

Info

Publication number
US9332383B2
US9332383B2 US14/345,941 US201214345941A US9332383B2 US 9332383 B2 US9332383 B2 US 9332383B2 US 201214345941 A US201214345941 A US 201214345941A US 9332383 B2 US9332383 B2 US 9332383B2
Authority
US
United States
Prior art keywords
location
wireless device
distance
initial
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US14/345,941
Other versions
US20140235270A1 (en
Inventor
Xiaoxin Zhang
Ning Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to US14/345,941 priority Critical patent/US9332383B2/en
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHANG, NING, ZHANG, XIAOXIN
Publication of US20140235270A1 publication Critical patent/US20140235270A1/en
Application granted granted Critical
Publication of US9332383B2 publication Critical patent/US9332383B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/87Combinations of radar systems, e.g. primary radar and secondary radar
    • G01S13/876Combination of several spaced transponders or reflectors of known location for determining the position of a receiver
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/021Calibration, monitoring or correction
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/14Determining absolute distances from a plurality of spaced points of known location

Definitions

  • Embodiments of the inventive subject matter generally relate to the field of wireless communication and, more particularly, to a time of arrival (TOA) based positioning system.
  • TOA time of arrival
  • a wireless communication device can use various position estimation techniques to determine an unknown location of the wireless communication device based on communicating with a plurality of reference wireless communication devices with known locations.
  • the wireless communication device can employ round trip time (RTT) based positioning techniques by determining the travel time of radio signals from the wireless communication device to the reference wireless communication devices.
  • RTT round trip time
  • the wireless communication device can determine the distance to the reference wireless communication devices based on the determined travel time of the radio signals and can use time of arrival (TOA) positioning techniques to determine the unknown location.
  • TOA time of arrival
  • a method comprises: determining, at a wireless network device of a communication network, a round trip transit time between the wireless network device and each of a plurality of reference wireless network devices of the communication network; for each of the plurality of reference wireless network devices, determining a distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device; calculating an initial location of the wireless network device based, at least in part, on a location of each of the plurality of reference wireless network devices; and performing time of arrival (TOA) computations for estimating a location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, and an initial distance calibration constant.
  • TOA time of arrival
  • said performing the TOA computations for estimating the location of the wireless network device comprises executing a single iteration of a Taylor series based TOA positioning algorithm to estimate the location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the location of each of the plurality of reference wireless network devices, and the initial distance calibration constant.
  • the initial distance calibration constant is one of a zero value, a predetermined value, and a dynamically selected random value.
  • said performing the TOA computations for estimating the location of the wireless network device further comprises determining a distance calibration constant based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the initial distance calibration constant, and the location of each of the plurality of reference wireless network devices in response to said executing the single iteration of the Taylor series based TOA positioning algorithm.
  • said calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises calculating the initial location of the wireless network device as an average of the location of each of the plurality of reference wireless network devices.
  • said calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises calculating the initial location of the wireless network device as a weighted combination of the location of at least a subset of the plurality of reference wireless network devices.
  • said calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises: determining a location error matrix, wherein each element of the location error matrix represents a difference between an estimated location coordinate of the wireless network device and a corresponding initial location coordinate of the initial location of the wireless network device; determining a distance error matrix, wherein each element of the distance error matrix represents a difference between a measured distance between the wireless network device and one of the plurality of reference wireless network devices and an estimated distance between the wireless network device and the one of the plurality of reference wireless network devices, wherein the measured distance is determined based, at least in part, on the round trip transit time between the wireless network device and the one of the plurality of reference wireless network devices, wherein the estimated distance is determined based, at least in part, on the location of the one of the plurality of reference wireless network devices and the initial location of the wireless network device; determining a coefficient matrix as the product of the distance error matrix and an inverse of a transpos
  • the method further comprises identifying the plurality of reference wireless network devices based, at least in part, on analyzing one or more performance measurements associated with at least each of the plurality of reference wireless network devices.
  • said determining the distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device further comprises: for each of the plurality of reference wireless network devices, recording a first time instant at which a first control message is transmitted from the wireless network device to the reference wireless network device; recording a second time instant at which a second control message is received at the wireless network device from the reference wireless network device in response to the first control message; subtracting the first time instant from the second time instant to determine the round trip transit time between the wireless network device and the reference wireless network device; and multiplying round trip transit time between the wireless network device and the reference wireless network device by a speed of light factor to yield the distance between the wireless network device and the reference wireless network device.
  • the wireless network device and the plurality of reference wireless network devices comprise wireless local area network (WLAN) communication capabilities.
  • WLAN wireless local area network
  • a wireless network device comprises a network interface; and a location calculation unit coupled with the network interface, the location calculation unit operable: to determine a round trip transit time between the wireless network device and each of a plurality of reference wireless network devices of a communication network; for each of the plurality of reference wireless network devices, determine a distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device; calculate an initial location of the wireless network device based, at least in part, on a location of each of the plurality of reference wireless network devices; and perform time of arrival (TOA) computations to estimate a location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, and an initial distance calibration constant.
  • TOA time of arrival
  • the location calculation unit operable to perform the TOA computations to estimate the location of the wireless network device comprises the location calculation unit operable to execute a single iteration of a Taylor series based TOA positioning algorithm to estimate the location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the location of each of the plurality of reference wireless network devices, and the initial distance calibration constant.
  • the location calculation unit operable to perform the TOA computations to estimate the location of the wireless network device further comprises the location calculation unit operable to determine a distance calibration constant based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the initial distance calibration constant, and the location of each of the plurality of reference wireless network devices in response to the location calculation unit executing the single iteration of the Taylor series based TOA positioning algorithm.
  • the location calculation unit operable to calculate the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises the location calculation unit operable to calculate the initial location of the wireless network device as an average of the location of each of the plurality of reference wireless network devices, or calculate the initial location of the wireless network device as a weighted combination of the location of at least a subset of the plurality of reference wireless network devices.
  • the location calculation unit operable to calculate the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises the location calculation unit operable to: determine a location error matrix, wherein each element of the location error matrix represents a difference between an estimated location coordinate of the wireless network device and a corresponding initial location coordinate of the initial location of the wireless network device; determine a distance error matrix, wherein each element of the distance error matrix represents a difference between a measured distance between the wireless network device and one of the plurality of reference wireless network devices and an estimated distance between the wireless network device and the one of the plurality of reference wireless network devices, wherein the measured distance is determined based, at least in part, on the round trip transit time between the wireless network device and the one of the plurality of reference wireless network devices, wherein the estimated distance is determined based, at least in part, on the location of the one of the plurality of reference wireless network devices and the initial location of the wireless network device; determine a coefficient matrix as the product of the distance error matrix
  • one or more machine-readable storage media have instructions stored therein, which when executed by one or more processors causes the one or more processors to perform operations that comprise: determining, at a wireless network device of a communication network, a round trip transit time between the wireless network device and each of a plurality of reference wireless network devices of the communication network; for each of the plurality of reference wireless network devices, determining a distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device; calculating an initial location of the wireless network device based, at least in part, on a location of each of the plurality of reference wireless network devices; and performing time of arrival (TOA) computations for estimating a location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, and an initial distance calibration constant.
  • TOA time of arrival
  • said operation of performing the TOA computations for estimating the location of the wireless network device comprises executing a single iteration of a Taylor series based TOA positioning algorithm to estimate the location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the location of each of the plurality of reference wireless network devices, and the initial distance calibration constant.
  • said operation of performing the TOA computations for estimating the location of the wireless network device further comprises determining a distance calibration constant based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the initial distance calibration constant, and the location of each of the plurality of reference wireless network devices in response to said executing the single iteration of the Taylor series based TOA positioning algorithm.
  • said operation of calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises calculating the initial location of the wireless network device as an average of the location of each of the plurality of reference wireless network devices, or calculating the initial location of the wireless network device as a weighted combination of the location of at least a subset of the plurality of reference wireless network devices.
  • said operation of calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises: determining a location error matrix, wherein each element of the location error matrix represents a difference between an estimated location coordinate of the wireless network device and a corresponding initial location coordinate of the initial location of the wireless network device; determining a distance error matrix, wherein each element of the distance error matrix represents a difference between a measured distance between the wireless network device and one of the plurality of reference wireless network devices and an estimated distance between the wireless network device and the one of the plurality of reference wireless network devices, wherein the measured distance is determined based, at least in part, on the round trip transit time between the wireless network device and the one of the plurality of reference wireless network devices, wherein the estimated distance is determined based, at least in part, on the location of the one of the plurality of reference wireless network devices and the initial location of the wireless network device; determining a coefficient matrix as the product of the distance error matrix and an inverse of a
  • FIG. 1 is an example block diagram illustrating a mechanism for estimating the unknown location of a network device in a wireless communication network
  • FIG. 2 is an example block diagram of one embodiment of the location calculation unit including a TOA positioning mechanism
  • FIG. 3 is a flow diagram illustrating example operations of a TOA positioning mechanism
  • FIG. 4 is an example block diagram of one embodiment of the location calculation unit including a hybrid TOA positioning mechanism
  • FIG. 5 depicts a flow diagram illustrating example operations of a hybrid TOA positioning mechanism
  • FIG. 6 is a continuation of FIG. 5 and also illustrates example operations of a hybrid TOA positioning mechanism
  • FIG. 7 is a block diagram of one embodiment of an electronic device including a mechanism for determining the location of the electronic device in a wireless communication network.
  • WLAN wireless local area network
  • 802.11n compatible devices e.g., 802.11n compatible devices
  • WiMAX various other devices and standards
  • a network device associated with an unknown location can use a TOA based positioning algorithm to determine its location based on a plurality of reference network devices.
  • the TOA positioning algorithm may or may not require an accurately known distance calibration constant to estimate the location of the unknown network device.
  • Conventional TOA positioning algorithms typically use, as inputs, an arbitrarily selected initial location of the unknown network device, an arbitrarily selected distance calibration constant, and the distance to and locations of each reference network device to iteratively calculate the location of the unknown network device.
  • the initial location of the unknown network device is zero (e.g., where the X, Y, and Z coordinates are zero) or a randomly selected value.
  • the initial distance calibration constant is also typically zero or a randomly selected value.
  • the conventional TOA positioning algorithms can be very sensitive to the initial location of the unknown network device.
  • some conventional TOA positioning algorithms may be sensitive to the distance calibration constant.
  • Employing a randomly selected value or a zero value of the initial location can render the conventional TOA positioning algorithms unsolvable (e.g., by making the value of one or more determinants approach zero or infinity) and can result in the conventional TOA positioning algorithms not converging to an appropriate solution (i.e., the location of the unknown network device).
  • not knowing or randomly selecting the distance calibration constant can result in poor performance of the conventional TOA positioning algorithms, can result in the conventional TOA positioning algorithms not converging to the appropriate location of the unknown network device, and/or can result in the conventional TOA positioning algorithms converging to the wrong solution.
  • a first TOA positioning system that employs a calculated (rather than an arbitrarily selected) initial location of the unknown network device can be implemented to minimize the sensitivity of some of the conventional TOA positioning algorithms to the initial location of the unknown network device.
  • the first TOA positioning system is typically not sensitive to the distance calibration constant and may utilize an arbitrarily selected distance calibration constant for positioning calculations.
  • the first TOA positioning system that can utilize the arbitrarily selected distance calibration constant is referred to herein as “TOA1 positioning system.”
  • the initial location of the unknown network device can be calculated based, at least in part, on known locations of the reference network devices.
  • the TOA1 positioning system can execute a single iteration (rather than multiple iterations) to calculate the location of the unknown network device and the distance calibration constant based, at least in part, on the calculated initial location of the unknown network device and the distance to each of the reference network devices. Calculating (rather than arbitrarily guessing) the initial location of the unknown network device can mitigate location sensitivity issues, ensure convergence of the TOA1 positioning system in determining the location of the unknown network device, and improve the performance and the positioning accuracy of the TOA1 positioning system. Moreover, by executing only a single iteration to estimate the location of the unknown network device, the TOA1 positioning system can minimize the resources and the time consumed to calculate the location of the unknown network device.
  • a hybrid TOA positioning system can improve the performance of estimating the location of the unknown network device.
  • the TOA1 positioning system described above can execute a single iteration to estimate the location of the unknown network device (referred to herein as “intermediate location of the unknown network device”) and a distance calibration constant (referred to herein as “intermediate distance calibration constant”).
  • the intermediate location of the unknown network device and the intermediate distance calibration constant (along with the location of the reference network devices and the distance to each of the reference network devices) can then be used to calculate a target (or estimated) distance calibration constant and a second intermediate location of the unknown network device.
  • the hybrid TOA positioning system can also comprise a second TOA positioning system referred to herein as “TOA2 positioning system.”
  • the second TOA positioning system is typically sensitive to the distance calibration constant and may not utilize an arbitrarily selected distance calibration constant for positioning calculations. Instead, the TOA2 positioning system can utilize the intermediate distance calibration constant calculated by the TOA1 positioning system for positioning calculations, as will be described below.
  • the hybrid TOA positioning system can iteratively execute the TOA2 positioning system based, at least in part, on the target distance calibration constant and the second intermediate location to estimate the location (“estimated location”) of the unknown network device. Calculating (rather than guessing) the target distance calibration constant can minimize sensitivity to the distance calibration constant, minimize positioning error associated with determining the location of the unknown network device, increase positioning accuracy and improve performance gain, consequently improving the overall performance of the unknown network device.
  • FIG. 1 is an example block diagram illustrating a mechanism for estimating the unknown location of a network device in a wireless communication network 100 .
  • the wireless communication network 100 comprises a WLAN device 102 with an unknown location (“unknown WLAN device”) and four reference WLAN devices 104 , 106 , 108 , and 112 .
  • the unknown WLAN device 102 comprises a location calculation unit 110 .
  • the location calculation unit 110 may be implemented in a communication unit of the unknown WLAN device 102 that implements protocols and functionality to enable WLAN communication in the wireless communication network 100 . It is noted that although not depicted in FIG.
  • one or more of the reference WLAN devices 104 , 106 , 108 , and 112 can also comprise a location calculation unit and corresponding functionality for determining their respective location.
  • the unknown WLAN device 102 and the reference WLAN devices 104 , 106 , 108 , and 112 can each be electronic devices with WLAN communication capabilities, such as a laptop computer, a tablet computer, a mobile phone, a smart appliance, a gaming console, an access point, or other suitable electronic devices.
  • the unknown WLAN device 102 can execute operations to determine its location, as will be described below in stages A-F.
  • the location calculation unit 110 determines the round trip transit time (RTT) between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 in the wireless communication network 100 .
  • the location calculation unit 110 can transmit one or more control messages to the reference WLAN device 104 and can receive corresponding one or more response control messages (e.g., acknowledgement (ACK) messages) from the reference WLAN device 104 .
  • the location calculation unit 110 can also record the time instants at which the control messages were transmitted to and the corresponding response control messages were received from the reference WLAN device 104 .
  • the location calculation unit 110 can then calculate the RTT between the unknown WLAN device 102 and the reference WLAN device 104 (“RTT associated with the reference WLAN device”) as the elapsed time between transmitting the control messages and receiving the corresponding response control messages, as will further be described in blocks 304 - 308 of FIG. 3 .
  • the location calculation unit 110 can also calculate the RTT associated with the reference WLAN device 106 and the RTT associated with the reference WLAN device 108 . It is noted that in other implementations, other suitable techniques can be employed to determine the RTT associated with the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the location calculation unit 110 calculates the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 based on the corresponding RTT associated with the reference WLAN devices. Operations for calculating the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 will further be described in FIGS. 2 and 3 .
  • the location calculation unit 110 determines the location of each of the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the location calculation unit 110 can request and receive location coordinates associated with each of the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the location calculation unit 110 can transmit a request for the location coordinates in the control messages transmitted at stage A and can receive the location coordinates in the response control messages.
  • the location calculation unit 110 can transmit a location request message (distinct from the control messages transmitted at stage A) to each of the reference WLAN devices and can receive a corresponding location response message comprising the location coordinates associated with each of the reference WLAN devices.
  • the location calculation unit 110 can query a centralized server (or can access a predetermined memory location) to determine the location coordinates associated with the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the reference WLAN devices 104 , 106 , 108 , and 112 may broadcast their respective location coordinates at periodic intervals (e.g., in a beacon message or another suitable control message).
  • the location calculation unit 110 can determine the location coordinates associated with the reference WLAN devices 104 , 106 , 108 , and 112 based on receiving and analyzing the periodically received messages.
  • the location calculation unit 110 can determine two-dimensional (2-D) coordinates (e.g., X and Y coordinates), three-dimensional (3-D) coordinates (e.g., X, Y, and Z coordinates), latitudes and longitudes, spherical coordinates, and/or other suitable location indicators associated with the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the location calculation unit 110 calculates an initial location of the unknown WLAN device 102 based, at least in part, on the location of each of the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the location calculation unit 110 can calculate the initial location of the unknown WLAN device 102 as the average of the known locations of the reference WLAN devices 104 , 106 , 108 , and 112 , as will be described in FIGS. 2 and 3 .
  • the location calculation unit 110 can use the calculated initial location of the unknown WLAN device 102 as an input to a first time of arrival (TOA1) positioning algorithm to estimate the location of the unknown WLAN device 102 , as will be described below in stage F and in FIGS. 2-3 .
  • TOA1 first time of arrival
  • the location calculation unit 110 can use the previously calculated location of the unknown WLAN device output (referred to herein as the “first intermediate location of the unknown WLAN device”) generated at the output of the TOA1 positioning algorithm to calculate a second intermediate location of the unknown WLAN device 102 based, at least in part, on the known locations of the reference WLAN devices 104 , 106 , 108 , and 112 , and the RTT associated with the reference WLAN devices 104 , 106 , 108 , and 112 , as will be described in FIGS. 4-6 .
  • the location calculation unit 110 can use the second intermediate location of the unknown WLAN device 102 as an input to a second time of arrival (TOA2) positioning algorithm to determine the estimated location of the unknown WLAN device 102 , as will be described below in stage F and in FIGS. 4-7 .
  • TOA2 time of arrival
  • the location calculation unit 110 determines a distance calibration constant.
  • the initial distance calibration constant can be a predetermined value or a randomly selected value.
  • the location calculation unit 110 can use the initial distance calibration constant as an input to the TOA1 positioning algorithm to estimate the location of the unknown WLAN device 102 and a distance calibration constant, as will be described below in stage F and in FIGS. 2-3 .
  • the location calculation unit 110 can use the distance calibration constant at the output of the TOA1 positioning algorithm (referred to herein as intermediate distance calibration constant) to calculate a target (or estimated) distance calibration constant.
  • the location calculation unit 110 can use the target distance calibration constant as an input to the TOA2 positioning algorithm to estimate the location of the unknown WLAN device 102 , as will be described below in stage F and in FIGS. 4-7 .
  • the location calculation unit 110 estimates the location of the unknown WLAN device 102 based, at least in part, on the initial location of the unknown WLAN device 102 , the distance calibration constant, and the distance to each of the reference WLAN devices 104 , 106 , 108 , and 112 .
  • calculating the location of the unknown WLAN device 102 can be a one-stage process.
  • the location of the unknown WLAN device 102 can be calculated by executing a single iteration of a Taylor series-based TOA1 positioning algorithm using at least the calculated initial location of the unknown WLAN device 102 , and the known locations of the reference WLAN devices as inputs.
  • calculating the location of the unknown WLAN device 102 can be a two-stage process.
  • the location calculation unit 110 can first execute the Taylor series based TOA1 positioning algorithm (as described above) and determine a first intermediate location of the unknown WLAN device 102 .
  • the TOA1 positioning algorithm can also be used to determine an intermediate distance calibration constant.
  • the location calculation unit 110 can determine the second intermediate location of the unknown WLAN device 102 (as described in stage D) and the target distance calibration constant (as described above in stage E) based on the first intermediate location and the intermediate distance calibration constant.
  • the location calculation unit 110 can then iteratively execute a Taylor series-based TOA2 positioning algorithm to estimate the location of the unknown WLAN device 102 .
  • FIG. 2 is an example block diagram of one embodiment of the location calculation unit 110 including a TOA positioning mechanism.
  • the location calculation unit 110 comprises a distance calculation unit 202 , a TOA1 initial location calculation unit 204 , and a TOA1 positioning unit 206 .
  • the distance calculation unit 202 and the TOA1 initial location calculation unit 204 are coupled with the TOA1 positioning unit 206 .
  • the distance calculation unit 202 can calculate the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 based, at least in part, on the round-trip transit time (RTT) associated with each of the reference WLAN devices. As depicted in FIG. 2 , the distance calculation unit 202 takes as an input parameter, the RTT 208 between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 . If i represents a counter for the each of the reference WLAN devices and N represents the number of reference WLAN devices in the communication network 100 , then the input to the distance calculation unit 202 is RTT i (i.e., RTT 1 , RTT 2 , . .
  • the output of the distance calculation unit 202 is the estimated distance 210 ( ⁇ circumflex over (d) ⁇ i ) between the unknown WLAN device 102 and the i th reference WLAN device.
  • RTT i represents the RTT associated with the i th reference WLAN device
  • c represents the speed of light
  • the distance ⁇ circumflex over (d) ⁇ i 210 can be calculated in accordance with Eq. 1a.
  • the actual distance (d i ) between the unknown WLAN device 102 and the i th reference WLAN device can be represented as the sum of a TOA1 distance calibration constant (d c _ TOA1 ) and the estimated distance ( ⁇ circumflex over (d) ⁇ i ) between the unknown WLAN device 102 station and the i th reference WLAN device, as depicted in Eq. 1b.
  • the distance calibration constant (d c _ TOA1 ) can represent the difference between the estimated distance ( ⁇ circumflex over (d) ⁇ i ) and the actual distance (d i ) and may be indicative of the internal processing time (or turnaround time) associated with the reference WLAN devices.
  • the distance calibration constant can account for the elapsed time between the reference WLAN device detecting a control message from the unknown WLAN device 102 and the reference WLAN device transmitting a response control message to the unknown WLAN device 102 .
  • the distance calibration constant may also depend on the type and configuration of the reference WLAN devices. In some implementations, the distance calibration constant may differ from one reference WLAN device to another, while in other implementations the distance calibration constant may not differ across the reference WLAN devices.
  • the TOA1 initial location calculation unit 204 can calculate the initial location of the unknown WLAN device 102 based, at least in part, on the location 212 of each of the reference WLAN devices 104 , 106 , 108 , and 112 . As depicted in FIG. 2 , the known locations 212 of the reference WLAN devices 104 , 106 , 108 , and 112 are provided as input parameters to the TOA1 initial location calculation unit 204 . As described herein, i represents a counter for the reference WLAN devices and X i represents the location 212 (e.g., also referred to as absolute location, actual location, or real location) of the i th reference WLAN device.
  • the initial location 214 of the unknown WLAN device 102 can be expressed as a function ⁇ ( ⁇ ) of the known locations 212 of the N reference WLAN devices, as depicted in Eq. 2a. In some implementations, the initial location 214 of the unknown WLAN device 102 can be calculated as an average of the known locations 212 of the reference WLAN devices, as depicted in Eq. 2b.
  • the initial location 214 of the unknown WLAN device 102 can be calculated by maximizing the determinant of a product of matrices generated during the execution of a Taylor series based TOA1 positioning algorithm, as depicted in Eq. 2c. Maximizing the expression det(B TOA1 T B TOA1 ) as depicted in Eq. 2c can ensure that the TOA1 positioning algorithm (described below) converges to the location of the unknown WLAN device 102 .
  • B TOA 1 represents the transpose of the B TOA1 matrix and the B TOA1 matrix will further be described below with reference to Exp. 11 of FIG. 2 and with reference to FIG. 3 .
  • the TOA1 initial location calculation unit 204 can employ other suitable techniques to calculate the initial location 214 of the unknown WLAN device 102 .
  • the initial location 214 of the unknown WLAN device 102 can be calculated as a weighted average of the known locations 212 of the reference WLAN devices, where the weights are selected based on the confidence of the location of the reference WLAN devices and/or based the distance between the reference WLAN devices and the unknown WLAN device 102 .
  • the initial location 214 of the unknown WLAN device 102 can be calculated as a weighted (or non-weighted) combination of the known locations 212 of only a subset of the reference WLAN devices.
  • the TOA1 positioning unit 206 can execute a single iteration of a Taylor series based TOA1 positioning algorithm to calculate the location 220 of the unknown WLAN device 102 and to estimate a distance calibration constant 218 based, at least in part, on the initial location 214 of the unknown WLAN device 102 , the estimated distances 210 to each of the reference WLAN devices, and the location 212 of each of the reference WLAN devices. As depicted in FIG. 2 , the estimated distances 210 between the unknown WLAN device 102 and each of the reference WLAN devices (calculated by the distance calculation unit 202 ) are provided as one set of inputs to the TOA1 positioning unit 206 .
  • the initial location 214 of the unknown WLAN device 102 (Y TOA1 init ) calculated by the TOA1 initial location calculation unit 204 is provided as another input to the TOA1 positioning unit 206 .
  • the known locations 212 (X i ) of the reference WLAN devices 104 , 106 , 108 , and 112 are also provided as an input to the TOA1 positioning unit 206 .
  • an initial distance calibration constant (d c init ) 216 can also be provided as an input to the TOA1 positioning unit 206 .
  • the initial distance calibration constant 216 may be indicative of internal processing time (or turnaround time) associated with the reference WLAN devices.
  • the initial distance calibration constant 216 may be selected to be zero, while in other implementations the initial distance calibration constant 216 may be selected to be another suitable random value. In some implementations, the initial distance calibration constant 216 may be preconfigured, while in other implementations the initial distance calibration constant 216 may be dynamically selected (e.g., a random value may be dynamically selected for the initial distance calibration constant 216 ).
  • the TOA1 positioning unit 206 can then execute one iteration of a Taylor series based TOA1 positioning algorithm to solve the expression depicted by Eq. 3a and to estimate the location (Y TOA1 ) 220 of the unknown WLAN device 102 .
  • the TOA1 positioning unit 206 can attempt to identify the value of Y TOA1 that minimizes the sum (across all the reference WLAN devices) of the estimation error between A) the estimated distance to the i th reference WLAN device determined in Eq. 1 based on the RTT associated with the i th reference WLAN device and B) the calculated distance to the i th reference WLAN device based on the known location of the i th reference WLAN device.
  • ⁇ X i ⁇ Y TOA1 ⁇ represents the calculated distance between the i th reference WLAN device and the unknown WLAN device 102 .
  • ⁇ X i ⁇ Y TOA1 ⁇ can be calculated in accordance with Eq. 3b.
  • the calculated distance between a reference WLAN device and the unknown WLAN device can be determined based on the actual location of the reference WLAN device and the estimated location (Y TOA1 ) of the unknown WLAN device.
  • the TOA1 positioning unit 206 can simplify Eq. 3a and can instead solve Eq. 4 for all values of i to estimate the location of the unknown WLAN device 102 .
  • ⁇ circumflex over (d) ⁇ i ⁇ X i ⁇ Y TOA1 ⁇ d c _ TOA1 Eq.
  • the TOA1 distance calibration constant (d c _ TOA1 ) 218 can be expressed as the sum of the initial distance calibration constant (d c init ) 216 and a distance calibration error ( ⁇ d c ), as depicted in Eq. 5a.
  • the distance calibration error ( ⁇ d c ) can be expressed as the difference (or error) between the estimated distance calibration constant (d c _ TOA1 ) 218 and the initial distance calibration constant (d c init ) 216 .
  • the location 220 of the unknown WLAN device 102 (Y TOA1 ) can be expressed as the sum of the initial location 214 of the unknown WLAN device (Y TOA1 init ) and a TOA1 location error ( ⁇ Y TOA1 ), as depicted in Eq. 5b.
  • the TOA1 location error ( ⁇ Y TOA1 ) can be expressed as the difference (or error) between the estimated location 220 of the unknown WLAN device 102 (Y TOA1 ) and the initial location 214 of the unknown WLAN device (Y TOA1 init ).
  • the TOA1 positioning unit 206 can substitute Eq. 5a and Eq. 5b into Eq. 4 to yield Eq. 6.
  • d c _ TOA1 d c init + ⁇ d c
  • Y TOA1 Y TOA1 init + ⁇ Y TOA1
  • ⁇ circumflex over (d) ⁇ i ⁇ X i ⁇ Y TOA1 init ⁇ Y TOA1 ⁇ d c init ⁇ d c Eq. 6
  • the TOA1 positioning unit 206 can then use Taylor series expansion and neglect the second and higher order terms (e.g., because the higher order terms have a zero or negligible value), to yield Eq. 7.
  • the TOA1 positioning unit 206 can generate an equation in accordance with Eq. 7 for each of the reference WLAN devices 104 , 106 , 108 , and 112 and can organize the plurality of generated equations in matrix form to yield Eq. 8.
  • the TOA1 location error matrix ( ⁇ Y TOA1 ) may be a 1 ⁇ D row matrix that can represent the difference between the estimated location of the unknown WLAN device 102 and the initial TOA1 location of the unknown WLAN device 102 as depicted in Exp 9.
  • the TOA1 distance error matrix (A ToA1 ) can be an N ⁇ 1 column matrix, where each element (i.e., each row) of the A ToA1 matrix is represented by Exp. 10 and each row is associated with one of the reference WLAN devices. As depicted by Exp.
  • each element of the TOA1 distance error matrix represents a combination of A) the estimated distance between the unknown WLAN device and a reference WLAN device (e.g., based on RTT associated with the reference WLAN device as depicted in Eq. 1), B) the initial distance calibration constant 216 , and C) the calculated distance between the unknown WLAN device and the reference WLAN device based on the known location of the reference WLAN device and the initial location 214 of the unknown WLAN device 102 .
  • the TOA coefficient matrix (B ToA1 ) can be an N ⁇ (D+1) matrix, where N represents the number of reference WLAN devices and D represents the dimensions of the coordinate system that is used to specify the location of the reference WLAN devices.
  • Each element of the TOA1 coefficient matrix can be represented in accordance with Exp. 11.
  • the TOA1 coefficient matrix (B TOA1 ) can comprise the coefficients of the TOA1 location error matrix ( ⁇ Y ToA1 ) and can represent the relationship between the TOA1 location error matrix ( ⁇ Y ToA1 ) and the TOA1 distance error matrix (A ToA1 ).
  • ⁇ ⁇ ⁇ Y TOA ⁇ ⁇ 1 [ ⁇ ⁇ ⁇ y TOA ⁇ ⁇ 1 0 ⁇ ⁇ ⁇ y TOA ⁇ ⁇ 1 1 ... ⁇ ⁇ ⁇ y TOA ⁇ ⁇ 1 D - 2 ⁇ ⁇ ⁇ y TOA ⁇ ⁇ 1 D - 1 ] Exp . ⁇ 9 i th ⁇ ⁇ element ⁇ ⁇ of ⁇ ⁇ A ToA ⁇ ⁇ 1 : d ⁇ i + d c init - ⁇ X i - Y TOA ⁇ ⁇ 1 init ⁇ Exp .
  • the dimension (e.g., the value of s) can vary from column to column while the reference device under consideration (e.g., the value of i) can vary from row to row.
  • the dimension can remain constant throughout a particular column while the reference device under consideration can remain constant throughout a particular row.
  • the TOA1 positioning unit 206 can use Eq. 5a to calculate the TOA1 distance calibration constant (d c _ TOA1 ) 218 by summing the distance calibration error ( ⁇ d c ) with the initial distance calibration constant (d c init ).
  • the TOA1 positioning unit 206 can use Eq. 5b to calculate the estimated location 220 of the unknown WLAN device (Y TOA1 ) by summing the TOA1 location error ( ⁇ Y TOA1 ) with the initial location 214 of the unknown WLAN device 102 (Y TOA1 init ).
  • FIG. 3 depicts a flow diagram (“flow”) 300 illustrating example operations of a TOA positioning mechanism.
  • the flow 300 begins at block 302 .
  • an unknown network device determines a plurality of reference network devices of a communication network based on which to estimate the location of the unknown network device.
  • the location calculation unit 110 of the unknown WLAN device 102 can identify the reference WLAN devices 104 , 106 , 108 , and 112 based on which to estimate the location of the unknown WLAN device 102 .
  • the location calculation unit 110 can identify the reference WLAN devices 104 , 106 , 108 , and 112 from a plurality of WLAN devices in the wireless communication network 100 based on analyzing one or more performance measurements associated with the plurality of WLAN devices.
  • location calculation unit 110 can identify N WLAN devices in the wireless communication network 100 with the highest received signal strength indicator (RSSI), the lowest packet error rate (PER), etc.
  • the access points may advertise (e.g., in a beacon message) their presence/location to other WLAN devices in the wireless communication network 100 .
  • the location calculation unit 110 can detect these beacon messages, identify the access points that transmitted the beacon messages, and select at least a subset of the access points as reference WLAN devices (e.g., based on analyzing the performance measurements associated with the beacon messages received from each of the access points). The flow continues at block 304 .
  • a control message is transmitted to each of the plurality of reference network devices.
  • the location calculation unit 110 can transmit a control message to the reference WLAN device 104 .
  • the control message can comprise one or more of an identifier associated with the unknown WLAN device 102 , an identifier associated with the reference WLAN device 104 , and a suitable payload (e.g., a predetermined combination of symbols, a NULL payload, etc.).
  • the location calculation unit 110 can also record the time instant at which the control message was transmitted to the reference WLAN device 104 .
  • the location calculation unit 110 can also record the time instants at which control messages were transmitted to the reference WLAN devices 106 , 108 , and 112 .
  • the flow continues at block 306 .
  • a response control message is received from each of the plurality of reference network devices.
  • the location calculation unit 110 can receive the response control message from the reference WLAN device 104 .
  • the response control message can be a WLAN acknowledgment (ACK) message or any suitable message that indicate receipt of the control message (transmitted at block 304 ) at the reference WLAN device 104 .
  • the location calculation unit 110 can also record the time instant at which the response control message was received at the unknown WLAN device 102 from the WLAN device 104 .
  • the location calculation unit 110 can also record the time instants at which response control messages were received from the reference WLAN devices 106 , 108 , and 112 .
  • the flow continues at block 308 .
  • the location calculation unit 110 can determine the RTT associated with the reference WLAN device 104 based on the time instants at which the control message was transmitted to the reference WLAN device 104 (recorded at block 304 ) and the time instant at which the response control message was received from the reference network device 104 (recorded at block 306 ).
  • the location calculation unit 110 can compute the RTT associated with the reference WLAN device 104 by subtracting the time instant at which the control message was transmitted from the time instant at which the response control message was received. It is noted that in other implementations, the location calculation unit 110 can employ other suitable techniques to determine the RTT associated with the reference WLAN device 104 .
  • the location calculation unit 110 can also determine the RTT associated with the reference WLAN devices 106 , 108 , and 112 . The flow continues at block 310 .
  • the distance between the unknown network device and the reference network device is calculated based, at least in part, on the RTT associated with the reference network device.
  • the location calculation unit 110 e.g., the distance calculation unit 202 of FIG. 2
  • the location calculation unit 110 can calculate the distance between the unknown WLAN device 102 and each of the reference network devices 104 , 106 , 108 , and 112 based, at least in part, on the RTT associated with the corresponding reference WLAN device as described above with reference to Eq. 1a of FIG. 2 .
  • the distance calculation unit 202 can use other suitable techniques to determine the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 .
  • the flow continues at block 312 .
  • the initial location of the unknown network device is calculated based, at least in part, on known locations of the reference network devices.
  • location calculation unit 110 e.g., the TOA1 initial location calculation unit 204 of FIG. 2
  • the initial location 214 of the unknown WLAN device 102 can be calculated as a function of the location 212 of the reference WLAN devices.
  • the initial location of the unknown WLAN device 102 can be calculated as an average of the locations of the reference WLAN devices. In other examples, as described above in Eq.
  • the initial location of the unknown WLAN device 102 can be calculated as another suitable weighted (or non-weighted) combination of the locations of the reference WLAN devices. More specifically, as described above in FIG. 2 , the location calculation unit 110 can determine the TOA1 location error matrix ( ⁇ Y TOA1 ) such that each element of the TOA1 location error matrix represents the difference between a coordinate of the estimated location of the unknown WLAN device (e.g., the estimated X-coordinate) and an initial location coordinate of the initial location of the unknown WLAN device 102 (e.g., the X-coordinate of the initial location of the unknown WLAN device 102 ). The location calculation unit 110 can calculate the TOA1 distance error matrix ( ⁇ Y ToA1 ) in accordance with Exp. 10.
  • the location calculation unit 110 can then calculate the TOA1 coefficient matrix (B TOA1 ) in accordance with Exp 11.
  • the location calculation unit 110 can calculate the initial location of the wireless network device based, at least in part, on maximizing the determinant of the product of the B TOA1 matrix and a transpose of the B TOA1 matrix, as depicted in Eq. 2b.
  • the flow continues at block 314 .
  • a single iteration of a first time of arrival (TOA1) positioning algorithm is executed to estimated location of the unknown network device based, at least in part, on the initial location of the unknown network device and the distance between the unknown network device and each of the reference network devices.
  • the location calculation unit 110 e.g., the TOA1 positioning unit 206 of FIG. 2
  • the TOA1 positioning unit 206 can also receive (as an input) an initial distance calibration constant 216 .
  • the initial distance calibration constant 216 can be zero, a predetermined value, or a randomly selected value.
  • the TOA1 positioning unit 206 can use the initial location 214 of the unknown WLAN device 102 (determined at block 312 ), the distance 210 to each of reference WLAN devices (determined at block 310 ), the initial distance calibration constant 216 , and the known locations 212 of the reference WLAN devices as inputs to execute a single iteration of the Taylor series based TOA1 positioning algorithm and to calculate the location of the unknown WLAN device 102 . Therefore, the TOA1 positioning unit 206 can also determine a TOA1 distance calibration constant 218 based, at least in part, on the initial distance calibration constant 216 (described above) by executing the single iteration of the Taylor series based TOA1 positioning algorithm.
  • the TOA1 positioning unit 206 can employ other suitable techniques to estimate the location of the unknown WLAN device 102 based, at least in part, on the calculated initial location 214 of the unknown WLAN device 102 (e.g., as will be further described below). From block 314 , the flow ends.
  • FIG. 4 is an example block diagram of one embodiment of the location calculation unit 110 including a hybrid TOA positioning mechanism.
  • the location calculation unit 110 comprises the distance calculation unit 202 , the TOA1 initial location calculation unit 204 , and the TOA1 positioning unit 206 previously described in FIGS. 2-3 . Additionally, the location calculation unit 110 also comprises a TOA2 initial value calculation unit 402 and a TOA2 positioning unit 404 . As shown in the example of FIG. 4 , the distance calculation unit 202 and the TOA1 initial location calculation unit 204 are coupled with the TOA1 positioning unit 206 . The TOA1 positioning unit 206 and the distance calculation unit 202 are coupled with the TOA2 initial value calculation unit 402 . The distance calculation unit 202 and the TOA2 initial value calculation unit 402 are coupled with the TOA2 positioning unit 404 .
  • the distance calculation unit 202 can calculate the distance 210 between the unknown WLAN device 102 and each of the reference WLAN devices 104 , 106 , 108 , and 112 based, at least in part, on the corresponding RTT 208 associated with the reference WLAN devices, as described above in accordance with Eq. 1a of FIG. 2 .
  • the TOA1 initial location calculation unit 204 can calculate the initial location 214 of the unknown WLAN device 102 based, at least in part, on the location 212 of each of the reference WLAN devices 104 , 106 , 108 , and 112 , as described above in accordance with Eq. 2a, Eq. 2b, and Eq. 2c of FIG. 2 .
  • the TOA1 positioning unit 206 can employ a single iteration of the Taylor series based TOA1 positioning algorithm to estimate the TOA1 location 220 of the unknown WLAN device 102 and the distance calibration constant 218 based, at least in part, on the initial location 212 of the unknown WLAN device 102 , the initial distance calibration constant 216 , and the distances 210 , as described above in accordance with Eq. 3a-Eq. 12 of FIG. 2 .
  • the distance calibration constant 218 and the location 220 at the output of the TOA1 positioning unit 206 can be referred to as “intermediate distance calibration constant” and “first intermediate location of the unknown WLAN device” respectively.
  • the TOA2 initial value calculation unit 402 can calculate a distance calibration constant (“target distance calibration constant”) and an initial location (“second intermediate location of the unknown WLAN device”) that will be provided as inputs to the TOA2 positioning unit 404 .
  • the TOA2 initial value calculation unit 402 can calculate the target distance calibration constant and the second intermediate location of the unknown WLAN device based, at least in part, on the estimated distances ( ⁇ circumflex over (d) ⁇ i ) 210 to each of the reference WLAN devices 104 , 106 , 108 , and 112 (determined by the distance calculation unit 202 ), the first intermediate location (Y TOA1 ) 220 of the unknown WLAN device 102 and the intermediate distance calibration constant 218 (calculated by the TOA1 positioning unit 206 ).
  • the locations (X i ) 210 of the reference WLAN devices 104 , 106 , 108 , and 112 are provided as input parameters to the TOA2 initial value calculation unit 402 .
  • the TOA2 initial value calculation unit 402 can estimate the target distance calibration constant (d c ) 406 and the second intermediate location (Y TOA2 init ) 408 of the unknown WLAN device 102 .
  • the target distance calibration constant 406 can be represented as a function g( ⁇ ) of the intermediate distance calibration constant 218 , the first intermediate location 220 of the unknown WLAN device, the known locations 212 of the reference WLAN devices, and the distances 210 to the reference WLAN devices, as depicted in Eq. 13a.
  • the TOA2 initial value calculation unit 402 can calculate the value of the target distance calibration constant 406 value as the weighted sum of the difference in A) the calculated distance ( ⁇ X i ⁇ Y TOA1 ⁇ ) between the unknown WLAN device and the reference WLAN devices based on known locations of the reference WLAN devices and the first intermediate location of the unknown WLAN device, and B) the estimated distance between the unknown WLAN device and the reference WLAN device based on the RTT associated with the reference WLAN devices, as depicted by Eq. 13b.
  • the TOA2 initial value calculation unit 402 can assign the intermediate distance calibration constant 220 as the target distance calibration constant 406 , as depicted in accordance with Eq. 13c.
  • ⁇ i represents the weighting factor associated with each of the reference WLAN devices and can be selected so that each of the weighting factors are greater than or equal to zero and the sum of all the weighting factors equals one.
  • the weighting factor ⁇ i associated with each reference WLAN device can be calculated as the inverse of the number of reference WLAN devices, as depicted by Eq. 13d.
  • the weighting factor ⁇ i associated with each reference WLAN device can be calculated in accordance with Eq. 13e.
  • the weighting factor can be determined based on distance measurements to (e.g., the confidence in location of) the reference WLAN devices.
  • the distance ( ⁇ X i ⁇ Y TOA1 ⁇ ) between the unknown WLAN device 102 and the i th reference WLAN device can be used to calculate the weighting factor and can be used as an indication of the confidence in the measurements associated with the i th reference WLAN device. For example, if the reference WLAN device 104 is close to the unknown WLAN device 102 , then ⁇ X i ⁇ Y TOA1 ⁇ has a small value, its inverse has a large value, and consequently, the reference WLAN device 104 is associated with a higher weighting factor (e.g., higher importance).
  • the reference WLAN device 108 is far away from the unknown WLAN device 102 , then ⁇ X i ⁇ Y TOA1 ⁇ has a large value, its inverse has a small value, and consequently, the reference WLAN device 108 is associated with a small weighting factor (e.g., low importance).
  • the factor e.g., low importance
  • the TOA2 initial value calculation unit 402 also determines the second intermediate location (Y TOA2 init ) 408 of the unknown WLAN device 102 as a function h( ⁇ ) of the first intermediate location (Y TOA1 ) 220 of the unknown WLAN device 102 (calculated by the TOA1 positioning unit 206 ) and the locations 210 of the reference WLAN devices, as depicted in Eq. 14a.
  • the second intermediate location 408 of the unknown WLAN device 102 can be calculated as an average of the locations 210 of the reference WLAN devices, as depicted in Eq. 14b.
  • the first intermediate location (Y TOA1 ) 220 of the unknown WLAN device 102 can be designated as the second intermediate location 408 of the unknown WLAN device 102 , as depicted in Eq. 14c.
  • the TOA2 initial value calculation unit 402 can employ other suitable techniques to calculate the second intermediate location 408 of the unknown WLAN device 102 .
  • the second intermediate location 408 of the unknown WLAN device 102 can be calculated as a weighted average of the locations of the reference WLAN devices where the weights are selected based on the confidence of the location of the reference WLAN devices and/or based the distance between the reference WLAN device and the unknown WLAN device 102 .
  • the second intermediate location 408 of the unknown WLAN device 102 can be calculated as a combination of the first intermediate location (Y TOA1 ) 220 and the locations 212 of the reference WLAN devices.
  • the TOA2 positioning unit 404 can use a Taylor series based TOA2 positioning algorithm to iteratively calculate the location of the unknown WLAN device 102 based, at least in part, on the second intermediate location 408 of the unknown WLAN device 102 , the target distance calibration constant 406 , and the distances 210 to the reference WLAN devices 104 , 106 , 108 , and 112 . As depicted in FIG. 4 , for each reference WLAN device i, the distances 210 calculated by the distance calculation unit 202 are provided as one set of inputs to the TOA2 positioning unit 404 .
  • the second intermediate location 408 of the unknown WLAN device 102 and the target distance calibration constant 406 calculated by the TOA2 initial value calculation unit 402 are also provided as inputs to the TOA2 positioning unit 404 .
  • the known locations 212 of the reference WLAN devices 104 , 106 , 108 , and 112 are also provided as inputs to the TOA2 positioning unit 404 .
  • the TOA2 positioning unit 404 can then iteratively execute the expression depicted by Eq. 15 to gradually approach the real location (Y TOA2 ) 410 of the unknown WLAN device 102 after several iterations. In accordance with Eq.
  • the TOA2 positioning unit 404 can attempt to identify the value of Y TOA2 that minimizes the sum of the estimation error between A) the estimated distance to the i th reference WLAN device determined in Eq. 1 based on the RTT associated with the i th reference WLAN devices and B) the calculated to the i th reference WLAN device based on the known location of the i th reference WLAN device.
  • ⁇ X i ⁇ Y TOA2 ⁇ represents the distance between the location (X i ) of the i th reference WLAN device and the real location (i.e., the Y TOA2 location to be determined) of the unknown WLAN device 102 .
  • the TOA2 positioning unit 404 can simplify Eq. 15 and can instead solve Eq. 16 for all values of i to estimate the location of the unknown WLAN device 102 .
  • the location 410 of the unknown WLAN device 102 (Y TOA2 ) can be expressed as the sum of the second intermediate location 408 of the unknown WLAN device (Y TOA2 init ) and a TOA2 location error ( ⁇ Y TOA2 ), as depicted in Eq. 17.
  • the TOA2 positioning unit 404 can substitute Eq. 17 into Eq. 16 to yield Eq. 18.
  • Y TOA2 Y TOA2 init + ⁇ Y TOA2
  • the TOA2 positioning unit 404 can then use Taylor series expansion and can neglect the second and higher order terms to yield Eq. 19.
  • the TOA2 positioning unit 404 can generate an equation in accordance with Eq. 19 for each of the reference WLAN devices 104 , 106 , 108 , and 112 , and can organize the plurality of generated equations in matrix form to yield Eq. 20.
  • the matrix Y TOA2 T may be a D ⁇ 1 column matrix that represents the transpose of the TOA2 location error matrix (i.e., the difference between the estimated location of the unknown WLAN device 102 and the second intermediate location of the unknown WLAN device 102 ) associated with the unknown WLAN device 102 .
  • the TOA2 distance error matrix (A ToA2 ) can be an N ⁇ 1 column matrix, where each element (i.e., each row) of the A ToA2 matrix is associated with one of the reference WLAN devices and is represented in accordance with Exp. 21a.
  • the TOA2 coefficient matrix (B ToA2 ) can be an N ⁇ D matrix, where N represents the number of reference WLAN devices and D represents the dimensions of the coordinate system that is used to specify the location of the reference WLAN devices.
  • N represents the number of reference WLAN devices
  • D represents the dimensions of the coordinate system that is used to specify the location of the reference WLAN devices.
  • Each element of the N ⁇ D B TOA2 matrix can be represented by Exp 21b.
  • the dimension (e.g., the value of s) can vary from column to column and can remain constant throughout a particular column.
  • the reference device under consideration (e.g., the value of i) can vary from row to row and can remain constant throughout a particular row.
  • the TOA2 positioning unit 404 can then calculate the TOA2 location error ⁇ Y TOA2 in accordance with Eq. 22.
  • ⁇ Y TOA2 T ( B ToA2 T B ToA2 ) ⁇ 1 B ToA2 T A ToA2 Eq. 22
  • the TOA2 positioning unit 404 can then use Eq. 17 to iteratively estimate the location 410 of the unknown WLAN device (Y TOA2 ) by summing the TOA2 location error ( ⁇ Y TOA2 ) determined in accordance with Eq. 22 with the second intermediate location 408 of the unknown WLAN device 102 (Y TOA2 init ).
  • FIG. 5 and FIG. 6 depict a flow diagram (“flow”) 500 illustrating example operations of a hybrid TOA positioning mechanism.
  • the flow 500 begins at block 502 in FIG. 5 .
  • an unknown network device determines a plurality of reference network devices of a communication network based on which to estimate the location of the unknown network device.
  • the location calculation unit 110 of the unknown WLAN device 102 can identify the reference WLAN devices 104 , 106 , 108 , and 112 based on which to estimate the location of the unknown WLAN device 102 .
  • the location calculation unit 110 can select the reference WLAN devices 104 , 106 , 108 , and 112 from a plurality of WLAN devices as those that are associated with the best performance measurements (e.g., RSSI, PER, etc.).
  • the flow continues at block 504 .
  • the location calculation unit 110 can record the time instants at which control messages were transmitted to each of the reference WLAN devices and the time instants at which the corresponding response control messages were received at the unknown WLAN device 102 . Accordingly, the location calculation unit 110 can determine the RTT associated with each of the reference WLAN devices 104 , 106 , 108 , and 112 . It is noted that in other implementations, the location calculation unit 110 can employ other suitable techniques to determine the RTT associated with the reference WLAN devices 104 , 106 , 108 , and 112 . The flow continues at block 506 .
  • the distance between the unknown network device and the reference network device is calculated based, at least in part, on the RTT associated with the reference network device.
  • the location calculation unit 110 e.g., the distance calculation unit 202 of FIG. 4
  • the location calculation unit 110 can determine the distance between the unknown WLAN device 102 and each of the plurality of reference WLAN devices, as described above with reference to Eq. 1a of FIG. 2 and with reference to block 310 of FIG. 3 .
  • the flow continues at block 508 .
  • the initial location of the unknown network device is calculated based, at least in part, on known locations of the reference network devices.
  • the location calculation unit 110 e.g., the TOA1 initial location calculation unit 204 of FIG. 4
  • the location calculation unit 110 can calculate the initial location of the unknown WLAN device 102 , as described above with reference to Eqs. 2a-2c of FIG. 2 and block 312 of FIG. 3 .
  • the flow continues at block 510 .
  • an initial distance calibration constant associated with the reference network devices is determined.
  • the location calculation unit 110 can determine the initial distance calibration constant 216 associated with the reference network devices.
  • the initial distance calibration constant 216 can be zero, a previously determined value, a randomly selected value, etc. The flow continues at block 512 .
  • a single iteration of a first time of arrival (TOA1) positioning algorithm is executed to estimate the first intermediate location of the unknown network device and the intermediate distance calibration constant based, at least in part, on the initial location of the unknown network device, the initial distance calibration constant, and the distance to each of reference network devices.
  • the TOA1 positioning algorithm may be used to determine the intermediate value of the distance calibration constant that may be eventually provided to a TOA2 positioning algorithm, as will be described below.
  • the location calculation unit 110 e.g., the TOA1 positioning unit 206 of FIG.
  • the TOA1 positioning unit 206 can employ other suitable techniques to estimate the first intermediate location 220 of the unknown WLAN device 102 and the intermediate distance calibration constant 218 based, at least in part, on the initial location 214 of the unknown WLAN device 102 .
  • the flow continues at block 514 in FIG. 6 .
  • a target distance calibration constant is calculated based, at least in part, on the intermediate distance calibration constant, the first intermediate location of the unknown network device, the locations of the reference network devices, and the distance to each of the reference network devices.
  • the location calculation unit 110 e.g., the TOA2 initial value calculation unit 402
  • the TOA2 initial value calculation unit 402 can use other suitable techniques to estimate the target distance calibration constant 406 .
  • the target distance calibration constant 406 can then be used as an input parameter to a second time of arrival (TOA2) positioning algorithm for iteratively estimating the location of the unknown WLAN device 102 , as will be described in block 518 .
  • TOA2 time of arrival
  • a second intermediate location of the unknown network device is determined based, at least in part, on the first intermediate location of the unknown network device and the locations of the reference network devices.
  • the location calculation unit 110 e.g., the TOA2 initial value calculation unit 402
  • the TOA2 initial value calculation unit 402 can use other suitable techniques to determine the second intermediate location 408 of the unknown WLAN device 102 .
  • the second intermediate location 408 of the unknown WLAN device 102 can then be provided as an input parameter to the TOA2 positioning algorithm for iteratively estimating the location of the unknown WLAN device 102 , as will be described in block 518 .
  • the flow continues at block 518 .
  • the TOA2 positioning algorithm is iteratively executed to calculate the estimated location of the unknown network device based, at least in part, on the second intermediate location of the unknown network device and the target distance calibration constant.
  • the location calculation unit 110 e.g., the TOA2 positioning unit 404
  • the TOA2 initial value calculation unit 402 can employ other suitable techniques to determine the estimated location 410 of the unknown WLAN device 102 . From block 518 , the flow ends.
  • the location calculation unit 110 can determine (for each reference WLAN device) multiple RTT measurements and multiple distance measurements. For example, the location calculation unit 110 can transmit a predetermined number of control messages to the reference WLAN device 104 and can receive a corresponding number of response control messages. Accordingly, the location calculation unit 110 can calculate the predetermined number of RTT measurements associated with the reference WLAN device 104 . In some implementations, the location calculation unit 110 can determine and use the average RTT value for subsequent operations. In other implementations, the location calculation unit 110 can determine a distance to the reference WLAN device 104 , for each of the RTT measurements and can determine and use the average distance to the reference WLAN device 104 for subsequent operations.
  • the Figures refer to the unknown WLAN device 102 executing operations described herein to estimate the location of the unknown WLAN device 102 , embodiments are not so limited. In other embodiments, functionality for determining the location of the unknown WLAN device 102 can be executed by one or more other suitable electronic devices. In some implementations, one or more of the reference WLAN devices, a centralized server, and/or another suitable electronic device can execute some/all of the operations for determining the location of the unknown WLAN device 102 . For example, the unknown WLAN device 102 can determine the RTT associated with each of the reference WLAN devices 102 , 106 , 108 , and 112 and can provide the RTT values to the centralized server (or another device to which the processing has been offloaded). The centralized server can then calculate the location of the unknown WLAN device 102 (as described by FIGS. 1-6 ) and can communicate the calculated location to the unknown WLAN device 102 .
  • Embodiments may take the form of an entirely hardware embodiment, a 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.”
  • 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, 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.
  • 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).
  • LAN local area network
  • PAN personal area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • FIG. 7 is a block diagram of one embodiment of an electronic device 700 including a mechanism for determining the location of the electronic device in a wireless communication network.
  • the electronic device 700 may be one of a laptop computer, a tablet computer, a netbook, a mobile phone, a smart appliance, a gaming console, or other electronic systems comprising wireless communication capabilities.
  • the electronic device 700 includes a processor unit 702 (possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading, etc.).
  • the electronic device 700 includes a memory unit 706 .
  • the memory unit 706 may be system memory (e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, etc.) or any one or more of the above already described possible realizations of machine-readable media.
  • system memory e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, etc.
  • the electronic device 700 also includes a bus 710 (e.g., PCI, ISA, PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB, AXI, etc.), and network interfaces 704 that include at least one of a wireless network interface (e.g., a WLAN interface, a Bluetooth® interface, a WiMAX interface, a ZigBee® interface, a Wireless USB interface, etc.) and a wired network interface (e.g., a powerline communication interface, an Ethernet interface, etc.).
  • a wireless network interface e.g., a WLAN interface, a Bluetooth® interface, a WiMAX interface, a ZigBee® interface, a Wireless USB interface, etc.
  • a wired network interface e.g., a powerline communication interface, an Ethernet interface, etc.
  • the electronic device 700 also includes a communication unit 708 .
  • the communication unit 708 comprises a location calculation unit 712 .
  • the location calculation unit 712 can execute a single iteration of a first TOA positioning algorithm to estimate the location of the electronic device 700 based, at least in part, on a calculated initial location of the electronic device 700 , the distance between the electronic device 700 and each of a plurality of reference WLAN devices, and the location of each of the plurality of reference WLAN devices, as described with reference to FIGS. 1-3 .
  • the location calculation unit 712 can execute a hybrid TOA positioning algorithm to estimate the location of the electronic device 700 , as described above with reference to FIGS. 1 and 4-6 .
  • any one of these functionalities may be partially (or entirely) implemented in hardware and/or on the processor unit 702 .
  • the functionality may be implemented with an application specific integrated circuit, in logic implemented in the processor unit 702 , in a co-processor on a peripheral device or card, etc.
  • realizations may include fewer or additional components not illustrated in FIG. 7 (e.g., video cards, audio cards, additional network interfaces, peripheral devices, etc.).
  • the processor unit 702 , the memory unit 706 , and the network interfaces 704 are coupled to the bus 710 . Although illustrated as being coupled to the bus 710 , the memory unit 706 may be coupled to the processor unit 702 .

Abstract

A TOA positioning system can be implemented that employs a calculated initial location of a wireless network device. For each of a plurality of reference wireless network devices, a distance between the wireless network device and the reference wireless network device is determined based, at least in part, on a round trip transit time between the wireless network device and the reference wireless network device. An initial location of the wireless network device can be calculated based, at least in part, on a location of each of the plurality of reference wireless network devices. A location of the wireless network device can be estimated based, at least in part, on the calculated initial location, the distance to each of the reference wireless network devices, and an initial distance calibration constant.

Description

RELATED APPLICATIONS
This application is a U.S. national stage application filed under 35 U.S.C. 371 claiming the priority benefit of international application PCT/US2012/056046, filed Sep. 19, 2012, which is a continuation of U.S. application Ser. No. 13/236,172 filed on Sep. 19, 2011.
BACKGROUND
Embodiments of the inventive subject matter generally relate to the field of wireless communication and, more particularly, to a time of arrival (TOA) based positioning system.
A wireless communication device can use various position estimation techniques to determine an unknown location of the wireless communication device based on communicating with a plurality of reference wireless communication devices with known locations. For example, the wireless communication device can employ round trip time (RTT) based positioning techniques by determining the travel time of radio signals from the wireless communication device to the reference wireless communication devices. The wireless communication device can determine the distance to the reference wireless communication devices based on the determined travel time of the radio signals and can use time of arrival (TOA) positioning techniques to determine the unknown location.
SUMMARY
In some embodiments, a method comprises: determining, at a wireless network device of a communication network, a round trip transit time between the wireless network device and each of a plurality of reference wireless network devices of the communication network; for each of the plurality of reference wireless network devices, determining a distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device; calculating an initial location of the wireless network device based, at least in part, on a location of each of the plurality of reference wireless network devices; and performing time of arrival (TOA) computations for estimating a location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, and an initial distance calibration constant.
In some embodiments, said performing the TOA computations for estimating the location of the wireless network device comprises executing a single iteration of a Taylor series based TOA positioning algorithm to estimate the location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the location of each of the plurality of reference wireless network devices, and the initial distance calibration constant.
In some embodiments, the initial distance calibration constant is one of a zero value, a predetermined value, and a dynamically selected random value.
In some embodiments, said performing the TOA computations for estimating the location of the wireless network device further comprises determining a distance calibration constant based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the initial distance calibration constant, and the location of each of the plurality of reference wireless network devices in response to said executing the single iteration of the Taylor series based TOA positioning algorithm.
In some embodiments, said calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises calculating the initial location of the wireless network device as an average of the location of each of the plurality of reference wireless network devices.
In some embodiments, said calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises calculating the initial location of the wireless network device as a weighted combination of the location of at least a subset of the plurality of reference wireless network devices.
In some embodiments, said calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises: determining a location error matrix, wherein each element of the location error matrix represents a difference between an estimated location coordinate of the wireless network device and a corresponding initial location coordinate of the initial location of the wireless network device; determining a distance error matrix, wherein each element of the distance error matrix represents a difference between a measured distance between the wireless network device and one of the plurality of reference wireless network devices and an estimated distance between the wireless network device and the one of the plurality of reference wireless network devices, wherein the measured distance is determined based, at least in part, on the round trip transit time between the wireless network device and the one of the plurality of reference wireless network devices, wherein the estimated distance is determined based, at least in part, on the location of the one of the plurality of reference wireless network devices and the initial location of the wireless network device; determining a coefficient matrix as the product of the distance error matrix and an inverse of a transpose of the location error matrix; and calculating the initial location of the wireless network device based, at least in part, on maximizing the determinant of the product of the coefficient matrix and a transpose of the coefficient matrix.
In some embodiments, the method further comprises identifying the plurality of reference wireless network devices based, at least in part, on analyzing one or more performance measurements associated with at least each of the plurality of reference wireless network devices.
In some embodiments, for each of the plurality of reference wireless network devices, said determining the distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device further comprises: for each of the plurality of reference wireless network devices, recording a first time instant at which a first control message is transmitted from the wireless network device to the reference wireless network device; recording a second time instant at which a second control message is received at the wireless network device from the reference wireless network device in response to the first control message; subtracting the first time instant from the second time instant to determine the round trip transit time between the wireless network device and the reference wireless network device; and multiplying round trip transit time between the wireless network device and the reference wireless network device by a speed of light factor to yield the distance between the wireless network device and the reference wireless network device.
In some embodiments, the wireless network device and the plurality of reference wireless network devices comprise wireless local area network (WLAN) communication capabilities.
In some embodiments, a wireless network device comprises a network interface; and a location calculation unit coupled with the network interface, the location calculation unit operable: to determine a round trip transit time between the wireless network device and each of a plurality of reference wireless network devices of a communication network; for each of the plurality of reference wireless network devices, determine a distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device; calculate an initial location of the wireless network device based, at least in part, on a location of each of the plurality of reference wireless network devices; and perform time of arrival (TOA) computations to estimate a location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, and an initial distance calibration constant.
In some embodiments, the location calculation unit operable to perform the TOA computations to estimate the location of the wireless network device comprises the location calculation unit operable to execute a single iteration of a Taylor series based TOA positioning algorithm to estimate the location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the location of each of the plurality of reference wireless network devices, and the initial distance calibration constant.
In some embodiments, the location calculation unit operable to perform the TOA computations to estimate the location of the wireless network device further comprises the location calculation unit operable to determine a distance calibration constant based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the initial distance calibration constant, and the location of each of the plurality of reference wireless network devices in response to the location calculation unit executing the single iteration of the Taylor series based TOA positioning algorithm.
In some embodiments, the location calculation unit operable to calculate the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises the location calculation unit operable to calculate the initial location of the wireless network device as an average of the location of each of the plurality of reference wireless network devices, or calculate the initial location of the wireless network device as a weighted combination of the location of at least a subset of the plurality of reference wireless network devices.
In some embodiments, the location calculation unit operable to calculate the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises the location calculation unit operable to: determine a location error matrix, wherein each element of the location error matrix represents a difference between an estimated location coordinate of the wireless network device and a corresponding initial location coordinate of the initial location of the wireless network device; determine a distance error matrix, wherein each element of the distance error matrix represents a difference between a measured distance between the wireless network device and one of the plurality of reference wireless network devices and an estimated distance between the wireless network device and the one of the plurality of reference wireless network devices, wherein the measured distance is determined based, at least in part, on the round trip transit time between the wireless network device and the one of the plurality of reference wireless network devices, wherein the estimated distance is determined based, at least in part, on the location of the one of the plurality of reference wireless network devices and the initial location of the wireless network device; determine a coefficient matrix as the product of the distance error matrix and an inverse of a transpose of the location error matrix; and calculate the initial location of the wireless network device based, at least in part, on maximizing the determinant of the product of the coefficient matrix and a transpose of the coefficient matrix.
In some embodiments, one or more machine-readable storage media have instructions stored therein, which when executed by one or more processors causes the one or more processors to perform operations that comprise: determining, at a wireless network device of a communication network, a round trip transit time between the wireless network device and each of a plurality of reference wireless network devices of the communication network; for each of the plurality of reference wireless network devices, determining a distance between the wireless network device and the reference wireless network device based, at least in part, on the round trip transit time between the wireless network device and the reference wireless network device; calculating an initial location of the wireless network device based, at least in part, on a location of each of the plurality of reference wireless network devices; and performing time of arrival (TOA) computations for estimating a location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, and an initial distance calibration constant.
In some embodiments, said operation of performing the TOA computations for estimating the location of the wireless network device comprises executing a single iteration of a Taylor series based TOA positioning algorithm to estimate the location of the wireless network device based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the location of each of the plurality of reference wireless network devices, and the initial distance calibration constant.
In some embodiments, said operation of performing the TOA computations for estimating the location of the wireless network device further comprises determining a distance calibration constant based, at least in part, on the initial location of the wireless network device, the distance between the wireless network device and each of the plurality of reference wireless network devices, the initial distance calibration constant, and the location of each of the plurality of reference wireless network devices in response to said executing the single iteration of the Taylor series based TOA positioning algorithm.
In some embodiments, said operation of calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises calculating the initial location of the wireless network device as an average of the location of each of the plurality of reference wireless network devices, or calculating the initial location of the wireless network device as a weighted combination of the location of at least a subset of the plurality of reference wireless network devices.
In some embodiments, said operation of calculating the initial location of the wireless network device based, at least in part, on the location of each of the plurality of reference wireless network devices comprises: determining a location error matrix, wherein each element of the location error matrix represents a difference between an estimated location coordinate of the wireless network device and a corresponding initial location coordinate of the initial location of the wireless network device; determining a distance error matrix, wherein each element of the distance error matrix represents a difference between a measured distance between the wireless network device and one of the plurality of reference wireless network devices and an estimated distance between the wireless network device and the one of the plurality of reference wireless network devices, wherein the measured distance is determined based, at least in part, on the round trip transit time between the wireless network device and the one of the plurality of reference wireless network devices, wherein the estimated distance is determined based, at least in part, on the location of the one of the plurality of reference wireless network devices and the initial location of the wireless network device; determining a coefficient matrix as the product of the distance error matrix and an inverse of a transpose of the location error matrix; and calculating the initial location of the wireless network device based, at least in part, on maximizing the determinant of the product of the coefficient matrix and a transpose of the coefficient matrix
BRIEF DESCRIPTION OF THE DRAWINGS
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.
FIG. 1 is an example block diagram illustrating a mechanism for estimating the unknown location of a network device in a wireless communication network;
FIG. 2 is an example block diagram of one embodiment of the location calculation unit including a TOA positioning mechanism;
FIG. 3 is a flow diagram illustrating example operations of a TOA positioning mechanism;
FIG. 4 is an example block diagram of one embodiment of the location calculation unit including a hybrid TOA positioning mechanism;
FIG. 5 depicts a flow diagram illustrating example operations of a hybrid TOA positioning mechanism;
FIG. 6 is a continuation of FIG. 5 and also illustrates example operations of a hybrid TOA positioning mechanism; and
FIG. 7 is a block diagram of one embodiment of an electronic device including a mechanism for determining the location of the electronic device in a wireless communication network.
DESCRIPTION OF EMBODIMENT(S)
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 wireless local area network (WLAN) devices (e.g., 802.11n compatible devices) executing the location estimation techniques described herein, embodiments are not so limited. In other embodiments, various other devices and standards (e.g., WiMAX) can execute the location estimation techniques. 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 network device associated with an unknown location (“unknown network device”) can use a TOA based positioning algorithm to determine its location based on a plurality of reference network devices. Depending on the implementation, the TOA positioning algorithm may or may not require an accurately known distance calibration constant to estimate the location of the unknown network device. Conventional TOA positioning algorithms typically use, as inputs, an arbitrarily selected initial location of the unknown network device, an arbitrarily selected distance calibration constant, and the distance to and locations of each reference network device to iteratively calculate the location of the unknown network device. Typically, the initial location of the unknown network device is zero (e.g., where the X, Y, and Z coordinates are zero) or a randomly selected value. Likewise, the initial distance calibration constant is also typically zero or a randomly selected value. However, the conventional TOA positioning algorithms can be very sensitive to the initial location of the unknown network device. Furthermore, some conventional TOA positioning algorithms may be sensitive to the distance calibration constant. Employing a randomly selected value or a zero value of the initial location can render the conventional TOA positioning algorithms unsolvable (e.g., by making the value of one or more determinants approach zero or infinity) and can result in the conventional TOA positioning algorithms not converging to an appropriate solution (i.e., the location of the unknown network device). Also, not knowing or randomly selecting the distance calibration constant can result in poor performance of the conventional TOA positioning algorithms, can result in the conventional TOA positioning algorithms not converging to the appropriate location of the unknown network device, and/or can result in the conventional TOA positioning algorithms converging to the wrong solution.
In some implementations, a first TOA positioning system that employs a calculated (rather than an arbitrarily selected) initial location of the unknown network device can be implemented to minimize the sensitivity of some of the conventional TOA positioning algorithms to the initial location of the unknown network device. The first TOA positioning system is typically not sensitive to the distance calibration constant and may utilize an arbitrarily selected distance calibration constant for positioning calculations. The first TOA positioning system that can utilize the arbitrarily selected distance calibration constant is referred to herein as “TOA1 positioning system.” The initial location of the unknown network device can be calculated based, at least in part, on known locations of the reference network devices. The TOA1 positioning system can execute a single iteration (rather than multiple iterations) to calculate the location of the unknown network device and the distance calibration constant based, at least in part, on the calculated initial location of the unknown network device and the distance to each of the reference network devices. Calculating (rather than arbitrarily guessing) the initial location of the unknown network device can mitigate location sensitivity issues, ensure convergence of the TOA1 positioning system in determining the location of the unknown network device, and improve the performance and the positioning accuracy of the TOA1 positioning system. Moreover, by executing only a single iteration to estimate the location of the unknown network device, the TOA1 positioning system can minimize the resources and the time consumed to calculate the location of the unknown network device.
In some implementations, a hybrid TOA positioning system can improve the performance of estimating the location of the unknown network device. As part of the hybrid TOA positioning system, the TOA1 positioning system described above can execute a single iteration to estimate the location of the unknown network device (referred to herein as “intermediate location of the unknown network device”) and a distance calibration constant (referred to herein as “intermediate distance calibration constant”). The intermediate location of the unknown network device and the intermediate distance calibration constant (along with the location of the reference network devices and the distance to each of the reference network devices) can then be used to calculate a target (or estimated) distance calibration constant and a second intermediate location of the unknown network device. In addition, the hybrid TOA positioning system can also comprise a second TOA positioning system referred to herein as “TOA2 positioning system.” The second TOA positioning system is typically sensitive to the distance calibration constant and may not utilize an arbitrarily selected distance calibration constant for positioning calculations. Instead, the TOA2 positioning system can utilize the intermediate distance calibration constant calculated by the TOA1 positioning system for positioning calculations, as will be described below. The hybrid TOA positioning system can iteratively execute the TOA2 positioning system based, at least in part, on the target distance calibration constant and the second intermediate location to estimate the location (“estimated location”) of the unknown network device. Calculating (rather than guessing) the target distance calibration constant can minimize sensitivity to the distance calibration constant, minimize positioning error associated with determining the location of the unknown network device, increase positioning accuracy and improve performance gain, consequently improving the overall performance of the unknown network device.
FIG. 1 is an example block diagram illustrating a mechanism for estimating the unknown location of a network device in a wireless communication network 100. In one example, the wireless communication network 100 comprises a WLAN device 102 with an unknown location (“unknown WLAN device”) and four reference WLAN devices 104, 106, 108, and 112. The unknown WLAN device 102 comprises a location calculation unit 110. In some implementations, the location calculation unit 110 may be implemented in a communication unit of the unknown WLAN device 102 that implements protocols and functionality to enable WLAN communication in the wireless communication network 100. It is noted that although not depicted in FIG. 1, in some embodiments one or more of the reference WLAN devices 104, 106, 108, and 112 can also comprise a location calculation unit and corresponding functionality for determining their respective location. In some implementations, the unknown WLAN device 102 and the reference WLAN devices 104, 106, 108, and 112 can each be electronic devices with WLAN communication capabilities, such as a laptop computer, a tablet computer, a mobile phone, a smart appliance, a gaming console, an access point, or other suitable electronic devices. The unknown WLAN device 102 can execute operations to determine its location, as will be described below in stages A-F.
At stage A, the location calculation unit 110 determines the round trip transit time (RTT) between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112 in the wireless communication network 100. In one implementation, the location calculation unit 110 can transmit one or more control messages to the reference WLAN device 104 and can receive corresponding one or more response control messages (e.g., acknowledgement (ACK) messages) from the reference WLAN device 104. The location calculation unit 110 can also record the time instants at which the control messages were transmitted to and the corresponding response control messages were received from the reference WLAN device 104. The location calculation unit 110 can then calculate the RTT between the unknown WLAN device 102 and the reference WLAN device 104 (“RTT associated with the reference WLAN device”) as the elapsed time between transmitting the control messages and receiving the corresponding response control messages, as will further be described in blocks 304-308 of FIG. 3. Likewise, the location calculation unit 110 can also calculate the RTT associated with the reference WLAN device 106 and the RTT associated with the reference WLAN device 108. It is noted that in other implementations, other suitable techniques can be employed to determine the RTT associated with the reference WLAN devices 104, 106, 108, and 112.
At stage B, the location calculation unit 110 calculates the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112 based on the corresponding RTT associated with the reference WLAN devices. Operations for calculating the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112 will further be described in FIGS. 2 and 3.
At stage C, the location calculation unit 110 determines the location of each of the reference WLAN devices 104, 106, 108, and 112. In some implementations, the location calculation unit 110 can request and receive location coordinates associated with each of the reference WLAN devices 104, 106, 108, and 112. For example, the location calculation unit 110 can transmit a request for the location coordinates in the control messages transmitted at stage A and can receive the location coordinates in the response control messages. As another example, the location calculation unit 110 can transmit a location request message (distinct from the control messages transmitted at stage A) to each of the reference WLAN devices and can receive a corresponding location response message comprising the location coordinates associated with each of the reference WLAN devices. In another implementation, the location calculation unit 110 can query a centralized server (or can access a predetermined memory location) to determine the location coordinates associated with the reference WLAN devices 104, 106, 108, and 112. In another implementation, the reference WLAN devices 104, 106, 108, and 112 may broadcast their respective location coordinates at periodic intervals (e.g., in a beacon message or another suitable control message). The location calculation unit 110 can determine the location coordinates associated with the reference WLAN devices 104, 106, 108, and 112 based on receiving and analyzing the periodically received messages. It is noted that the location calculation unit 110 can determine two-dimensional (2-D) coordinates (e.g., X and Y coordinates), three-dimensional (3-D) coordinates (e.g., X, Y, and Z coordinates), latitudes and longitudes, spherical coordinates, and/or other suitable location indicators associated with the reference WLAN devices 104, 106, 108, and 112.
At stage D, the location calculation unit 110 calculates an initial location of the unknown WLAN device 102 based, at least in part, on the location of each of the reference WLAN devices 104, 106, 108, and 112. As one example, the location calculation unit 110 can calculate the initial location of the unknown WLAN device 102 as the average of the known locations of the reference WLAN devices 104, 106, 108, and 112, as will be described in FIGS. 2 and 3. The location calculation unit 110 can use the calculated initial location of the unknown WLAN device 102 as an input to a first time of arrival (TOA1) positioning algorithm to estimate the location of the unknown WLAN device 102, as will be described below in stage F and in FIGS. 2-3. In some implementations (e.g., in the hybrid TOA positioning system), the location calculation unit 110 can use the previously calculated location of the unknown WLAN device output (referred to herein as the “first intermediate location of the unknown WLAN device”) generated at the output of the TOA1 positioning algorithm to calculate a second intermediate location of the unknown WLAN device 102 based, at least in part, on the known locations of the reference WLAN devices 104, 106, 108, and 112, and the RTT associated with the reference WLAN devices 104, 106, 108, and 112, as will be described in FIGS. 4-6. In this implementation, the location calculation unit 110 can use the second intermediate location of the unknown WLAN device 102 as an input to a second time of arrival (TOA2) positioning algorithm to determine the estimated location of the unknown WLAN device 102, as will be described below in stage F and in FIGS. 4-7.
At stage E, the location calculation unit 110 determines a distance calibration constant. In some implementations, as will be described in accordance with FIG. 2, the initial distance calibration constant can be a predetermined value or a randomly selected value. The location calculation unit 110 can use the initial distance calibration constant as an input to the TOA1 positioning algorithm to estimate the location of the unknown WLAN device 102 and a distance calibration constant, as will be described below in stage F and in FIGS. 2-3. In other implementations, the location calculation unit 110 can use the distance calibration constant at the output of the TOA1 positioning algorithm (referred to herein as intermediate distance calibration constant) to calculate a target (or estimated) distance calibration constant. In this implementation, the location calculation unit 110 can use the target distance calibration constant as an input to the TOA2 positioning algorithm to estimate the location of the unknown WLAN device 102, as will be described below in stage F and in FIGS. 4-7.
At stage F, the location calculation unit 110 estimates the location of the unknown WLAN device 102 based, at least in part, on the initial location of the unknown WLAN device 102, the distance calibration constant, and the distance to each of the reference WLAN devices 104, 106, 108, and 112. In some implementations, as will be described in FIGS. 2-3, calculating the location of the unknown WLAN device 102 can be a one-stage process. In this implementation, the location of the unknown WLAN device 102 can be calculated by executing a single iteration of a Taylor series-based TOA1 positioning algorithm using at least the calculated initial location of the unknown WLAN device 102, and the known locations of the reference WLAN devices as inputs. In some implementations, as will be described in FIGS. 5-7, calculating the location of the unknown WLAN device 102 can be a two-stage process. In this implementation, the location calculation unit 110 can first execute the Taylor series based TOA1 positioning algorithm (as described above) and determine a first intermediate location of the unknown WLAN device 102. Furthermore, the TOA1 positioning algorithm can also be used to determine an intermediate distance calibration constant. Next, the location calculation unit 110 can determine the second intermediate location of the unknown WLAN device 102 (as described in stage D) and the target distance calibration constant (as described above in stage E) based on the first intermediate location and the intermediate distance calibration constant. The location calculation unit 110 can then iteratively execute a Taylor series-based TOA2 positioning algorithm to estimate the location of the unknown WLAN device 102.
FIG. 2 is an example block diagram of one embodiment of the location calculation unit 110 including a TOA positioning mechanism. The location calculation unit 110 comprises a distance calculation unit 202, a TOA1 initial location calculation unit 204, and a TOA1 positioning unit 206. The distance calculation unit 202 and the TOA1 initial location calculation unit 204 are coupled with the TOA1 positioning unit 206.
The distance calculation unit 202 can calculate the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112 based, at least in part, on the round-trip transit time (RTT) associated with each of the reference WLAN devices. As depicted in FIG. 2, the distance calculation unit 202 takes as an input parameter, the RTT 208 between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112. If i represents a counter for the each of the reference WLAN devices and N represents the number of reference WLAN devices in the communication network 100, then the input to the distance calculation unit 202 is RTTi (i.e., RTT1, RTT2, . . . RTTN) as depicted in FIG. 2. The output of the distance calculation unit 202 is the estimated distance 210 ({circumflex over (d)}i) between the unknown WLAN device 102 and the ith reference WLAN device. Thus, if RTTi represents the RTT associated with the ith reference WLAN device and c represents the speed of light, the distance {circumflex over (d)}i 210 can be calculated in accordance with Eq. 1a. It is noted that the actual distance (di) between the unknown WLAN device 102 and the ith reference WLAN device can be represented as the sum of a TOA1 distance calibration constant (dc _ TOA1) and the estimated distance ({circumflex over (d)}i) between the unknown WLAN device 102 station and the ith reference WLAN device, as depicted in Eq. 1b.
d ^ i = c × R T T i 2 Eq . 1 a d i = d ^ i + d c_TOA 1 Eq . 1 b
The distance calibration constant (dc _ TOA1) can represent the difference between the estimated distance ({circumflex over (d)}i) and the actual distance (di) and may be indicative of the internal processing time (or turnaround time) associated with the reference WLAN devices. For example, the distance calibration constant can account for the elapsed time between the reference WLAN device detecting a control message from the unknown WLAN device 102 and the reference WLAN device transmitting a response control message to the unknown WLAN device 102. The distance calibration constant may also depend on the type and configuration of the reference WLAN devices. In some implementations, the distance calibration constant may differ from one reference WLAN device to another, while in other implementations the distance calibration constant may not differ across the reference WLAN devices.
The TOA1 initial location calculation unit 204 can calculate the initial location of the unknown WLAN device 102 based, at least in part, on the location 212 of each of the reference WLAN devices 104, 106, 108, and 112. As depicted in FIG. 2, the known locations 212 of the reference WLAN devices 104, 106, 108, and 112 are provided as input parameters to the TOA1 initial location calculation unit 204. As described herein, i represents a counter for the reference WLAN devices and Xi represents the location 212 (e.g., also referred to as absolute location, actual location, or real location) of the ith reference WLAN device. In one implementation, the location of the ith reference WLAN device can be represented in the form, Xi={xi s, s=0, 1, . . . , D−1}, where D represents the dimension of the coordinate system used to specify the location of the reference WLAN device (e.g., if the location of the reference WLAN devices is specified in terms of X, Y, and Z coordinates, then D=3), s represents a counter for the dimension of the coordinate system (i.e., the dimension index), and xi s represents the value of the sth dimension of the location of the ith reference WLAN device. It is noted that the location of the reference WLAN devices can be expressed using other suitable coordinate system (e.g., Cartesian coordinates, spherical coordinates, geodesic coordinates, etc.). Furthermore, the location of the reference WLAN devices can be expressed in other suitable number of dimensions (e.g., 2-dimensional coordinates, 3-dimensional coordinates, etc.) As depicted in FIG. 2, the output of the TOA1 initial location calculation unit 204 is the initial location (YTOA1 init ) 214 of the unknown WLAN device 102. In one implementation, the initial location of the unknown WLAN device 102 can be represented as YTOA1 init ={yTOA1 init s, s=0, 1, . . . , D−1}, where yTOA1 init s represents the value of the sth dimension of the initial location of the unknown WLAN device 102. In some implementations, the initial location 214 of the unknown WLAN device 102 can be expressed as a function ƒ(·) of the known locations 212 of the N reference WLAN devices, as depicted in Eq. 2a. In some implementations, the initial location 214 of the unknown WLAN device 102 can be calculated as an average of the known locations 212 of the reference WLAN devices, as depicted in Eq. 2b. In another implementation, the initial location 214 of the unknown WLAN device 102 can be calculated by maximizing the determinant of a product of matrices generated during the execution of a Taylor series based TOA1 positioning algorithm, as depicted in Eq. 2c. Maximizing the expression det(BTOA1 TBTOA1) as depicted in Eq. 2c can ensure that the TOA1 positioning algorithm (described below) converges to the location of the unknown WLAN device 102. In Eq. 2c, B TOA1 represents the transpose of the BTOA1 matrix and the BTOA1 matrix will further be described below with reference to Exp. 11 of FIG. 2 and with reference to FIG. 3.
Y TOA 1 init = f ( X 0 , X 1 , X N - 1 ) Eq . 2 a Y TOA 1 init = f ( X 0 , X 1 , X N - 1 ) = 1 N i = 0 N - 1 X i Eq . 2 b Y TOA 1 init = f ( X 0 , X 1 , X N - 1 ) = max Y TOA 1 init { det ( B TOA 1 T B TOA 1 ) } Eq . 2 c
It is noted that in other implementations, the TOA1 initial location calculation unit 204 can employ other suitable techniques to calculate the initial location 214 of the unknown WLAN device 102. For example, the initial location 214 of the unknown WLAN device 102 can be calculated as a weighted average of the known locations 212 of the reference WLAN devices, where the weights are selected based on the confidence of the location of the reference WLAN devices and/or based the distance between the reference WLAN devices and the unknown WLAN device 102. As another example, the initial location 214 of the unknown WLAN device 102 can be calculated as a weighted (or non-weighted) combination of the known locations 212 of only a subset of the reference WLAN devices.
The TOA1 positioning unit 206 can execute a single iteration of a Taylor series based TOA1 positioning algorithm to calculate the location 220 of the unknown WLAN device 102 and to estimate a distance calibration constant 218 based, at least in part, on the initial location 214 of the unknown WLAN device 102, the estimated distances 210 to each of the reference WLAN devices, and the location 212 of each of the reference WLAN devices. As depicted in FIG. 2, the estimated distances 210 between the unknown WLAN device 102 and each of the reference WLAN devices (calculated by the distance calculation unit 202) are provided as one set of inputs to the TOA1 positioning unit 206. The initial location 214 of the unknown WLAN device 102 (YTOA1 init ) calculated by the TOA1 initial location calculation unit 204 is provided as another input to the TOA1 positioning unit 206. The known locations 212 (Xi) of the reference WLAN devices 104, 106, 108, and 112 are also provided as an input to the TOA1 positioning unit 206. Additionally, an initial distance calibration constant (dc init ) 216 can also be provided as an input to the TOA1 positioning unit 206. As described above, the initial distance calibration constant 216 may be indicative of internal processing time (or turnaround time) associated with the reference WLAN devices. In some implementations, the initial distance calibration constant 216 may be selected to be zero, while in other implementations the initial distance calibration constant 216 may be selected to be another suitable random value. In some implementations, the initial distance calibration constant 216 may be preconfigured, while in other implementations the initial distance calibration constant 216 may be dynamically selected (e.g., a random value may be dynamically selected for the initial distance calibration constant 216).
The TOA1 positioning unit 206 can then execute one iteration of a Taylor series based TOA1 positioning algorithm to solve the expression depicted by Eq. 3a and to estimate the location (YTOA1) 220 of the unknown WLAN device 102. In accordance with Eq. 3a, the TOA1 positioning unit 206 can attempt to identify the value of YTOA1 that minimizes the sum (across all the reference WLAN devices) of the estimation error between A) the estimated distance to the ith reference WLAN device determined in Eq. 1 based on the RTT associated with the ith reference WLAN device and B) the calculated distance to the ith reference WLAN device based on the known location of the ith reference WLAN device. In Eq., 3a, ∥Xi−YTOA1∥ represents the calculated distance between the ith reference WLAN device and the unknown WLAN device 102. ∥Xi−YTOA1∥ can be calculated in accordance with Eq. 3b. The calculated distance between a reference WLAN device and the unknown WLAN device can be determined based on the actual location of the reference WLAN device and the estimated location (YTOA1) of the unknown WLAN device.
Y TOA 1 = arg min Y TOA 1 { i = 0 N - 1 ( d ^ i + d c_TOA 1 - X i - Y TOA 1 ) } Eq . 3 a X i - Y TOA 1 = [ s = 0 D - 1 ( x i s - y TOA 1 s ) 2 ] 1 2 Eq . 3 b
In some implementations, by assuming that there is no estimation error {e.g., by assuming that ({circumflex over (d)}i+dc _ TOA1−∥Xi−YTOA1∥)=0}, the TOA1 positioning unit 206 can simplify Eq. 3a and can instead solve Eq. 4 for all values of i to estimate the location of the unknown WLAN device 102.
{circumflex over (d)} i =∥X i −Y TOA1 ∥−d c _ TOA1  Eq. 4
The TOA1 distance calibration constant (dc _ TOA1) 218 can be expressed as the sum of the initial distance calibration constant (dc init ) 216 and a distance calibration error (Δdc), as depicted in Eq. 5a. In other words, the distance calibration error (Δdc) can be expressed as the difference (or error) between the estimated distance calibration constant (dc _ TOA1) 218 and the initial distance calibration constant (dc init ) 216. Likewise, the location 220 of the unknown WLAN device 102 (YTOA1) can be expressed as the sum of the initial location 214 of the unknown WLAN device (YTOA1 init ) and a TOA1 location error (ΔYTOA1), as depicted in Eq. 5b. In other words, the TOA1 location error (ΔYTOA1) can be expressed as the difference (or error) between the estimated location 220 of the unknown WLAN device 102 (YTOA1) and the initial location 214 of the unknown WLAN device (YTOA1 init ). It is noted that in some implementations, the TOA1 location error can be represented as ΔYTOA1={ΔyTOA1 s, s=0, 1, . . . , D−1}, where D represents the dimension of the coordinate system and ΔyTOA1 s represents the value of the sth dimension of the TOA1 location error. The TOA1 positioning unit 206 can substitute Eq. 5a and Eq. 5b into Eq. 4 to yield Eq. 6.
d c _ TOA1 =d c init +Δd c  Eq. 5a
Y TOA1 =Y TOA1 init +ΔY TOA1  Eq. 5b
{circumflex over (d)} i =∥X i −Y TOA1 init −ΔY TOA1 ∥−d c init −Δd c  Eq. 6
The TOA1 positioning unit 206 can then use Taylor series expansion and neglect the second and higher order terms (e.g., because the higher order terms have a zero or negligible value), to yield Eq. 7. The TOA1 positioning unit 206 can generate an equation in accordance with Eq. 7 for each of the reference WLAN devices 104, 106, 108, and 112 and can organize the plurality of generated equations in matrix form to yield Eq. 8.
d ^ i = X i - Y TOA 1 init - d c init + s = 0 D - 1 ( - x i s - y TOA 1 init s X i - Y TOA 1 init ) Δ y TOA 1 s - Δ d c Eq . 7 A ToA 1 = B ToA 1 [ Δ Y TOA 1 Δ d c ] T Eq . 8
In some implementations, the TOA1 location error matrix (ΔYTOA1) may be a 1×D row matrix that can represent the difference between the estimated location of the unknown WLAN device 102 and the initial TOA1 location of the unknown WLAN device 102 as depicted in Exp 9. The TOA1 distance error matrix (AToA1) can be an N×1 column matrix, where each element (i.e., each row) of the AToA1 matrix is represented by Exp. 10 and each row is associated with one of the reference WLAN devices. As depicted by Exp. 10, each element of the TOA1 distance error matrix represents a combination of A) the estimated distance between the unknown WLAN device and a reference WLAN device (e.g., based on RTT associated with the reference WLAN device as depicted in Eq. 1), B) the initial distance calibration constant 216, and C) the calculated distance between the unknown WLAN device and the reference WLAN device based on the known location of the reference WLAN device and the initial location 214 of the unknown WLAN device 102. The TOA coefficient matrix (BToA1) can be an N×(D+1) matrix, where N represents the number of reference WLAN devices and D represents the dimensions of the coordinate system that is used to specify the location of the reference WLAN devices. Each element of the TOA1 coefficient matrix can be represented in accordance with Exp. 11. The TOA1 coefficient matrix (BTOA1) can comprise the coefficients of the TOA1 location error matrix (ΔYToA1) and can represent the relationship between the TOA1 location error matrix (ΔYToA1) and the TOA1 distance error matrix (AToA1).
Δ Y TOA 1 = [ Δ y TOA 1 0 Δ y TOA 1 1 Δ y TOA 1 D - 2 Δ y TOA 1 D - 1 ] Exp . 9 i th element of A ToA 1 : d ^ i + d c init - X i - Y TOA 1 init Exp . 10 ( i , s ) th element of B TOA 1 : - x i s - y TOA 1 init s X i - Y TOA 1 init Exp . 11
In one implementation, the dimension (e.g., the value of s) can vary from column to column while the reference device under consideration (e.g., the value of i) can vary from row to row. The dimension can remain constant throughout a particular column while the reference device under consideration can remain constant throughout a particular row. The TOA1 positioning unit 206 can then calculate the TOA1 location error ΔYTOA1 and the distance calibration error Δdc in accordance with Eq. 12. It is noted that in some implementations, prior to evaluating Eq. 12, the TOA1 positioning unit 206 may first determine whether the condition det(BTOA1 TBTOA1)≠0 is satisfied to ensure convergence of the Taylor series based TOA1 positioning algorithm.
Y TOA Δd c]T=(B ToA1 T B ToA1)−1 B ToA1 T A ToA1  Eq. 12
After the TOA1 positioning unit 206 calculates the value of TOA1 location error and the distance calibration error (in accordance with Eq. 12), the TOA1 positioning unit 206 can use Eq. 5a to calculate the TOA1 distance calibration constant (dc _ TOA1) 218 by summing the distance calibration error (Δdc) with the initial distance calibration constant (dc init ). Likewise, the TOA1 positioning unit 206 can use Eq. 5b to calculate the estimated location 220 of the unknown WLAN device (YTOA1) by summing the TOA1 location error (ΔYTOA1) with the initial location 214 of the unknown WLAN device 102 (YTOA1 init ). In one implementation, the location 220 of the unknown WLAN device 102 at the output of the TOA1 positioning unit 206 can be represented as YTOA1={yTOA1 s, s=0, 1, . . . , D−1}, where yTOA1 s represents the value of the sth dimension of the location of the unknown WLAN device 102. It is noted that the TOA1 positioning unit 206 may execute the operations described herein with reference to Eq. 3a-Eq. 12 only once (i.e., only one iteration) to calculate the estimated location of the unknown WLAN device 102.
FIG. 3 depicts a flow diagram (“flow”) 300 illustrating example operations of a TOA positioning mechanism. The flow 300 begins at block 302.
At block 302, an unknown network device determines a plurality of reference network devices of a communication network based on which to estimate the location of the unknown network device. With reference to the example of FIG. 1, the location calculation unit 110 of the unknown WLAN device 102 can identify the reference WLAN devices 104, 106, 108, and 112 based on which to estimate the location of the unknown WLAN device 102. In some implementations, the location calculation unit 110 can identify the reference WLAN devices 104, 106, 108, and 112 from a plurality of WLAN devices in the wireless communication network 100 based on analyzing one or more performance measurements associated with the plurality of WLAN devices. For example, location calculation unit 110 can identify N WLAN devices in the wireless communication network 100 with the highest received signal strength indicator (RSSI), the lowest packet error rate (PER), etc. In some implementations, if the wireless communication network 100 comprises a plurality of access points, the access points may advertise (e.g., in a beacon message) their presence/location to other WLAN devices in the wireless communication network 100. The location calculation unit 110 can detect these beacon messages, identify the access points that transmitted the beacon messages, and select at least a subset of the access points as reference WLAN devices (e.g., based on analyzing the performance measurements associated with the beacon messages received from each of the access points). The flow continues at block 304.
At block 304, a control message is transmitted to each of the plurality of reference network devices. For example, the location calculation unit 110 can transmit a control message to the reference WLAN device 104. The control message can comprise one or more of an identifier associated with the unknown WLAN device 102, an identifier associated with the reference WLAN device 104, and a suitable payload (e.g., a predetermined combination of symbols, a NULL payload, etc.). The location calculation unit 110 can also record the time instant at which the control message was transmitted to the reference WLAN device 104. Likewise, with reference to FIG. 1, the location calculation unit 110 can also record the time instants at which control messages were transmitted to the reference WLAN devices 106, 108, and 112. The flow continues at block 306.
At block 306, a response control message is received from each of the plurality of reference network devices. For example, the location calculation unit 110 can receive the response control message from the reference WLAN device 104. The response control message can be a WLAN acknowledgment (ACK) message or any suitable message that indicate receipt of the control message (transmitted at block 304) at the reference WLAN device 104. The location calculation unit 110 can also record the time instant at which the response control message was received at the unknown WLAN device 102 from the WLAN device 104. Likewise, with reference to FIG. 1, the location calculation unit 110 can also record the time instants at which response control messages were received from the reference WLAN devices 106, 108, and 112. The flow continues at block 308.
At block 308, the round-trip transit time (RTT) associated with each of the reference network devices is determined. In one implementation, the location calculation unit 110 can determine the RTT associated with the reference WLAN device 104 based on the time instants at which the control message was transmitted to the reference WLAN device 104 (recorded at block 304) and the time instant at which the response control message was received from the reference network device 104 (recorded at block 306). The location calculation unit 110 can compute the RTT associated with the reference WLAN device 104 by subtracting the time instant at which the control message was transmitted from the time instant at which the response control message was received. It is noted that in other implementations, the location calculation unit 110 can employ other suitable techniques to determine the RTT associated with the reference WLAN device 104. Likewise, with reference to FIG. 1, the location calculation unit 110 can also determine the RTT associated with the reference WLAN devices 106, 108, and 112. The flow continues at block 310.
At block 310, for each of the plurality of reference network devices, the distance between the unknown network device and the reference network device is calculated based, at least in part, on the RTT associated with the reference network device. For example, the location calculation unit 110 (e.g., the distance calculation unit 202 of FIG. 2) can calculate the distance between the unknown WLAN device 102 and each of the reference network devices 104, 106, 108, and 112 based, at least in part, on the RTT associated with the corresponding reference WLAN device as described above with reference to Eq. 1a of FIG. 2. It is noted that in other implementations, the distance calculation unit 202 can use other suitable techniques to determine the distance between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112. The flow continues at block 312.
At block 312, the initial location of the unknown network device is calculated based, at least in part, on known locations of the reference network devices. For example, location calculation unit 110 (e.g., the TOA1 initial location calculation unit 204 of FIG. 2) can calculate the initial location 214 of the unknown WLAN device 102. As described above with reference to Eq. 2a, the initial location 214 of the unknown WLAN device 102 can be calculated as a function of the location 212 of the reference WLAN devices. In some examples, as described above in Eq. 2b, the initial location of the unknown WLAN device 102 can be calculated as an average of the locations of the reference WLAN devices. In other examples, as described above in Eq. 2c, the initial location of the unknown WLAN device 102 can be calculated as another suitable weighted (or non-weighted) combination of the locations of the reference WLAN devices. More specifically, as described above in FIG. 2, the location calculation unit 110 can determine the TOA1 location error matrix (ΔYTOA1) such that each element of the TOA1 location error matrix represents the difference between a coordinate of the estimated location of the unknown WLAN device (e.g., the estimated X-coordinate) and an initial location coordinate of the initial location of the unknown WLAN device 102 (e.g., the X-coordinate of the initial location of the unknown WLAN device 102). The location calculation unit 110 can calculate the TOA1 distance error matrix (ΔYToA1) in accordance with Exp. 10. The location calculation unit 110 can then calculate the TOA1 coefficient matrix (BTOA1) in accordance with Exp 11. The location calculation unit 110 can calculate the initial location of the wireless network device based, at least in part, on maximizing the determinant of the product of the BTOA1 matrix and a transpose of the BTOA1 matrix, as depicted in Eq. 2b. The flow continues at block 314.
At block 314, a single iteration of a first time of arrival (TOA1) positioning algorithm is executed to estimated location of the unknown network device based, at least in part, on the initial location of the unknown network device and the distance between the unknown network device and each of the reference network devices. For example, the location calculation unit 110 (e.g., the TOA1 positioning unit 206 of FIG. 2) can execute a single iteration of a Taylor series based TOA1 positioning algorithm to calculate the location of the unknown WLAN device 102. In addition, the TOA1 positioning unit 206 can also receive (as an input) an initial distance calibration constant 216. As described above in FIG. 2, the initial distance calibration constant 216 can be zero, a predetermined value, or a randomly selected value. As described above in Eq. 3a-Eq. 12, the TOA1 positioning unit 206 can use the initial location 214 of the unknown WLAN device 102 (determined at block 312), the distance 210 to each of reference WLAN devices (determined at block 310), the initial distance calibration constant 216, and the known locations 212 of the reference WLAN devices as inputs to execute a single iteration of the Taylor series based TOA1 positioning algorithm and to calculate the location of the unknown WLAN device 102. Therefore, the TOA1 positioning unit 206 can also determine a TOA1 distance calibration constant 218 based, at least in part, on the initial distance calibration constant 216 (described above) by executing the single iteration of the Taylor series based TOA1 positioning algorithm. It is noted that in other embodiments, the TOA1 positioning unit 206 can employ other suitable techniques to estimate the location of the unknown WLAN device 102 based, at least in part, on the calculated initial location 214 of the unknown WLAN device 102 (e.g., as will be further described below). From block 314, the flow ends.
FIG. 4 is an example block diagram of one embodiment of the location calculation unit 110 including a hybrid TOA positioning mechanism. The location calculation unit 110 comprises the distance calculation unit 202, the TOA1 initial location calculation unit 204, and the TOA1 positioning unit 206 previously described in FIGS. 2-3. Additionally, the location calculation unit 110 also comprises a TOA2 initial value calculation unit 402 and a TOA2 positioning unit 404. As shown in the example of FIG. 4, the distance calculation unit 202 and the TOA1 initial location calculation unit 204 are coupled with the TOA1 positioning unit 206. The TOA1 positioning unit 206 and the distance calculation unit 202 are coupled with the TOA2 initial value calculation unit 402. The distance calculation unit 202 and the TOA2 initial value calculation unit 402 are coupled with the TOA2 positioning unit 404.
The distance calculation unit 202 can calculate the distance 210 between the unknown WLAN device 102 and each of the reference WLAN devices 104, 106, 108, and 112 based, at least in part, on the corresponding RTT 208 associated with the reference WLAN devices, as described above in accordance with Eq. 1a of FIG. 2. The TOA1 initial location calculation unit 204 can calculate the initial location 214 of the unknown WLAN device 102 based, at least in part, on the location 212 of each of the reference WLAN devices 104, 106, 108, and 112, as described above in accordance with Eq. 2a, Eq. 2b, and Eq. 2c of FIG. 2. The TOA1 positioning unit 206 can employ a single iteration of the Taylor series based TOA1 positioning algorithm to estimate the TOA1 location 220 of the unknown WLAN device 102 and the distance calibration constant 218 based, at least in part, on the initial location 212 of the unknown WLAN device 102, the initial distance calibration constant 216, and the distances 210, as described above in accordance with Eq. 3a-Eq. 12 of FIG. 2. In the hybrid TOA mechanism, the distance calibration constant 218 and the location 220 at the output of the TOA1 positioning unit 206 can be referred to as “intermediate distance calibration constant” and “first intermediate location of the unknown WLAN device” respectively.
The TOA2 initial value calculation unit 402 can calculate a distance calibration constant (“target distance calibration constant”) and an initial location (“second intermediate location of the unknown WLAN device”) that will be provided as inputs to the TOA2 positioning unit 404. The TOA2 initial value calculation unit 402 can calculate the target distance calibration constant and the second intermediate location of the unknown WLAN device based, at least in part, on the estimated distances ({circumflex over (d)}i) 210 to each of the reference WLAN devices 104, 106, 108, and 112 (determined by the distance calculation unit 202), the first intermediate location (YTOA1) 220 of the unknown WLAN device 102 and the intermediate distance calibration constant 218 (calculated by the TOA1 positioning unit 206). Additionally, the locations (Xi) 210 of the reference WLAN devices 104, 106, 108, and 112 are provided as input parameters to the TOA2 initial value calculation unit 402. As depicted in FIG. 4, the TOA2 initial value calculation unit 402 can estimate the target distance calibration constant (dc) 406 and the second intermediate location (YTOA2 init ) 408 of the unknown WLAN device 102. In some implementations, the target distance calibration constant 406 can be represented as a function g(·) of the intermediate distance calibration constant 218, the first intermediate location 220 of the unknown WLAN device, the known locations 212 of the reference WLAN devices, and the distances 210 to the reference WLAN devices, as depicted in Eq. 13a. In one example, the TOA2 initial value calculation unit 402 can calculate the value of the target distance calibration constant 406 value as the weighted sum of the difference in A) the calculated distance (∥Xi−YTOA1∥) between the unknown WLAN device and the reference WLAN devices based on known locations of the reference WLAN devices and the first intermediate location of the unknown WLAN device, and B) the estimated distance between the unknown WLAN device and the reference WLAN device based on the RTT associated with the reference WLAN devices, as depicted by Eq. 13b. As another example, the TOA2 initial value calculation unit 402 can assign the intermediate distance calibration constant 220 as the target distance calibration constant 406, as depicted in accordance with Eq. 13c.
d c = g ( d c TOA 1 , Y TOA 1 , X 0 , X 1 , X N - 1 , d ^ 0 , d ^ 1 , , d ^ N - 1 ) Eq . 13 a d c = i = 0 N - 1 β i ( X i - Y TOA 1 - d ^ i ) Eq . 13 b d c = d c_TOA 1 Eq . 13 c
In Eq. 13b, βi represents the weighting factor associated with each of the reference WLAN devices and can be selected so that each of the weighting factors are greater than or equal to zero and the sum of all the weighting factors equals one. In one example, the weighting factor βi associated with each reference WLAN device can be calculated as the inverse of the number of reference WLAN devices, as depicted by Eq. 13d. In another example, the weighting factor βi associated with each reference WLAN device can be calculated in accordance with Eq. 13e.
β i = 1 N , i = 0 , 1 , , N - 1 Eq . 13 d β i = 1 X i - T TOA 1 j = 0 N - 1 1 X j - T TOA 1 , i = 0 , 1 , , N - 1 Eq . 13 e
With reference to Eq. 13e, the weighting factor can be determined based on distance measurements to (e.g., the confidence in location of) the reference WLAN devices. In other words, the distance (∥Xi−YTOA1∥) between the unknown WLAN device 102 and the ith reference WLAN device can be used to calculate the weighting factor and can be used as an indication of the confidence in the measurements associated with the ith reference WLAN device. For example, if the reference WLAN device 104 is close to the unknown WLAN device 102, then ∥Xi−YTOA1∥ has a small value, its inverse has a large value, and consequently, the reference WLAN device 104 is associated with a higher weighting factor (e.g., higher importance). As another example, if the reference WLAN device 108 is far away from the unknown WLAN device 102, then ∥Xi−YTOA1∥ has a large value, its inverse has a small value, and consequently, the reference WLAN device 108 is associated with a small weighting factor (e.g., low importance). The factor
j = 0 N - 1 1 X j - Y TOA 1
is a constant multiplicative factor that is the sum of the inverse of the distance between the unknown WLAN device 102 and each of the reference WLAN devices. It is noted that in other implementations, the TOA2 initial value calculation unit 402 can use other suitable techniques to calculate the weighting factor βi associated with each of the reference WLAN devices.
Additionally, the TOA2 initial value calculation unit 402 also determines the second intermediate location (YTOA2 init ) 408 of the unknown WLAN device 102 as a function h(·) of the first intermediate location (YTOA1) 220 of the unknown WLAN device 102 (calculated by the TOA1 positioning unit 206) and the locations 210 of the reference WLAN devices, as depicted in Eq. 14a. In some implementations, the second intermediate location 408 of the unknown WLAN device 102 can be calculated as an average of the locations 210 of the reference WLAN devices, as depicted in Eq. 14b. In another implementation, the first intermediate location (YTOA1) 220 of the unknown WLAN device 102 can be designated as the second intermediate location 408 of the unknown WLAN device 102, as depicted in Eq. 14c.
Y TOA 2 init = h ( Y TOA 1 , X 0 , X 1 , X N - 1 ) Eq . 14 a Y TOA 2 init = h ( Y TOA 1 , X 0 , X 1 , X N - 1 ) = 1 N i = 0 N - 1 X i Eq . 14 b Y TOA 2 init = h ( Y TOA 1 , X 0 , X 1 , X N - 1 ) = Y TOA 1 Eq . 14 c
It is noted that in some implementations, the second intermediate location of the unknown WLAN device 102 can be represented as YTOA2 init ={yTOA2 init s, s=0, 1, . . . , D−1}, where YTOA2 init s represents the value of the sth dimension of the second intermediate location of the unknown WLAN device 102. It is also noted that in some implementations, the TOA2 initial value calculation unit 402 can employ other suitable techniques to calculate the second intermediate location 408 of the unknown WLAN device 102. For example, the second intermediate location 408 of the unknown WLAN device 102 can be calculated as a weighted average of the locations of the reference WLAN devices where the weights are selected based on the confidence of the location of the reference WLAN devices and/or based the distance between the reference WLAN device and the unknown WLAN device 102. As another example, the second intermediate location 408 of the unknown WLAN device 102 can be calculated as a combination of the first intermediate location (YTOA1) 220 and the locations 212 of the reference WLAN devices.
The TOA2 positioning unit 404 can use a Taylor series based TOA2 positioning algorithm to iteratively calculate the location of the unknown WLAN device 102 based, at least in part, on the second intermediate location 408 of the unknown WLAN device 102, the target distance calibration constant 406, and the distances 210 to the reference WLAN devices 104, 106, 108, and 112. As depicted in FIG. 4, for each reference WLAN device i, the distances 210 calculated by the distance calculation unit 202 are provided as one set of inputs to the TOA2 positioning unit 404. The second intermediate location 408 of the unknown WLAN device 102 and the target distance calibration constant 406 calculated by the TOA2 initial value calculation unit 402 are also provided as inputs to the TOA2 positioning unit 404. Additionally, the known locations 212 of the reference WLAN devices 104, 106, 108, and 112 are also provided as inputs to the TOA2 positioning unit 404. The TOA2 positioning unit 404 can then iteratively execute the expression depicted by Eq. 15 to gradually approach the real location (YTOA2) 410 of the unknown WLAN device 102 after several iterations. In accordance with Eq. 15, the TOA2 positioning unit 404 can attempt to identify the value of YTOA2 that minimizes the sum of the estimation error between A) the estimated distance to the ith reference WLAN device determined in Eq. 1 based on the RTT associated with the ith reference WLAN devices and B) the calculated to the ith reference WLAN device based on the known location of the ith reference WLAN device. In Eq. 15, ∥Xi−YTOA2∥ represents the distance between the location (Xi) of the ith reference WLAN device and the real location (i.e., the YTOA2 location to be determined) of the unknown WLAN device 102.
Y TOA 2 = arg min Y TOA 2 { i = 0 N - 1 ( d ^ i + d c - X i - Y TOA 2 ) } Eq . 15
In some implementations, by assuming that there is no estimation error {e.g., by assuming that ({circumflex over (d)}i+dc−∥Xi−YTOA2∥)=0}, the TOA2 positioning unit 404 can simplify Eq. 15 and can instead solve Eq. 16 for all values of i to estimate the location of the unknown WLAN device 102.
{circumflex over (d)} i +d c =∥X i −Y TOA∥  Eq.16
The location 410 of the unknown WLAN device 102 (YTOA2) can be expressed as the sum of the second intermediate location 408 of the unknown WLAN device (YTOA2 init ) and a TOA2 location error (ΔYTOA2), as depicted in Eq. 17. It is noted that in some implementations, the TOA2 location error can be represented as ΔYTOA2={ΔyTOA2 s, s=0, 1, . . . , D−1}, where ΔyTOA2 s represents the value of the sth dimension of the TOA2 location error. The TOA2 positioning unit 404 can substitute Eq. 17 into Eq. 16 to yield Eq. 18.
Y TOA2 =Y TOA2 init +ΔY TOA2  Eq.17
{circumflex over (d)} i +d c =∥X i −Y TOA2 init −ΔY TOA2∥, i=0,1, . . . ,N−1  Eq.18
The TOA2 positioning unit 404 can then use Taylor series expansion and can neglect the second and higher order terms to yield Eq. 19. The TOA2 positioning unit 404 can generate an equation in accordance with Eq. 19 for each of the reference WLAN devices 104, 106, 108, and 112, and can organize the plurality of generated equations in matrix form to yield Eq. 20.
d ^ i + d c = X i - Y TOA 2 init + s = 0 D - 1 ( - x i s - y TOA 2 init s X i - Y TOA 2 init ) Δ y TOA 2 s Eq . 19 A ToA 2 = B ToA 2 Δ Y TOA 2 T Eq . 20
In some implementations, the matrix YTOA2 T may be a D×1 column matrix that represents the transpose of the TOA2 location error matrix (i.e., the difference between the estimated location of the unknown WLAN device 102 and the second intermediate location of the unknown WLAN device 102) associated with the unknown WLAN device 102. As described with reference to FIG. 2, the TOA2 distance error matrix (AToA2) can be an N×1 column matrix, where each element (i.e., each row) of the AToA2 matrix is associated with one of the reference WLAN devices and is represented in accordance with Exp. 21a. The TOA2 coefficient matrix (BToA2) can be an N×D matrix, where N represents the number of reference WLAN devices and D represents the dimensions of the coordinate system that is used to specify the location of the reference WLAN devices. Each element of the N×D BTOA2 matrix can be represented by Exp 21b.
i th element of A ToA 2 : d ^ i + d c - X i - Y TOA 2 init Exp . 21 a ( i , s ) th element of B ToA 2 : - x i s - y TOA 2 init s X i - Y TOA 2 init Exp . 21 b
As described above with reference to FIG. 2, in one implementation, the dimension (e.g., the value of s) can vary from column to column and can remain constant throughout a particular column. The reference device under consideration (e.g., the value of i) can vary from row to row and can remain constant throughout a particular row. The TOA2 positioning unit 404 can then calculate the TOA2 location error ΔYTOA2 in accordance with Eq. 22.
ΔY TOA2 T=(B ToA2 T B ToA2)−1 B ToA2 T A ToA2  Eq. 22
The TOA2 positioning unit 404 can then use Eq. 17 to iteratively estimate the location 410 of the unknown WLAN device (YTOA2) by summing the TOA2 location error (ΔYTOA2) determined in accordance with Eq. 22 with the second intermediate location 408 of the unknown WLAN device 102 (YTOA2 init ). In one implementation, the location 410 of the unknown WLAN device 102 at the output of the TOA2 positioning unit 404 can be represented as YTOA2={YTOA2 s, s=0, 1, . . . , D−1}, where yTOA2 s represents the value of the sth dimension of the location of the unknown WLAN device.
In the next iteration, the TOA2 positioning unit 404 can use the output of the TOA2 positioning unit 404 calculated at the previous iteration as the initial location of the unknown WLAN device 102 at the input of the TOA2 positioning unit 404 {i.e., YTOA2 init (at next iteration)=YTOA1 (at previous iteration)} and use Eq. 17 and Eq. 22 to determine the TOA2 location error (ΔYTOA2 T) at the next iteration and the estimated location of the unknown WLAN device 102 (YTOA2) until the TOA2 location error is below a threshold error value or until a threshold number of iterations have been executed.
FIG. 5 and FIG. 6 depict a flow diagram (“flow”) 500 illustrating example operations of a hybrid TOA positioning mechanism. The flow 500 begins at block 502 in FIG. 5.
At block 502, an unknown network device determines a plurality of reference network devices of a communication network based on which to estimate the location of the unknown network device. With reference to the example of FIG. 1, the location calculation unit 110 of the unknown WLAN device 102 can identify the reference WLAN devices 104, 106, 108, and 112 based on which to estimate the location of the unknown WLAN device 102. As described above in FIG. 3, the location calculation unit 110 can select the reference WLAN devices 104, 106, 108, and 112 from a plurality of WLAN devices as those that are associated with the best performance measurements (e.g., RSSI, PER, etc.). The flow continues at block 504.
At block 504, the round-trip transit time (RTT) associated with each of the plurality of reference network device is determined. In one implementation, as described above in blocks 304-308 of FIG. 3, the location calculation unit 110 can record the time instants at which control messages were transmitted to each of the reference WLAN devices and the time instants at which the corresponding response control messages were received at the unknown WLAN device 102. Accordingly, the location calculation unit 110 can determine the RTT associated with each of the reference WLAN devices 104, 106, 108, and 112. It is noted that in other implementations, the location calculation unit 110 can employ other suitable techniques to determine the RTT associated with the reference WLAN devices 104, 106, 108, and 112. The flow continues at block 506.
At block 506, for each of the plurality of reference network devices, the distance between the unknown network device and the reference network device is calculated based, at least in part, on the RTT associated with the reference network device. For example, the location calculation unit 110 (e.g., the distance calculation unit 202 of FIG. 4) can determine the distance between the unknown WLAN device 102 and each of the plurality of reference WLAN devices, as described above with reference to Eq. 1a of FIG. 2 and with reference to block 310 of FIG. 3. The flow continues at block 508.
At block 508, the initial location of the unknown network device is calculated based, at least in part, on known locations of the reference network devices. For example, the location calculation unit 110 (e.g., the TOA1 initial location calculation unit 204 of FIG. 4) can calculate the initial location of the unknown WLAN device 102, as described above with reference to Eqs. 2a-2c of FIG. 2 and block 312 of FIG. 3. The flow continues at block 510.
At block 510, an initial distance calibration constant associated with the reference network devices is determined. For example, the location calculation unit 110 can determine the initial distance calibration constant 216 associated with the reference network devices. As described above with reference to FIG. 2, the initial distance calibration constant 216 can be zero, a previously determined value, a randomly selected value, etc. The flow continues at block 512.
At block 512, a single iteration of a first time of arrival (TOA1) positioning algorithm is executed to estimate the first intermediate location of the unknown network device and the intermediate distance calibration constant based, at least in part, on the initial location of the unknown network device, the initial distance calibration constant, and the distance to each of reference network devices. The TOA1 positioning algorithm may be used to determine the intermediate value of the distance calibration constant that may be eventually provided to a TOA2 positioning algorithm, as will be described below. In some implementations, the location calculation unit 110 (e.g., the TOA1 positioning unit 206 of FIG. 2) can execute a single iteration of the Taylor series based TOA1 positioning algorithm to estimate the first intermediate location 220 of the unknown WLAN device 102 and the intermediate distance calibration constant 218, as described above in accordance with Eq. 3a to Eq. 12 of FIG. 2. It is noted that in other implementations, the TOA1 positioning unit 206 can employ other suitable techniques to estimate the first intermediate location 220 of the unknown WLAN device 102 and the intermediate distance calibration constant 218 based, at least in part, on the initial location 214 of the unknown WLAN device 102. The flow continues at block 514 in FIG. 6.
At block 514, a target distance calibration constant is calculated based, at least in part, on the intermediate distance calibration constant, the first intermediate location of the unknown network device, the locations of the reference network devices, and the distance to each of the reference network devices. For example, the location calculation unit 110 (e.g., the TOA2 initial value calculation unit 402) can calculate the target distance calibration constant 406, as described above with reference to Eq. 13a-Eq. 13e of FIG. 4. It is noted that the TOA2 initial value calculation unit 402 can use other suitable techniques to estimate the target distance calibration constant 406. The target distance calibration constant 406 can then be used as an input parameter to a second time of arrival (TOA2) positioning algorithm for iteratively estimating the location of the unknown WLAN device 102, as will be described in block 518. The flow continues at block 516.
At block 516, a second intermediate location of the unknown network device is determined based, at least in part, on the first intermediate location of the unknown network device and the locations of the reference network devices. For example, the location calculation unit 110 (e.g., the TOA2 initial value calculation unit 402) can calculate the second intermediate location 408 of the unknown WLAN device 102 as described above in accordance with Eqs 14a-14c of FIG. 4. It is noted that the TOA2 initial value calculation unit 402 can use other suitable techniques to determine the second intermediate location 408 of the unknown WLAN device 102. The second intermediate location 408 of the unknown WLAN device 102 can then be provided as an input parameter to the TOA2 positioning algorithm for iteratively estimating the location of the unknown WLAN device 102, as will be described in block 518. The flow continues at block 518.
At block 518, the TOA2 positioning algorithm is iteratively executed to calculate the estimated location of the unknown network device based, at least in part, on the second intermediate location of the unknown network device and the target distance calibration constant. For example, as described above with reference to Eq. 15-Eq. 22 of FIG. 4, the location calculation unit 110 (e.g., the TOA2 positioning unit 404) can execute multiple iterations of a Taylor-series based TOA2 positioning algorithm to calculate the location 410 of the unknown WLAN device 102 based, at least in part, on the second intermediate location of the unknown network device (determined at block 516), the target distance calibration constant (determined at block 514), and the locations of the reference network devices. It is noted that the TOA2 initial value calculation unit 402 can employ other suitable techniques to determine the estimated location 410 of the unknown WLAN device 102. From block 518, the flow ends.
It should be understood that FIGS. 1-6 are examples meant to aid in understanding embodiments and should not be used to limit embodiments or limit scope of the claims. Embodiments may perform additional operations, fewer operations, operations in a different order, operations in parallel, and some operations differently. It is noted that in some implementations, the location calculation unit 110 can determine (for each reference WLAN device) multiple RTT measurements and multiple distance measurements. For example, the location calculation unit 110 can transmit a predetermined number of control messages to the reference WLAN device 104 and can receive a corresponding number of response control messages. Accordingly, the location calculation unit 110 can calculate the predetermined number of RTT measurements associated with the reference WLAN device 104. In some implementations, the location calculation unit 110 can determine and use the average RTT value for subsequent operations. In other implementations, the location calculation unit 110 can determine a distance to the reference WLAN device 104, for each of the RTT measurements and can determine and use the average distance to the reference WLAN device 104 for subsequent operations.
Although the Figures refer to the unknown WLAN device 102 executing operations described herein to estimate the location of the unknown WLAN device 102, embodiments are not so limited. In other embodiments, functionality for determining the location of the unknown WLAN device 102 can be executed by one or more other suitable electronic devices. In some implementations, one or more of the reference WLAN devices, a centralized server, and/or another suitable electronic device can execute some/all of the operations for determining the location of the unknown WLAN device 102. For example, the unknown WLAN device 102 can determine the RTT associated with each of the reference WLAN devices 102, 106, 108, and 112 and can provide the RTT values to the centralized server (or another device to which the processing has been offloaded). The centralized server can then calculate the location of the unknown WLAN device 102 (as described by FIGS. 1-6) and can communicate the calculated location to the unknown WLAN device 102.
Embodiments may take the form of an entirely hardware embodiment, a 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, 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).
FIG. 7 is a block diagram of one embodiment of an electronic device 700 including a mechanism for determining the location of the electronic device in a wireless communication network. In some implementations, the electronic device 700 may be one of a laptop computer, a tablet computer, a netbook, a mobile phone, a smart appliance, a gaming console, or other electronic systems comprising wireless communication capabilities. The electronic device 700 includes a processor unit 702 (possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading, etc.). The electronic device 700 includes a memory unit 706. The memory unit 706 may be system memory (e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, etc.) or any one or more of the above already described possible realizations of machine-readable media. The electronic device 700 also includes a bus 710 (e.g., PCI, ISA, PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB, AXI, etc.), and network interfaces 704 that include at least one of a wireless network interface (e.g., a WLAN interface, a Bluetooth® interface, a WiMAX interface, a ZigBee® interface, a Wireless USB interface, etc.) and a wired network interface (e.g., a powerline communication interface, an Ethernet interface, etc.).
The electronic device 700 also includes a communication unit 708. The communication unit 708 comprises a location calculation unit 712. In some implementations, the location calculation unit 712 can execute a single iteration of a first TOA positioning algorithm to estimate the location of the electronic device 700 based, at least in part, on a calculated initial location of the electronic device 700, the distance between the electronic device 700 and each of a plurality of reference WLAN devices, and the location of each of the plurality of reference WLAN devices, as described with reference to FIGS. 1-3. In other implementations, the location calculation unit 712 can execute a hybrid TOA positioning algorithm to estimate the location of the electronic device 700, as described above with reference to FIGS. 1 and 4-6. Any one of these functionalities may be partially (or entirely) implemented in hardware and/or on the processor unit 702. For example, the functionality may be implemented with an application specific integrated circuit, in logic implemented in the processor unit 702, in a co-processor on a peripheral device or card, etc. Further, realizations may include fewer or additional components not illustrated in FIG. 7 (e.g., video cards, audio cards, additional network interfaces, peripheral devices, etc.). The processor unit 702, the memory unit 706, and the network interfaces 704 are coupled to the bus 710. Although illustrated as being coupled to the bus 710, the memory unit 706 may be coupled to the processor unit 702.
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, techniques for a TOA based positioning system or techniques for a hybrid TOA based positioning system 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.

Claims (27)

What is claimed is:
1. A method comprising:
determining, at a first wireless device, an estimated distance between the first wireless device and each of a plurality of reference devices, wherein the estimated distance between the first wireless device and a respective reference device is based at least in part on a round trip transit time (RTT) associated with the respective reference device;
determining an initial position of the first wireless device based, at least in part, on a known position associated with at least one of the plurality of reference devices; and
and estimating a current position of the first wireless device and the first distance calibration value by executing a time of arrival (TOA) positioning operation based, at least in part, on the estimated distance between the first wireless device and each of the plurality of reference devices, the initial position of the first wireless device, the known position associated with at least one of the plurality of reference devices and an initial distance calibration value, wherein the executing the TOA positioning operation comprises:
determining a location error matrix, represented by a difference between an estimated location coordinate of the first wireless device and a corresponding initial location coordinate of the initial position of the first wireless device;
determining a distance error matrix, represented by a difference between the estimated distance between the first wireless device and one of the plurality of reference devices and a calculated distance between the first wireless device and the one of the plurality of reference devices; and
and determining a coefficient matrix as a product of the distance error matrix and an inverse of a transpose of the location error matrix.
2. The method of claim 1, wherein estimating the current position of the first wireless device and the first distance calibration value comprises determining the current position of the first wireless device using a set of operations to jointly determine the first distance calibration value.
3. The method of claim 1, wherein estimating the current position of the first wireless device and the first distance calibration value comprises concurrently determining a location error and a distance calibration error.
4. The method of claim 3, wherein the first distance calibration value comprises a sum of the initial distance calibration value and the distance calibration error and wherein the current position comprises a sum of the location error and the initial position.
5. The method of claim 1, wherein the calculated distance is determined based, at least in part, on the known position associated with the one of the plurality of reference devices and the initial position of the first wireless device, and wherein executing the TOA positioning operation comprises:
determining the current position of the first wireless device based, at least in part, on maximizing a determinant of the product of the coefficient matrix and the transpose of the coefficient matrix.
6. The method of claim 1, wherein the TOA positioning operation comprises:
solving an expression to determine the current position that minimizes a sum of estimation errors for each of the plurality of reference devices, each estimation error between
A) the estimated distance to ith reference device based on an ith RTT associated with the ith reference device and B) the calculated distance to the ith reference device based on a known position associated with the ith reference device.
7. The method of claim 1, wherein the first distance calibration value does not differ from one reference device to another.
8. The method of claim 1, wherein the initial distance calibration value is one of a zero value, a predetermined value, and a dynamically selected random value.
9. The method of claim 1, wherein determining the initial position of the first wireless device comprises:
determining the initial position of the first wireless device as a weighted average of location coordinates associated with the plurality of reference devices.
10. The method of claim 9, wherein weights used in the weighted average are based upon a confidence associated with the location coordinates associated with the at least one of the plurality of reference devices.
11. The method of claim 1, further comprising:
identifying the plurality of reference devices based, at least in part, on one or more performance measurements associated with the plurality of reference devices.
12. The method of claim 1, wherein the first wireless device and the plurality of reference devices comprise wireless local area network, WLAN, communication capabilities.
13. The method of claim 1, further comprising:
determining, at the first wireless device, the RTT between the first wireless device and each of the plurality of reference devices.
14. The method of claim 13, wherein determining the RTT between the first wireless device and each of the plurality of reference devices comprises, for each respective reference device:
recording a first time instant at which a first control message is transmitted from the first wireless device to the respective reference device;
recording a second time instant at which a second control message is received at the first wireless device from the respective reference device in response to the first control message;
subtracting the first time instant from the second time instant to determine a respective RTT between the first wireless device and the respective reference device; and
multiplying the respective RTT between the first wireless device and the respective reference device by a speed of light factor to yield the distance between the first wireless device and the respective reference device.
15. The method of claim 1, further comprising:
determining location coordinates associated with at least one of the plurality of reference devices.
16. The method of claim 15, wherein determining the location coordinates associated with at least one of the plurality of reference devices comprises:
transmitting a request for the location coordinates to at least one of the plurality of reference devices; and
receiving the location coordinates from at least one of the plurality of reference devices.
17. The method of claim 16, wherein the request for the location coordinates is included in a control message that is also used to determine the RTT between the first wireless device and at least one of the plurality of reference devices.
18. The method of claim 15, wherein determining the location coordinates associated with at least one of the plurality of reference devices comprises:
transmitting a request for the location coordinates to a centralized server; and
receiving the location coordinates associated with at least one of the plurality of reference devices from the centralized server.
19. The method of claim 15, wherein determining the location coordinates associated with at least one of the plurality of reference devices comprises:
receiving a periodic broadcast message from at least one of the plurality of reference devices, the periodic broadcast message including the location coordinates from a corresponding one of the plurality of reference devices.
20. The method of claim 16, wherein the location coordinates associated with at least one of the plurality of reference devices comprises one of two-dimensional (2-D) coordinates, three-dimensional (3-D) coordinates, geographic latitude and longitude coordinates, or spherical coordinates.
21. A first wireless device comprising:
a network interface; and
a position calculation unit coupled with the network interface, the position calculation unit configured to:
determine, at the first wireless device, an estimated distance between the first wireless device and each of a plurality of reference devices, wherein the estimated distance between the first wireless device and a respective reference device is based at least in part on a round trip tansit time (RTT) associated with the respective reference device;
determine an initial position of the first wireless device based, at least in part, on a known position associated with at least one of the plurality of reference devices; and
estimate a current position of the first wireless device and the first distance calibration value by executing a time of arrival (TOA) positioning operation based, at least in part, on the estimated distance between the first wireless device and each of the plurality of reference devices, the initial position of the first wireless device, the known position associated with at least one of the plurality of reference devices and an initial distance calibration value, wherein the executing the TOA positioning operation comprises the position calculation unit configured to:
determine a location error matrix, represented by a difference between an estimated location coordinate of the first wireless device and a corresponding initial location coordinate of the initial position of the first wireless device;
determine a distance error matrix, represented by a difference between the estimated distance between the first wireless device and one of the plurality of reference devices and a calculated distance between the first wireless device and the one of the plurality of reference devices; and
determine a coefficient matrix as a product of the distance error matrix and an inverse of a transpose of the location error matrix.
22. The first wireless device of claim 21, wherein the position calculation unit configured to estimate the current position of the first wireless device and the first distance calibration value comprises the position calculation unit being configured to:
determine the current position of the first wireless device using a set of operations to jointly determine the first distance calibration value.
23. The first wireless device of claim 21, wherein the position calculation unit configured to estimate the current position of the first wireless device and the first distance calibration value comprises the position calculation unit configured to:
concurrently determine a location error and a distance calibration error.
24. The first wireless device of claim 23, wherein the first distance calibration value comprises a sum of the initial distance calibration value and the distance calibration error and wherein the current position comprises a sum of thelocation error and the initial position.
25. The first wireless device of claim 21, wherein the position calculation unit is configured to:
determine location coordinates associated with at least one of the plurality of reference devices.
26. A non-transitory machine-readable storage media having instructions stored therein, which when executed by a processor of a first wireless device causes the first wireless device to perform operations comprising:
determining, at the first wireless device, an estimated distance between the first wireless device and each of a plurality of reference devices, wherein the estimated distance between the first wireless device and a respective reference device is based at least in part on a round trip transit time (RTT) associated with the respective reference device;
determining an initial position of the first wireless device based, at least in part, on a known position associated with at least one of the plurality of reference devices; and
estimating a current position of the first wireless device and the first distance calibration value by executing a time of arrival (TOA) positioning operation based, at least in part, on the estimated distance between the first wireless device and each of the plurality of reference devices, the initial position of the first wireless device, the known position associated with at least one of the plurality of reference devices, and an initial distance calibration value, wherein the executing the TOA positioning operation comprises:
determining a location error matrix, represented by a difference between an estimated location coordinate of the first wireless device and a corresponding initial location coordinate of the initial position of the first wireless device;
determining a distance error matrix, represented by a difference between the estimated distance between the first wireless device and one of the plurality of reference devices and a calculated distance between the first wireless device and the one of the plurality of reference devices; and
determining a coefficient matrix as a product of the distance error matrix and an inverse of a transpose of the location error matrix.
27. The non-transitory machine-readable storage media of claim 26, wherein the calculated distance is determined based, at least in part, on the known position associated with the one of the plurality of reference devices and the initial position of the first wireless device, and wherein the instructions stored therein, when executed by the processor, to cause the first wireless device to perform said operation of executing the TOA positioning operation comprises instructions to cause the first wireless device to perform operations comprising:
determining the current position of the first wireless device based, at least in part, on maximizing a determinant of the product of the coefficient matrix and the transpose of the coefficient matrix.
US14/345,941 2011-09-19 2012-09-19 Time of arrival based positioning system Active 2032-03-20 US9332383B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/345,941 US9332383B2 (en) 2011-09-19 2012-09-19 Time of arrival based positioning system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/236,172 US8521181B2 (en) 2011-09-19 2011-09-19 Time of arrival based positioning system
PCT/US2012/056046 WO2013043681A1 (en) 2011-09-19 2012-09-19 Time of arrival based positioning system
US14/345,941 US9332383B2 (en) 2011-09-19 2012-09-19 Time of arrival based positioning system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/236,172 Continuation US8521181B2 (en) 2011-09-19 2011-09-19 Time of arrival based positioning system

Publications (2)

Publication Number Publication Date
US20140235270A1 US20140235270A1 (en) 2014-08-21
US9332383B2 true US9332383B2 (en) 2016-05-03

Family

ID=47116301

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/236,172 Active US8521181B2 (en) 2011-09-19 2011-09-19 Time of arrival based positioning system
US14/345,941 Active 2032-03-20 US9332383B2 (en) 2011-09-19 2012-09-19 Time of arrival based positioning system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/236,172 Active US8521181B2 (en) 2011-09-19 2011-09-19 Time of arrival based positioning system

Country Status (7)

Country Link
US (2) US8521181B2 (en)
EP (1) EP2759176A1 (en)
JP (1) JP5980929B2 (en)
KR (1) KR101626514B1 (en)
CN (2) CN108680899A (en)
IN (1) IN2014CN02957A (en)
WO (1) WO2013043681A1 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102396186B (en) * 2009-04-13 2014-12-10 马维尔国际贸易有限公司 Physical layer frame format for wlan
US8547870B2 (en) 2011-06-07 2013-10-01 Qualcomm Incorporated Hybrid positioning mechanism for wireless communication devices
US8509809B2 (en) 2011-06-10 2013-08-13 Qualcomm Incorporated Third party device location estimation in wireless communication networks
US8909244B2 (en) 2011-06-28 2014-12-09 Qualcomm Incorporated Distributed positioning mechanism for wireless communication devices
US8457655B2 (en) 2011-09-19 2013-06-04 Qualcomm Incorporated Hybrid time of arrival based positioning system
US8489114B2 (en) 2011-09-19 2013-07-16 Qualcomm Incorporated Time difference of arrival based positioning system
US8521181B2 (en) 2011-09-19 2013-08-27 Qualcomm Incorporated Time of arrival based positioning system
US8755304B2 (en) 2011-10-21 2014-06-17 Qualcomm Incorporated Time of arrival based positioning for wireless communication systems
US8824325B2 (en) 2011-12-08 2014-09-02 Qualcomm Incorporated Positioning technique for wireless communication system
US9787681B2 (en) 2012-01-06 2017-10-10 Optio Labs, Inc. Systems and methods for enforcing access control policies on privileged accesses for mobile devices
US9712530B2 (en) 2012-01-06 2017-07-18 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9773107B2 (en) 2013-01-07 2017-09-26 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9191908B2 (en) * 2013-03-05 2015-11-17 Qualcomm Incorporated Reducing impact of clock drift in wireless devices
US20140283136A1 (en) * 2013-03-13 2014-09-18 Optio Labs, Inc. Systems and methods for securing and locating computing devices
US20150045022A1 (en) * 2013-08-06 2015-02-12 Gaby Prechner Access points and methods for access point selection using an information data structure
TWI526960B (en) * 2013-12-23 2016-03-21 財團法人工業技術研究院 Method and system for brokering between devices and network services
US9320010B2 (en) * 2013-12-24 2016-04-19 Intel Corporation Apparatus, system and method of estimating a location of a mobile device
US9674814B2 (en) 2014-06-16 2017-06-06 Qualcomm Incorporated Failure conditions for fine timing measurement (FTM) protocol
US20160135136A1 (en) * 2014-11-11 2016-05-12 Mediatek Inc. Joint Position Detection by Sensor Devices
EP3026454B1 (en) * 2014-11-27 2024-02-07 Deutsche Telekom AG Method and wireless communication system for automatically determining the position of a stationary wireless access point for mobile end devices, stationary wireless access point and computer program
CN105792115B (en) * 2014-12-17 2019-04-23 中国电信股份有限公司 More net location data fusion methods and system
WO2016180952A1 (en) * 2015-05-12 2016-11-17 Decawave Ltd. Asymmetric double-sided two-way ranging in an ultrawideband communication system
CN108352912B (en) * 2015-11-09 2020-07-07 智加系统公司 Method for synchronizing a plurality of devices and determining a position based on synchronized devices
TWI585434B (en) * 2016-01-30 2017-06-01 Long distance multi - point positioning system and method
US10278151B2 (en) * 2016-06-15 2019-04-30 Qualcomm Incorporated Combined fine timing measurement (FTM) and non-FTM messaging for estimating turn-around calibration factor
US10038979B1 (en) * 2017-01-31 2018-07-31 Qualcomm Incorporated System and method for ranging-assisted positioning of vehicles in vehicle-to-vehicle communications
CN106950534B (en) * 2017-02-27 2020-07-03 广东小天才科技有限公司 Spatial position detection method and system and VR (virtual reality) wearable equipment
CN107229045A (en) * 2017-05-23 2017-10-03 哈尔滨工业大学(威海) A kind of Uncertainty Analysis Method estimated based on TOA communication distances
DE102017117498A1 (en) * 2017-08-02 2019-02-07 Airbus Defence and Space GmbH System and method for calibrating a transmitting unit and watercraft with a system for calibrating a transmitting unit
JP7224882B2 (en) * 2018-12-05 2023-02-20 株式会社日立製作所 SENSOR SYSTEM, SENSOR SYSTEM CONTROL METHOD, AND CONTROL DEVICE
CN109451425B (en) * 2018-12-06 2021-01-01 奇点新源国际技术开发(北京)有限公司 Positioning method and device based on single anchor point
US11561963B1 (en) 2019-02-26 2023-01-24 Intuit Inc. Method and system for using time-location transaction signatures to enrich user profiles
DE102019211110A1 (en) * 2019-07-25 2021-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. DELAY CALIBRATION FOR DECAWAVE UWB
CN114521017A (en) * 2022-04-20 2022-05-20 北京度位科技有限公司 Method and device for positioning, electronic equipment and storage medium
KR102557368B1 (en) * 2022-12-20 2023-07-20 한국건설기술연구원 System for collecting vehicle sensing information based on wireless communications, and method for the same

Citations (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252632A (en) 1998-03-05 1999-09-17 Matsushita Electric Ind Co Ltd Mobile communication system and method for detecting position of mobile radio terminal
US6034635A (en) 1996-06-06 2000-03-07 Gilhousen; Klein S. Method for using only two base stations for determining the position of a mobile subscriber in a CDMA cellular telephone system
US6166685A (en) 1998-11-19 2000-12-26 Qualcomm Incorporated Wireless user position update using infrastructure measurements
US6266014B1 (en) 1998-10-09 2001-07-24 Cell-Loc Inc. Methods and apparatus to position a mobile receiver using downlink signals part IV
US20010053699A1 (en) 1999-08-02 2001-12-20 Mccrady Dennis D. Method and apparatus for determining the position of a mobile communication device
US6420999B1 (en) 2000-10-26 2002-07-16 Qualcomm, Inc. Method and apparatus for determining an error estimate in a hybrid position determination system
US20020155845A1 (en) 2001-04-23 2002-10-24 Martorana Marc J. Method and apparatus for high-accuracy position location using search mode ranging techniques
CN1383282A (en) 2001-04-20 2002-12-04 Lg电子株式会社 Device and method for judging position of mobile communication terminal
US20020196184A1 (en) 2001-06-25 2002-12-26 Motorola, Inc. Timing estimation method and apparatus for a location system
US20030134647A1 (en) 2000-12-14 2003-07-17 John Santhoff Use of third party ultra-wideband devices to establish geo-positional data
US6618005B2 (en) 2001-06-29 2003-09-09 Intel Corporation Determining wireless device locations
US20040008138A1 (en) 2002-07-15 2004-01-15 Hockley George O. Apparatus and method of position determination using shared information
EP1396730A1 (en) 2002-09-06 2004-03-10 Hitachi, Ltd. Method, system and apparatus for detecting a position of a terminal in a network
US6744398B1 (en) 2002-04-19 2004-06-01 Derek J. Pyner Distancing and positioning systems and methods
US20040147269A1 (en) 2003-01-29 2004-07-29 Samsung Electronics Co., Ltd. Wireless communication system for getting location information of a wireless mobile station and method thereof
US20040258012A1 (en) 2003-05-23 2004-12-23 Nec Corporation Location sensing system and method using packets asynchronously transmitted between wireless stations
US20040264407A1 (en) 2002-01-24 2004-12-30 Jin Tang Method of locating and measuring a mobile station
US20050135257A1 (en) 2003-12-17 2005-06-23 Spencer Stephens Method and apparatus for approximating location of node attached to a network
US20060030350A1 (en) 2004-07-20 2006-02-09 Mitchell James P Method and apparatus for interacting with a communications system using radiated power adjusted according to an estimation of link-loss
US20070121560A1 (en) 2005-11-07 2007-05-31 Edge Stephen W Positioning for wlans and other wireless networks
US7257412B2 (en) 2005-04-25 2007-08-14 Mediatek Inc. Methods and systems for location estimation
US7289813B2 (en) 2002-09-12 2007-10-30 Broadcom Corporation Using signal-generated location information to identify and list available devices
US20070296633A1 (en) 2006-04-11 2007-12-27 Oki Electric Industry Co., Ltd. System and method for position estimation with high accuracy and a wireless communication terminal device therefor
US20080103696A1 (en) 2004-02-17 2008-05-01 Jadi Inc. Navigation system
US20080125161A1 (en) 2006-04-19 2008-05-29 Mustafa Ergen Method and system for hybrid positioning using partial distance information
US20080130604A1 (en) 2006-12-05 2008-06-05 Wherenet Corp. Location system for wireless local area network (wlan) using rssi and time difference of arrival (tdoa) processing
US20080132244A1 (en) 2006-12-01 2008-06-05 Trueposition, Inc. Subscriptionless location of wireless devices
US20080188236A1 (en) 2007-02-05 2008-08-07 Commscope, Inc. Of North Carolina System and method for generating a location estimate using non-uniform grid points
CN101282577A (en) 2008-04-09 2008-10-08 山东大学 Method for eliminating NLOS positioning error based on Ad-hoc network technique
US20080248741A1 (en) 2007-04-05 2008-10-09 Farshid Alizadeh-Shabdiz Time difference of arrival based estimation of direction of travel in a wlan positioning system
US20080274750A1 (en) * 2007-05-01 2008-11-06 John Carlson System and method for estimating the location of a mobile device
US20080287139A1 (en) 2007-05-15 2008-11-20 Andrew Corporation System and method for estimating the location of a mobile station in communications networks
WO2009020952A1 (en) 2007-08-06 2009-02-12 President And Fellows Of Harvard College Method and apparatus for locating a mobile device without synchronizing base station clocks
JP2009063531A (en) 2007-09-10 2009-03-26 Mitsubishi Electric Corp Positioning system and positioning method
JP2009074974A (en) 2007-09-21 2009-04-09 Kyocera Corp Mobile station and location derivation method
JP2009150663A (en) 2007-12-18 2009-07-09 Sumitomo Electric Ind Ltd Localization device, computer program, and localization method
US20090280825A1 (en) 2008-05-09 2009-11-12 Ajay Malik Device and Method for Sensing and Locating Cellular Phones
JP2010078527A (en) 2008-09-26 2010-04-08 Brother Ind Ltd Mobile station positioning system
US20100117898A1 (en) * 2007-04-12 2010-05-13 Wigren Torbjoern Determining positioning of wireless terminal in telecommunications network
US20100130225A1 (en) 2008-11-26 2010-05-27 Andrew Llc System and method for multiple range estimation location
US20100136506A1 (en) 2007-07-19 2010-06-03 Osteophil Co., Ltd. Method of fabricating implant with improved surface properties and implant fabricated by the same method
US20100135178A1 (en) 2008-11-21 2010-06-03 Qualcomm Incorporated Wireless position determination using adjusted round trip time measurements
CN101730227A (en) 2009-11-10 2010-06-09 大连理工大学 Multi-base station secondary positioning method based on toughness estimation and arrival time difference
US20100150117A1 (en) 2008-12-17 2010-06-17 Nortel Networks Limited Method and system for wireless lan-based indoor position location
JP2010160158A (en) 2001-04-03 2010-07-22 At & T Mobility Ii Llc Method and device for estimating position of mobile station
JP2010199991A (en) 2009-02-25 2010-09-09 Nec Corp Location measuring system
US20100248637A1 (en) 2009-03-31 2010-09-30 Zafer Sahinoglu Method for Estimating Location of Nodes in Wireless Networks
CN101873692A (en) 2010-06-23 2010-10-27 电子科技大学 Wireless sensor network node positioning method based on time reversal
WO2010122778A1 (en) 2009-04-22 2010-10-28 日本電気株式会社 Positional information calculation system, method, and device, and correction value calculation device and program
US20110059752A1 (en) 2009-09-10 2011-03-10 Qualcomm Incorporated Concurrent Wireless Transmitter Mapping And Mobile Station Positioning
JP2011071599A (en) 2009-09-24 2011-04-07 Univ Of Tokyo Location search method, information processing system, mobile communication terminal, and information management device
US20110117925A1 (en) 2009-11-05 2011-05-19 Qualcomm Incorporated Method and apparatus for assisted positioning in a wireless communication system
US20110136506A1 (en) 2005-12-19 2011-06-09 Stewart Brett B Determining and Providing Locations of Communication Devices in Proximity to Wireless Access Points
US20110143811A1 (en) 2009-08-17 2011-06-16 Rodriguez Tony F Methods and Systems for Content Processing
US20110188389A1 (en) 2008-07-04 2011-08-04 Commonwealth Scientific And Industrial Research Organisation Wireless Localisation System
US20110244881A1 (en) 2010-02-25 2011-10-06 Hitachi, Ltd. Location Estimation System
US20110304506A1 (en) 2010-06-15 2011-12-15 Lg Innotek Co., Ltd. Method For Measuring Location of Mobile Terminal
US20120087272A1 (en) 2009-02-18 2012-04-12 Dust Networks, Inc. Localization in a network
WO2012170046A1 (en) 2011-06-07 2012-12-13 Qualcomm Atheros, Inc. Hybrid positioning mechanism for wireless communication devices
WO2012170062A1 (en) 2011-06-10 2012-12-13 Qualcomm Atheros, Inc. Third party wireless network device location estimation
WO2013002812A2 (en) 2011-06-28 2013-01-03 Qualcomm Atheros, Inc. Distributed positioning mechanism for wireless communication devices
US20130072219A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Hybrid time of arrival based positioning system
US20130072218A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Time difference of arrival based positioning system
US20130072220A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Hybrid tdoa and toa based positioning system
US20130072217A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Time of arrival based positioning system
US20130101173A1 (en) 2011-10-19 2013-04-25 Lee F. Holeva Controlling truck forks based on identifying and tracking multiple objects in an image scene
WO2013059636A1 (en) 2011-10-21 2013-04-25 Qualcomm Incorporated Time of arrival based wireless positioning system
US20130148514A1 (en) 2011-12-08 2013-06-13 Qualcomm Atheros, Inc. Positioning technique for wireless communication system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5323322A (en) * 1992-03-05 1994-06-21 Trimble Navigation Limited Networked differential GPS system
DK1654561T3 (en) * 2003-08-14 2012-10-22 Saab Sensis Corp Target location using a distributed TDOA antenna
US7627333B2 (en) * 2003-12-19 2009-12-01 Andrew Llc E-OTD augmentation to U-TDOA location system
KR100754613B1 (en) * 2004-11-11 2007-09-05 삼성전자주식회사 A Location Tracking method and apparatus of User Euipment Filter using GPS and TDOA
CN101248626A (en) * 2005-06-24 2008-08-20 高通股份有限公司 Apparatus and method for determining WLAN access point position
JP4825064B2 (en) * 2006-06-30 2011-11-30 株式会社エヌ・ティ・ティ・ドコモ Position measuring system and position measuring method
KR101033200B1 (en) * 2006-10-20 2011-05-06 주식회사 케이티 RFID and system and method for the mobile station location identication service using communication network
CN101275855A (en) * 2007-03-28 2008-10-01 阿尔派电子(中国)有限公司 Navigation circuit groping method of vehicle mounted navigation apparatus
CN101325802B (en) * 2007-06-15 2012-05-23 华为技术有限公司 Terminal locating method and system
CN100514084C (en) * 2007-09-18 2009-07-15 澳门科技大学 Positioning method for wireless radio frequency recognition system and device thereof

Patent Citations (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6034635A (en) 1996-06-06 2000-03-07 Gilhousen; Klein S. Method for using only two base stations for determining the position of a mobile subscriber in a CDMA cellular telephone system
JPH11252632A (en) 1998-03-05 1999-09-17 Matsushita Electric Ind Co Ltd Mobile communication system and method for detecting position of mobile radio terminal
US6266014B1 (en) 1998-10-09 2001-07-24 Cell-Loc Inc. Methods and apparatus to position a mobile receiver using downlink signals part IV
US6166685A (en) 1998-11-19 2000-12-26 Qualcomm Incorporated Wireless user position update using infrastructure measurements
US20010053699A1 (en) 1999-08-02 2001-12-20 Mccrady Dennis D. Method and apparatus for determining the position of a mobile communication device
US6420999B1 (en) 2000-10-26 2002-07-16 Qualcomm, Inc. Method and apparatus for determining an error estimate in a hybrid position determination system
US20030134647A1 (en) 2000-12-14 2003-07-17 John Santhoff Use of third party ultra-wideband devices to establish geo-positional data
JP2010160158A (en) 2001-04-03 2010-07-22 At & T Mobility Ii Llc Method and device for estimating position of mobile station
CN1383282A (en) 2001-04-20 2002-12-04 Lg电子株式会社 Device and method for judging position of mobile communication terminal
US20020155845A1 (en) 2001-04-23 2002-10-24 Martorana Marc J. Method and apparatus for high-accuracy position location using search mode ranging techniques
US20020196184A1 (en) 2001-06-25 2002-12-26 Motorola, Inc. Timing estimation method and apparatus for a location system
US6618005B2 (en) 2001-06-29 2003-09-09 Intel Corporation Determining wireless device locations
US20040264407A1 (en) 2002-01-24 2004-12-30 Jin Tang Method of locating and measuring a mobile station
US6744398B1 (en) 2002-04-19 2004-06-01 Derek J. Pyner Distancing and positioning systems and methods
US20040008138A1 (en) 2002-07-15 2004-01-15 Hockley George O. Apparatus and method of position determination using shared information
EP1396730A1 (en) 2002-09-06 2004-03-10 Hitachi, Ltd. Method, system and apparatus for detecting a position of a terminal in a network
US7289813B2 (en) 2002-09-12 2007-10-30 Broadcom Corporation Using signal-generated location information to identify and list available devices
US20040147269A1 (en) 2003-01-29 2004-07-29 Samsung Electronics Co., Ltd. Wireless communication system for getting location information of a wireless mobile station and method thereof
US20040258012A1 (en) 2003-05-23 2004-12-23 Nec Corporation Location sensing system and method using packets asynchronously transmitted between wireless stations
US20050135257A1 (en) 2003-12-17 2005-06-23 Spencer Stephens Method and apparatus for approximating location of node attached to a network
US20080103696A1 (en) 2004-02-17 2008-05-01 Jadi Inc. Navigation system
US20060030350A1 (en) 2004-07-20 2006-02-09 Mitchell James P Method and apparatus for interacting with a communications system using radiated power adjusted according to an estimation of link-loss
US7257412B2 (en) 2005-04-25 2007-08-14 Mediatek Inc. Methods and systems for location estimation
US20070121560A1 (en) 2005-11-07 2007-05-31 Edge Stephen W Positioning for wlans and other wireless networks
US20110136506A1 (en) 2005-12-19 2011-06-09 Stewart Brett B Determining and Providing Locations of Communication Devices in Proximity to Wireless Access Points
US20070296633A1 (en) 2006-04-11 2007-12-27 Oki Electric Industry Co., Ltd. System and method for position estimation with high accuracy and a wireless communication terminal device therefor
US20080125161A1 (en) 2006-04-19 2008-05-29 Mustafa Ergen Method and system for hybrid positioning using partial distance information
US20080132244A1 (en) 2006-12-01 2008-06-05 Trueposition, Inc. Subscriptionless location of wireless devices
US20080130604A1 (en) 2006-12-05 2008-06-05 Wherenet Corp. Location system for wireless local area network (wlan) using rssi and time difference of arrival (tdoa) processing
WO2008085439A1 (en) 2006-12-27 2008-07-17 Trueposition, Inc. Subscriptionless location of wireless devices
JP2010515363A (en) 2006-12-27 2010-05-06 トゥルーポジション・インコーポレーテッド Non-participating wireless device location detection
CN101632322A (en) 2006-12-27 2010-01-20 真实定位公司 Subscriptionless location of wireless devices
US20080188236A1 (en) 2007-02-05 2008-08-07 Commscope, Inc. Of North Carolina System and method for generating a location estimate using non-uniform grid points
US20080248741A1 (en) 2007-04-05 2008-10-09 Farshid Alizadeh-Shabdiz Time difference of arrival based estimation of direction of travel in a wlan positioning system
US20100117898A1 (en) * 2007-04-12 2010-05-13 Wigren Torbjoern Determining positioning of wireless terminal in telecommunications network
US20080274750A1 (en) * 2007-05-01 2008-11-06 John Carlson System and method for estimating the location of a mobile device
US20080287139A1 (en) 2007-05-15 2008-11-20 Andrew Corporation System and method for estimating the location of a mobile station in communications networks
US20100136506A1 (en) 2007-07-19 2010-06-03 Osteophil Co., Ltd. Method of fabricating implant with improved surface properties and implant fabricated by the same method
WO2009020952A1 (en) 2007-08-06 2009-02-12 President And Fellows Of Harvard College Method and apparatus for locating a mobile device without synchronizing base station clocks
JP2009063531A (en) 2007-09-10 2009-03-26 Mitsubishi Electric Corp Positioning system and positioning method
JP2009074974A (en) 2007-09-21 2009-04-09 Kyocera Corp Mobile station and location derivation method
JP2009150663A (en) 2007-12-18 2009-07-09 Sumitomo Electric Ind Ltd Localization device, computer program, and localization method
CN101282577A (en) 2008-04-09 2008-10-08 山东大学 Method for eliminating NLOS positioning error based on Ad-hoc network technique
US20090280825A1 (en) 2008-05-09 2009-11-12 Ajay Malik Device and Method for Sensing and Locating Cellular Phones
US20110188389A1 (en) 2008-07-04 2011-08-04 Commonwealth Scientific And Industrial Research Organisation Wireless Localisation System
JP2010078527A (en) 2008-09-26 2010-04-08 Brother Ind Ltd Mobile station positioning system
US20100135178A1 (en) 2008-11-21 2010-06-03 Qualcomm Incorporated Wireless position determination using adjusted round trip time measurements
US20100130225A1 (en) 2008-11-26 2010-05-27 Andrew Llc System and method for multiple range estimation location
US20100150117A1 (en) 2008-12-17 2010-06-17 Nortel Networks Limited Method and system for wireless lan-based indoor position location
US20120087272A1 (en) 2009-02-18 2012-04-12 Dust Networks, Inc. Localization in a network
JP2010199991A (en) 2009-02-25 2010-09-09 Nec Corp Location measuring system
US20100248637A1 (en) 2009-03-31 2010-09-30 Zafer Sahinoglu Method for Estimating Location of Nodes in Wireless Networks
WO2010122778A1 (en) 2009-04-22 2010-10-28 日本電気株式会社 Positional information calculation system, method, and device, and correction value calculation device and program
US20110143811A1 (en) 2009-08-17 2011-06-16 Rodriguez Tony F Methods and Systems for Content Processing
US20110059752A1 (en) 2009-09-10 2011-03-10 Qualcomm Incorporated Concurrent Wireless Transmitter Mapping And Mobile Station Positioning
JP2011071599A (en) 2009-09-24 2011-04-07 Univ Of Tokyo Location search method, information processing system, mobile communication terminal, and information management device
US20110117925A1 (en) 2009-11-05 2011-05-19 Qualcomm Incorporated Method and apparatus for assisted positioning in a wireless communication system
CN101730227A (en) 2009-11-10 2010-06-09 大连理工大学 Multi-base station secondary positioning method based on toughness estimation and arrival time difference
US20110244881A1 (en) 2010-02-25 2011-10-06 Hitachi, Ltd. Location Estimation System
US20110304506A1 (en) 2010-06-15 2011-12-15 Lg Innotek Co., Ltd. Method For Measuring Location of Mobile Terminal
CN101873692A (en) 2010-06-23 2010-10-27 电子科技大学 Wireless sensor network node positioning method based on time reversal
WO2012170046A1 (en) 2011-06-07 2012-12-13 Qualcomm Atheros, Inc. Hybrid positioning mechanism for wireless communication devices
US8547870B2 (en) 2011-06-07 2013-10-01 Qualcomm Incorporated Hybrid positioning mechanism for wireless communication devices
US20120314587A1 (en) 2011-06-07 2012-12-13 Qualcomm Atheros, Inc. Hybrid positioning mechanism for wireless communication devices
US8509809B2 (en) 2011-06-10 2013-08-13 Qualcomm Incorporated Third party device location estimation in wireless communication networks
WO2012170062A1 (en) 2011-06-10 2012-12-13 Qualcomm Atheros, Inc. Third party wireless network device location estimation
US20120315919A1 (en) 2011-06-10 2012-12-13 Qualcomm Atheros, Inc. Third party device location estimation in wireless communication networks
JP2014526164A (en) 2011-06-28 2014-10-02 クゥアルコム・インコーポレイテッド Distributed positioning mechanism for wireless communication devices
US20130005347A1 (en) 2011-06-28 2013-01-03 Qualcomm Atheros, Inc. Distributed positioning mechanism for wireless communication devices
KR20140030274A (en) 2011-06-28 2014-03-11 퀄컴 인코포레이티드 Distributed positioning mechanism for wireless communication devices
WO2013002812A2 (en) 2011-06-28 2013-01-03 Qualcomm Atheros, Inc. Distributed positioning mechanism for wireless communication devices
CN103858414A (en) 2011-06-28 2014-06-11 高通股份有限公司 Distributed positioning mechanism for wireless communication devices
KR20140069203A (en) 2011-09-19 2014-06-09 퀄컴 인코포레이티드 Time of arrival based positioning system
WO2013043664A1 (en) 2011-09-19 2013-03-28 Qualcomm Atheros, Inc. Hybrid positioning system based on time difference of arrival (tdoa) and time of arrival (toa)
WO2013043681A1 (en) 2011-09-19 2013-03-28 Qualcomm Atheros, Inc. Time of arrival based positioning system
US20130072219A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Hybrid time of arrival based positioning system
WO2013043685A1 (en) 2011-09-19 2013-03-28 Qualcomm Atheros, Inc. Positioning system based on time - difference - of -arrival (tdoa)
CN103947269A (en) 2011-09-19 2014-07-23 高通股份有限公司 Time of arrival based positioning system
US8457655B2 (en) 2011-09-19 2013-06-04 Qualcomm Incorporated Hybrid time of arrival based positioning system
WO2013043675A1 (en) 2011-09-19 2013-03-28 Qualcomm Atheros, Inc. Hybrid time of arrival based positioning system
US20130072217A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Time of arrival based positioning system
US8489114B2 (en) 2011-09-19 2013-07-16 Qualcomm Incorporated Time difference of arrival based positioning system
US20130072220A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Hybrid tdoa and toa based positioning system
US8521181B2 (en) 2011-09-19 2013-08-27 Qualcomm Incorporated Time of arrival based positioning system
US20130072218A1 (en) 2011-09-19 2013-03-21 Qualcomm Atheros, Inc. Time difference of arrival based positioning system
US20130101173A1 (en) 2011-10-19 2013-04-25 Lee F. Holeva Controlling truck forks based on identifying and tracking multiple objects in an image scene
KR20140069196A (en) 2011-10-21 2014-06-09 퀄컴 인코포레이티드 Time of arrival based wireless positioning system
US8755304B2 (en) 2011-10-21 2014-06-17 Qualcomm Incorporated Time of arrival based positioning for wireless communication systems
CN103890604A (en) 2011-10-21 2014-06-25 高通股份有限公司 Time of arrival based wireless positioning system
US20130100850A1 (en) 2011-10-21 2013-04-25 Qualcomm Atheros, Inc. Time of arrival based positioning for wireless communication systems
WO2013059636A1 (en) 2011-10-21 2013-04-25 Qualcomm Incorporated Time of arrival based wireless positioning system
JP2015501425A (en) 2011-10-21 2015-01-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated Arrival time based wireless positioning system
WO2013086393A1 (en) 2011-12-08 2013-06-13 Qualcomm Incorporated Positioning technique for wireless communication system
US20130148514A1 (en) 2011-12-08 2013-06-13 Qualcomm Atheros, Inc. Positioning technique for wireless communication system
US8824325B2 (en) 2011-12-08 2014-09-02 Qualcomm Incorporated Positioning technique for wireless communication system

Non-Patent Citations (59)

* Cited by examiner, † Cited by third party
Title
"Chinese Application No. 201180071910.3 Office Action", Jun. 1, 2015, 11 Pages.
"Chinese Application No. 201280051800.5 First Office Action", Feb. 27, 2015, 18 pages.
"Chinese Patent Application No. 10-2014-7010476, Office Action", Aug. 19, 2015, 7 pages.
"European Patent Application No. 11868520.5 Supplementary European Search Report", May 7, 2015, 7 pages.
"Japanese Patent Application No. 2013-505067", Jan. 27, 2015, 4 pages.
"Japanese Patent Application No. 2014-530955, Office Action", Jan. 25, 2016, 9 pages.
"Japanese Patent Application No. 2014-530955, Office Action", May 12, 2015, 8 pages.
"Japanese Patent Application No. 2014-537302, Office Action", Dec. 2, 2014, 6 pages.
"Korean Patent Application No. 1020147010435, KIPO Notice of Grounds for Rejection", Feb. 17, 2015, 5 pages.
"PCT Application No. PCT/US11/43781 International Search Report", Nov. 17, 2011 , 7 pages.
"PCT Application No. PCT/US11/46074 International Search Report", Dec. 16, 2011 , 10 pages.
"PCT Application No. PCT/US11/54977 International Search Report", Jan. 31, 2012 , 7 pages.
"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/US2011/046074 International Preliminary Report on Patentability", Jun. 27, 2013 , 11 pages.
"PCT Application No. PCT/US2011/054977 International Preliminary Report on Patentability", Jun. 10, 2013 , 8 pages.
"PCT Application No. PCT/US2012/056017 Written Opinion of IPEA", Oct. 1, 2013, 9 pages.
"PCT Application No. PCT/US2012/056036 International Preliminary Report on Patentability", Dec. 20, 2013 , 10 pages.
"PCT Application No. PCT/US2012/056036 International Search Report", Jan. 3, 2013 , 13 pages.
"PCT Application No. PCT/US2012/056036 Written Opinion of IPEA", Oct. 1, 2013, 8 pages.
"PCT Application No. PCT/US2012/056046 International Preliminary Report on Patentability", Dec. 20, 2013 , 9 pages.
"PCT Application No. PCT/US2012/056046 International Search Report", Jan. 3, 2013 , 13 pages.
"PCT Application No. PCT/US2012/056046 Written Opinion of IPEA", Oct. 1, 2013 , 7 pages.
"PCT Application No. PCT/US2012/056053 Written Opinion of IPEA", Oct. 1, 2013, 8 pages.
"PCT Application No. PCT/US2012/061081 International Preliminary Report on Patentabililty", Sep. 13, 2013 , 6 pages.
"PCT Application No. PCT/US2012/061081 International Search Report", Mar. 27, 2013 , 11 pages.
"PCT Application No. PCT/US2012/068543 International Preliminary Report on Patentability", Dec. 4, 2013, 7 pages.
"PCT Application No. PCT/US2012/068543 International Search Report", Feb. 15, 2013 , 15 pages.
"U.S. Appl. No. 13/155,037 Office Action", Apr. 3, 2013 , 20 pages
"U.S. Appl. No. 13/158,029 Office Action", Oct. 3, 2012 , 18 pages.
"U.S. Appl. No. 13/170,353 Office Action", May 7, 2014 , 14 Pages.
"U.S. Appl. No. 13/236,172 Office Action", Jan. 3, 2013 , 25 pages.
"U.S. Appl. No. 13/236,172 Office Action", Jun. 7, 2012 , 25 pages.
"U.S. Appl. No. 13/236,208 Office Action", Nov. 7, 2012 , 14 pages.
"U.S. Appl. No. 13/236,232 Office Action", Oct. 11, 2012 , 13 Pages.
"U.S. Appl. No. 13/278,642 Office Action", Jul. 19, 2013, 17 pages.
"U.S. Appl. No. 13/315,174 Final Office Action", Mar. 28, 2014 , 11 pages.
"U.S. Appl. No. 13/315,174 Office Action", Sep. 23, 2013 , 23 pages.
Co-pending U.S. Appl. No. 13/155,037, filed Jun. 7, 2011 46 pages.
Co-pending U.S. Appl. No. 13/158,029, filed Jun. 10, 2011, 34 pages.
Co-pending U.S. Appl. No. 13/170,353, filed Jun. 28, 2011, 14 pages.
Co-pending U.S. Appl. No. 13/236,172, filed Sep. 19, 2011, 52 pages.
Co-pending U.S. Appl. No. 13/236,208, filed Sep. 19, 2011, 55 pages.
Co-pending U.S. Appl. No. 13/236,232, filed Sep. 19, 2011, 57 pages.
Co-pending U.S. Appl. No. 13/236,259, filed Sep. 19, 2011, 59 pages.
Co-pending U.S. Appl. No. 13/278,642, filed Oct. 21, 2011, 48 pages.
Co-pending U.S. Appl. No. 13/315,174, filed Dec. 8, 2011, 70 pages.
Foy, "Position-Location Solutions by Taylor-Series Estimation", IEEE transactions on aerospace and electronic systems vol. AES-12, No. 2, 1976, pp. 187-194.
Foy, Wade H. et al., "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, XP011166129, ISSN: 0018-9251 Mar. 1, 1976 , pp. 187-194.
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.1109/SPAWC.2011.5990386: ISBN: 978-1-4244-9333-3 Jun. 26, 2011 , 166-170.
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,XP011423565, ISSN: 1089-7798, 001: 10.1109/4234.940986 Aug. 1, 2001 , pp. 343-345.
Li, Hao 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.
PCT Application No. PCT/US2011/043781 International Preliminary Report on Patentability, Jun. 7, 2013, 4 pages.
PCT Application No. PCT/US2012/056017 International Preliminary Report on Patentability, Dec. 20, 2013, 11 pages.
PCT Application No. PCT/US2012/056053 International Preliminary Report on Patentability, Dec. 20, 2013, 10 pages.
Shen, et al., "Performance comparison of TOA and TDOA based location estimation algorithms in LOS environment", Proc. of the 5th workshop on Positioning, Navigation and Communication, 2008, pp. 71-78.
Shen, et al., "Performance Comparison of TOA and TDOA Based Location Estimation Algorithms in Los Environment", Proceedings of the 5th Workshop on Positioning, Navigation and Communication 2008 (WPNC'08), Mar. 27, 2008, pp. 71-78.
Shen, Guowei et al., "Performance comparison of TOA and TDOA based location estimation algorithms in LOS environment", (WPNC '08) 5th, IEEE, XP031247832, ISBN: 978-1-4244-1798-8 Mar. 27, 2008 , pp. 71-78.
Yu K, et al., "TOA-based distributed localisation with unknown internal delays and clock frequency offsets in wireless sensor networks," IET Signal Processing, 2009, vol. 3 (2), pp. 106-118.

Also Published As

Publication number Publication date
KR101626514B1 (en) 2016-06-01
IN2014CN02957A (en) 2015-07-03
US20140235270A1 (en) 2014-08-21
EP2759176A1 (en) 2014-07-30
CN108680899A (en) 2018-10-19
JP5980929B2 (en) 2016-08-31
CN103947269A (en) 2014-07-23
US20130072217A1 (en) 2013-03-21
KR20140069203A (en) 2014-06-09
WO2013043681A1 (en) 2013-03-28
JP2014534412A (en) 2014-12-18
US8521181B2 (en) 2013-08-27
CN103947269B (en) 2018-07-24

Similar Documents

Publication Publication Date Title
US9332383B2 (en) Time of arrival based positioning system
US8457655B2 (en) Hybrid time of arrival based positioning system
US8489114B2 (en) Time difference of arrival based positioning system
US8755304B2 (en) Time of arrival based positioning for wireless communication systems
US20130072220A1 (en) Hybrid tdoa and toa based positioning system
US8824325B2 (en) Positioning technique for wireless communication system
US20130010617A1 (en) Relative position determination of wireless network devices
JP5587292B2 (en) Position location transfer system and method
US8994590B2 (en) Wi-Fi position fix
US9660740B2 (en) Signal strength distribution establishing method and wireless positioning system
US20140256352A1 (en) Method for measuring position of user terminal
US9164164B2 (en) Indoor localization method and system
US9686765B2 (en) Determining an angle of direct path of a signal
US20180329023A1 (en) System and method for wireless time-of-arrival localization
US20160091341A1 (en) Method and apparatus for object localization
US8797899B2 (en) System and method for probabilistic WLAN positioning
Khalaf-Allah An extended closed-form least-squares solution for three-dimensional hyperbolic geolocation
US9883342B2 (en) Localization using access point
US11460534B2 (en) Identifying client device locations through group-based access point voting

Legal Events

Date Code Title Description
AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, XIAOXIN;ZHANG, NING;REEL/FRAME:032489/0524

Effective date: 20140319

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8