IP Library Granted Patent US 9,857,474
Granted Patent B2
US 9,857,474 · App. 13/831,418 · Granted Jan 2, 2018

Using satellite visibility data for improved location accuracy

Inventors: Zhiyong Tan (Houston, TX); David C. Chu (Kirkland, WA); Lin Zhong (Houston, TX); Paramvir Bahl (Bellevue, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G01S19/05G01S19/22G01S19/258G01S19/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,857,474
App. No.
13/831,418
Granted
Jan 2, 2018
Kind
B2
Abstract

Described is a technology by which GPS-capable devices work with a cloud service to receive satellite visibility-related data. The satellite visibility-related data may be used to determine a location, and/or to abort a search for satellites. The cloud service may use crowd data from other GPS-capable devices. In one aspect, line-of-sight satellites are differentiated from other satellites, and used to determine which satellite signals are more trustworthy. Reflected signals also may be determined.

Claims (65)

1. A method performed at least in part on at least one processor executing on a global positioning system (GPS)-capable device, the method comprising:

receiving, from a cloud service, satellite visibility-related data related to a predicted visibility between a plurality of satellites and the GPS-capable device;

computing a first sub-set of satellites from the plurality of satellites, the first sub-set of satellites comprising one or more satellites whose signals should be available at a given time and a given location in the absence of terrestrial structures;

computing a second sub-set of satellites from the plurality of satellites, the second sub-set of satellites comprising one or more satellites whose signals are available via line of sight at the given time and the given location;

computing a third sub-set of satellites from the plurality of satellites, the third sub-set of satellites comprising one or more satellites whose signals are available and determined to be reflected based upon line of sight at the given time and the given location;

calculating reflection angles of the signals from the third sub-set of satellites;

predicting a path of a user associated with the GPS-capable device;

applying a weighting function to the plurality of satellites, the weighting function first biasing weights ascribed to the signals received from the one or more satellites of the second sub-set of satellites and second biasing weights ascribed to the signals received from the one or more satellites of the third sub-set of satellites based on individual values of the calculated reflection angles and the predicted path;

using the biased weights and the satellite visibility-related data to determine a location of the GPS-capable device;

computing a fourth sub-set of satellites from the plurality of satellites, based upon terrestrial data and satellites that are predicted to have GPS signals detected by the GPS-capable device in the absence of obstructions, in which the fourth sub-set corresponds to one or more satellites that do not have line of sight visibility or reflected visibility to the GPS-capable device; and

aborting a search to obtain signals from a captured set of satellites responsive to the captured set of satellites matching the first sub-set of satellites with the fourth sub-set of satellites removed therefrom.

2. The method of claim 1 further comprising using the biased weight to abort a search for at least one of the plurality of satellites.

3. The method of claim 1 wherein the first sub-set of satellites is a sub-set of or equal to a full set of the plurality of satellites, and wherein the second sub-set of satellites is a sub-set of the first sub-set of satellites.

4. The method of claim 1 wherein computing the third sub-set of satellites further comprises:

using ray tracing and heuristics to determine which of the one or more satellites that are detected but are not predicted to have line-of-sight visibility are probabilistically detected to be from reflection, based upon the ray tracing and heuristics.

5. The method of claim 1 further comprising:

aborting a search to obtain signals from a captured set of satellites responsive to the captured set of satellites matching the first sub-set of satellites with the fourth sub-set of satellites removed therefrom.

6. The method of claim 1 further comprising:

determining an approximate location of the GPS-capable device in a dead zone based upon a failure by the GPS-capable device to detect a satellite signal from any satellite in the fourth sub-set.

7. The method of claim 1 further comprising:

routing a vehicle associated with the GPS-capable device around an area based upon the satellite visibility-related data.

8. The method of claim 1 , wherein the predicted visibility is based in part on one or more of the following: terrain information, ray tracing, heuristics, or signal reflection.

9. The method of claim 8 , wherein the terrain information further includes material composition of buildings.

10. The method of claim 1 , further comprising:

requesting user input corresponding to the determined location of the GPS-capable device; and

updating the determined location to improve a location estimate based at least in part on the user input received.

11. The method of claim 1 , further comprising:

determining an actual visibility between the GPS-capable device and one or more satellites of the plurality of satellites; and

updating the cloud service with other satellite visibility-related data based upon the determined actual visibility of the one or more satellites and the determined location of the GPS-capable device.

12. A global positioning system (GPS)-capable device comprising:

a memory;

at least one processor, communicatively coupled to the memory, that:

receives satellite visibility-related data related to a predicted visibility between a plurality of satellites and the GPS-capable device;

computes a first sub-set of satellites from the plurality of satellites, the first sub-set of satellites comprising one or more satellites whose signals should be available at a given time and a given location in the absence of terrestrial structures;

computes a second sub-set of satellites from the plurality of satellites, the second sub-set of satellites comprising one or more satellites whose signals are available via line of sight at the given time and the given location;

computes a third sub-set of satellites from the plurality of satellites the third sub-set of satellites comprising one or more satellites whose signals are available and determined to be reflected based upon line of sight at the given time and the given location;

calculates reflection angles of signals from the third sub-set of satellites;

predicts a path of a user associated with the GPS-capable device;

applies a weighting function to the plurality of satellites to bias weights ascribed to signals received from the second sub-set of satellites and the third sub-set of satellites, the bias towards the third sub-set of satellites based on individual values of the calculated reflection angles and the predicted path;

uses the biased weights and the received satellite visibility-related data to determine a location of the GPS-capable device;

computes a fourth sub-set of satellites from the plurality of satellites, based upon terrestrial data and satellites that are predicted to have GPS signals detected by the GPS-capable device in the absence of obstructions, in which the fourth sub-set corresponds to one or more satellites that do not have line of sight visibility or reflected visibility to the GPS-capable device; and

aborts a search to obtain signals from a captured set of satellites responsive to the captured set of satellites matching the first sub-set of satellites with the fourth sub-set of satellites removed therefrom.

13. The global positioning system (GPS)-capable device of claim 12 wherein the first sub-set of satellites is a sub-set of or equal to a full set of the plurality of satellites, and wherein the second sub-set of satellites is a sub-set of the first sub-set of satellites.

14. The global positioning system (GPS)-capable device of claim 12 wherein the processor is further configured to:

determine an approximate location of the GPS-capable device in a dead zone based upon a failure by the GPS-capable device to detect a satellite signal from any satellite in the fourth sub-set.

15. The global positioning system (GPS)-capable device of claim 12 wherein the processor is further configured to:

route a vehicle associated with the GPS-capable device around an area based upon the satellite visibility-related data.

16. The global positioning system (GPS)-capable device of claim 12 wherein the predicted visibility is based in part on one or more of the following: terrain information, ray tracing, heuristics, or signal reflection.

17. One or more computer storage devices having computer-executable instructions stored thereon, which upon execution by a computer cause the computer to perform operations comprising:

receiving, from a cloud service, satellite visibility-related data related to a predicted visibility between a plurality of satellites and the GPS-capable device;

computing a first sub-set of satellites from the plurality of satellites, the first sub-set of satellites comprising one or more satellites whose signals should be available at a given time and a given location in the absence of terrestrial structures;

computing a second sub-set of satellites from the plurality of satellites, the second sub-set of satellites comprising one or more satellites whose signals are available via line of sight at the given time and the given location;

computing a third sub-set of satellites from the plurality of satellites, the third sub-set of satellites comprising one or more satellites whose signals are available and determined to be reflected based upon line of sight at the given time and the given location;

calculating reflection angles of signals from the third sub-set of satellites;

predicting a path of a user associated with the GPS-capable device;

applying a weighting function to the plurality of satellites, the weighting function first biasing weights ascribed to signals received from the one or more satellites of the second sub-set of satellites and second biasing weights ascribed to signals received from the one or more satellites of the third sub-set of satellites based on individual values of the calculated reflection angles and the predicted path;

using the biased weights and the satellite visibility-related data to determine a location of the GPS-capable device;

computing a fourth sub-set of satellites from the plurality of satellites, based upon terrestrial data and satellites that are predicted to have GPS signals detected by the GPS-capable device in the absence of obstructions, in which the fourth sub-set corresponds to one or more satellites that do not have line of sight visibility or reflected visibility to the GPS-capable device; and

aborting a search to obtain signals from a captured set of satellites responsive to the captured set of satellites matching the first sub-set of satellites with the fourth sub-set of satellites removed therefrom.

18. The one or more computer storage devices of claim 17 having further computer-executable instructions comprising:

using ray tracing and heuristics to determine which of the one or more satellites that are detected but are not predicted to have line-of-sight visibility are probabilistically detected to be from reflection, based upon the ray tracing and heuristics.

19. The one or more computer storage devices of claim 17 having further computer-executable instructions comprising:

determining an approximate location of the GPS-capable device in a dead zone based upon a failure by the GPS-capable device to detect a satellite signal from any satellite in the fourth sub-set.

20. The one or more computer storage devices of claim 17 having further computer-executable instructions comprising:

routing a vehicle associated with the GPS-capable device around an area based upon the satellite visibility-related data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2014
From: TAN, ZHIYONG; CHU, DAVID C.; ZHONG, LIN; BAHL, PARAMVIR
To: MICROSOFT CORPORATION
Reel/Frame 032068/0378 →
Continuity (1)
Related Publication 20140266876A1 · Sep 18, 2014