Positioning LTE wireless base stations using aggregated OTDOA assistance data
An apparatus and method for building a base station almanac at a non-carrier location server is shown. A mobile device cooperates by informing the non-carrier location server of observed time difference of arrival (OTDOA) assistance data it receives. The non-carrier location server collects enough OTDOA assistance data through crowd souring or spoofing to generate an OTDOA library. The non-carrier location server using the OTDOA library to generate a base station almanac. Once created, non-carrier location server uses the base station almanac to provide assistance data to mobile devices without assistance from the carrier. Also, a mobile device may use the base station almanac to determine transmission timing between itself and neighboring and distant base stations.
1. A method in a mobile device to facilitate the building of a base station almanac, the method comprising:
sending a seed location from the mobile device to a first location server requesting observed time difference of arrival (OTDOA) assistance data;
receiving, at the mobile device, the OTDOA assistance data from the first location server; and
sending, from the mobile device, the OTDOA assistance data and the seed location to a second location server for building the base station almanac.
2. The method of claim 1 , wherein the first location server comprises a location server operated by a network operator of the mobile device.
3. The method of claim 1 , wherein the second location server comprises a location server disassociated from a network operator of the mobile device.
4. The method of claim 1 , wherein the seed location comprises a coarse location.
5. The method of claim 1 , wherein the seed location comprises a GPS location.
6. The method of claim 1 , wherein the seed location comprises a externally generated location.
7. A mobile device for facilitating building of a base station almanac, the mobile device comprising:
a receiver; and
a processor comprising a memory and coupled to the receiver;
wherein the memory comprises code to be executed by the processor for:
sending a seed location from the mobile device to a first location server requesting observed time difference of arrival (OTDOA) assistance data;
receiving, at the mobile device, the OTDOA assistance data from the first location server; and
sending, from the mobile device, the OTDOA assistance data and the seed location to a second location server for building the base station almanac.
8. The mobile device of claim 7 , wherein the second location server comprises a location server disassociated from a network operator of the mobile device.
9. The mobile device of claim 7 , wherein the seed location comprises a coarse location.
10. The mobile device of claim 7 , wherein the seed location comprises a GPS location.
11. The mobile device of claim 7 , wherein the seed location comprises a externally generated location.
12. A mobile device for facilitating building of a base station almanac, the mobile device comprising:
means for sending a seed location from the mobile device to a first location server requesting observed time difference of arrival (OTDOA) assistance data;
means for receiving, at the mobile device, the OTDOA assistance data from the first location server; and
means for sending, from the mobile device, the OTDOA assistance data and the seed location to a second location server for building the base station almanac.
13. The mobile device of claim 12 , wherein the seed location comprises a coarse location.
14. The mobile device of claim 12 , wherein the seed location comprises a externally generated location.
15. A computer-readable storage medium including non-transient program code stored thereon for:
sending a seed location from the mobile device to a first location server requesting observed time difference of arrival (OTDOA) assistance data;
receiving, at a mobile device, the OTDOA assistance data from the first location server; and
sending, from the mobile device, the OTDOA assistance data and the seed location to a second location server for building a base station almanac.
16. A method in a non-carrier location server for building a base station almanac, the method comprising:
receiving, at the non-carrier location server, observed time difference of arrival (OTDOA) assistance data and a seed location from a mobile device, wherein the OTDOA assistance data was received by the mobile device from a first location server distinct from the non-carrier location server; and
saving, at the non-carrier location server, the OTDOA assistance data and the seed location to a non-carrier OTDOA library for building the base station almanac;
wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations.
17. The method of claim 16 , wherein the first location server comprises a location server provided by a network operator of the mobile device.
18. The method of claim 16 , wherein the non-carrier location server comprises a location server disassociated from a network operator of the mobile device.
19. The method of claim 16 , further comprising:
extracting the OTDOA assistance data and seed locations from the non-carrier OTDOA library;
computing locations based in part on the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
saving the locations to the base station almanac.
20. The method of claim 19 , wherein computing the locations comprises computing a location for each base station of a plurality of pairs of base stations.
21. The method of claim 19 , wherein computing the locations comprises solving a system of equations wherein:
known variables comprise at least five different seed locations and the expected time difference of arrival of signals for each of the at least five different seed locations; and
unknown variables comprise the locations of the pair of base stations and a time difference between the pair of base stations.
22. A non-carrier location server for building a base station almanac, the non-carrier location server comprising:
means for receiving, at the non-carrier location server, observed time difference of arrival (OTDOA) assistance data and a seed location from a mobile device, wherein the OTDOA assistance data was received by the mobile device from a first location server distinct from the non-carrier location server; and
means for saving, at the non-carrier location server, the OTDOA assistance data and the seed location to a non-carrier OTDOA library for building the base station almanac;
wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations.
23. The non-carrier location server of claim 22 , wherein the first location server comprises a location server provided by a network operator of the mobile device.
24. The non-carrier location server of claim 22 , wherein the non-carrier location server comprises a location server disassociated from a network operator of the mobile device.
25. The non-carrier location server of claim 22 , further comprising:
means for extracting the OTDOA assistance data and seed locations from the non-carrier OTDOA library;
means for computing locations based in part on the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
means for saving the locations to the base station almanac.
26. A non-carrier location server comprising a processor and a memory wherein the memory includes code to be executed by the processor for:
receiving, at the non-carrier location server, observed time difference of arrival (OTDOA) assistance data and a seed location from a mobile device, wherein the OTDOA assistance data was received by the mobile device from a first location server distinct from the non-carrier location server; and
saving, at the non-carrier location server, the OTDOA assistance data and the seed location to a non-carrier OTDOA library for building a base station almanac;
wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations.
27. A computer-readable storage medium including non-transient program code stored thereon for:
receiving, at a non-carrier location server, observed time difference of arrival (OTDOA) assistance data and a seed location from a mobile device, wherein the OTDOA assistance data was received by the mobile device from a first location server distinct from the non-carrier location server; and
saving, at the non-carrier location server, the OTDOA assistance data and the seed location to a non-carrier OTDOA library for building a base station almanac;
wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations.
28. A method in a non-carrier location server comprising a non-carrier observed time difference of arrival (OTDOA) library and for building a base station almanac, the method comprising:
extracting OTDOA assistance data and seed locations from the non-carrier OTDOA library, wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations;
computing locations from the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
saving the locations to the base station almanac.
29. The method of claim 28 , wherein computing the locations comprises computing a location for each base station of a plurality of pairs of base stations.
30. The method of claim 28 , wherein computing the locations comprises solving a system of equations wherein:
known variables comprise at least five different seed locations and the expected time difference of arrival of signals for each of the at least five different seed locations; and
unknown variables comprise the locations of the pair of base stations and a time difference between the pair of base stations.
31. A non-carrier location server for building a base station almanac, the non-carrier location server comprising:
a non-carrier observed time difference of arrival (OTDOA) library; and
processor and a memory comprising code in the memory to be executed by the processor for:
extracting OTDOA assistance data and seed locations from the non-carrier OTDOA library, wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations;
computing locations from the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
saving the locations to the base station almanac.
32. A non-carrier location server for building a base station almanac, the non-carrier location server comprising:
means for extracting observed time difference of arrival (OTDOA) assistance data and seed locations from a non-carrier OTDOA library, wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations;
means for computing locations from the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
means for saving the locations to the base station almanac.
33. A non-carrier location server for building a base station almanac, comprising a processor and a memory coupled to a non-carrier observed time difference of arrival (OTDOA) library, wherein the memory includes code to be executed by the processor for:
extracting OTDOA assistance data and seed locations from the non-carrier OTDOA library, wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations;
computing locations from the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
saving the locations to the base station almanac.
34. A computer-readable storage medium including non-transient program code stored thereon to be executed by a processor for:
extracting observed time difference of arrival (OTDOA) assistance data and seed locations from a non-carrier OTDOA library, wherein the OTDOA assistance data comprises an expected time difference of arrival of signals at a seed location from a pair of base stations;
computing locations from the OTDOA assistance data, wherein the locations comprise a location for each base station of the pair of base stations; and
saving the locations to a base station almanac.
35. A position determination method in a mobile device, the position determination method comprising:
sending a seed location from the mobile device to a non-carrier location server, wherein:
the non-carrier location server is distinct from a network providing service to the mobile device and distinct from a carrier's location server that offers service to the mobile device, and
the non-carrier location server comprises a non-carrier observed time difference of arrival (OTDOA) library and a base station almanac;
receiving, at the mobile device, at least part of the base station almanac from the non-carrier location server, wherein the base station almanac was derived at least in part from observed time difference of arrival (OTDOA) assistance data from the carrier's location server; and
computing a position estimate of the mobile device based on the at least part of the base station almanac.
36. The position determination method of claim 35 , wherein the part of the base station almanac received by the mobile device comprises a location of neighboring base stations.
37. The position determination method of claim 36 , wherein the location of neighboring base stations comprises the location of neighboring base stations for a combination of networks, including the network providing service to the mobile device.
38. The position determination method of claim 35 , wherein computing the position estimate of the mobile device based on the at least part of the base station almanac further comprises measuring a time of arrival, at the mobile device, of a reference signal from one or more of neighboring base stations.
39. A mobile device comprising
a transmitter and receiver;
a processor comprising a memory and coupled to the transmitter and to the receiver;
wherein the memory comprises code to be executed by the processor for:
sending a seed location from the mobile device to a non-carrier location server, wherein:
the non-carrier location server is distinct from a network providing service to the mobile device and distinct from a carrier's location server that offers service to the mobile device, and
the non-carrier location server comprises a non-carrier observed time difference of arrival (OTDOA) library and a base station almanac;
receiving, at the mobile device, at least part of the base station almanac from the non-carrier location server, wherein the base station almanac was derived at least in part from observed time difference of arrival (OTDOA) assistance data from the carrier's location server; and
computing a position estimate of the mobile device based on the at least part of the base station almanac.
40. The mobile device of claim 39 , wherein the part of the base station almanac received by the mobile device comprises location of neighboring base stations.
41. The mobile device of claim 40 , wherein the location of neighboring base stations comprises the location of neighboring base stations for a combination of networks, including the network providing service to the mobile device.
42. The mobile device of claim 39 , wherein the code for computing the position estimate of the mobile device based on the at least part of the base station almanac further comprises measuring a time of arrival, at the mobile device, of a reference signal from one or more of neighboring base stations.
43. A mobile device configured for position determination operations, the mobile device comprising:
means for sending a seed location from the mobile device to a non-carrier location server, wherein:
the non-carrier location server is distinct from a network providing service to the mobile device and distinct from a carrier's location server that offers service to the mobile device, and
the non-carrier location server comprises a non-carrier observed time difference of arrival (OTDOA) library and a base station almanac;
means for receiving, at the mobile device, at least part of the base station almanac from the non-carrier location server, wherein the base station almanac was derived at least in part from observed time difference of arrival (OTDOA) assistance data from the carrier's location server; and
means for computing a position estimate of the mobile device based on the at least part of the base station almanac.
44. A non-transitory computer-readable storage medium comprising program code stored thereon to be executed by a processor for:
sending a seed location from a mobile device to a non-carrier location server, wherein:
the non-carrier location server is distinct from a network providing service to the mobile device and distinct from a carrier's location server that offers service to the mobile device, and
the non-carrier location server comprises a non-carrier observed time difference of arrival (OTDOA) library and a base station almanac;
receiving, at the mobile device, at least part of the base station almanac from the non-carrier location server, wherein the base station almanac was derived at least in part from observed time difference of arrival (OTDOA) assistance data from the carrier's location server; and
computing a position estimate of the mobile device based on the at least part of the base station almanac.