Method and Apparatus for Indoor Location Estimation Among Peer-To-Peer Devices
Methods and apparatus perform location estimation among peer-to-peer devices. For the various methods, data of several different types, such as received signal strength, timing measurements, time stamps, actual transmit power, etc., is measured, stored, and propagated within a peer-to-peer network to enable each device in the peer-to-peer network to calculate positioning coordinates for one or more devices having unknown positioning coordinates.
1 . A method performed by a first peer-to-peer device, the method comprising:
sending a transmission, and recording a start time of the transmission;
receiving a set of signals sent from remaining peer-to-peer devices in a group of devices that also includes the first peer-to-peer device, and recording a time of receipt of each signal in the set of signals;
recording a first set of timing measurements each indicating a time difference between the start time of the transmission and the time of receipt of a different signal of the set of signals;
sending the first set of timing measurements for propagating to the remaining peer-to-peer devices;
receiving from the remaining peer-to-peer devices a second set of timing measurements each indicating a time difference between a start time of a signal transmitted by one of the remaining peer-to-peer devices and a time of receipt of a signal sent from another of the peer-to-peer devices in the group of devices;
determining unknown positioning coordinates for at least one peer-to-peer device in the group of devices using the first and second sets of timing measurements.
2 . The method of claim 1 , wherein the unknown positioning coordinates are further determined using known positioning coordinates of multiple devices in the group of devices.
3 . The method of claim 1 , wherein a subset of the second set of timing measurements each indicates a time difference between the start time of a signal transmitted by one of the remaining peer-to-peer devices and a time of receipt of the transmission from the first peer-to-peer device.
4 . The method of claim 1 , wherein a subset of the second set of timing measurements each indicates a time difference between the start time of a signal transmitted by one of the remaining peer-to-peer devices, excluding the first peer-to-peer device, and a time of receipt of a signal in the set of signals.
5 . The method of claim 1 further comprising:
determining a first propagation delay value indicating a propagation delay from a reference device to the first peer-to-peer device;
sending the first propagation delay value for propagating to the remaining peer-to-peer devices;
wherein the unknown positioning coordinates are further determined using the first propagation delay value.
6 . The method of claim 5 further comprising receiving a first set of propagation delay values indicating measured propagation delays from the reference device to each of the remaining peer-to-peer devices, wherein the unknown positioning coordinates are further determined using the first set of received propagation delay values.
7 . The method of claim 6 further comprising determining a set of device pair propagation delay values using the first and second sets of timing measurements, the first propagation delay value, and the first set of propagation delay values, wherein each device pair propagation delay value indicates a propagation delay between different pairs of peer-to-peer devices in the group of devices, wherein the unknown positioning coordinates are further determined using the set of device pair propagation delay values.
8 . The method of claim 7 further comprising determining, using the set of device pair propagation delay values, a set of distance values indicating distances between the different pairs of peer-to-peer devices in the group of devices, wherein the unknown positioning coordinates are determined using the set of distance values.
9 . The method of claim 7 , wherein the propagation delay Tpropji between each of the different pairs (i, j) of peer-to-peer devices is determined using a function Tpropi+T_Rx_ji−Tpropj, where Tpropi is the propagation delay from the reference device to a first device in the pair of peer-to-peer devices, Tpropj is the propagation delay from the reference device to a second device in the pair of peer-to-peer devices, and T_Rx_ji is the timing measurement indicating the time difference between the start time of the signal transmitted by the first device in the pair of peer-to-peer devices and the time of receipt by the first device of the signal sent from the second device in the pair of peer-to-peer devices.
10 . The method of claim 1 further comprising:
receiving an anchor signal from an anchor device in the group of devices, wherein positioning coordinates of the anchor device are known;
recording a first anchor timing measurement indicating a time difference between the start time of the transmission and a time of receipt of the anchor signal;
sending the first anchor timing measurement for propagation to the remaining peer-to-peer devices;
wherein the unknown positioning coordinates are further determined using the first anchor timing measurement.
11 . The method of claim 10 further comprising:
receiving a set of anchor timing measurements from the remaining peer-to-peer devices, each anchor timing measurement in the set indicating a time difference between a start time of a signal sent by a different remaining peer-to-peer device and a time of receipt of the anchor signal;
wherein the unknown positioning coordinates are further determined using the set of received anchor timing measurements.
12 . The method of claim 11 further comprising:
determining, as a function of the first anchor timing measurement and the set of received anchor timing measurements, a set of propagation delay difference values with each propagation delay difference value indicating, for a different peer-to-peer device pair of the group of devices, a difference in first and second propagation delay values, wherein the first propagation delay value indicates a time of travel of the anchor signal from the anchor device to a first device of the pair, and the second propagation delay value indicates a time of travel of the anchor signal from the anchor device to a second device of the pair;
wherein the unknown positioning coordinates are determined using the set of propagation delay difference values.
13 . The method of claim 12 further comprising:
determining, using the set of propagation delay difference values, a set of distance difference values with each distance difference value indicating, for a different peer-to-peer device pair of the group of devices, a difference between first and second distances, wherein the first distance is from the first device of the pair to the anchor device and the second distance is from the second device of the pair to the anchor device;
wherein the unknown positioning coordinates are determined using the set of distance difference values.
14 . The method of claim 12 further comprising:
determining a first propagation delay value indicating a propagation delay from a reference device to the first peer-to-peer device;
sending the first propagation delay value for propagating to the remaining peer-to-peer devices;
receiving a first set of propagation delay values indicating measured propagation delays from the reference device to each of the remaining peer-to-peer devices, wherein the unknown positioning coordinates are further determined using the first set of received propagation delay values;
determining a set of device pair propagation delay values using the first and second sets of timing measurements, the first propagation delay value, and the first set of propagation delay values, wherein each device pair propagation delay value indicates a propagation delay between different peer-to-peer device pairs in the group of devices;
wherein the set of propagation delay difference values is further determined based on the set of device pair propagation delay values.
15 . A first peer-to-peer device comprising:
a processor and set of transceivers operatively coupled and configured to:
send a transmission;
record a start time of the transmission;
receive a set of signals sent from remaining peer-to-peer devices in a group of devices that also includes the first peer-to-peer device;
record a first set of timing measurements each indicating a time difference between the start time of the transmission and a time of receipt of a different signal of the set of signals;
send the first set of timing measurements for propagating to the remaining peer-to-peer devices;
receive from the remaining peer-to-peer devices a second set of timing measurements each indicating a time difference between a start time of a signal transmitted by one of the remaining peer-to-peer devices and a time of receipt of a signal sent from another of the peer-to-peer devices in the group of devices;
determine unknown positioning coordinates for at least one peer-to-peer device in the group of devices using the first and second sets of timing measurements.
16 . A method performed by a first device, the method comprising:
determining a first location indication and a first location accuracy for the first device;
receiving a second location indication and a second location accuracy for a second device having a peer-to-connection to the first device;
comparing the first and second location accuracies;
determining an updated location indication and an updated location accuracy for the first device when the second location accuracy is better than the first location accuracy, wherein the updated location indication and updated location accuracy are determined based at least on the second location indication and the second location accuracy.
17 . The method of claim 16 , wherein the first location accuracy represents a first radius and the second location accuracy represents a second radius, wherein the updated location indication and updated location accuracy are determined when the second radius is smaller than the first radius.
18 . The method of claim 16 , wherein the updated location accuracy is determined based on an estimate of a pairwise distance between the first and second devices.
19 . The method of claim 18 , wherein the updated location accuracy comprises updated positioning coordinates determined based on the second location indication, the first and second location accuracies, and the estimated pairwise distance.
20 . The method of claim 19 , wherein the first location accuracy is a first accuracy shape of positioning coordinates having the first location indication as a first centroid and the second location accuracy is a second accuracy shape of positioning coordinates having the second location indication as a second centroid, the method further comprising:
forming a union of a plurality of accuracy shapes having a corresponding plurality of centroids each determined by moving a different positioning coordinate, of the second accuracy shape, the estimated pairwise distance;
intersecting the first accuracy shape and the union of the plurality of accuracy shapes to form an updated accuracy shape of the updated positioning coordinates, wherein the updated location indication is the centroid of the updated accuracy shape.