Method for acquiring multiple satellites using previously explored search space
11592576 · 2023-02-28
Assignee
Inventors
Cpc classification
G01S19/393
PHYSICS
G01S19/37
PHYSICS
International classification
G01S19/37
PHYSICS
G01S19/39
PHYSICS
Abstract
A satellite positioning receiver includes a local oscillator, a front-end circuit with having an analog mixer, a number of signal processing channel circuits, and a processing circuit. The satellite positioning receiver performs a method that includes (i) acquiring a first satellite using a first frequency search space that spans both uncertainties due to the first satellite's orbit and uncertainties due to the clock bias or a time rate of change of the bias; and (ii) using the bias or the time derivative of the bias determined during the acquisition of the first satellite, acquiring a second satellite using a second frequency search space that spans substantially only uncertainties due to the second satellite's orbit.
Claims
1. A satellite positioning system receiver receiving a signal comprising a plurality of probe signals transmitted from a plurality of satellites, wherein the satellite system receiver carries out a pseudo-range determination relative to each satellite, the satellite positioning receiver comprising: a local oscillator having a bias in frequency that is reflected in each pseudo-range determination as a rate of change in a clock bias due to the satellite positioning system, wherein the local oscillator generates a signal of a predetermined frequency; a front-end circuit having an analog mixer that mixes the generated signal of predetermined frequency with the received signal to provide an intermediate frequency (IF) signal; a dispatch circuit that assigns, with respect to each probe signal, sections of the IF signal each to one of a plurality of categories; a plurality of signal processing channel circuits each receiving the IF frequency signal, wherein each signal processing channel circuit is configurable to determine a code delay and a doppler frequency associated with one of the probe signals, wherein each signal processing channel circuit comprises a plurality of accumulators, and wherein each accumulator is selected to accumulate sections of the IF frequency signal of the same assigned category with respect to the associated probe signal; and a processing circuit, wherein the processing circuit, using the signal processing channel circuits, carries out a method that comprises: (i) acquiring a first satellite using a first frequency search space that spans both uncertainties due to the first satellite's motion and uncertainties due to the time rate of change of the clock bias; (ii) determining the clock bias or the time rate of change of the clock bias based on the acquiring of the first satellite, taking any frequency uncertainty due to the first satellite as a variable separate from the clock bias; and (iii) using the clock bias or the time rate of change of the clock bias determined, acquiring a second satellite using a second frequency search space that spans substantially only uncertainties due to the second satellite's-motion.
2. The satellite positioning system receiver of claim 1, wherein the local oscillator comprises a temperature-compensated crystal oscillator.
3. The satellite positioning system receiver of claim 1, wherein the acquiring the first satellite provides a measurement of a distance from the first satellite which, along with satellite ephemeris data, is used to solve system state variables that include (i) an estimate of the receiver's position and (ii) an estimate of the clock bias or the time rate of change of the clock bias.
4. The satellite positioning system receiver of claim 3, wherein the system variables further comprise an estimate of the receiver's velocity.
5. The satellite positioning system receiver of claim 3, wherein code delays and doppler frequencies are determined in the signal processing channel circuits for a plurality of satellites.
6. The satellite positioning system receiver of claim 5, wherein solving the system state variables is achieved using a Kalman filter.
7. The satellite positioning system receiver of claim 6, wherein estimates of the clock bias, and atmospheric compensation factors are input variables to the Kalman filter.
8. The satellite positioning system receiver of claim 6, wherein the Kalman filter is based on a zero-mean Gaussian noise.
9. The satellite positioning system receiver of claim 6, wherein the estimate of the time derivative of the clock bias is updated in the Kalman filter using a linear function of one or more of the doppler frequencies.
10. In a satellite positioning system receiver that receives a signal comprising a plurality of probe signals transmitted from a plurality of satellites wherein the satellite positioning system receiver comprises a local oscillator that provides a signal of a predetermined frequency that is used to mix with the received signal to provide an intermediate frequency (IF) signal, the signal of the predetermined frequency having a bias in frequency that is reflected in a pseudo-range determination as a time rate of change of a clock bias due to the satellite positioning system receiver a method that comprises: (i) acquiring a first satellite using a first frequency search space that spans both uncertainties due to the first satellite's motion and uncertainties due to the time rate of change of the clock bias; wherein, during the acquiring of the first satellite, sections of the IF signal are each assigned to one of a plurality of categories, and wherein the sections assigned to each category are accumulated separately from the sections not assigned to that category; (ii) determining the clock bias or the time rate of change of the clock bias based on the acquiring of the first satellite, taking any frequency uncertainty due to the first satellite as a variable separate from the clock bias; and (ii) using the clock bias or the time derivative of the clock bias determined, acquiring a second satellite using a second frequency search space that spans substantially only uncertainties due to the second satellite's motion.
11. The method of claim 10, wherein the local oscillator comprises a temperature-compensated crystal oscillator.
12. The method of claim 11, wherein acquiring the first satellite provides a measurement of a distance from the first satellite which, along with satellite ephemeris data, is used to solve system state variables that include (i) an estimate of the receiver's position and (ii) an estimate of the clock bias or the time rate of change of the clock bias.
13. The method of claim 12, wherein the system state variables further comprise an estimate of the receiver's velocity.
14. The method of claim 12, wherein the code delays and doppler frequencies are determined in the signal processing channel circuits for a plurality of satellites.
15. The method of claim 14, wherein solving the system state variables is achieved using a Kalman filter.
16. The method of claim 15, wherein estimates of the clock bias, and atmospheric compensation factors are input variables to the Kalman filter.
17. The method of claim 15, wherein the Kalman filter is based on a zero-mean Gaussian noise.
18. The method of claim 15, wherein the estimate of the time derivative of the clock bias is updated in the Kalman filter using a linear function of one or more of the doppler frequencies.
19. The satellite positioning system receiver of claim 1, wherein the dispatch circuit assigns the sections of the IF signal according to a category scheme that is based on an estimated code delay.
20. The satellite positioning system receiver of claim 19, wherein the category scheme is further based on an estimated doppler frequency.
21. The method of claim 10, wherein the sections of the IF signal are assigned according to a category scheme that is based on an estimated code delay.
22. The method of claim 21, wherein the category scheme is further based on an estimated doppler frequency.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(11)
(12) IF signal 121 is then sampled (e.g., at 32 MHz) in analog-to-digital (ADC) circuit 103 to obtain digitized signal 123, which is then provided to each of channels 104-1, 104-2, . . . , and 104-n for detection in parallel. In many implementations, digitized signal 123 is provided in complex form—i.e., in in-phase (I) and quadrature (Q) representations (e.g., 2 bits in each of the I and Q components). The movement of the satellite relative to the receiver result in a shift f.sub.D in frequency (“doppler frequency”) in received signal 120. In many applications, the doppler frequency is typically determined to be in the ±5 KHz range. Typically, to detect received signal 120, at any given time, channels 104-1, 104-2, . . . , and 104-n each test as hypothesis both an estimated code delay and a doppler shift.
(13)
(14) Processor 180 of
(15) A highly efficient method for calculating the correlation is disclosed in the Related Application, which is incorporated by reference above. The Related Application teaches methods—one of which is illustrated herein in conjunction with
(16) In the disclosed methods of the Related Application, samples in each section of received signal 604 are accumulated in an accumulator corresponding to the category of the that section. For example, according to the categorization scheme in
(17) The present invention extends the methods of the Related Application to eliminate the need for a separate step that removes the doppler frequency.
(18) According to one embodiment of the present invention, received signal 604 of
(19) According to one embodiment of the present invention, the following method illustrates detection of a probe signal at an estimated code delay and an estimated doppler frequency: (i) dividing a period of the probe signal into sections of a predetermined duration; (ii) assigning to each section one of a plurality of code categories, each code category being indicative of a signal pattern of the probe signal within the section; (iii) selecting a plurality of phase categories for a sinusoidal signal, each phase category being indicative of a range of phases in the sinusoidal signal; (iv) receiving a signal from which the probe signal is to be detected; (v) dividing the received signal into sections each of the predetermined duration; (v) assigning each section of the received signal both a corresponding code category and a corresponding phase category, based respectively on the estimated code delay and the doppler frequency; and (vi) separately accumulating sections of the received signal according to the assigned code and phase categories of each section.
(20) Step (vi) may be carried out, for example, by providing an accumulator to each composite category (c, p), where c is a code category and p is a phase category. Such an arrangement takes advantage of parallelism to achieve high performance and efficiency.
(21) According to one embodiment of the present invention, the methods of the present invention may be carried out in a dedicated digital circuit, such as illustrated by digital circuit 300 of
(22) In some embodiments CPU 301 may be any general-purpose microprocessor or micro-controller (e.g., of ARM architecture), often available as configurable circuit module that can be directly integrated into a custom “system-on-a-chip” integrated circuit. In some embodiments, CPU 301 may be a custom control circuit capable of performing selected arithmetic and logic functions. According to one embodiment of the present invention, CPU 301 configures and controls the operations of the circuits in digital circuit 300. In some embodiments, processing circuit 304-1, 304-2, . . . and 304-n each include one or more accumulator circuits each suitable for use for accumulating samples in a section of a received signal, as described in further detail below. CPU 301 may allocate, for example, each such accumulator for use at any given time for accumulating sections of the received signal for a specified channel, a specified composite category and a specified pair of estimated code delay and estimated doppler frequency.
(23) Dispatch circuit 302 is a logic circuit that dispatches each section of the received signal to its assigned accumulator or accumulators for accumulation. As digital circuit 300 may be used to search for probe signals from multiple channels, each section of the received signal may be dispatched to numerous accumulators. Initially, CPU 301 may load into dispatch circuit 302 one or more PRN codes. Dispatch circuit 302 may divide a cycle of PRN code into the desired sections and categorize each section according to the predetermined code categories. Alternately, rather than providing PRN codes to dispatch circuit 302, CPU 301 may provide code category for each section of the PRN code cycle. In some embodiments, dispatch circuit may be provided gold code generators that can be configured to generate the desired PRN codes. Dispatch circuit 302 includes data registers for storing data required for assigning a section of received signal to composite categories of specified probe signals, based on the corresponding pairs of estimated code delay and estimated doppler frequency, and for dispatching the section of received signal to one or more of processing circuits 301-1, 301-2, . . . and 301-n for further processing
(24)
(25)
(26) As mentioned above, in each accumulator, a detected signal (i.e., the estimated code delay and the estimated doppler frequency are close to the actual code delay and the actual doppler frequency) results in the cumulative samples in each accumulator conform to the waveform of the corresponding bit transitions in the PRN code within the section.
(27) The distance (“pseudorange”) between the receiver and the position at which the received signal from transmitted from the satellite can be measured by the measured code delay times the speed of light c. If the receiver received the received signal at time t, then the satellite must have been transmitted from the satellite at GPS time t−τ, where τ is the actual code delay. The position of the satellite at GPS time t−τ may be accurately estimated from its ephemeris. The position and velocity of a receiver may be solved using measured pseudoranges of—typically—four or more satellites. The calculations involved may be carried out, for example, in processor 180 illustrated in
ρ.sup.k(t,t−τ)=r(t,t−τ)+c(δt.sub.r(t)+δt.sub.s(t−τ))+A.sup.k(t)+ε.sub.ρ.sup.k(t) (1)
where r(t, t−τ) is the actual pseudorange, δt.sub.r(t) and δt.sub.s(t−τ) are the clock biases in the receiver and the satellite, respectively, A.sup.k(t) represents the atmospheric delay compensation factors and ε.sub.ρ.sup.k(t) is a noise term, typically modeled as a Gaussian zero-mean noise. Collectively, the pseudoranges form pseudorange vector ρ(t) and their time derivatives form pseudorange time derivate vector {dot over (ρ)}(t).
(28) Receiver position and velocity vectors x and v may be modeled as system state variables of a dynamical system that may be solved using pseudorange vector ρ(t) and pseudorange time derivate vector {dot over (ρ)}(t), satellite ephemeris and statistical analysis techniques (e.g., a Kalman filter) known to those skilled in the art. See, e.g., Misra's section 6.2.
(29) Equation (1) above may be rewritten as:
ρ.sup.k(t,t−τ)=|x.sup.k−x|+c(δt.sub.r(t)+δt.sub.s(t−τ))+A.sup.k(t)+ε.sub.ρ.sup.k(t) (2)
where |x.sup.k−x| is the actual pseudorange—expressed here as the Euclidean distance between satellite position vector x.sup.k and receiver position vector x. The time derivative of equation (2) relates satellite velocity vector υ.sup.k with receiver velocity vector v:
{dot over (ρ)}.sup.k(t,t−τ)=|υ.sup.k−v|+c({dot over (δ)}t.sub.r(t)+{dot over (δ)}t.sub.s(t−τ))+{dot over (A)}.sup.k(t)+{dot over (ε)}.sub.ρ.sup.k(t) (3)
(30) Thus, for each satellite, the observed doppler frequency—which is linearly related to the time rate of change of the pseudorange—is the sum of relative velocity (υ.sup.k−v) along the line-of-sight between the satellite and the receiver, satellite and receiver clock bias rates {dot over (δ)}t.sub.r(t) and {dot over (δ)}t.sub.s(t−τ), and atmospheric compensation factors rate {dot over (A)}.sup.k(t). Among these doppler components, relative to receiver clock bias rate {dot over (δ)}t.sub.r(t) and relative line-of-sight velocity |υ.sup.k−v|, satellite clock bias rate {dot over (δ)}t.sub.s(t−τ) and atmospheric compensation factors rate {dot over (A)}.sup.k(t) are typically small, assuming a high quality clock in the satellite and a relatively slow-changing meteorological model. As discussed above, IF signal 121 is the result of mixing the received signal with a fixed frequency signal generated by local oscillator 125 (typically, an TXCO). The stability of oscillator 125 is reflected in receiver clock bias rate {dot over (δ)}t.sub.r(t). The uncertainty in relative velocity |υ.sup.k−v| is dominated by satellite motion; this uncertainty is typically in the order of 100 KHz. The uncertainty in receiver clock bias rate {dot over (δ)}t.sub.r(t), however, may be considerably larger.
(31) To reduce frequency search space 502, the prior art requires a high quality TXCO with a known limited drift, which adds additional cost to the receiver. However, this approach may render the receiver prohibitively expensive for may applications, such as IoT applications. Observing that the uncertainty due to the TCXO in the receiver is common to all satellites, a method according to the present invention requires the full extent of frequency search space 502 only during the initial acquisition of the first satellite in a cold start or warm start. Once the first satellite is successfully acquired, the values of receiver clock bias δt.sub.r(t) and receiver clock bias rate {dot over (δ)}t.sub.r(t), together with their respective variances, as determined during the initial acquisition of the first satellite, are used in all subsequent satellite acquisitions. By this approach, the uncertainties—other than the uncertainties in the relative velocities of the respective satellites—are substantially removed, such that the likely required frequency search space spans only frequency search space 501. This method may be summarized as follows: (i) initializing receiver position and velocity vectors x and v to best initial estimates, using a system model that includes receiver position and velocity vectors x and v, and receiver clock bias δt.sub.r(t) and receiver clock bias rate {dot over (δ)}t.sub.r(t) as state variables of the system model; (ii) acquiring a first satellite using a first frequency search space that spans both uncertainties due to the first satellite's orbit and uncertainties due to receiver clock bias δt.sub.r(t) and receiver clock bias rate {dot over (δ)}t.sub.r(t); (iii) setting the internal states corresponding to receiver clock bias δt.sub.r(t) and receiver clock bias rate {dot over (δ)}t.sub.r(t) to their respective estimates obtained during the acquisition of the first satellite; (iv) acquiring a second satellite using a second frequency search space that spans substantially only uncertainties due to the second satellite's orbit.
(32) In some embodiments of the present invention, a Kalman filter implements the system model in which receiver position and velocity vectors x and ν, and receiver and satellite clock biases δt.sub.r(t) are system state variables. In some embodiments, satellite clock biases δt.sub.s(t−τ), and atmospheric compensation factors A.sup.k(t) and other factors affecting the measured pseudoranges may be provided as input variables, or separately handled. In the Kalman filter, system state variables x and v, and receiver clock bias δt.sub.r(t) and receiver clock bias rate {dot over (δ)}t.sub.r(t), and their covariances are predicted from their corresponding current estimates and a noise model. These current estimates of the system variables and their covariances are, in turn, updated using their respective most recent estimates and measurements of pseudoranges and doppler frequencies of the respective satellites. For example, the current estimate of receiver clock bias rate {dot over (δ)}t.sub.r(t) may be updated by a linear function of its most recent estimate and the measured dopplers.
(33) The above detailed description is provided to illustrate specific embodiments of the present invention and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the claims below.