System and method for deriving the position of a receiver from signals broadcast by satellites.

Abstract: A GPS receiver (10) comprises a phase-error derivation circuit (16) which derives the average phase-error over a predetermined period. The phase-error derivation circuit sends an average phase difference signal to a numerically controlled oscillator (18) to control its clock rate. Deriving the average phase error over the predetermined period makes it possible to derive the phase error between the Gold code sequence from the satellite and the Gold code sequence derived by the local Gold code generator precisely.

Description: The present invention relates to a system and a method for deriving the position of a receiver system by using spread spectrum signals transmitted by satellites and made of a repeating pulse epoch. Such satellites are generally the ones as used in the NAVSTAR global positioning system (GPS/ NAVSTAR). The spread spectrum signals generally use a gold code. There is presently under development a position detection system, referred to as NAVSTAR Global Positioning System, wherein a constellation of eighteen orbiting satellites transmit pseudo-random ranging signals (hereafter referred to as ''PRN signals'') from which users with appropriate equipment can obtain three-dimentional location, velocity and timing information anywhere on or near the surface of the Earth. The details of the NAVSTAR/GPS are given in ''NAVIGATION'', Journal of the Institute of Navigation, Volume 25, Number 2, December, 1978. In this system which will eventually be put into operation, the eighteen satellites will be deployed in circular 10,900-nautical-mile orbits in three mutually-inclined planes. A minimum of four satellites will be in twelve-hours orbits and the position of each satellite at any time will be precisely known. The longitude, latitude and altitude of any point close to Earth, with respect of the center of the Earth can be calculated from the propagation times of electromagnetic signals from four of the satellites to that point. A signal about a single center frequency from each visible satellite will be received by a user terminal at a point close to Earth to measure propagation times of the electromagnetic signals transmitted by the satellites. The satellites from which the signals originate are identified by modulating the signal transmitted from each satellite with pseudo-random coded signals. The GPS system will operate in two modes simultaneouly. In one mode, referred to as the clear-acquisition (C/A) mode, the PRN signal is a Gold code sequence that is repeated once every millisecond to enable the position of the receiver responsive to the signal transmitted from four of the satellites to be determined to an accuracy of 100 meters. In a second mode, referred to as the precise or protected (P) mode, pseudo-random codes are transmitted with sequences that are 7-days long, enabling the user terminal position to be determined to an accuracy of better than 10 meters. It should be noted that, throughout the following disclosure, the word ''Gold code'' generally means the PRN signal used in C/A mode but may also refer to the pseudo-random code used in P mode. When computing the user terminal position, the receiver will operate in three modes, viz, signal acquisition, signal tracking and position fixing. In the acquisition mode, the receiver must know, approximately, its location and have available a recent version of the GPS almanac. For acquisition, Doppler estimates must then be computed for the subset of GPS satellites with the best geometry, i.e., the four satellites with the greatest elevation, typically above 20 o as observed by the given terminal. This leaves the GPS demodulator with a GPS carrier frequency uncertainty of several hundred hertz. For the receiver to generate locally a carrier reference to this accuracy, however, requires an oven-stabilized L-Band synthesizer. To enable the receiver to separate the C/A signals received from the different satellites, the receiver also contains a number of different Gold code reference sources corresponding to the number of satellites in the constellation. The locally derived code and carrier references are cross-correlated with received GPS signals over one or more Gold code sequence intervals. The receiver shifts the phase of the locally derived Gold code sequence on a chip-by-chip basis and within each chip in 0.5-1.0 microsecond steps, spanning one millisecond code periods for the C/A code until the maximum cross-correlation is obtained. The chipping rate of a pseudo-random sequence is the rate at which the individual pulses in the sequence are derived and therefore is equal to the code repetition rate divided by the number of chips in the code. Each pulse in the code is referred to as a chip. In the tracking mode, code delay is tracked continuously and an aligned or ''punctual'' code stream is generated. This is implemented with either a delay lock loop or by means of the tau-dither technique. In either case, the result is a continuously tracked code generator with delay error on the order of 0.1 microsecond. Secondly, initial Doppler uncertainty must be further reduced. This is done by stepping the frequency synthesizer and measuring the correlator output. Once the Doppler uncertainty is reduced to 10-20 Hz, the carrier phase and the raw GPS data messages are recovered using a Costas loop and the aforementioned punctual code. After four locally derived Gold code sequences are locked in phase with the Gold code sequences received from the satellites in the field of view of the receiver, the position, velocity and time associated with the receiver as well as other variables of interest can, upon further local processing of the GPS data messages, be determined. Position accuracy may be obtained to about 100 meters. This data processing requires storage in the terminal of ephemeris parameters, updated hourly, together with a software model for the GPS satellite orbits, to allow computation in real time of satellite coordinates for correspondence with time of arrival of GPS satellite-generated pseudo-range data. In such GPS receivers, the Gold code sequence transmitted by the different satellites are arranged so that a maximum cross-correlation product between any two of them is about 65, whereas the autocorrelation product of an internal Gold code generator which produces the local Gold code sequence and the Gold code sequence transmitted from one of the satellite is 1023. The correlation value is defined, for this purpose, as the number of identical bits in a 1023-bit epoch of a Gold code sequence. When the phase of a local Gold code generator is adjusted so that the maximum cross-correlation value is derived, the locally derived Gold code sequence has the same phase as the Gold code sequence that is coupled to the receiver, whereby the time of the local code can be used to help derive the position of the receiver. The GPS receivers use conventional delay-locked loops to adjust the phase of the local Gold code generator. A delay-locked loop comprises a correlation circuit, a phase error derivation circuit, a voltage-controlled oscillator and the local Gold code generator. The correlation circuit produces a correlation output when the local Gold code sequence from the local Gold code generator correlates well with the Gold code sequence from the satellite. The phase error derivation circuit responds to this correlation output by outputting a phase error signal. The voltage-controlled oscillator is controlled by a clock signal with a variable oscillation frequency related to the phase error signal. This holds the two Gold codes in phase. In such conventional GPS receivers, since the controlling oscillator in a loop which controls the local Gold code generator based on the phase error between the Gold code sequence received from the satellite and the local Gold code derived by the local Gold code generator, which loop will be referred to as the ''PN-locking loop'', is made up of analog circuitry, such as a voltage-controlled oscillator, it prevents full integration of the circuitry of the GPS receiver. Therefore, it is desired to implement the PN-locking loop solely in digital circuitry. In such digital circuitry, a numerically controlled oscillator (NCO) may be employed. However, if an NCO were employed in the PN-locking loop, delicate control of the local Gold code generator would be impossible. For instance, assuming the oscillation frequency of the NCO is f s , phase control at a precision finer than 1/f s would be impossible. A method for deriving the position of a receiver system from a spread spectrum signal transmitted by a satellite and made of a repeating pulse epoch is disclosed by P.C. Ould and R. J. VanWechel in an article "All-Digital GPS Receiver Mechanization", published in NAVIGATION, Vol. 28, No. 3, Fall 1981, pages 178 - 182. This method comprises the following steps: receiving said spread spectrum signals (S IN ); generating a local spread spectrum signal (S PN ) made of a repeating pulse epochs, said local signal matching the spread spectrum signal from a satellite; comparing said spread spectrum signal (S IN ) from said satellite with said locally generated signal (S PN ), and producing a correlation signal (S₁) when correlation therebetween is established. The related receiver system comprises means for performing these steps. In the just mentioned method and system, the sampling frequency used for the spread spectrum signals is approximately two samples per code chip, but is not synchronous with the chip frequency. This decreases the phase error against the phase error as obtained in the above discussed case. It is the object of the present invention to provide a system and a method for deriving the position of a receiver from signals broadcast by satellites, which system and method have highly accurate synchronization and propagation time measurement. The method of the present invention comprises the steps as listed above in discussion of the mentioned article, and it is characterized in that it further comprises the steps of: deriving the average phase error, in response to said correlation signal, between said spread spectrum signal from said satellite and said locally generated signal over predetermined periods of time matching the pulse epoch intervals of the spread spectrum signals, and producing an average phase error signal; adjusting the phase of said locally generated spread spectrum signal so as to reduce said phase error on the basis of said phase error signal; and deriving a basic propagation time value of said spread spectrum signal measured between the known time at which a given epoch pulse is transmitted from said satellite and the timing of the corresponding epoch pulse of said locally generated spread spectrum signal, and for correcting said basic propagation time value based on said average phase error signal value, on the value of the predetermined periods of time and on the value of the corresponding periods of time of the locally generated signal, to derive a correct propagation time, and thereafter derive the distance of said receiver system (10) from said satellite. The receiver system of the present invention comprises means for performing these steps. Deriving the average phase error over the predetermined period of time makes it possible to derive precisely the phase error between the gold code sequence from the satellite and the gold code sequence supplied by the local gold code generator. The present invention will be understood more fully from the detailed description given here below and from the accompanying drawings of the preferred embodiment of the present invention, which, however, should not be taken to limit the invention to the specific embodiment but are for explanation and understanding only. In the drawings: Fig. 1 is a block diagram of the preferred embodiment of a PN-locking loop in a GPS receiver according to the present invention; and Fig. 2 is an explanatory chart showing the relationship between the Gold code sequence from a satellite and a local Gold code derived by a local Gold code generator in the PN-locking loop of Fig. 1. Referring now to the drawings, particularly to Fig. 1, a GPS receiver 10 has a looped circuit including a correlation circuit 12, a band-pass filter 14, a phase-error derivation circuit 16, a numerically controlled oscillator 18 and an internal or local Gold code generator 20. The local Gold code generator 20 generates a local Gold code sequence S PN made up of repeating epochs at known intervals, which local Gold code sequence will be hereafter referred to as the ''local code''. The local Gold code sequence matches a Gold code sequence S IN received from a satellite, which will be hereafter refereed to as the ''satellite code''. The correlation circuit 12 comprises a multiplier which receives both the satellite code S IN and the local code S PN for correlation thereof. The correlation circuit 12 produces a correlation output S₁ when correlation between the satellite code and the local code is established. The phase-error derivation circuit 16 responds to the correlation output S₁ from the correlation circuit 12 by deriving the magnitude Δø of phase error between the satellite code S IN and the local code S PN . The phase-error derivation circuit 16 outputs a phase-error signal S Δø to the numerically controlled oscillator 18. The oscillation frequency f s of a clock signal generated by the numerically controlled oscillator 18 is controlled on the basis of the phase-error signal. The clock controls the phase of the local Gold code generator 20. This holds the satellite code S IN and the local code S PN in phase. Under phase-locked conditions, the epoch of the satellite code, which repeats at regular intervals, is sent to a propagation time measuring circuit 22. The propagation time measuring circuit 22 derives a propagation time value based on the delay of the epoch of the satellite code relative to the epoch of the local code. According to the preferred embodiment of the GPS receiver according to the present invention, the phase-error derivation circuit 16 is digital. Therefore, in order to make the correlation output S₁ of the correlation circuit 12 transmitted through the band-pass filter 14 applicable to the digital phase-error derivation circuit 16, an analog-to-digital (A/D) converter 24 is installed between the band-pass filter 14 and the phase-error derivation circuit 16. The phase-error derivation circuit 16 derives a value indicative of the phase error Δø between the satellite code S IN and the local code S PN . The phase-error derivation circuit 16 integrates the phase-error indicative values over one epoch cycle TE2 N of the satellite code to derive an average phase error value Δø N and produce a corresponding average phase-error signal S Δø . The phase-error derivation circuit 16 sends the average phase-error signal S Δø to the numerically controlled oscillator 18. Derivation circuit 16 has an internal clock generator which outputs a sampling clock SCLK to the A/D converter 24. The frequency of the sampling clock SCLK is selected to be sufficiently high to enable the A/D converter 24 to convert the correlation output S₁ of the correlation circuit 12 into a digital signal. The numerically controlled oscillator 18 receives a clock f s which has a frequency of 40 nsec. for example. The numerically controlled oscillator 18 derives a pulse rate based on the average phase-error signal S Δø and produces a clock S CL with the derived pulse rate. The phase of the local code S PN produced by generator 20 is controlled by the clock S CL from the numerically controlled oscillator 18. The local Gold code generator 20 produces each epoch EP i (EP N-1 , EP N ....) of the local code. Upon generating each epoch, the local Gold code generator 20 outputs a timing signal TIM to the propagation measuring circuit 22. The propagation time measuring circuit 22 also receives the clock f s and the phase-error signal S Δø besides the timing signal TIM and derives the propagation time at every occurence of the epoch, i.e. every 1 msec. The propagation time derivation process performed by the propagation time measuring circuit 22 will be descibed herebelow with reference to Fig. 2. In Fig. 2, Fig. 2(A) shows the transmission timing of the Gold code S in the satellite. The Gold code S is made up of epochs EP N-1 , EP N ... repeating at known intervals. e.g. 1 msec. The satellite code S IN (Fig. 2(B) is received by the GPS receiver 10 after a propagation time TPD1 N-1 , TPD1 N ... The GPS receiver 10 controls the phase of the local Gold code generator 20 so that the phase of the local code S PN (Fig. 2(c) approaches the phase of the satellite code S PN to the extent possible. However, due to the limit of phase-error adjustment in the numerially controlled oscillator 18, the phase of the local code S PN cannot be adjusted relative to the satellite code S IN beyond the resolution of the clock frequency f s . Therefore, the local code S PN is still subject to a slight phase error Δø N-1 , Δø N relative to the satellite code. The difference between phase errors Δø N-1 , Δø N at the measuring points N-1 and N at which epochs in the sattelite code start can be expressed by the following equation: Δø N-1 - Δø N = TE₁ - TE₂ (1) where TE₁ is the interval between the epochs EP N-1 and EP N of the satellite code S IN ; and TE₂ is the interval between the epochs EP N-1 and EP N of the local code S PN . Assume that the phase errors vary linearly. Since the interval TE₀ between the epochs EP N-1 and EP N of the Gold code S generated by the satellite is 1 msec., the average phase-error Δø N can be expressed as: Δø N = (Δø N-1 + Δø N )/2 (2) From the foregoing equations (1) and (2), the phase-error Δø N can be calculated by: Δø N = Δø N + (TE 2N - TE₁)/2 (3) Therefore, by subtracting the phase error Δø N derived from the equation (3) from the propagation time TPD 2N which is measured by counting clock pulses f s , the actual propagation time TPD₁ can be obtained from the following equation: Accordingly, the propagation time deriving circuit 24 solves formula (4) in order to derive the actual propagation time TPD 1N . The propagation time deriving circuit 24 counts the clock pulse f s from the known timing at which the epoch EP N is transmitted from the satellite until the timing signal TIM from the local Gold code generator 20, in order to measure the propagation time TPD 2N . At the same time, the propagation time deriving circuit 24 counts the clock pulse f s in response to the timing signal TIM to derive the epoch cycle TE 2N . Since the numerically controlled oscillator 18 controls the phase of the Gold code S PN in response to the clock f s , the timing signal TIM can be produced in synchronism with timing of the clock f s . Therefore, there cannot be an error between the propagation time TPD 2N and the epoch cycle TE 2N . The propagation time deriving circuit 24 also receives the average phase-error signal S Δø from the phase-error derivation circuit 16, as set forth above. In the shown embodiment, since the epoch cycle of the satellite code S IN will never fluctuate significantly, the epoch cycle TE₁ may be regarded as being constant. As will be appreciated herefrom, according to the shown embodiment, an accurate propagation time value TPD 1N can be obtained by solving formula (4). On the other hand, the numerically controlled oscillator 18 is responsive to the average phase-error signal S Δø from the phase-error derivation circuit 16 to adjust its pulse frequency so that the local code S PN and the satellite code S IN can be held in phase. The preferred embodiment of the GPS receiver makes the accuracy of the derived propagation time value TPD 1N substantially higher than ± 1/f s , since, as a first fact, the propagation time TPD 2N and the epoch cycle TE 2N can be measured by counting the clock pulse f s without error. In addition, since the epoch cycle TE₁ of the satellite code S I has substantially no quantization error, the constant value can be used in the foregoing calculations of the actual propagation time without causing any problems. Furthermore, correction of the propagation time by reference to the average phase error between the satellite code and the local code allows digital circuits to be used in the GPS receiver without degrading accuracy of measurement. The use of digital IC circuits for deriving phase-error and controlling the local Gold code generator lowers the production costs significantly. It should be noted that, although the shown embodiment has assumed the epoch cycle of the satellite code to be constant, it would be possible to correct the epoch cycle TE₁ of the satellite code S IN by detecting the chip frequency of the satellite code and deriving a correction value based on the chip frequency detected by the phase-error derivation circuit. After correcting for the epoch cycle of the satellite code, the influence of Doppler shift is fully eliminated. Therefore, the present invention fulfills all of the objects and advantages sought therefor.

Claims: A receiver system (10) for deriving the position of said receiver system from spread spectrum signals broadcast by satellites and made of a repeating pulse epoch, said system comprising: means for receiving said spread spectrum signals (SI N ); means (20) for generating a local spread spectrum signal (S PN ) matching said spread spectrum signal from a satellite and being made of a repeating pulse epoch, said local signal matching said signal from said satellite; means (12) for correlating said spread spectrum signal (S IN ) from said satellite with said locally generated signal (S PN ) and for producing a correlation signal (S₁) when correlation therebetween is established; the system being characterized in that it comprises: means (16) responsive to said correlation signal from said correlating means (12) for deriving the average phase error between said spread spectrum signal (S IN ) from said satellite and said locally generated signal (S PN ) over predetermined periods of time matching the pulse epoch intervalls of the spread spectrum signals, and for producing an average phase error signal; means (18) responsive to said average phase error signal for controlling said local spread spectrum signal generating means to adjust the phase of said locally generated spread spectrum signal so as to reduce said phase error; and means (24) for deriving a basic propagation time value of said spread spectrum signal measured between a known timing at which a given epoch pulse is transmitted from said satellite and the timing of the corresponding epoch pulse of said locally generated spread spectrum signal, and for correcting said basic propagation time value based on said average phase error signal value, on the value of said predetermined periods of time, and on the value of the corresponding periods of time of the locally generated signal to derive a correct propagation time, and thereafter deriving the distance of said receiver system from said satellite. The receiver system as set forth in claim 1, wherein said means (18) for controlling said internal spread spectrum signal generating means comprises a digital circuit. The receiver system as set forth in claim 2, wherein said means (16) for deriving said average phase-error comprises a digital circuit. The receiver system as set forth in claim 3, wherein said means (18) for controlling said internal spread spectrum signal generating means comprises a numerically controlled oscillator. The receiver system as set forth in claim 4, which further comprises a clock generator (18) and said means for controlling said local spread spectrum signal generating means controls the pulse frequency of a clock signal generated by said clock generator for controlling the phase of said locally generated spread spectrum signal. A method for deriving the position of a receiver system (10) from spread spectrum signals transmitted by satellites and made of a repeating pulse epoch; said method comprising the steps of: receiving said spread spectrum signals (S IN ); generating a local spread spectrum signal (S PN ) made of repeating pulse epochs, said local signal matching the spread spectrum signal from a satellite; comparing said spread spectrum signal (S IN ) from said satellite with said locally generated signal (S PN ), and producing a correlation signal (S₁) when correlation therebetween is established; the method being characterized in the following steps: deriving the average phase error, in response to said correlation signal, between said spread spectrum signal from said satellite and said locally generated signal over predetermined periods of time matching the pulse epoch intervals of the spread spectrum signals, and producing an average phase error signal; adjusting the phase of said locally generated spread spectrum signal so as to reduce said phase error on the basis of said phase error signal; and deriving a basic propagation time value of said spread spectrum signal measured between the known time at which a given epoch pulse is transmitted from said satellite and the timing of the corresponding epoch pulse of said locally generated spread spectrum signal, and for correcting said basic propagation time value based on said average phase error signal value, on the value of said predetermined periods of time and on the value of the corresponding periods of time of the locally generated signal, to derive a correct propagation time, and thereafter derive the distance of said receiver system (10) from said satellite. The method as set forth in claim 6, wherein said step of controlling the phase of said internal spread spectrum signal is performed by means of a digital circuit. The method as set forth in claim 7, wherein said step of deriving said average phase-error is performed by a digital circuit. The method as set forth in claim 8, wherein said step of controlling the phase of said internal spread spectrum signal is performed by a numerically controlled oscillator.

Inventors: FUJITA, MASAHIRO C/O SONY CORPORATION, HORI, KATSUYA C/O SONY CORPORATION
Applicants: SONY CORPORATION
Application year: 1985
Main classification: G01S11
IPC codes: H03L7, G01S1, G01S11, G01S19