US-12618980-B2 - Aggregated vector and clock tracking in a GNSS receiver
Abstract
A system for navigating a mobile object receives satellite navigation signals from a plurality of satellites. Using one or more of the satellite navigation signals from the plurality of satellites, for each respective channel of a plurality of channels, the system generates an estimate of clock error of a clock of the mobile object using a first error correction stage and generates an estimate of a respective carrier tracking error for the respective channel using a second error correction stage that is distinct from the first error correction stage. In accordance with the estimate of the clock error and the estimate of the respective carrier tracking error for each of the plurality of channels, the system computes position and velocity estimates for the mobile object. The system performs a navigation function for the mobile object in accordance with the computed position and velocity estimates for the mobile object.
Inventors
- Wei Yu
- Richard G. Keegan
- David Man Kui Li
- Mark P. Kaplan
- Brian C. Goodrich
Assignees
- DEERE & COMPANY
Dates
- Publication Date
- 20260505
- Application Date
- 20221014
Claims (16)
- 1 . A navigation module for a mobile object, comprising: one or more processors; a satellite receiver to receive satellite navigation signals from a plurality of satellites; a plurality of channel tracking loops, each channel tracking loop of the plurality of channel tracking loops corresponding to a respective channel of a plurality of channels and having a first error correction stage and a second error correction stage, wherein each channel tracking loop processes a corresponding satellite navigation signal of the received satellite navigation signals and is configured to: generate an estimate of clock error of a clock of the mobile object using a first error correction stage of the respective channel; and generate an estimate of a respective carrier tracking error for the respective channel using a second error correction stage of the respective channel that is distinct from the first error correction stage of the respective channel, wherein: the estimate of the clock error is generated at a first rate and the estimate of the respective carrier tracking error for each of the plurality of channels is generated at a second rate that is slower than the first, and in a respective channel tracking loop of the plurality of channel tracking loops, the first error correction stage of the respective channel is decoupled from an output of the second error correction stage of the respective channel; a navigation application module configured to: in accordance with the estimate of the clock error and the estimate of the respective carrier tracking error for each of the plurality of channels, compute position and velocity estimates for the mobile object; and perform a navigation function for the mobile object in accordance with the computed position and velocity estimates for the mobile object.
- 2 . The navigation module of claim 1 , wherein each channel tracking loop is further configured to: generate an estimate of a line of sight Doppler error for the respective channel using the first error correction stage of the respective channel, wherein the estimate of the clock error is based at least in part on the line of sight Doppler error for the respective channel.
- 3 . The navigation module of claim 1 , wherein the plurality of channel tracking loops are integrated on and executed by an application-specific integrated circuit (ASIC).
- 4 . The navigation module of claim 1 , wherein, in a respective channel tracking loop of the plurality of channel tracking loops, the second error correction stage of the respective channel is decoupled from an output of the first error correction stage of the respective channel.
- 5 . The navigation module of claim 1 , wherein, in a respective channel tracking loop of the plurality of channel tracking loops, the first error correction stage of the respective channel includes a first accumulator and the second error correction stage of the respective channel includes a second accumulator that is distinct from the first accumulator.
- 6 . The navigation module of claim 5 , wherein the first accumulator, in a respective channel tracking loop of the plurality of channel tracking loops, produces a first accumulation signal that is fed to a clock tracking loop.
- 7 . The navigation module of claim 6 , wherein, each channel of the plurality of channels processes a corresponding satellite navigation signal of the received satellite navigation signals and includes a corresponding channel tracking loop of the plurality of channel tracking loops; and, the second accumulator in a respective channel tracking loop of the plurality of channel tracking loops produces a second accumulation signal that is used to generate a local code signal and local carrier signals that are used to demodulate a satellite navigation signal, of the received satellite navigation signals, corresponding to the respective channel tracking loop.
- 8 . The navigation module of claim 7 , wherein the second accumulation signal is fed to the clock tracking loop to remove a sign ambiguity resulting from data overlayed on a satellite navigation signal processed by the respective channel.
- 9 . The navigation module of claim 7 , wherein the second accumulation signal is further fed back to a channel tracking loop of the respective channel.
- 10 . The navigation module of claim 7 , wherein the first error correction stage of the respective channel comprises a first numerically-controlled oscillator (NCO) and the second error correction stage of the respective channel comprises a second NCO that is distinct from the first NCO.
- 11 . The navigation module of claim 10 , wherein the second accumulation signal is further fed back to a channel tracking loop of the respective channel and the channel tracking loop of the respective channel includes a local code replica generator that includes a third NCO distinct from the first NCO and the second NCO.
- 12 . The navigation module of claim 1 , wherein a carrier tracking loop of the respective channel comprises a phase-locked loop.
- 13 . A method for navigating a mobile object according to signals from satellites, the method comprising: at the mobile object, receiving satellite navigation signals from a plurality of satellites; for each respective channel of a plurality of channels, processing a corresponding satellite navigation signal of the received satellite navigation signals, the processing of the corresponding satellite navigation signal including: generating an estimate of clock error of a clock of the mobile object using a first error correction stage of the respective channel; generating an estimate of a respective carrier tracking error for the respective channel using a second error correction stage of the respective channel that is distinct from the first error correction stage of the respective channel, wherein: the estimate of the clock error is generated at a first rate and the estimate of the respective carrier tracking error for each of the plurality of channels is generated at a second rate that is slower than the first, and in a respective channel tracking loop of the plurality of channel tracking loops, the first error correction stage of the respective channel is decoupled from an output of the second error correction stage of the respective channel; in accordance with the estimate of the clock error and the estimate of the respective carrier tracking error for each of the plurality of channels, computing position and velocity estimates for the mobile object; and performing a navigation function for the mobile object in accordance with the computed position and velocity estimates for the mobile object.
- 14 . The method of claim 13 , further including for each respective channel of a plurality of channels: generating an estimate of a line of sight Doppler error for the respective channel using the first error correction stage of the respective channel, wherein the estimate of the clock error is based at least in part on the line of sight Doppler error for the respective channel.
- 15 . The method of claim 13 , wherein the estimate of clock error of the clock of the mobile object and the estimate of the respective carrier tracking error for each of the plurality of channels is generated using an application-specific integrated circuit (ASIC) of the mobile object.
- 16 . The method of claim 13 , wherein the second error correction stage of the respective channel is decoupled from an output of the first error correction stage of the respective channel.
Description
RELATED APPLICATION This application claims priority to U.S. Provisional Application No. 63/295,429, filed Dec. 30, 2021, which is incorporated herein by reference in its entirety. TECHNICAL DATA FIELD The disclosed embodiments relate generally to satellite communications. More particularly, the disclosed embodiments relate to clock and carrier signal tracking in a GNSS receiver. BACKGROUND Receivers in global navigation satellite systems (GNSS's), such as the Global Positioning System (GPS), use range measurements that are based on line-of-sight signals from satellites. The signal strength of the satellite signals received by a GNSS receiver is weak, approximately 10−16 watts, and also suffers from a variety of errors. One error, referred to below as a “clock error,” results from the fact that GNSS receivers typically use a crystal clock that is less accurate than the atomic clocks typically used by GNSS transmitters. In addition, GNSS satellites transmit at a carrier frequency that undergoes a number of distortions, including a line-of-sight Doppler shift due to the relative motion between the GNSS transmitter (i.e., the satellite) and the GNSS receiver (i.e., the mobile object). These distortions must be accounted for, in a process known as carrier tracking, in order to accurately reproduce the satellite's data signal. SUMMARY Some embodiments of the present disclosure provide systems and methods for navigating a mobile object according to signals from satellites. In some embodiments, the mobile object receives and processes GNSS satellite signals, sometimes herein called satellite navigation signals or satellite signals, from a plurality of satellites, using a plurality (e.g., a corresponding number) of different signal processing channels, sometimes herein called channels. For each signal processing channel, errors in the carrier phase (e.g., of a locally produced replica of a corresponding satellite signal) are measured and accumulated. These errors are used both for correcting the clock error and for carrier tracking. For example, an inertial measurement unit (IMU) or velocity estimate for the mobile object is used to estimate and account for a line-of-sight Doppler error, a common remaining error (across multiple channels) is used to determine a clock error, and a remainder for each individual channel is used for carrier tracking. Because the clock error is estimated using the signals from multiple channels (which could correspond to as few as four channels, but more typically 8 or more channels, and potentially tens or even hundreds of channels), it is possible and often beneficial to correct the clock error more often than the carrier signal (e.g., every millisecond as opposed to every five milliseconds). When a single stage of demodulation is used to correct both errors, correcting the clock error at a faster rate than that of the carrier signal results in the two signals drifting in opposite directions, because corrections to the clock error are effectively counted multiple times. This typically would not adversely impact GNSS receiver performance as long as the receiver has enough allocated memory to store the two corrections. When implemented in software, allocating sufficient memory is typically not a problem, as memory can be reallocated on-demand. However, if a single stage of signal demodulation and correlation accumulation hardware is used to control both a clock NCO (numerically controlled oscillator) and channel carrier NCO, but with different iteration/update rates for the clock and channel carrier update loops, the opposite drift of the clock NCO and the channel carrier NCO can adversely affect operation of the GNSS receiver. To that end, a method is provided for navigating a mobile object according to signals from satellites using a dual-stage error correction scheme, in which the corrected clock signal is intentionally not accounted for in tracking the carrier signal (e.g., to avoid multiple counting). The method is performed at the mobile object (e.g., by a navigation module at the mobile receiver, where the navigation module includes a satellite receiver to receive satellite navigation signals from a plurality of satellites). The method includes receiving satellite navigation signals from a plurality of satellites. The method includes, for each respective channel of a plurality of channels, processing a corresponding satellite navigation signal of the received satellite navigation signals, the processing of the corresponding satellite navigation signal including: generating an estimate of clock error of a clock of the mobile object using a first error correction stage of the respective channel; and generating an estimate of a respective carrier tracking error for the respective channel using a second error correction stage of the respective channel that is distinct from the first error correction stage of the respective channel. Each channel (e.g., using a channel tracking loop) p