Using broadcast position and transmit power from access points to form assistance data
Systems, apparatus and methods for preparing assistance data in a location server from coverage report messages of one or more access points from a plurality of mobile devices are presented. Several mobile devices each collect information from and about one or more access points. This crowd-sourced information is sent from a mobile device to a location server and may include ranging information (such as RSSI or RTT) and/or broadcast information (such as broadcast position and/or transmit power level) and/or computed information (such as path loss). Using this crowd-sourced information, the location server may form assistance data for an assistance data database, which may later be tailored for and send to a specific mobile device.
1. A method in a location server for preparing assistance data,
the method comprising:
computing a crowd-sourced position from a crowd-sourced database for an access point, wherein the crowd-sourced database for the access point comprises ranging information for the access point measured by a plurality of mobile devices and a location of each mobile device in the plurality of mobile devices, wherein the crowd-sourced position is computed based on the ranging information measured by the plurality of mobile devices and the location of each mobile device;
determining that the access point is broadcasting a broadcast position of the access point;
setting a position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point;
saving the position of the access point to an assistance data database.
2. The method of claim 1 , wherein the crowd-sourced position comprises a latitude, longitude and uncertainty.
3. The method of claim 1 , wherein the ranging information measured by the plurality of mobile devices comprises, for each mobile device from the plurality of mobile devices, a path loss between the access point and the mobile device.
4. The method of claim 1 , wherein the ranging information measured by the plurality of mobile devices comprises, for each mobile device from the plurality of mobile devices, a received power or a round trip time measurement.
5. The method of claim 1 , wherein the crowd-sourced database for the access point further comprises the broadcast position from the access point and wherein the crowd-sourced position is determined based on the broadcast position, the location of each mobile device and the ranging information or the path loss value.
6. The method of claim 1 , wherein setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
determining an overlap area between an uncertainty area of the crowd-sourced position and an uncertainty area of the broadcast position; and
setting the position of the access point within the overlap area.
7. The method of claim 1 , wherein setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
determining an overlap area between an uncertainty area of the crowd-sourced position and an uncertainty area of the broadcast position; and
setting the position of the access point to one of the crowd-sourced position and the broadcast position based on a lower uncertainty.
8. The method of claim 1 , wherein setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
determining no overlap area exists between an uncertainty area of the crowd-sourced position and an uncertainty area of the broadcast position; and
setting the position of the access point to the crowd-sourced position.
9. The method of claim 1 , wherein setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
calculating a difference between the crowd-sourced position and the broadcast position;
comparing the difference to a threshold to set a position; and
setting the position of the access point based on the comparison.
10. The method of claim 9 , wherein setting the position of the access point based on the comparison comprises:
determining the difference between the crowd-sourced position and the broadcast position is within the threshold; and
selecting the position, between the crowd-sourced position and the broadcast position, having a lower uncertainty.
11. The method of claim 1 , further comprising forming the assistance data from the assistance data database.
12. The method of claim 11 , further comprising sending the assistance data to a mobile device.
13. A location server for preparing assistance data, the location server comprising:
a crowd-sourced database reports for a plurality of access points, wherein the crowd-sourced database for an access point comprises ranging information for the access point measured by a plurality of mobile devices and a location of each mobile device in the plurality of mobile devices;
an assistance data database containing a position of each of the plurality of access points; and
a processor coupled to the crowd-sourced database and the assistance data database, and configured to:
compute a crowd-sourced position from the crowd-sourced database for each access point, wherein the crowd-sourced position is computed based on the ranging information measured by the plurality of mobile devices and the location of each mobile device;
determine that the access point is broadcasting a broadcast position of the access point;
set the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point;
save the position of the access point to the assistance data database.
14. The location server of claim 13 , further comprising a transceiver, wherein the transceiver is configured to couple to a plurality of mobile devices to receive a coverage report.
15. The location server of claim 13 , wherein the processor is further configured to form the assistance data from the assistance data database.
16. The location server of claim 15 , wherein the processor is further configured to send the assistance data to a mobile device.
17. A location server for preparing assistance data, the location server comprising:
means for computing a crowd-sourced position from a crowd-sourced database for an access point, wherein the crowd-sourced database for the access point comprises ranging information for the access point measured by a plurality of mobile devices and a location of each mobile device in the plurality of mobile devices, wherein the crowd-sourced position is computed based on the ranging information measured by the plurality of mobile devices and the location of each mobile device;
means for determining that the access point is broadcasting a broadcast position of the access point;
means for setting a position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point;
means for saving the position of the access point to an assistance data database.
18. The location server of claim 17 , wherein the means for setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
means for determining an overlap area between an uncertainty area of the crowd-sourced position and an uncertainty area of the broadcast position; and
means for setting the position of the access point within the overlap area.
19. The location server of claim 17 , wherein means for setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
means for determining an overlap area between an uncertainty area of the crowd-sourced position and an uncertainty area of the broadcast position; and
means for setting the position of the access point to one of the crowd-sourced position and the broadcast position based on a lower uncertainty.
20. The location server of claim 17 , wherein means for setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
means for determining no overlap area exists between an uncertainty area of the crowd-sourced position and an uncertainty area of the broadcast position; and
means for setting the position of the access point to the crowd-sourced position.
21. The location server of claim 17 , wherein means for setting the position of the access point based on information of the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises:
means for calculating a difference between the crowd-sourced position and the broadcast position;
means for comparing the difference to a threshold to set a position; and
means for setting the position of the access point based on the comparison.
22. A non-transitory computer-readable storage medium for preparing assistance data in a location server, the non-transitory computer-readable storage medium including program code stored thereon, comprising program code to:
compute a crowd-sourced position from a crowd-sourced database for an access point, wherein the crowd-sourced database for the access point comprises ranging information for the access point measured by a plurality of mobile devices and a location of each mobile device in the plurality of mobile devices, wherein the crowd-sourced position is computed based on the ranging information measured by the plurality of mobile devices and the location of each mobile device;
determine that the access point is broadcasting a broadcast position of the access point;
set a position of the access point based on the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point;
save the position of the access point to an assistance data database.
23. The non-transitory computer-readable storage medium of claim 22 , wherein the program code to set the position of the access point based on the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises program code to set the position to the crowd-sourced position.
24. The non-transitory computer-readable storage medium of claim 22 , wherein the program code to set the position of the access point based on the crowd-sourced position computed by the location server and the broadcast position broadcasted by the access point comprises program code to set the position to the broadcast position.