The present invention relates generally to navigational receivers, and more particularly to systems and methods for determining receiver position without the need of timing information from navigational messages or aiding systems.
With the development of radio and space technologies, several satellites based navigation systems have already been built and more will be in use in the near future. One example of such satellites based navigation systems is Global Positioning System (GPS), which is built and operated by the United States Department of Defense. The system uses twenty-four or more satellites orbiting the earth at an altitude of about 11,000 miles with a period of about twelve hours. These satellites are placed in six different orbits such that at any time a minimum of six satellites are visible at any location on the surface of the earth except in the polar region. Each satellite transmits a time and position signal referenced to an atomic clock. A typical GPS receiver locks onto this signal and extracts the data contained in it. Using signals from a sufficient number of satellites, a GPS receiver can calculate its position, velocity, altitude, and time.
A GPS receiver has to acquire and lock onto at least four satellite signals in order to derive the position and time. Usually, a GPS receiver has many parallel channels with each channel receiving signals from one visible GPS satellite. The acquisition of the satellite signals involves a two-dimensional search of carrier frequency and the pseudo-random number (PRN) code phase. Each satellite transmits signals using a unique 1023-chip long PRN code, which repeats every millisecond. The receiver locally generates a replica carrier to wipe off residue carrier frequency and a replica PRN code sequence to correlate with the digitized received satellite signal sequence. During the acquisition stage, the code phase search step is a half-chip for most navigational satellite signal receivers. Thus the full search range of code phase includes 2046 candidate code phases spaced by a half-chip interval. The carrier frequency search range depends upon the Doppler frequency due to relative motion between the satellite and the receiver. Additional frequency variation may result from local oscillator instability.
Coherent integration and noncoherent integration are two commonly used integration methods to acquire GPS signals. Coherent integration provides better signal gain at the cost of larger computational load, for equal integration times.
The signals from the navigational satellites are modulated with navigational data at 50 bits/second. This data consists of ephemeris, almanac, time information, clock and other correction coefficients. This data stream is formatted as sub-frames, frames and super-frames. A sub-frame consists of 300 bits of data and is transmitted for 6 seconds. In this sub-frame a group of 30 bits forms a word with the last six bits being the parity check bits. As a result, a sub-frame consists of 10 words. A frame of data consists of five sub-frames transmitted over 30 seconds. A super-frame consists of 25 frames sequentially transmitted over 12.5 minutes.
The first word of a sub-frame is always the same and is known as TLM word and first eight bits of this TLM word are preamble bits used for frame synchronization. A Barker sequence is used as the preamble because of its excellent correlation properties. The other bits of this first word contains telemetry bits and is not used in the position computation. The second word of any frame is the HOW (Hand Over Word) word and consists of TOW (Time Of Week), sub-frame ID, synchronization flag and parity with the last two bits of parity always being ‘0’s. These two ‘0’s help in identifying the correct polarity of the navigation data bits. The words 3 to 10 of the first sub-frame contains clock correction coefficients and satellite quality indicators. The 3 to 10 words of the sub-frames 2 and 3 contain ephemeris. These ephemeris are used to precisely determine the position of the GPS satellites. These ephemeris are uploaded every two hours and are valid for four hours to six hours. The 3 to 10 words of the sub-frame 4 contain ionosphere and UTC time corrections and almanac of satellites 25 to 32. These almanacs are similar to the ephemeris but give a less accurate position of the satellites and are valid for six days. The 3 to 10 words of the sub-frame 5 contain only the almanacs of different satellites in different frames.
The super frame contains twenty five consecutive frames. While the contents of the sub-frames 1, 2 and 3 repeat in every frame of a superframe except the TOW and occasional change of ephemeris every two hours. Thus the ephemeris of a particular signal from a satellite contains only the ephemeris of that satellite repeating in every sub-frame. However, almanacs of different satellites are broadcast in-turn in different frames of the navigation data signal of a given satellite. Thus the 25 frames transmit the almanac of all the 24 satellites in the sub-frame 5. Any additional spare satellite almanac is included in the sub-frame 4.
The almanacs and ephemeris are used in the computation of the position of the satellites at a given time. The almanacs are valid for a longer period of six days but provide a less accurate satellite position and Doppler compared to ephemeris. Therefore almanacs are not used when fast position fix is required. On the other hand, the accuracy of the computed receiver position depends upon the accuracy of the satellite positions which in-turn depends upon the age of the ephemeris. The use of current ephemeris results in better position estimation than one based on non-current or obsolete ephemeris. Therefore it is necessary to use current ephemeris to get a precise satellite position and hence the receiver position.
A GPS receiver may acquire the signals and estimate the position depending upon the already available information. In the ‘hot start’ mode the receiver has current ephemeris and the position and time are known. In another mode known as ‘warm start’ the receiver has non-current ephemeris but the initial position and time are known as accurately as in the case of previous ‘hot start’. In the third mode, known as ‘cold start’, the receiver has no knowledge of position, time or ephemeris. As expected the ‘hot start’ mode results in low Time-To-First-Fix (TTFF) while the ‘warm start’ mode which has non-current ephemeris may use that ephemeris or the almanac resulting in longer TTFF due to the less accurate Doppler estimation or time required to download new ephemeris. The ‘cold start’ takes still more time for the first position fix as there is no data available to aid signal acquisition and position fix.
In a normal GPS receiver operation, the GPS timing is determined after acquiring a satellite signal and demodulating the navigation data in the satellite signal. The HOW word in the navigation data gives the time of the week. The time indicated by the HOW word of a frame corresponds to the start of the next sub-frame. Since the sub-frame duration is six seconds, the HOW increases by 1 for every six seconds or sub-frame. This time represents the time at which the particular sub-frame is transmitted from the satellite. Since very accurate atomic clocks are used in the satellites, the time represented by the navigation data is also accurate. Further, clock correction coefficients are also transmitted as a part of the navigation data and this is used to further improve the accuracy of the satellite derived timing. Therefore, this timing is usually used to determine the time duration for the satellite signal to travel from the satellite to the receiver and hence the pseudorange.
However, in some cases the satellite signal may be very weak and it may not be possible to demodulate the navigation data. A possible scenario is when the signal is acquired and bit edges are synchronized, but the bit polarity, i.e., whether the bit is 0 or 1, can not be determined. Under this condition the HOW word and the next sub-frame start point can not be determined. As a result the time determination is not possible. In addition to this, a highly accurate Real Time Clock (RTC), which may have a stability of 20 PPM or more, may not be available to the receiver. Under these conditions the receiver clock may be synchronized with a base station clock in an aided GPS system as explained in the U.S. Pat. Nos. 6,417,801, and 6,734,821, and published US application 2003/0107513. The total pseudorange is also based on the sub-millisecond pseudorange, but these references do not disclose the advantage of using Doppler measurements. These references include measurements from five satellites to solve the three co-ordinates of the receiver position, the receiver clock offset and the reference satellite integer number one millisecond ambiguity. On the other hand another U.S. Pat. No. 7,064,709 takes the Doppler into amount, but, like the previous set of references, does not take into account the bit synchronization. U.S. Pat. No. 6,215,442 and U.S. Pat. No. 5,812,087 disclose using the relative velocity between the SPS receiver and satellite to determine the system time and pseudorange residuals. In another embodiment, two overlapping data records are used to determine the time. U.S. Pat. No. 6,052,081 discloses using two overlapping data records to determine the time. U.S. Pat. No. 6,191,731 discloses determining the location based on linearized pseudoranges using a velocity enhanced method. U.S. Pat. No. 6,670,916 makes use of grid points and is applicable in cold start conditions. The system disclosed in this patent may also use third party data. U.S. Pat. No. 6,191,731 discloses a system based on velocity vectors. Published US application US 2005/0225483 uses assisted data and change of sampling rate.
Therefore, there is a need for system and methods that enable a navigation receiver to determine receiver position without the need for timing information from navigational satellites or aiding systems, thereby allowing the navigation receiver to operate under weak received signal conditions.
Provided herein are systems and methods that enable a navigation receiver to determine receiver position using a low ppm (Parts Per Million) Real Time Clock (RTC) under weak satellite signal reception conditions without the need for timing information from navigation satellites or aiding systems.
Under weak signal conditions, the receiver is unable to demodulate navigation data bits as either ‘0’ or ‘1’ but may be able to synchronize with the one ms PN sequences and 20 ms data bit edges of a received satellite signal. In this case, the receiver is unable to determine the signal travel time from the navigation data bits resulting in one ms and/or 20 ms integer ambiguities in the signal travel time.
Systems and methods are provided for resolving these one ms and/or 20 ms integer ambiguities in the travel time with knowledge of the fractional part of a one ms sequence. The resolved one ms and/or 20 ms integer ambiguities are used to correct or reconstruct the pseudorange measurements at the receiver. The reconstructed pseudorange measurements are used by the receiver to more accurately determine the receiver position. In an embodiment, Doppler measurements are used with pseudorange measurements to speed up the convergence under dynamic conditions. The use of the Doppler measurement also helps in resolving the one ms ambiguity when the bit synchronization is not stable, thus increasing the system reliability.
The above and other advantages of embodiments of this invention will be apparent from the following more detailed description when taken in conjunction with the accompanying drawings.
The I and Q components 107 and 108 are correlated in correlators 109 and 110, respectively, with a locally-generated PRN sequence generated by a PRN generator 111. The PRN-sequence corresponds to the satellite whose signal is being processed by the baseband section at that time. The PRN sequence generator is driven by code NCO 112. The local code frequency is made equal to the code rate of I and Q paths by corrective feedback from processor 113 to the code NCO 112. In addition, processor 113 sends a signal to PRN code generator 111 to set the starting phase of the locally generated code. The NCO 112 provides the correct clock signals to correlators 109 and 110. For example, NCO 112 provides a clock signal to generate two samples per PRN chip in the signal acquisition stage and three samples per chip during the tracking stage. SYS CLK 104 provides to NCO 105 and NCO 112 a common clock synchronization signal. The correlator outputs are then sent to processor 113 at every millisecond interval. The processor 113 is preferably a digital signal processor (DSP) core suitable for high speed arithmetic computations. Subsequent processing of the signals take place in the processor 113, as will be described in detail below. Additional details of the receiver baseband section described above are contained in U.S. patent application Ser. No. 11/123,861 filed on May 6, 2005, the specification of which is incorporated herein by reference.
In a satellite based navigation system such as GPS, the position of the receiver is computed based on the known distances of the receiver from four satellites. These distances are measured based on the travel time of a signal from the respective satellite to the receiver. The travel time multiplied by the speed of light gives the distance between the receiver and the satellite. However, even though the satellite clocks are very accurate, the receiver clocks are not accurate and, as a result, the computed distance is also not accurate. Therefore, the distance thus derived is called pseudorange. The bias in the receiver clock is usually removed by taking an additional measurement using the fourth satellite signal. Thus it is possible to obtain the accurate distances between the satellites and the receiver eventhough the receiver clock has a bias.
The satellite signals are transmitted by the satellites simultaneously and the time of transmission of the start of a sub-frame is available in the navigation data as Z-count or seconds of the week. Therefore, to obtain this timing information it is necessary to be able to decode the navigation data. A method of determining the pseudorange using the Z-count is illustrated in the
However, under weak signal conditions it may not be possible to decode the navigation data bits eventhough the PN sequence, data bit and frame synchronization may be obtained. In some other cases, waiting a maximum of 6 seconds may be too long. Under such conditions methods are needed to determine the pseudoranges with the partial information on the fractional one ms sequence synchronization data. In this case, the number of one ms sequences or the integer one ms sequence ambiguity involved in the pseudorange measurement has to be resolved. Further, the 20 ms data bit edges may be known and in such cases the ambiguity regarding the data bit or 20 ms ambiguity and the one ms sequence ambiguity has to be resolved. Thus, in the case of weak signal acquisition, it is possible to get data bit synchronization while it is difficult to get frame synchronization. That means it is possible to identify the location of a navigation bit but difficult to determine the status of the navigation bit, which makes frame synchronization impossible. Without frame synchronization, it is impossible to get the timing information from the satellite signals. The pseudorange measurement in this case will be within 20 milliseconds of the actual pseudorange. As mentioned above, the signal travel time from satellites to a typical receiver on the surface of the earth takes about 65 to 84 milliseconds. Thus the travel time has possible 65 to 83 one ms sequences and a partial sequence. The partial sequence length can be determined by observing the maximum PN sequence correlation value with the shift required to the local PN sequence to obtain the maximum correlation, i.e., the shift required for the locally generated PN sequence to correlate with the PN sequence of the received signal.
When the receiver is in tracking mode, Doppler measurements are available from the receiver. The receiver can make the Doppler measurements, e.g., based on adjustments or corrections made to the local frequency in order for the local frequency to track the frequency of the received signal. These Doppler measurements should be good enough for positioning needs.
A typical GPS receiver has a real-time clock (RTC) which can maintain a coarse receiver clock. With a 20 ppm crystal oscillator (XO), the receiver clock will develop 1-2 seconds bias per day. Let ti denote the receiver clock time with a few seconds bias relative to the GPS time, let τi denote the GPS time, and let Δti denote the receiver clock bias relative to the GPS time. The relationship between the GPS time τi and the receiver clock time ti can be represented as:
τi=ti+Δti (1)
The satellite clock bias ΔT(τi) at GPS time τi can be represented as:
ΔT(τi)=ΔT(ti+Δti)=ΔT(ti)+Δ{dot over (T)}(ti)·Δti (2)
where the right hand expression is derived by taking a Taylor series expansion of ΔT(τi+Δti) and retaining the first two terms of the expansion.
The pseudo-range R can be obtained from the GPS receiver when the GPS signal is very weak, in which case the pseudo-range R is offset by an integer number of 20 ms*c, where c is the speed of light. The pseudo-range measurement and Doppler measurement from the receiver can be represented as:
Rj(ti)+0.02·c·Nj=ρj(τi,{right arrow over (X)})+ΔTj(τi)·c+Δti·c (3)
Dj(ti)={dot over (ρ)}j(τi,{right arrow over (X)},{right arrow over ({dot over (X)})+Δ{dot over (T)}j(τi)·c+Δ{dot over (t)}i·c (4)
respectively, where
ρj(τi,{right arrow over (X)})=∥{right arrow over (r)}sj(τi−ρj/c)−{right arrow over (X)}(τi)∥ (5)
and where the terms above are defined as follows:
Equations (3) and (4) can be linearized by taking Taylor series expansions of Equations (3) and (4) at receiver time ti, receiver approximate position {right arrow over (X)}0 at time ti, and approximate velocity {right arrow over ({dot over (X)}0 at time ti. The approximate position {right arrow over (X)}0 is related to the receiver position {right arrow over (X)} by {right arrow over (X)} by {right arrow over (X)}={right arrow over (X)}0+Δ{right arrow over (X)}. The approximate receiver position {right arrow over (X)}0 can be determined, e.g., from the last recorded position of the receiver or by other means. Taylor series expansions of Equations (3) and (4) can be represented as:
in which the first two terms of the expansions are retained and the expansions are taken by replacing τi and {right arrow over (X)} in equations (3) and (4) with ti+Δti and {right arrow over (X)}0+Δ{right arrow over (X)}, respectively.
It is assumed that satellite ephemeris and clock parameters are available from other resources, e.g., ephemeris from a server, predicted ephemeris, or ephemeris previously received by the receiver at a time when the receiver could decode navigation data and stored in local memory.
Since the receiver clock bias and 20 ms ambiguities are highly correlated, the unknown parameters can be estimated with the following steps:
Step 1: Initial Coordinate Estimation and Relative Ambiguity Resolution
Choose one satellite as a reference satellite, denoted by the super-script ‘ref’, whose pseudorange observation can be written as:
Based on Equations (8), (9) and (10), the unknown parameters of Δ{right arrow over (X)}, Δ{right arrow over ({dot over (X)}, Δti, Δ{dot over (t)}i, {tilde over (X)}N
In order to reduce the computational load, the single differenced pseudorange measurements can also be formed by ignoring the second order small variables. This way, the unknown parameters can be reduced to Δ{right arrow over (X)} and ∇Nj only. For example, the approximate velocity and time bias variables may be ignored to reduce the computational load.
The estimated results of ∇Nj will be a float solution, while the nature of those variables should be integers. ∇Nj is different for different satellites, indexed by j, while ∇Nj is the same for the same satellite at different epochs.
The following search procedure will be needed to fix the float solutions to integer numbers:
(X∇N−∇N)TQX
where the vector X∇N is the float solution of ∇N which contains all ∇Nj results, and the QX
Once the ∇Nj is fixed, the Equation (10) will become:
where the correction of 0.02·c·ΔNj will be applied on Rj(ti).
Step 2: NRef Determination
Based on Equations (8), (9) and (14), the unknown parameters of Δ{right arrow over (X)}, Δ{right arrow over ({dot over (X)}, Δti, Δ{dot over (t)}i, {tilde over (X)}N
The estimated results of Nref will be a float solution, referred to as XN
XN
If the posteriori variance is small enough, XN
Once Nref is fixed to an integer number, Equation (9) can be written as:
Equation (13) can be re-written as:
where the correction of 0.02·c·Nref will be applied on all pseudorange measurements.
Step 3: Receiver Clock Estimation
Based on equations (8), (16) and (17), the unknown parameters of Δ{right arrow over (X)}, Δ{right arrow over ({dot over (X)}, Δti, Δ{dot over (t)}i can be estimated.
Once the receiver clock bias Δti has been estimated, the accuracy will be good enough to adjust the local receiver clock to the correct time.
Kalman filtering should also be used because both position and velocity will be estimated in Kalman filtering. The Kalman state vector consist of Δ{right arrow over (X)}, Δ{right arrow over ({dot over (X)}, Δti, Δ{dot over (t)}i, {tilde over (X)}N
The method above can be used to resolve one ms ambiguities if the bit synchronization is not stable. In this case, the one ms ambiguity can be represented as 0.001·c·N where N is an integer. In this way, the system reliability will be enhanced as well.
Although the present invention has been described in terms of the presently preferred embodiments, it is to be understood that the disclosure is not to be interpreted as limiting. Various alterations and modifications will no doubt become apparent to those skilled in the art after having read this disclosure. For example, although the above embodiments have been described using the GPS system as an example, the techniques and methods may be used for other global satellite navigational systems including GLONASS, Galileo, secondary systems such as WASS, EGNOS, and MSAS, as well as hybrids of the above systems. Accordingly, it is intended that the appended claims be interpreted as covering all alterations and modifications as fall within the spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
5148179 | Allison | Sep 1992 | A |
5451964 | Babu | Sep 1995 | A |
5726659 | Kee et al. | Mar 1998 | A |
5812087 | Krasner | Sep 1998 | A |
6052081 | Krasner | Apr 2000 | A |
6127968 | Lu | Oct 2000 | A |
6191731 | McBurney | Feb 2001 | B1 |
6215442 | Sheynblat | Apr 2001 | B1 |
6417801 | Diggelen | Jul 2002 | B1 |
6469663 | Whitehead et al. | Oct 2002 | B1 |
6670916 | Edwards | Dec 2003 | B2 |
6734821 | Diggelen | May 2004 | B2 |
6958726 | Abraham | Oct 2005 | B1 |
7064709 | Weisenburger | Jun 2006 | B1 |
7196660 | Abraham | Mar 2007 | B2 |
20040225438 | Draganov | Nov 2004 | A1 |
20060017611 | Hatch et al. | Jan 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20080303713 A1 | Dec 2008 | US |