This disclosure relates generally to apparatus and methods for location determination and more particularly to early sampling during integration of satellite positioning system signals.
Various satellite positioning systems (SPS) may be used to determine the location of a mobile device. For example, Global Positioning System (GPS), GLONASS owned by the Russian Federation Government, and Galileo Radio Navigation Satellite System, are satellite systems that provide users equipped with a satellite positioning system receiver the ability to determine their location anywhere in the world. A satellite positioning system receiver determines its location by measuring the relative times of arrival of signals transmitted from multiple satellite positioning system satellites. During an ongoing satellite positioning system tracking session, the satellite positioning system receiver may also depend on prior state information for the satellite positioning system receiver and for the satellite positioning system satellites comprising position, velocity, and heading in determining the current location of the satellite positioning system receiver. Relying on prior state information, possibly through the use of a Kalman filter, may greatly increase accuracy in a linear moving situation. However, if the satellite positioning system tracking session is paused and restarted or, if the satellite positioning system is initiating a new tracking session, there is a satellite positioning system signal search discontinuity. In situations where there is a satellite positioning system signal search discontinuity, assumption of linear movement may introduce inaccuracy into a position calculation and prior state in formation may be stale or non-existent.
An aspect of the present invention may reside in a method to determine location, the method comprising: following a search discontinuity, integrating a satellite positioning system signal for time T2; sampling an at least one observable signal metric at a time T1, where time T1 is less than time T2; identifying peaks of the at least one observable signal metric; and solving for a common code phase offset.
Another aspect of the present invention may reside in an apparatus to determine location, the apparatus comprising a receiver configured to receive a satellite positioning system signal and a processor configured to: following a search discontinuity, integrate the satellite positioning system signal for time T2; sample at least one observable signal metric at a time T1, where time T1 is less than time T2; identify peaks of the at least one observable signal metric; and solve for a common code phase offset.
Another aspect of the present invention may reside in an apparatus for determining location, the apparatus comprising: means for receiving a satellite positioning system signal; means for, following a search discontinuity, integrating the satellite positioning system signal for time T2; means for sampling at least one observable signal metric at a time T1, where time T1 is less than time T2; means for identifying peaks of the at least one observable signal metric; and means for solving for a common code phase offset.
Another aspect of the present invention may in reside in a computer-readable storage medium comprising program code, to determine location, stored thereon, comprising: code for, following a search discontinuity, integrating a satellite positioning system signal for time T2; code for sampling an at least one observable signal metric at a time T1, where time T1 is less than time T2; code for identifying peaks of the at least one observable signal metric; and code for solving for a common code phase offset.
It is understood that other aspects will become readily apparent to those skilled in the art from the following detailed description, wherein various aspects are shown and described by way of illustration. The drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
The detailed description set forth below in connection with the appended drawings is intended as a description of various aspects of the present disclosure and is not intended to represent the only aspects in which the present disclosure may be practiced. Each aspect described in this disclosure is provided merely as an example or illustration of the present disclosure, and should not necessarily be construed as preferred or advantageous over other aspects. The detailed description includes specific details for the purpose of providing a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the present disclosure. Acronyms and other descriptive terminology may be used merely for convenience and clarity and are not intended to limit the scope of the disclosure.
As used herein, Mobile Station (MS) refers to a device such as a cellular or other wireless communication device, personal communication system (PCS) device, personal navigation device (PND), Personal Information Manager (PIM), Personal Digital Assistant (PDA), laptop or other suitable mobile device which is capable of receiving wireless communication and/or navigation signals. The term “mobile station” is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wireline connection, or other connection—regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND. Also, “mobile station” is intended to include all devices, including wireless communication devices, computers, laptops. etc. which are capable of communication with a server, such as via the Internet, WiFi, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Other embodiments may include any operable combination of the above.
Where a satellite positioning system receiver experiences a satellite positioning system signal search discontinuity, a useful alternative to a pre-existing satellite positioning system tracking session, may be based upon determining whether the satellite positioning system receiver is stationary or in motion prior to calculating its location. An accurate user velocity estimate is useful to generate an accurate SPS receiver position estimate; this includes detecting whether the user is moving or stationary. Carrier phase processing, which generates accurate pseudorange rate estimates, can be utilized to derive very accurate user velocity. However, carrier phase processing normally requires that the signal be continuously tracked by the satellite positioning system receiver. After a search discontinuity, the receiver may experience a tracking disruption and may, therefore, not be able to track satellite signals continuously. For example, a search discontinuity may be caused by the SPS receiver circuitry being periodically turned off to save power. Powering off the SPS receiver circuitry may include turning off the SPS receiver clock during the search discontinuity to save power. Turning off the SPS receiver clock or allowing the SPS receiver clock to drift typically introduces a common phase offset into subsequent satellite positioning system measurements unless the common phase offset can be identified and corrected for. If the common phase offset can be identified, it may still be advantageous to obtain high accuracy pseudorange rate estimates via carrier phase processing. This invention discloses how to perform carrier phase processing after a search discontinuity and how to utilize the results to calculate the location of the SPS receiver.
In
Continuing with
In
The Processor 120 operates the Communications Transceiver 140 to communicate with ground-based transceivers comprising, but not limited to Base Stations 180, Access Points 190 and Personal Area Networks 195.
The processor 120 operates the Satellite Positioning System Receiver 130 to receive satellite positioning system signals from satellite positioning system satellites comprising satellites from the GPS, Gallileo, GLONASS and Beidou satellite systems or other navigational satellite systems.
Signal integration comprises integrating an observable signal metric, for example, signal energy. In alternative embodiments, the observable signal metric may be comprised of amplitude of observable signal or I/Q data.
The integrated values of the observable signal metric are charted against both phase offset and frequency. The integration continues for a period, T2, greater than or equal to 80 ms, for example, 200 ms, at which time the peaks of the observable signal metric are used to calculate a location and velocity of the MS 100. In step 220, the observable signal metric is also sampled at a time T1, shorter than T2 and less than or equal to 50 ms, for example, 20 ms. While typical examples of total integration time, T2, and early sample time, T1, are provided it is realized that other embodiments may use different values for T2 and T1, T1 being less than T2.
The sample of the observable signal metric at time T1 may be used to determine how satellite positioning system information will be processed at time T2. The mode of processing for the satellite positioning system information at time T2 is selected to calculate an accurate location of the MS 100 based, at least in part, upon information derived from the observable signal metric sampled at time T1. This process of early sampling to determine the most effective mode of location determination is illustrated in steps 220-290.
Integrating the observable signal metric results in peak values of the observable signal metric relative to code phase offset and frequency. Some of those peaks may correspond to satellite positioning system satellites while others may correspond to multipath signals, noise or jammers. Continuing with
If at least one peak of the observable signal metric exceeds the predetermined threshold at time T1, carrier phase processing for the current measurement interval continues in step 240. In step 240, a common code phase offset is solved for based upon the at least one peak of the observable signal metric that exceeds the predetermined threshold at time T1. The common code phase offset, or SPS receiver clock offset, is the code phase offset at which I/Q data is summed for at least one peak of the at least one observable signal metric that exceed the predetermined threshold.
The common code phase offset may be solved for in various ways. One embodiment to solve for the common code phase offset is to select the individual offset of one peak of the observable signal metric that exceeds the threshold at time T1 and use it as the common code phase offset. This is most likely, if there is only one peak of the observable signal metric that exceeds the threshold at time T1 or, alternately, if the other peaks are outliers or are otherwise sub-optimal for use in calculating a common code phase offset.
Another embodiment to solve for the common code phase offset is to use the median value calculated from the individual code phase offsets as shown in
Another embodiment to solve for the common code phase offset is to use the mean value calculated from the individual code phase offsets as shown in
In still another embodiment, step 430 may be replaced by a weighting step where individual phase offset values close to the mean are weighted more heavily than phase offset values with greater deviation from the mean. In this embodiment, the common code phase offset is calculated based upon the weighted mean of the individual code phase offsets.
Other embodiments to utilize the individual code phase offsets to calculate the common code phase offset may be envisioned. Thus, the embodiments described above are not intended to be limiting.
Continuing with
In Step 255, the common code phase offset results predicted by the collected I/Q data are compared to results predicted by peak processing (PP) for consistency. For example, in one embodiment, the consistency check consists of comparing the I/Q sum collection bin code phase to the code phase predicted by peak processing. In this embodiment, (1) the I/Q slim collection code phase should be within +/−0.5 chips of the peak code phase reported by PP, and (2) the C/No reported by PP>30 dBHz. This is a per-SV test. The carrier phase processing is performed on that SV only when both criteria are satisfied.
If, in Step 255, the consistency check fails, a default mode of location calculation may be selected as disclosed in Step 258. In one embodiment, the default mode of location calculation may utilize pseudo-range rate calculated via peak processing rather then pseudo-range rate calculated via carrier phase processing.
If, in Step 255, the consistency check succeeds, carrier phase processing is performed on the collected I/Q data to calculate pseudorange rate for each satellite positioning system signal corresponding to each peak of the observable signal metric that exceeds the threshold at time T1, as illustrated in step 260. In one embodiment, the pseudorange rate, assuming T ms worth of 5 ms I/Q data, is calculated as follows:
The pseudorange rate is checked for validity in Step 265. In one embodiment, the validity check is comprised of checking for the following conditions. When both conditions are met, the pseudorange rate may be used in Step 270.
In Step 270, the pseudorange rate is used to determine how the position of the MS 100 will be calculated. For example, location of the MS 100 may be calculated differently if the pseudorange rate predicts that the MS 100 is in motion versus if the pseudorange rate predicts that the MS is stationary. This embodiment does not limit the number or types of modes of location calculation available to the MS 100 in alternate embodiments.
In Step 280, the location is calculated using the mode of location calculation selected in either Step 258 or Step 270.
Assumptions and mathematical support for the described embodiment follows below.
Assume there are N hits worth of I/Q data available during the signal integration period, T2. For example, N=10 when the signal integration period is 200 ms.
The 5 ms I/Q sums are Rl(k), RQ(k), k=1, 2, . . . , 4*N. We can estimate the coarse frequency in this data as
fΔ=(searcher rotator frequency during data collection)−(measured Doppler from peak processing)
Use the coarse frequency fΔ to mix the 5 ms I/Q sums, then composite the 20 ms I/Q sums to obtain N 20 ms I/Q sums.
Cross product and dot product are as below:
CP(i)=SI(i−1)·SQ(i)−SQ(i−1)·SI(i)
DP(i)=SI(i−1)·SI(i)−SQ(i−1)·SQ(i)
The bit transition can be estimated
ĉ(i)=sign[DP(i)]
The bit can be estimated
{circumflex over (d)}(i)=ĉ(i)·{circumflex over (d)}(i−1)
The phase increment from all the rotators is
θ(i)=θ(i−1)+fBP(i)·T+fSRCH·T−fΔ·T,i=1, . . . , N
θ(0)=0
The total carrier phase at bit index i is:
φ(i)=θ(i)−{unwrapped phase of {circumflex over (d)}(i)·(SI(i)+j·SQ(i))},i=1, . . . , N
Given 3 samples of φ(i), perform a quadratic fitting to estimate the frequency and acceleration.
(1) When N is even:
The 3 samples are taken:
Assume f0 is the instantaneous frequency at middle sample, and constant acceleration exists, we have
The frequency at the middle sample is
The acceleration is
f0 points to the time
To be consistent with the frequency estimate from integration (which point to
we need to propagate f0 forward by
thus the carrier phase derived frequency is
(2) When N is odd:
The 3 samples are taken:
Assume f0 is the instantaneous frequency at middle sample, and constant acceleration exists, we have
Thus the frequency at the middle sample is
The acceleration is
f0 points to the time
which is the same reference point of the frequency estimate from integration (which point to
we do not need to do any propagation.
{circumflex over (f)}=f0
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware, firmware, software, or any combination thereof. For an implementation involving hardware, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For an implementation involving firmware and/or software, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory and executed by a processor unit. Memory may be implemented within the processor unit or external to the processor unit. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable storage medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, semiconductor storage, or other storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
In addition to storage on computer-readable storage medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions.
The present application for patent claims priority to Provisional Application No. 61/222,797 filed Jul. 2, 2009, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
20070297542 | Sullivan | Dec 2007 | A1 |
Number | Date | Country |
---|---|---|
WO2006057930 | Jun 2006 | WO |
WO2006060605 | Jun 2006 | WO |
Entry |
---|
“Understanding GPS Principles and Appiicalbne ” Kaplan Elliot D. and Hegarty, Christopher J., Second Edition, Artech House. c. 2006. Sections 5.8 and 8.4.1.2 pp. 219-223 and pp. 399-400. |
International Preliminary Report on Patentability—PCT/US2010/040951, The International Bureau of WIPO—Geneva, Switzerland, May 30, 2011. |
International Search Report and Written Opinion—PCT/US2010/040951, International Searching Authority—European Patent Office, Nov. 4, 2010. |
Number | Date | Country | |
---|---|---|---|
20110001666 A1 | Jan 2011 | US |
Number | Date | Country | |
---|---|---|---|
61222797 | Jul 2009 | US |