Cloud-offloaded global satellite positioning
First Claim
Patent Images
1. A computing device comprising:
- one or more processors; and
one or more computer-readable storage devices maintaining instructions executable by the one or more processors to perform operations that include;
receiving a plurality of chunks of global positioning system (GPS) signals, wherein individual chunks of the plurality of chunks are representative of a segment of a GPS signal, wherein individual chunks of the plurality of chunks are spaced by an interval of time, and wherein each chunk of the plurality of chunks is 1 to 2 milliseconds in length;
searching for satellite specific Coarse/Acquisition (C/A) codes in the plurality of chunks over code phase and Doppler frequency combinations to identify visible satellites;
calculating, for each of the visible satellites, a difference between a first code phase and a second code phase, the first code phase associated with a first one of the plurality of chunks and the second code phase associated with a second one of the plurality of chunks;
identifying a first satellite from the plurality of GPS signal chunks by searching for satellite specific Coarse/Acquisition (C/A) codes in each GPS signal chunk of the plurality of GPS signal chunks over code phase and Doppler frequency combinations;
remove signals associated with the first satellite from the plurality of GPS signal chunks by performing a projection onto an appropriate signal subspace determined by C/A code templates of the identified first satellite;
adding each visible satellite for which the difference is less than a threshold difference to a set of satellites; and
estimating a location based on the set of satellites.
2 Assignments
0 Petitions
Accused Products
Abstract
Some implementations provide low power reduced sampling of global positioning system (GPS) locations. A server may be configured to assist a mobile device in determining a location from a plurality of small GPS signal chunks and corresponding time stamps. For instance, the server may identify a set of satellites from each of the GPS signal chunks and by comparing the set of satellites for each of the GPS signal chunks to each other to determine a second set of satellites. The server may then estimate a location of the mobile based on the second set of satellites.
-
Citations
20 Claims
-
1. A computing device comprising:
-
one or more processors; and one or more computer-readable storage devices maintaining instructions executable by the one or more processors to perform operations that include; receiving a plurality of chunks of global positioning system (GPS) signals, wherein individual chunks of the plurality of chunks are representative of a segment of a GPS signal, wherein individual chunks of the plurality of chunks are spaced by an interval of time, and wherein each chunk of the plurality of chunks is 1 to 2 milliseconds in length; searching for satellite specific Coarse/Acquisition (C/A) codes in the plurality of chunks over code phase and Doppler frequency combinations to identify visible satellites; calculating, for each of the visible satellites, a difference between a first code phase and a second code phase, the first code phase associated with a first one of the plurality of chunks and the second code phase associated with a second one of the plurality of chunks; identifying a first satellite from the plurality of GPS signal chunks by searching for satellite specific Coarse/Acquisition (C/A) codes in each GPS signal chunk of the plurality of GPS signal chunks over code phase and Doppler frequency combinations; remove signals associated with the first satellite from the plurality of GPS signal chunks by performing a projection onto an appropriate signal subspace determined by C/A code templates of the identified first satellite; adding each visible satellite for which the difference is less than a threshold difference to a set of satellites; and estimating a location based on the set of satellites. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage device storing instructions that, when executed by one or more processors, cause the one or more processors to:
-
receive data related to a plurality of satellites identified from a plurality of global positioning system (GPS) signal chunks, wherein; individual chunks of the plurality of GPS signal chunks comprise a portion of a GPS signal sample of a plurality of GPS signal samples, the data includes a plurality of code phases, each of the plurality of code phases is associated with one of the plurality of satellites and one of the plurality of GPS signal chunks, individual chunks of the plurality of GPS signal chunks are spaced by intervals of time, individual ones of the intervals of time are not equal, and individual chunks of the plurality of chunks include a time over which the individual chunk was sampled; calculate, for each satellite of the plurality of satellites, differences between individual code phases of the plurality of code phases for each of the plurality of GPS signal chunks; determine that a majority of the differences for a satellite of the plurality of satellites is less than a threshold difference; add the satellite to a set of satellites; receive the plurality of GPS signal chunks; identify a first satellite from the plurality of GPS signal chunks by searching for satellite specific Coarse/Acquisition (C/A) codes in each GPS signal chunk of the plurality of GPS signal chunks over code phase and Doppler frequency combinations; remove signals associated with the first satellite from the plurality of GPS signal chunks by performing a projection onto an appropriate signal subspace determined by C/A code templates of the identified first satellite; and output the set of satellites. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method comprising:
-
receiving a first global positioning system (GPS) signal chunk and a second GPS signal chunk, the first GPS signal chunk and the second GPS signal chunk spaced by an interval of time, and wherein the first GPS signal chunk and the second GPS signal chunk are each representative of a segment of a GPS signal, each of first GPS signal chunk and the second GPS signal chunk includes a time over which the individual chunk was collected; identifying a first satellite from the first GPS signal chunk by searching for satellite specific Coarse/Acquisition (C/A) codes in the first GPS signal chunk over code phase and Doppler frequency combinations; adding the first satellite to a set of satellites; removing signals associated with the first satellite from the first GPS signal chunk by performing a projection onto an appropriate signal subspace determined by C/A code templates of the identified first satellite; identifying a second satellite from the first GPS signal chunk by searching for the satellite specific C/A codes in the first GPS signal chunk over the code phase and Doppler frequency combinations; adding the second satellite to the set of satellites; and outputting the set of satellites. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification