Method for navigating a movable object, navigation module for a movable object and computer-readable storage support
Patent Information
- Application Number
- BR112020007998
- Authority / Receiving Office
- BR · BR
- Patent Type
- Patents
- Current Assignee / Owner
- Publication Date
- 2026-08-25
Smart Images

Figure 00000053_0000 
Figure 00000054_0000 
Figure 00000055_0000
Abstract
Description
1 / 45 “METHOD FOR NAVIGATING A MOVABLE OBJECT, NAVIGATION MODULE FOR A MOVABLE OBJECT AND COMPUTER-READABLE STORAGE SUPPORT” Field of Invention
[0001] The modalities described generally refer to satellite communications. More specifically, the modalities described refer to satellite signal tracking in degraded signal environments. Fundamentals of the Invention
[0002] Receivers in global navigation satellite systems, such as the Global Positioning System (GPS), use range measurements based on line-of-sight signals from satellites. The signal strength received by GPS receivers is weak, approximately 10-16 watts, and therefore susceptible to interference caused by a variety of environmental factors, including natural obstructions (e.g., trees, canyons), man-made physical obstructions (e.g., buildings, bridges), and electromagnetic interference (e.g., signal jammer). These reliability factors, along with accuracy limitations, are the main considerations limiting the adoption of GPS in markets such as the growing commercial autonomous vehicle sector.
[0003] A common approach to reduce the effects of atmospheric error and satellite clock errors on the position accuracy of a mobile rover receiver is to compare the mobile rover receiver's measurements with those of a stationary receiver using a technique called differential GPS (DGPS). The stationary receiver is mounted at a known location on a structure with a clear line of sight to the sky near the area (several kilometers) where the mobile rover receiver is to operate. The real-time kinematic GPS (RTK) solution is a carrier-phase-based DGPS solution. High-precision RTK GPS receivers require continuous carrier-phase capture on multiple satellite signals by both the mobile rover and the stationary receiver. Traditional RTK GPS scalar tracking receivers typically maintain phase capture on multiple signals in environments where the mobile rover receiver has a target line. Petition 870240092669, dated 10 / 30 / 2024, page 15 / 125 2 / 45 clear to the sky, and where the received signal is not interrupted by interference due to atmospheric effects or signal jammers. Applications such as precision surveying in heavy foliage, and operation of autonomous vehicles in urban canyons overload the capabilities of a scalar tracking receiver. Summary of the Invention
[0004] To address reliability and accuracy concerns, a vector tracking receiver architecture is developed to improve code and carrier tracking in environments that disrupt the operations of a traditional scalar GPS RTK receiver. The receiver combines a Doppler-assisted Vector Delay Lock Loop (VDLL) navigation processor with a novel RTK Vector Phase Lock Loop (RTKVPLL) navigation processor. The carrier tracking algorithms of the vector tracking receiver use measurements from a base antenna and a relative position vector to predict the signal received from each satellite. When measurements are available at the receiver, the relative position vector estimates are updated. In the vector receiver, local replicas are driven directly by a global navigation solution.The combined architecture of Doppler-assisted VDLL and RTKVPLL receivers mitigates differences in the accuracy of discriminator-based measurements used to update the navigation solution and potential code / carrier divergence due to ionospheric effects.
[0005] Some modalities provide a system, instructions for storing on computer-readable media, or a method for navigating a moving object according to signals from satellites.
[0006] (A1) In the method for navigating a moving object, a moving object receives satellite navigation signals from a plurality of satellites, and also receives base data from a stationary base station. The method generates, from the received satellite navigation signals, satellite navigation data for the moving object. The satellite navigation data for the moving object includes code phase estimates and carrier phase estimates for the Petition 870240092669, dated 10 / 30 / 2024, page 16 / 125 3 / 45 Satellite plurality. The moving object comprises a system that includes a first receiver. The method also calculates position, velocity, and time estimates for the moving object according to code phase estimates and carrier phase estimates. The method executes a navigation function for the moving object according to the calculated position, velocity, and time estimates for the moving object. The method generates code phase estimates for the satellite plurality, including executing a Vector Delay Lock Loop (VDLL) computation process. The method also generates carrier phase estimates for the satellite plurality, including executing a Real-Time Kinematics Vector Lock Loop (RTK-VPLL) computation process.
[0007] (A2) In some embodiments of the A1 method, the moving object includes a plurality of channels configured to track signals received by the moving object from a corresponding number of satellites, each channel associated with a respective satellite, and the base data received by the stationary base station method includes, for each channel of the plurality of channels, a carrier phase measurement from the base station and Doppler frequency information from the base station to the satellite corresponding to the channel.In these modes, the method executes the RTK-VPLL computation process, including: (1) determining a relative navigation solution; and (2) for each channel in the plurality of channels: (a) receiving phase discriminator data for the channel; (b) based on the phase discriminator data for the channel, the carrier phase measurement from the base station and the Doppler frequency information from the base station to the satellite corresponding to the channel, and the relative navigation solution, calculating a carrier frequency configuration; and (c) based on the calculated carrier frequency configuration, updating a respective carrier NCO for the channel.
[0008] (A3) In some embodiments of the A1 method, the moving object includes a plurality of channels configured to track signals received by the moving object from a corresponding number of satellites, each channel associated with Petition 870240092669, dated 10 / 30 / 2024, page 17 / 125 4 / 45 a respective satellite, and the base data received by the method from the stationary base station includes satellite measurement data from the stationary base station, satellite measurement data from the stationary base station including base station code phase measurements and base station carrier phase measurements for the plurality of satellites, Doppler frequency information, and information related to the position of the stationary base station.In these modes, the method executes the RTK-VPLL computation process, including: (1) phase discriminator data from the plurality of channels; (2) according to the phase discriminator data for the moving object and the received base data, determine a relative navigation solution comprising RTK-VPLL state estimates; and (3) for each channel of the plurality of channels, (a) according to the relative navigation solution, the received base station carrier phase measurements, and the received Doppler frequency information, calculate a carrier frequency configuration for the channel, and (b) according to the calculated carrier frequency configuration, update a respective carrier NCO for the channel.
[0009] (A4) In some embodiments of the A3 method, the method determines RTK-VPLL state estimates, including calculating relative position estimates of the moving object with respect to the stationary base station using a Kalman filter.
[0010] (A5) In some embodiments of the A4 method, the method calculates relative position estimates using the Kalman filter, including determining a state vector that incorporates the clock bias and clock drift of a moving object clock.
[0011] (A6) In some embodiments of the A5 method, the clock tendency and clock deviation are calculated, by the moving object, in relation to a clock at the stationary base station.
[0012] (A7) In some embodiments of the A3 method, the method determines RTK-VPLL state estimates, including calculating an initial position of the moving object relative to the stationary base station using a kinematics algorithm. Petition 870240092669, dated 10 / 30 / 2024, page 18 / 125 5 / 45 real-time (RTK). In these modes, the RTK algorithm includes: (1) receiving code phase estimates and carrier phase estimates from the plurality of channels; and (2) based on information related to the position of the stationary base station and received code phase estimates and carrier phase estimates, estimating the initial position of the moving object relative to the stationary base station.
[0013] (A8) In some embodiments of the method of any of A3-A7, the method determines RTK-VPLL state estimates, including further estimating an initial relative velocity and an initial relative clock state using the Kalman filter.
[0014] (A9) In some embodiments of the A7 method, the RTK algorithm includes calculating an ambiguity vector bearing a fixed integer unique difference.
[0015] (A10) In some embodiments of the method of any of A3-A9, the method receives phase discriminator data from the plurality of channels including still performing a cycle loss check. In these embodiments, the cycle loss check includes: (1) identifying a cycle loss in a subset of the channels in the plurality of channels; and (2) removing the phase discriminator data corresponding to the subset of channels from the received phase discriminator data used by the Kalman filter to update the relative position estimates of the moving object.
[0016] (A11) In some embodiments of the method of any of A3-A10, the method determines RTK-VPLL state estimates including further estimating an initial position of the moving object relative to the stationary base station using a scalar Phase Lock Loop (PLL) filter.
[0017] (A12) In some embodiments of the method of any of A3-A11, the method performs the RTK-VPLL computation process, including: determining whether the respective residual values of the RTK-VPLL state estimates meet the fault detection criteria, and excluding, from the update of the respective carrier wave numerically controlled oscillator, each of the respective residual values of the RTK-VPLL state estimates that meet the criteria of Petition 870240092669, dated 10 / 30 / 2024, p. 19 / 125 6 / 45 fault detection.
[0018] (A13) In some embodiments of the A1 method, the moving object includes a plurality of channels configured to track signals received by the moving object from a corresponding number of satellites, each channel associated with a respective satellite. In these embodiments, the method performs the VDLL computation process, including: (1) determining a global navigation solution; (2) receiving code discriminator data from the plurality of channels associated with the plurality of satellites and receiving corresponding Doppler frequency information for each of the plurality of channels; and (3) according to the received code discriminator data, the received Doppler frequency information, and the global navigation solution, updating a respective numerically controlled code oscillator for a respective channel in the plurality of channels.
[0019] (A14) In another aspect, in some embodiments, a navigation module for a mobile object comprises: one or more processors; a satellite receiver for receiving satellite navigation signals from a plurality of satellites; a second receiver for receiving base data from a stationary base station; a plurality of channels including a respective channel for each of the satellites in the plurality of satellites, each respective channel in the plurality of channels including a code lock loop for generating a local code navigation solution and a phase lock loop for generating a local carrier navigation solution, the code lock loop including a code discriminator and a code NCO, and the phase lock loop including a carrier discriminator, a phase predictor and a carrier NCO;memory storing a VDLL navigation module and an RTK-VPLL navigation module to be executed by one or more processors, the VDLL navigation module to execute a VDLL computation process to generate code phase estimates for the plurality of satellites, and the RTK-VPLL navigation module to execute an RTK-VPLL computation process to generate carrier phase estimates for the plurality of satellites; and a module of; Petition 870240092669, dated 10 / 30 / 2024, page 20 / 125 7 / 45 navigation application, executed by one or more processors, the navigation application module to perform a navigation function for the moving object according to the position and velocity estimates for the moving object determined according to at least the carrier phase estimates for the plurality of satellites.
[0020] (A15) In another aspect, in some embodiments, a non-transient computer-readable storage medium stores including instructions that, when executed by one or more processors of a system to navigate a moving object according to signals from a plurality of satellites, execute a method comprising: receiving satellite navigation signals from the plurality of satellites; receiving base data from a stationary base station; generating, from the received satellite navigation signals, satellite navigation data for the moving object, the satellite navigation data for the moving object including code phase estimates and carrier phase estimates for the plurality of satellites, wherein the moving object comprises a system that includes a first receiver; according to the code phase estimates and carrier phase estimates, computational position, velocity and time estimates for the moving object;and execute a navigation function for the moving object according to the calculated position, velocity, and time estimates for the moving object; wherein the generation of code phase estimates for the plurality of satellites includes executing a Vector Delay-Locking Loop (VDLL) computation process; and generating carrier phase estimates for the plurality of satellites includes executing a Real-Time Kinematics-Vector-Locking Loop (RTK-VPLL) computation process. Brief Description of the Drawings
[0021] Figure 1 is a block diagram illustrating the Doppler-assisted VDLL and RTK-VPLL system, according to some modalities.
[0022] Figure 2A is a block diagram illustrating a moving object system of the Doppler-assisted VDLL and RTK-VPLL system of Figure 1, according to Petition 870240092669, dated 10 / 30 / 2024, page 21 / 125 8 / 45 with some modalities.
[0023] Figure 2B is a block diagram illustrating a stationary base station system (fixed position base station) of the combined Doppler-assisted VDLL and RTK-VPLL system of Figure 1, according to some embodiments.
[0024] Figure 3A is a conceptual drawing of the Doppler-assisted VDLL and RTK-VPLL system of Figure 1.
[0025] Figure 3B is an illustration of a differential GPS receiver that uses pseudoband or carrier phase measurements from ordinary satellites to reduce common-mode errors and improve positioning accuracy.
[0026] Figure 4A is a block diagram of a receiver architecture that uses two navigation processors to track the code and carrier phase independently.
[0027] Figure 4B is a block diagram of an RTK-VPLL receiver architecture using carrier phase measurements from a stationary base station.
[0028] Figures 5A-5I are flowcharts of a method for combined Doppler-assisted VDLL and RTK-VPLL measurement, according to some embodiments. Detailed Description of the Invention
[0029] Figure 1 is a block diagram illustrating the Doppler-assisted VDLL and RTK-VPLL system 100, according to some embodiments. The combined Doppler-assisted VDLL and RTK-VPLL system 100 allows a moving object 110 (e.g., a rover such as a tractor or a truck) to determine, at any time, its current relative position with respect to a stationary base 120. The stationary base 120 is sometimes called a fixed-position base station. The moving object 110 and the stationary base station 120 are both equipped with satellite receivers, including satellite antennas 130 and 140, respectively, to receive satellite navigation signals from at least four satellites 115. The satellite navigation signals received by the stationary base station 120 and the moving object 110 are typically signals from the global navigation system. Petition 870240092669, dated 10 / 30 / 2024, page 22 / 125 9 / 45 satellite (GNSS), such as Global Positioning System (GPS) signals at the L1 signal frequency of 1575.42 MHz and the L2 signal frequency of 1227.6 MHz. In some embodiments, the mobile object 110 and the stationary base station 120 are also equipped with communication interfaces, such as communication interfaces that include a radio transmitter and receiver, to transmit data from the stationary base station 120 to the mobile object 110, and for the mobile object 110 to communicate with external systems (e.g., to transmit position information, such as relative position information with respect to the relative position of the mobile object 110 with respect to the stationary base station 120). In some embodiments, the stationary base station 120 includes a communication interface (e.g., 206, Figure 2A) that includes a transmitter or transceiver for communication with a computer system via a wired communication medium or local area network.
[0030] Stationary base 120 measures the received satellite navigation signals at specific times and communicates these measurements (e.g., code measurements or pseudobands based on code measurements for each of the satellites, and carrier phase measurements) at specific times (not shown) to mobile object 110, using communication channel 150 (e.g., a wireless communication channel or, more specifically, a radio communication channel, such as a UHF radio). Optionally, stationary base 120 determines its position at predefined times (e.g., the same times at which the satellite signal measurements are sent, or other times) using the satellite navigation signals received from satellites 115 and communicates its position at those times to mobile object 110, using communication channel 150. However, in many embodiments, position communication by stationary base 120 to mobile object 110 is not required.
[0031] Mobile object 110 determines its relative position with respect to stationary base 120 based on at least (A) satellite navigation signals received by mobile object 110 from satellites 115, and (B) data from Petition 870240092669, dated 10 / 30 / 2024, page 23 / 125 10 / 45 satellite signal measurement received from stationary base 120. The relative position determined by moving object 110 is represented by a differential position value, such as a relative position vector. In the following discussion, and throughout this document, the term “relative position vector” means the “relative position vector between moving object 110 and stationary base 120, or vice versa”.
[0032] In some embodiments, the moving object 110 is configured to generate a relative position vector for any time specified by 1) determining a relative position vector between the moving object 110 and the stationary base 120 at predefined times or intervals (e.g., at one-second intervals), herein referred to as epoch timeouts; and 2) combining the relative position vector at the last epoch timeout prior to the specified time with the position change in the moving object 110 between the specified time and the previous epoch timeout. This process generates a precise relative position vector (e.g., within a few centimeters) between the moving object 110 and the stationary base 120 at any specified time that falls between the epoch timeouts (e.g., the current time or a time prior to the last epoch timeout).In some implementations, a system such as the mobile object 110 is configured to generate updated relative position vectors at a rate greater than or equal to 10 Hz (for example, an updated relative position vector is generated every 100 milliseconds when the update rate is 10 Hz, 40 milliseconds when the update rate is 25 Hz, or every 20 milliseconds when the update rate is 50 Hz).
[0033] In some embodiments, the mobile object 110 reports a relative position vector and / or a current position of the mobile object 110 to the home system 160. The home system 160 can be a server or a client system (e.g., a desktop, a laptop, a mobile phone, a tablet, a personal digital assistant (PDA), etc.). In some embodiments, the home system is located on the mobile object 110 or on the stationary base 120. The home system 160 is optionally linked to a network such as the Internet. Optionally, the home system 160 is configured to control the movement of the mobile object 110 (by Petition 870240092669, dated 10 / 30 / 2024, page 24 / 125 11 / 45 example, controlling the steering and / or propulsion systems 112 of the moving object 110), so as to maintain a predefined distance or a relative position vector between the stationary base 120 and the moving object 110. In some embodiments, the system 100 does not include a home system 160, while in other embodiments, the moving object 110 is in communication with the home system 160 only intermittently.
[0034] Figure 2A is a block diagram illustrating a moving object system 200, corresponding to the moving object 110 in the Doppler-assisted VDLL and RTK-VPLL system 100 of Figure 1, according to some embodiments. The moving object system 200 typically includes one or more processors (CPUs) 202 to execute programs or instructions; a satellite receiver 204 to receive satellite navigation signals; one or more communication interfaces 206, 208; memory 210; and one or more communication buses 205 to interconnect these components. The moving object system 200 optionally includes a user interface 209 comprising a display device and one or more input devices (e.g., one or more keyboards, mice, touch screens, keypads, etc.). One or more 205 communication buses may include sets of circuits (sometimes called a chipset) that interconnect and control communications between system components.
[0035] Communication interface 206 (e.g., a receiver or transceiver) is used by mobile object system 200 to receive communications from stationary base 120. Communication interface 208 (e.g., a transmitter or transceiver, such as a radio transmitter or transceiver or a wired communication transmitter or transceiver), if included in system 200, is used by mobile object system 200 to send signals from mobile object 110 to home system 160, reporting information corresponding to the relative position vector with respect to stationary base 120 and / or a current position of mobile object 110. In some embodiments, communication interfaces 206 and 208 are a single transceiver, while in other embodiments, they are separate transceivers or separate communication interfaces. In some embodiments, the Petition 870240092669, dated 10 / 30 / 2024, page 25 / 125 The 12 / 45 communication interface 208 is a wireless communication interface for connecting the mobile object system 200 to the home system 160 via the internet, and the communication interface 206 is a wireless communication interface that allows communication with the stationary base station 120 using a predefined point-to-point communication channel, which in some embodiments is an encrypted communication channel. In some embodiments, the mobile object system 200 includes one or more additional receivers or communication interfaces to receive or exchange information with other systems, for example, to receive information from a wide-area differential global positioning system.
[0036] Memory 210 includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 210 optionally includes one or more storage devices located remotely from the CPU(s) 202. Memory 210, or alternatively the non-volatile memory device(s) within memory 210, comprises a computer-readable storage medium. In some embodiments, memory 210 or the computer-readable storage medium of memory 210 stores the following programs, modules, and data structures, or a subset thereof: • An operating system 212 that includes procedures for handling various basic system services and for performing hardware-dependent tasks. • One or more communication modules 214 that operate in conjunction with the communication interface 206 (e.g., a receiver or transceiver) to handle communications between the stationary base 120 and the mobile object system 200, and the communication interface 208 (e.g., a transmitter or transceiver) to handle communications between the mobile object system 200 and the system Petition 870240092669, dated 10 / 30 / 2024, page 26 / 125 13 / 45 domestic 160. In some embodiments, the communication modules 214 include triggers which, when executed by one or more processors 202, allow various hardware modules on the communication interface 206 to receive messages from the stationary base 120 and on the communication interface 208 to send messages to the domestic system 160. • Data received by the stationary base (e.g., one or more recently received datasets, optionally implemented as a local database) 216, which includes data (e.g., data corresponding to satellite signal measurements) associated with the position (e.g., a three-dimensional searched position) of the stationary base 120, as will be discussed below with regard to Figures 3 to 6. In some embodiments, the data 216 are used by the RTK module 233, as described in more detail below, to help determine the location of the moving object system 200. • The navigation application 218, which in some embodiments, includes instructions to help the moving object perform navigation functions, such as directing the moving object 110 along a path (for example, on a road or in an agricultural field) or maintaining the moving object 110 at a fixed attitude and distance relative to another moving object (not shown). • Steering or propulsion control module 220 for steering or controlling the propulsion of the moving object 110. • One or more determination modules 230 (sometimes called navigation modules) which, when executed by CPU 202, determine a relative position vector of the moving object 110 with respect to the stationary base 120, based on stationary base data received from the stationary base 120 via communications receiver 206 and satellite navigation data. Petition 870240092669, dated 10 / 30 / 2024, page 27 / 125 14 / 45 received from satellites 115 by satellite receiver 204 (receiver 130, Figure 1).
[0037] In some implementations, the determination modules 230 include a measurement module 231, an RTK module 233, a VDLL navigation module 234, and a VPLL navigation module 235, as described below.
[0038] In some embodiments, the measurement module 231 processes the received satellite navigation signals to determine the satellite navigation data for the moving object 110 in a sequence of times, sometimes called epoch timeouts and, optionally, sometimes between epoch timeouts. This processing involves measuring or determining measurements of the received satellite navigation signals. For example, the measurements may include, for each satellite from which navigation signals are received, a pseudoband between the moving object and the satellite, and phase measurements at one or more predefined frequencies, such as the L1 frequency or the L1 and L2 frequencies. The RTK module 233 uses the stationary base data and the satellite navigation data of the moving object for a specific time (e.g., an epoch timeout) to generate an RTK value, which is the relative position vector for that specific time.
[0039] Measurement module 231 includes channels 232, described below with reference to Figure 4A, which correspond to components 402 in Figure 4A. In some embodiments, measurement module 231 includes four or more channels, with each channel tracking the signal received from a respective satellite.
[0040] The RTK 233 module determines the relative position vector at specific times (e.g., epoch timeouts) using stationary base data (i.e., satellite measurement data for stationary base 120 at each specific time or for stationary base 120 at a prior specific time, as received from stationary base 120 at times subsequent to the specific times) and satellite signal measurements made on moving object system 200 (on moving object 110) at each specific time. The calculation of the relative position vector at each specific time is performed according to the Petition 870240092669, dated 10 / 30 / 2024, page 28 / 125 15 / 45 known real-time kinematics (RTK) methodologies.
[0041] Optionally, in applications where an absolute position of the moving object 110 is required, the navigation application 218 and / or the determination module(s) 230 receive data from the stationary base 120 indicating the position of the stationary base 120, and add the position vector relative to the position of the stationary base 120 to determine the absolute position of the moving object 110.
[0042] The VDLL 234 navigation module and the VPLL 235 navigation module are described further in the context of Figures 4A and 4B.
[0043] The operating system 212 and each of the modules and applications identified above correspond to a set of instructions for performing a function described above. The instruction set can be executed by one or more processors 202 of the stationary base system 200. The modules, applications, or programs identified above (i.e., instruction sets) need not be implemented as separate programs, procedures, or software modules, and therefore, various subsets of these modules can be combined or otherwise rearranged in various embodiments. In some embodiments, memory 210 stores a subset of the modules and data structures identified above. In addition, memory 210 optionally stores additional modules and data structures not described above.
[0044] Figure 2A is intended more as a functional description of the various features that may be present in a mobile object system 200 than as a structural scheme of the embodiments described in this document. In practice, and as recognized by those skilled in the art, the items shown separately may be combined and some items may be separated. For example, some items shown separately in Figure 2A may be combined into a single module or component, and single items may be implemented using two or more modules or components. The actual number of modules and components, and how resources are allocated among them, will vary from one implementation to another.
[0045] Figure 2B is a block diagram illustrating a stationary base station system (fixed position base station) 250, corresponding to the station Petition 870240092669, dated 10 / 30 / 2024, page 29 / 125 16 / 45 stationary base station 120 in the Doppler-assisted VDLL and RTK-VPLL 100 system of Figure 1, according to some embodiments. The stationary base station system 250 typically includes one or more processors (CPUs) 252 to execute programs or instructions; a satellite receiver 254 to receive satellite navigation signals; one or more communication interfaces 256, 258; memory 260; and one or more communication buses 255 to interconnect these components. The stationary base station system 250 optionally includes a user interface 259 comprising a display device and one or more input devices (e.g., one or more of a keyboard, mouse, touch screen, keypad, etc.). The one or more communication buses 255 may include sets of circuits (sometimes called a chipset) that interconnect and control communications between the system components.
[0046] Communication interface 256 (e.g., a transmitter or transceiver) is used by the stationary base station system 250 to transmit data to mobile object 110 and, in some implementations, is used to transmit data to multiple mobile objects (not shown). Communication interface 258 (e.g., a receiver or transceiver, such as a radio receiver or transceiver or a wired communication receiver or transceiver), if provided, is used by the stationary base station system 250 to exchange information with the home system 160, for example, by sending information about the functional status of the stationary base station 250. In some embodiments, communication interfaces 256 and 258 are a single transceiver, while in other embodiments, they are separate transceivers or separate communication interfaces.In some embodiments, the 250 stationary base station includes one or more additional receivers or communication interfaces (not shown) for receiving or exchanging information with other systems, for example, to receive information from the wide-area differential global positioning system.
[0047] Memory 260 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other solid-state memory devices. Petition 870240092669, dated 10 / 30 / 2024, page 30 / 125 17 / 45 random access; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 260 optionally includes one or more storage devices located remotely from the CPU(s) 252. Memory 260, or alternatively the non-volatile memory device(s) within memory 260, comprises a computer-readable storage medium. In some embodiments, memory 260 or the computer-readable storage medium of memory 260 stores the following programs, modules, and data structures or a subset thereof: • An operating system 262 that includes procedures for handling various basic system services and for performing hardware-dependent tasks. • Communication module 264 that operates in conjunction with communication interface 256 (e.g., a transmitter or transceiver) to handle communications between the stationary base station system 250 and the mobile object 110 (mobile object system 200) and communication interface 258 (e.g., a receiver or transceiver), if provided in the stationary base system 250, to handle communications between the stationary base station system 250 and the home system 160. In some embodiments, communication module 264 includes triggers that, when executed by one or more processors 252, enable various hardware modules in communication interface 256 to transmit messages (or more generally data) from the stationary base station 120 to the mobile object 110 and in communication interface 258 to exchange messages with the home system 160. • An optional database 266 of data transmitted by the stationary base station 120 to the mobile object 110 (as described in more detail below with regard to Figure 5A). Petition 870240092669, dated 10 / 30 / 2024, page 31 / 125 18 / 45 • One or more navigation modules 280 which, when executed by the CPU 252, determine satellite navigation data to be transmitted by the stationary base station 120 to the mobile object 110, based on the satellite navigation signals received by the satellite receiver 254 (receiver 140, Figure 1).
[0048] In some embodiments, the navigation modules 280 include the measurement module 281, which processes satellite navigation signals received by the stationary base station 120 to determine satellite navigation data for the stationary base station 120 in a sequence of times, including epoch timeouts and, optionally, including times between epoch timeouts. This processing involves measuring or determining measurements of the received satellite navigation signals. For example, the measurements may include a code measurement (e.g., a pseudoband) and L1 phase measurements, or optionally L1 and L2 phase measurements, for each satellite from which navigation signals are received.
[0049] Measurement module 281 includes channels 282. In some embodiments, channels 282 are similar to channels 232 (Figure 2A, described above) in the moving object system 200, and use vector processing loops. In other embodiments, channels 282 use scalar loops and generate local navigation solutions without using cross-channel information. More details of the channel architecture, in the context of a vector receiver, are discussed further in the context of Figure 4A, corresponding to channels 402. In some embodiments, measurement module 281 includes four or more channels, with each channel tracking the signal received from a respective satellite.
[0050] The navigation solution module 283 works in conjunction with the measurement module and calculates a navigation solution, such as position (or position error, relative to the known or searched position of the stationary base system 250), time, pseudotrack and GPS information, for the stationary base station 120.
[0051] The operating system 262 and each of the modules identified above the Petition 870240092669, dated 10 / 30 / 2024, page 32 / 125 19 / 45 Stationary base station system 250 and applications correspond to a set of instructions to perform a function described above. The instruction set can be executed by one or more processors 252 of the stationary base station system 250. The modules, applications, or programs identified above (i.e., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus, various subsets of these modules can be combined or otherwise rearranged in various embodiments. In some embodiments, memory 260 stores a subset of the modules and data structures identified above. In addition, memory 260 optionally stores additional modules and data structures not described above.
[0052] Figure 2B is intended more as a functional description of the various features that may be present in a 250 stationary base station system than as a structural scheme of the embodiments described in this document. In practice, and as recognized by those skilled in the art, the items shown separately may be combined and some items may be separated. For example, some items shown separately in Figure 2B may be combined into a single module or component, and single items may be implemented using two or more modules or components. The actual number of modules and components, and how resources are allocated among them, will vary from one implementation to another.
[0053] Figure 3A is a conceptual drawing of the combined Doppler-assisted VDLL and RTK-VPLL system of Figure 1. A mobile, vector-tracking receiver 302 is mounted on a rover vehicle (sometimes called a mobile object or rover object) and illustrated with the tractor in Figure 3), and a local stationary base station receiver 306 (sometimes called a base receiver) is mounted in the area with a clear view of the sky. The mobile receiver 302 and the stationary base station receiver 306 receive signals from the plurality of satellites 115. The mobile receiver 302 uses carrier phase differential positioning 304 and base station measurements (not shown) from the stationary base station 306 to Petition 870240092669, dated 10 / 30 / 2024, page 33 / 125 20 / 45 improve phase tracking in degraded environments.
[0054] Figure 3B is an illustration of a differential GPS receiver that uses pseudoband or carrier phase measurements from ordinary satellites (i.e., satellites in line of sight of mobile receiver 302 and stationary base station receiver 306, or more precisely, satellites from which both mobile receiver 302 and stationary base station receiver 306 receive navigation signals) to reduce common-mode errors and improve positioning accuracy. Base station receiver 306 is mounted on a structure with a clear view of the sky, and the mobile receiver (mobile receiver 302) is mounted on a vehicle. Atmospheric corruption of the signal received from an ordinary satellite is highly correlated for rover 302 and base receiver 306.Using the pseudoband measurements (312 and 314) from rover receiver 302 and the pseudoband measurements (322 and 324) from base receiver 306, the rover's position relative to base position 304 can be estimated more accurately (typically an order of magnitude) than global position estimates from an independent receiver. The relative position is then added to the known location of the base antenna to calculate the absolute position (sometimes called the pseudoband differential position solution) of mobile receiver 302.
[0055] Figure 4A is a block diagram of a receiver architecture, corresponding to the determination modules 230 in Figure 2A, which uses two navigation processors to track the code and carrier phase independently. In some embodiments, as illustrated in Figure 4, there are four or more channels 402 (shown as Channel 1, Channel 2, Channel 3, and Channel 4), with each channel 402 tracking a respective satellite communication signal 452. The signal received at antenna 454 passes through a radio frequency interface 450, where it is filtered and mixed down to a lower intermediate frequency (IF) 452 and sampled. Antenna 454 and interface 450 correspond to satellite receiver 204, Figure 2A. The samples are then processed by several independent channels to produce measurements of code phase error and carrier frequency or carrier phase error. Each channel 402 includes a module of Petition 870240092669, dated 10 / 30 / 2024, p. 34 / 125 21 / 45 signal correlation 404, a discriminator module 406, a numerically controlled oscillator code (NCO) 408, and an NCO carrier 410. The discriminator module 406 includes a code discriminator (not shown) and a carrier phase discriminator (not shown). Data from code discriminators 422 and a Doppler frequency value 424 from each channel 402 feed a VDLL navigation processor 420. A carrier phase discriminator value 442 from each channel 402 is used to update a VPLL navigation filter 440 (sometimes called a VPLL navigation processor, VPLL, or RTK-VPLL). The VDLL 420 navigation processor triggers the NCO with code 408 and signal update 426, and the VPLL 440 navigation processor triggers the NCO with carrier 410 and signal update 444.This architecture prevents less precise code discriminator measurements 422 from degrading the accuracy of the carrier phase-based navigation solution generated by the VPLL navigation filter 440. Doppler frequency values 424 are used to improve velocity state and clock drift estimates 426 in the VDLL navigation filter 420, and act as carrier smoothing or Doppler aid in traditional scalar receivers.
[0056] In some embodiments, the VDLL 440 navigation processor is not a differential navigation filter, meaning that pseudoband measurements from a base station receiver are not used in updating or predicting the navigation solution by the VDLL 440 navigation processor. In these embodiments, the VDLL 420 navigation processor is robust without the need for external data (e.g., base station measurements), and can maintain a navigation solution during a communication interruption. In some embodiments, the required communication bandwidth between the stationary base station and the moving object is reduced by removing pseudoband measurements from the messages sent by the stationary base station.
[0057] The navigation filters (VDLL 420 navigation processor and VPLL 440 navigation processor) use code phase and carrier phase errors calculated from the outputs of the 404 correlator to update the Petition 870240092669, dated 10 / 30 / 2024, page 35 / 125 22 / 45 state estimates generated by these processors. Some modalities use the mathematical model of phase correlators and quadrature given by Equation (1) below. I(k, y) = AR(e + y)D(k) cos(nfeT + δφ~) + m(k) 1 .a Q(k, y) = AR(e + y)D(k) sm(nfeT + δφ~) + ^ / (k) 1.b
[0058] In equations 1.ae and 1.b above, A is the amplitude of the received signal, e is the code phase error, fe is the carrier frequency error, and δφ is the carrier phase error. γ is the offset for the preceding and following replicas (of the satellite signal) used to generate the code phase error measurement. Code phase error and carrier phase error observables are used to update the VDLL 420 and VPLL 440 navigation processors.
[0059] Figure 4B is a block diagram of the modules used in an RTK-VPLL receiver architecture that uses carrier phase measurements from a stationary base station, according to some embodiments. Furthermore, Figure 4B highlights the different receiver modes from initialization (shown by dashed lines 494) to vector operation (shown by dashed lines 492), according to some embodiments. The solid black lines 490 represent receiver operations that continue throughout, including correlation and discrimination block operations. The dashed black lines 494 connect the elements necessary to calculate an initial receiver position (sometimes called the first receiver position) and form the initial high-precision relative position vector.In some modes, the RTKVPLL receiver is initialized using a scalar phase-locked loop (PLL) on the rover receiver (indicated by the dashed black lines 494 through the loop filter 416), measurements from the base receiver (indicated by the dashed black line 492 from the base receiver 470), using a differential carrier phase positioning (RTK) algorithm 480. The dashed black line 494 from the RTK block 480 shows outputs from the RTK algorithm that are used to initialize the RTK-VPLL. The dashed black lines 492 map the data route through the RTK-VPLL receiver components. Petition 870240092669, dated 10 / 30 / 2024, page 36 / 125 23 / 45
[0060] Furthermore, Figure 4B summarizes the steps taken to update the NCO carrier 410 according to some embodiments. In some embodiments, the loop filter block 416 in the figure is only in operation during receiver initialization, to block the phase, so that the navigation data message can be decoded. In some embodiments, pseudoband and carrier phase measurements from rover receiver 302 (indicated by signals 484) and base receiver 306 (indicated by signals 482) are combined in RTK block 480 to estimate the relative position, velocity, clock states, and carrier ambiguities (indicated by output signal 486) of the moving object. After the carrier ambiguities are resolved, the 486 estimates are used to initialize the RTK-VPLL Kalman filter 448.From this point on, the carrier tracking loop (consisting of Correlator 404, Discriminator 406, and carrier NCO 410) is closed by updating the carrier NCO 410 using RTKVPLL state estimates, base station carrier phase measurements 472, and satellite position and velocity (indicated by input signal 428) to predict the phase of the received signal 447 for each channel. In some embodiments, a phase prediction algorithm 446 calculates the predicted phases 447 for each channel 402. The outputs of the carrier phase discriminator (δφ 407) for each channel are used to update the navigation solution (and are also the input to the RTK-VPLL Kalman Filter 448 for the next cycle). In some modes, the integration and eviction periods (described later) of the various 402 channels do not end at the same time, and therefore navigation updates occur asynchronously.
[0061] As mentioned above, in some embodiments, the RTK 480 block is used to initialize the RTK-VPLL Kalman 448 filter. The RTK 480 block calculates and generates 486 the x, yez components of the center-of-earth, fixed-to-earth (ECEF) of the estimated relative position vector (rrb), the vx, vy, and vz ECEF components of the estimated relative velocity vector (vrb), the relative clock bias (brb) and clock drift (brb), and the fixed integer single-difference carrier phase ambiguities (N).
[0062] The inputs to the phase prediction block 446 are the state estimates 449 (relative position, relative velocity, relative clock bias, and Petition 870240092669, dated 10 / 30 / 2024, page 37 / 125 24 / 45 relative clock deviation) from the RTK-VPLL Kalman 448, the fixed integer values (N), the satellite positions (psv), the satellite velocities (vsv), and the code NCO phase (codenco). In some modes, the satellite positions and velocities are calculated using the decoded navigation data message. For example, the satellite position is calculated using transmission ephemerides in the navigation data message. In some modes, the code NCO phase (input part 428) is generated by the VDLL 420.
[0063] Several aspects of the combined VDLL and RTK-VPLL receiver system 100, according to some embodiments, are described below in the context of the flowcharts shown in Figures 5A to 5I. This includes details of the RTK-VPLL Kalman Filter 448, RTK-VPLL initialization (indicated by the dashed black lines 494), the RTK-VPLL dynamic model (time update), RTK-VPLL filter residuals, residual variations and RTK-VPLL carrier phase measurement and prediction update and NCO (carrier loop closure) calculation, as indicated by the dashed black line 492.
[0064] Figures 5A to 5I represent a flowchart of a method 500 for measuring VDLL assisted by Doppler and RTK-VPLL combined, according to some embodiments. The method 500 can be implemented by the mobile object system 200, under the control of instructions stored in memory 210 (Figure 2A) that are executed by one or more processors (202, Figure 2A) of the mobile object system 200. Each of the operations shown in Figures 5A to 5I corresponds to computer-readable instructions stored in a computer-readable storage medium of memory 210 in the mobile object system 200. The computer-readable instructions are in source code, assembly language code, object code, or other instruction format that is interpreted and / or executed by the one or more processors 202 of the mobile object system 200.
[0065] The moving object system 200 (Figure 2A) receives (502), via the satellite receiver 204 (Figure 2A), satellite navigation signals from satellites 115 (Figure 1). The satellite navigation signals are measured or Petition 870240092669, dated 10 / 30 / 2024, page 38 / 125 25 / 45 processed to produce measurements, to produce satellite navigation data for mobile object 110 (506). In one example, the satellite navigation data for mobile object 110 includes, for each satellite from which the satellite navigation signals are received, a pseudoband measurement and phase measurements for one or more satellite signals, such as the GPS L1 signal, for single-frequency satellite receivers, or the GPS L1 and L2 signals, for dual-frequency satellite receivers.
[0066] The mobile object 110 also receives (504), via communication channel 150 and communications receiver 206 (Figure 2A), stationary base data from stationary base 120 (Figure 1). The stationary base data includes satellite measurement data from stationary base 120. The satellite measurement data is generated by stationary base 120 from the satellite navigation signals it receives from several satellites (usually four or more) 115. In some embodiments, as described further below with reference to Figure 5D, the stationary base data received from stationary base station 120 includes, for each of the four or more channels (e.g., for each of the four satellites from which the satellite navigation signals are received), a carrier phase measurement from the base station and Doppler frequency information from the base station to the satellite corresponding to the channel.In some embodiments, as described further below with reference to Figure 5E, the base data received from stationary base station 120 includes satellite measurement data, including base station code measurements and carrier phase measurements from the base station for various satellites, Doppler frequency information, and information related to the position of stationary base station 120. The data received from base station 120 are stored in memory 210 of the mobile object system 200.
[0067] In some embodiments, one or more determination modules 230 of the moving object system 200 generates (506), from the received satellite navigation signals, satellite navigation data for the moving object, including code phase estimates (described further below with reference to Figure 5C) and Petition 870240092669, dated 10 / 30 / 2024, p. 39 / 125 26 / 45 carrier phase estimates (described further below with reference to Figure 5B) for the plurality of satellites 115. In these modes, the determination modules 230 calculate (508) the position, velocity and time estimates for the moving object according to the code phase estimates and carrier phase estimates.
[0068] Based on the position, speed, and time estimates calculated for the moving object, the moving object system 200 performs a navigation function (509) for the moving object 110. In some embodiments, a navigation application 218 performs the navigation function (509) by directing the moving object 110 along a path. In some embodiments, the navigation application 218 maintains the moving object 110 with a fixed orientation and distance relative to another moving object. In some of these embodiments, the navigation application 218 coordinates with the steering or propulsion control module 220 to control the movement of the moving object 110. In some embodiments, the moving object system 200 (Figure 2A) transmits a signal (e.g., using the communication interface 208) to the home system 160 (Figure 1) to report information corresponding to the relative position vector and / or the position of the moving object 110 to the home system 160.
[0069] Note that in the descriptions below, although some mathematical equations describe only one instance of calculations performed by the VPLL or VDLL module, such as the use of the subscript 1 or superscript 1 to describe functions of the first channel, it should be understood that several corresponding instances of the computation represented by the equation are performed by the respective modules, as well as by channels, with appropriate adjustments to the various parameters. For example, Equation (7) below describes a carrier phase discriminator value for the first channel, using the parameter δφ1 as the right-hand side of the equation. It should be understood, however, that three or more other 402 channels in Figure 4A or Figure 4B use corresponding inputs for corresponding calculations. For example, channel 2 would use δφ2, channel 3 would use δφ3, and channel 4 would use δφ4. Petition 870240092669, dated 10 / 30 / 2024, page 40 / 125 27 / 45 RTK Vector-Based Phase-Capture Loop (RTK-VPLL)
[0070] The mobile object system 200 executes (510) a real-time kinematics vector-based phase-locked loop computation process (RTK-VPLL) (using the system architecture described above with reference to Figure 4B) to generate carrier phase estimates for the plurality of satellites. Figures 5D and 5E depict the various stages of the RTKVPLL computation process according to some embodiments. The following description refers to Figures 5D and 5E.
[0071] In some embodiments, the determination module 230 determines (step 522 in Figure 5D or step 534 in Figure 5E) a relative navigation solution (sometimes here referred to as RTK-VPLL state estimate) using an RTK-VPLL Kalman filter (shown as block 448 in Figure 4B, here also called Kalman filter). In some embodiments, the Kalman filter calculates (550, Figure 5G) relative position estimates of the moving object with respect to the stationary base station. Furthermore, in these embodiments, the Kalman filter 448 determines (552) a state vector that incorporates the clock bias and clock drift from a moving object clock. In some of these embodiments, the Kalman filter 448 calculates (554) the clock bias and clock drift with respect to a stationary base station clock. In some modes, the Kalman 448 filter is used to maintain high-precision relative position estimates in the RTK-VPLL 440 navigation processor (Figure 4A).In these modes, the Kalman filter 448 uses a state vector, seen in Equation (2) below, which includes three-dimensional ECEF relative position vector errors (tSx, δy, δz), three-dimensional relative velocity errors (δ%, δγ, δζ), a relative clock bias error ^cb) and a relative clock drift error (δο&). X = [5% Sy δζ δχ Sy δζ Scb Scb]T2
[0072] In some embodiments, the Kalman filter 448 also estimates (580 in Figures 5G and 5I) an initial relative velocity (vrb) and an initial relative clock state (brb). A. RTK-VPLL Initialization Petition 870240092669, dated 10 / 30 / 2024, page 41 / 125 28 / 45
[0073] In some embodiments, the RTK module 233 implements the RTK algorithm (shown as block 480 in Figure 4B) and is used to calculate (570, Figure 5I) an initial position of the moving object 110 relative to the stationary base station 120. In some embodiments, the RTK module 233 receives (572) information related to the position of the stationary base station and code phase estimates and carrier phase estimates from the plurality of channels (indicated by signals 484 in Figure 4B). The RTK module 233, using the RTK algorithm, estimates (574) the initial position of the moving object 110 relative to the stationary base station 120 according to the information related to the position of the stationary base station and the carrier phase estimates and code phase estimates received.
[0074] In some embodiments, the RTK algorithm is a multi-step procedure. A first step is to estimate the carrier wave ambiguities as decimal values. A Kalman filter (as described earlier) is used to iteratively estimate the ambiguities, along with the relative position vector and clock bias. Pseudoband and carrier phase measurements from rover receiver 302 and base station receiver 306 are combined to perform the Kalman filter measurement update. The Kalman filter average and the carrier wave ambiguity covariance are then used to intelligently round the decimal estimate to integer values using an algorithm called the least squares ambiguity decorrelation adjustment (LAMBDA) method.Finally, a high-precision relative position vector (HPRPV) is calculated using the integer-valued ambiguities and carrier phase measurements from the two receivers (also called a double-difference least squares solution). The relative position states (rrb part of output 486 in Figure 4B) of the RTK-VPLL are initialized with the HPRPV.
[0075] In some embodiments, the RTK algorithm calculates a fixed integer unique difference-bearing ambiguity vector (N), for satellite navigation signals from satellites 1 am, where m is an integer greater than or equal to four, as seen in Equation (3) below. In some embodiments, the quantity N is recorded (e.g., in memory 210) and is used as a quantity Petition 870240092669, dated 10 / 30 / 2024, page 42 / 125 29 / 45 known in the 446 carrier phase prediction algorithm of the RTK-VPLL algorithm. The measurement of the single difference is described in detail in section 5.2.2 of Scott M. Martin, “GPS Carrier Phase Tracking in Difficult Environments Using Vector Tracking for Precise Positioning and Vehicle Attitude Estimation”, Dissertation, Auburn University, May 6, 2017, hereinafter referred to as Martin's thesis, which is incorporated by reference. Nb Nm. _b,b
[0076] In some embodiments, the RTK algorithm is also used to estimate an initial relative velocity (vrb 486 output in Figure 4B) and relative clock states (brb 486 output in Figure 4B), which are used to initialize the RTK-VPLL 440 navigation processor. Because the relative velocity and relative clock states are estimated in the RTK algorithm, along with decimal estimates of carrier ambiguities (N), in some embodiments, the RTK-VPLL navigation solution is updated multiple times before the loop-closing aspect of RTK-VPLL is initiated. In some embodiments, the updates are performed at the update rate of the original RTK 480 algorithm using single-difference carrier phase (N) measurements from rover receiver 302 and base receiver 306.This step allows the estimation of the clock trend (brb) in particular to converge to a more accurate value that can be used to predict the received carrier phase and close the phase tracking loop. B. RTK-VPLL Dynamic Model (time update)
[0077] In some embodiments, the RTK-VPLL system is designed assuming that the base receiver 306 is stationary with good sky visibility (as illustrated in Figure 3A). Consequently, any change in relative position and velocity is the result of the movement of the rover receiver 302. Therefore, the dynamic model used in the time update of the Kalman Filter 448 is generally the same in VDLL 420 and RTK-VPLL 440. The discrete dynamic model used to propagate the RTK-VPLL navigation solution is shown in Equation (4) below. Petition 870240092669, dated 10 / 30 / 2024, page 43 / 125 30 / 45 ^fc + 1 = Φ fc,fc + 1^fc + Qfc «fc 02x2 02x2 02x2 ^fc.fc + l = 02x2 02x2 «fc 02x2 02x2 «fc 02x2 02x2 -02x2 02x2 02x2 «fc - At «fc=[0 Qk= -Qx02x202x2 -02x202x2 Qy02x202x2 0: 0· '2x2 Íx2 Qx = Qy = QzQcb = ! Qz !02x2 ^2At3σ2A^02x2 '02x202x2 2Qcb-l σ2Α^Ι σ,2Τ3σ^Τ + ^— σ,2Τ2σ2At σ2τ2-ι σ,2Τ 4.a 4.b 4.c 4.d 4.e 4.f
[0078] Equation (4) is derived from the kinematic relationship of the states and assumes that the velocity states are driven by zero-mean Gaussian white noise. Equation (4.e) shows that the variation in platform acceleration is assumed to be the same in all x, y, and z directions. In some embodiments, platform constraints are used when selecting these values. In the equations above, the process noise matrix reflects the fact that the relative clock bias (brb) and drift (hrb) include the effects of both the rover 302 clock and the base 306 clock. Equation (4.f) assumes that the clock model parameters (e.g., σ^ σΓ) are the same for the rover 302 clock and the base 306 clock and that the stochastic errors are uncorrelated.
[0079] RTK-VPLL filter residuals, residual variations and measurement update
[0080] In some modes, the RTK-VPLL navigation solution is initialized with position information that is accurate enough to predict the received carrier phase. To maintain this level of accuracy, the filter residuals of Petition 870240092669, dated 10 / 30 / 2024, page 44 / 125 31 / 45 Kalman measurements are typically as accurate as the single-difference carrier phase measurements used to estimate HPRPV. The carrier phase discriminator 406 provides a band error measurement 407 with an accuracy of a few millimeters. The residual (δφ) of the RTK-VPLL Kalman filter 448 is shown in Equation (5) below, according to some embodiments.
[0081] In these embodiments, a Costas carrier discriminator is used to calculate the residual carrier phase error, and the wavelength of the GPS signal L1 is used to convert the residual carrier phase error into units of meters. The main source of error in the carrier tracking loop is thermal noise. Therefore, the measurement uncertainty of the 406 carrier discriminator is calculated as a function of the carrier wave-to-noise ratio of the signal from each channel. In some embodiments, the carrier phase error measurement noise is modeled based on a suggestion in GA McGraw and MS Braasch: “Modeling of tracking Loop noise and Dynamics for efficient simulation of the spread spectrum ranging systems”, IEEE Transactions on Aerospace and Electronic Systems, 34 (3): 1003 to 1008, July 1998, and given in Equation (6) below. _2 σφ= (2f)2O
[0082] In some embodiments, RTK-VPLL measurement updates are performed at the end of the integration and dump period in each channel. Therefore, the measurement vector z includes only a single carrier phase discriminator for the current channel (δφ1 for the first channel), as seen in Equation (7) below. Z = [δφι]7
[0083] Note that the calculation of this measurement vector is preceded by receiving phase discriminator data, for one channel at a time (step 526 in Figure 5D) or for the plurality of channels in bulk (step 532 in Figure 5E), followed by selecting the respective phase discriminator data for calculation in Equation (7). Petition 870240092669, dated 10 / 30 / 2024, page 45 / 125 32 / 45
[0084] The measurement matrix maps the state errors in the measurement domain using the line-of-sight unit vectors from the satellite to the receiver. The matrix is defined in Equation (8) below, according to some embodiments. H = [ax0 ay0 az0 —1 0] 8
[0085] The negative one column in Equation (8) relates the relative clock error to the carrier phase residual. The Kalman filter measurement update is performed using the traditional equations defined in Equation (9) below, according to some embodiments. Kk= PkHv(HPkH + Rk)~19.a Pkíl KkH)Pk9.b Xk = Xk + Kkzk9.c
[0086] Following the determination (step 522 in Figure 5D or step 534 in Figure 5E) of the relative navigation solution comprising the RTK-VPLL state estimates discussed above, the RTK-VPLL computation process calculates (step 528 in Figure 5D or step 537 in Figure 5E) a carrier frequency configuration for each channel according to the relative navigation solution, the received base station carrier phase measurements, and the received Doppler frequency information. In some embodiments, a phase prediction algorithm (module 446 in Figure 4B) predicts the carrier phase of the received signal at the end of the current integration period. The current integration period refers to the integration period that begins directly after the RTKVPLL measurement update.In some modes, the 446 phase prediction algorithm starts with the propagation of the base station carrier phase from the moment of measurement (indicated by time t) until the end of the current integration period (indicated by tk + 1). The updated base station carrier phase is calculated using a computational process represented by Equation (10) below, according to some modes. 4>bk+1= $bt+ÍDbt(tk+l - 010
[0087] The k notation is not used with the base station carrier phase measurement because the base station measurements are synchronized with GPS time. Petition 870240092669, dated 10 / 30 / 2024, page 46 / 125 33 / 45 and are not synchronous with the end of an integration period in the rover 402 tracking channels. In Equation (10), Çbt is the most recent carrier phase measurement from the base station, fD is the most recent Doppler measurement from the base station, and tk + 1 is the receive time of the end of the current integration period.
[0088] Next, the 446 phase prediction algorithm forward projects the RTK-VPLL navigation states to time tk + 1 using the state transition matrix defined in Equation (4.b) above, according to some embodiments. The mean and covariance of the error state are not updated at this time. The predicted states are used together with the predicted carrier phase of the base receiver (Qbk+1) and the carrier wave ambiguity to calculate the predicted carrier phase (Qrk+1) on the rover at time tk + 1 using a computational process represented by Equation (11) below, according to some embodiments. _ Λ - . Φ'· / <+! =φΙ'Κ-·1+2 (ak+lrr,bk+i+ C^r,bfc+1) +Nr,b11
[0089] In some embodiments, predicted state estimates are used to calculate the line-of-sight phase difference between rover receiver 302 and base receiver 306, represented in Equation (11) by the middle term on the right-hand side. In Equation (11), ak+l is the three-dimensional line-of-sight unit vector, rrbk+1 is the predicted three-dimensional relative position vector, and cbrbk+1 is the predicted relative clock trend. The ambiguity of the carrier wave Nr,b (input 486 in Figure 4B) initialized using the scalar RTK algorithm is assumed to be constant during RTK-VPLL 440 operation, according to some embodiments.
[0090] In some modes, the total phase shift during the integration period of the sampled signal is determined using the Doppler effect and the intermediate frequency of the GPS interface. To calculate the desired carrier frequency setting f for the NCO carrier 410, the total phase shift during the integration period is divided by the receiver time shift. The formula is defined in Equation (12) below, according to some modes. f _fipCtk+i - tk~) - (<Âk+1-Φ^) 12 ífc + l ífc Petition 870240092669, dated 10 / 30 / 2024, page 47 / 125 34 / 45
[0091] In this equation, fIP is the intermediate frequency of the GPS interface and φΓΐι is the current measurement of the carrier phase of the 302 rover receiver. Note that the change in carrier phase is subtracted because the Doppler frequency decreases to increase the range between the transmitter and receiver.
[0092] Following the calculation of the carrier frequency above, the VPLL 235 Navigation Module updates the NCO carrier 410 (step 529 in Figure 5D or step 538 in step 5E) with the desired frequency setting (shown as dashed black line 447 in Figure 4B), according to some modes.
[0093] RTK-VPLL cycle loss check
[0094] As described earlier with reference to step 532, carrier phase discriminator data is received from each channel and used in Kalman filter updates. In some modes, when receiving phase discriminator data, the RTK-VPLL receiver system performs (540, Figure 5F) a cycle loss check as follows.
[0095] Cycle losses in carrier phase measurements from rover 302 receiver have the potential to cause the RTK-VPLL 440 navigation filter to diverge from the true relative position and clock states. A cycle loss will manifest as an error between the measured range and the predicted range (using the state vector) from the rover to the base. As a result, the accuracy of the navigation solution will be negatively affected, and the prediction of the received carrier phase will be degraded. Alternatively, it is possible to correct the loss if it can be detected before the navigation solution is affected.
[0096] In some embodiments, a cycle loss detection algorithm identifies (542) a cycle loss in a subset of the channels that are tracking satellite signals, and removes (544) the carrier discriminator provided by those channels from the Kalman filter measurement update. Cycle loss checking is performed at the update rate of the original RTK algorithm, using the last synchronized carrier wave phase measurements from the rover and base station. The first step in the process is to propagate the RTK-VPLL Xk state estimates to the time of the current measurements using a calculation X(t) = Φt,txk Petition 870240092669, dated 10 / 30 / 2024, p. 48 / 125 35 / 45 represented by Equation (13) below, according to some modalities.
[0097] The state transition matrix Φ11 was defined in Equation (4) above, t,tk is the measurement epoch synchronized with GPS time, and tk is the current best estimate of the RTK-VPLL state vector.
[0098] The cycle loss test statistic is calculated by comparing the measured single difference carrier phase with the single difference carrier phase predicted by RTK-VPLL state estimates using a calculation represented by Equation (14) below, according to some embodiments. - 14 X(t) = Δφ^b(t)+-(ã. + Cb )+Nr> λ t1
[0099] In this equation, Δφ.bé is the single-difference carrier phase measurement of the rover and base receivers. The middle term is the delta line-of-sight band, as seen previously in Equation (11). Again, ãt represents the Λ three-dimensional unit vectors of the line of sight, rrb>represents the propagated relative position estimates, and Cb.bt represents the propagated relative clock bias estimate.
[0100] The test statistic %(t) above is calculated in units of cycles, and under normal operating conditions this value is typically mean zero, with a standard deviation of approximately one percent of a cycle. A Costas carrier wave phase discriminator has an effective range of one quarter cycle. Therefore, if the carrier phase replica error in a channel is greater than one quarter cycle, the replica will converge to the next half cycle (i.e., a half-cycle loss). Based on the carrier discriminator limits, in some modes, a quarter-cycle limit is selected for comparison with the test statistic. If the test value is greater than one quarter cycle in a channel, the carrier wave discriminator for that channel will not be used to update the RTK-VPLL navigation solution. Assuming there are other capable channels Petition 870240092669, dated 10 / 30 / 2024, p. 49 / 125 36 / 45 to maintain the accuracy of the RTK-VPLL estimates, the fault channel must return to the cycle corresponding to the integer ambiguity of the original carrier wave. E. RTK-VPLL Fault Detection and Exclusion
[0101] Some embodiments of the RTK-VPLL receiver implement (539) an additional fault detection approach to prevent large errors from affecting receiver operation. The determination module 230 (or the VPLL Navigation module 235) determines whether the respective residual values of the RTK-VPLL state estimates meet a fault detection criterion, and excludes from the update of the respective numerically controlled oscillator each of the respective residual values of the RTK-VPLL state estimates that meet the fault detection criteria. In some embodiments, a state estimate meets the fault detection criteria if a normalized value of the state estimate residual is greater than (or greater than or equal to) a test threshold value.
[0102] In some embodiments, the determination module 230 calculates a normalized innovation on each Kalman filter residual before being used to update state estimates. The normalized innovation yi is calculated by dividing the residual by the expected standard deviation of the residual, as seen in Equation (15) below, according to some embodiments. ii 15 y, =1------------t--------1 H 'H,PH] + Rj
[0103] The residual standard deviation is a function of state uncertainty and measurement uncertainty. Nominally, the normalized residual follows a Gaussian distribution with unit variance. A test threshold is selected to produce the desired probability of a false alarm. A threshold of 3 corresponds to a false alarm rate of approximately 0.3%. In some embodiments, the cycle loss detection algorithm described earlier is used for fault detection. The normalized innovation is used to detect large errors using a very low false alarm rate, and therefore, in some embodiments, the threshold is set to 5, which corresponds to a false alarm rate of approximately 1 in 1.75 million. Petition 870240092669, dated 10 / 30 / 2024, page 50 / 125 37 / 45 2. Vector-Based Delay-Looping (VDLL)
[0104] The mobile object system 200 performs (590) a vector-based delay lock loop computation process (VDLL) using the navigation processor VDLL 420 (Figure 4A) to generate code phase estimates for the plurality of satellites. The navigation module VDLL 235 coordinates with the measurement module 231 (including channels 232) to generate the code phase estimates.
[0105] In some embodiments, the VDLL computation process includes determining (592) a global navigation solution, using the VDLL Navigation Module 234, the details of which are described later. In some embodiments, the VDLL 234 receives (594) code discriminator data 422 from the respective discriminator module 406 in a plurality of channels 402 associated with a plurality of satellites, the respective channel configured to track signals received by the moving object from a corresponding number of satellites. In these embodiments, the VDLL 234 also receives corresponding Doppler frequency information 424 for each of the plurality of channels.In these modes, according to the received code discriminator data, the received Doppler frequency information and the global navigation solution, the VDLL Navigation Module 234 updates (596) a respective Code Numerically Controlled Oscillator 408 to a respective channel in the plurality of channels, as illustrated by arrow 426 in Figure 4A. The remainder of this section details the determination (592) of the navigation solution by VDLL 420, according to some modes.
[0106] In some embodiments, VDLL 420 is implemented as a Kalman filter for the error state. The VDLL implementation described here follows the work of Matthew Lashley (Modeling and Performance Analysis of GPS Vector Tracking Algorithms, PhD Dissertation, Auburn University, 2009) and Benjamin Clark (Fault Detection and Exclusion in Deeply Integrated GPS / INS Navigation, PhD Dissertation, 2012), which is incorporated here by reference, with a modification in the measurement update. The states of this filter, represented by Petition 870240092669, dated 10 / 30 / 2024, page 51 / 125 38 / 45 X in Equation 16, do not control the carrier NCO, and the carrier frequency discriminator is not used to update navigation states. The state vector includes three-dimensional position and velocity errors, as well as bias and clock drift errors, as seen in Equation (16) below, according to some embodiments. & & & & & & &cb & b
[0107] A position and velocity estimate is maintained by applying error correction to the state estimate after each measurement and time update of the Kalman filter. Position and velocity are estimated in ECEF coordinates, and clock bias and clock drift are estimated in units of meters and meters per second, respectively, according to some embodiments. A. VDLL Dynamic Model
[0108] In some embodiments, a kinematic model is again used to propagate the mean and covariance of the Kalman filter state. The state transition and process noise matrices are defined in Equation (17) below, according to some embodiments. Xk+1= Φ kk+1 ak 02 x 2 02 x 2 02 x 2 02 x 2 ak 02 x 2 02 x 2 02 x 2 02 x 2 ak 02 x 2 02 x 2 02 x 2 02 x 2 ak 17.b Petition 870240092669, dated 10 / 30 / 2024, page 52 / 125 39 / 45 17.Cak ' Qx 02x2 02x2 02x2 ^ 17.d 02 x 2 Qy 02x2 02x2 Qk = 02 x 2 02x2 Qz 02x2 02 x 2 02x2 02x2 Qcb - .
[0109] Qx, Qy, Qz, and Qcb are defined below in Equations (18), according to some embodiments. The standard time update equations for the Kalman filter defined in Equation (19) below are used to propagate the mean and covariance of the filter, according to some embodiments.
[0110] In some embodiments, the state transition matrix and the discrete process noise model are determined by truncating the Taylor series expansion of the dynamic equations to the first order. The resulting discrete model, seen in Equation (18) below, is used to propagate the estimated mean and covariance in the standard time update of the Kalman filter, according to some embodiments. xk+1= Φ k,k+1 Δ t 18.b 18.C Petition 870240092669, dated 10 / 30 / 2024, p. 53 / 125 40 / 45 Qk= Qx 02x2 02x2 02x2 02 x 2 Qy 02x2 02x2 02 x 2 02x2 Qz 02x2 02 x 2 02x2 02x2 Qcb 18.d Qxσ2 3 Δ12σχ2σΧ σ2χΔ t 18.eσ? 18.f Qy σ2Δ t Qx = σ2 σ2 Δ t 2- Δ t + 3 π2h4Δ t3+ 2 h3 Δ t2π2h 4Δ t2+ 2 h3A t π2h 4Δ t2+ 2 h3 Δ t 2π2h 4Δ t + 2 h3 18.g 6 PM
[0111] In Equations (18.e-18.h) above, Qx, Qy, and Qz are the expected values of w2, w1, w2z, respectively, according to some embodiments. In some embodiments, each of the acceleration uncertainties is adjusted individually. Petition 870240092669, dated 10 / 30 / 2024, p. 54 / 125 41 / 45 to reflect the likely vehicle dynamics, if they are known to differ in certain directions. The h2, h3, r h4, and values are determined based on the receiver clock specification. In some embodiments, h2, h3, and h4 are determined as described in Section 3.5.1 of Martin's thesis (incorporated by reference above). The Kalman time update of the state mean and covariance is calculated using Equations (19) below, according to some embodiments. k +1Φk, k +1 Pxk+1= Φ k,k+1 PxkΦ kTk +1 + Qk 19.a 19.b VDLL filter residuals
[0112] In some embodiments, the navigation processor of a vector tracking receiver is updated with correlator outputs or discriminator outputs. In some embodiments, the VDLL 420 navigation processor of the vector tracking receiver 302 uses code discriminator outputs to generate track error measurements 407 to update the navigation filter 448. In some embodiments, the current NCO value of the carrier wave is also used to calculate the track rate residuals. In some embodiments, each channel provides track error and track rate residuals to update the VDLL 420 navigation processor at the end of each integration and dump period (20 ms, for example). The filter residuals are described by the equations below.
[0113] The code phase error residual is calculated using Equation (20) below, according to some embodiments. <θc11$- βA1
[0114] In Equation (20) above, β is the width of the CA code chip (= 293.05 m in some embodiments), which is used to convert the code phase error from chip units to meters. ε1 is the least late early power given by Equation (21) below, and A1 is the average power of the received signal given by Petition 870240092669, dated 10 / 30 / 2024, p. 55 / 125 42 / 45 Equation (22) below, according to some modalities. ε1 = IE2 + QE2 - IL - QL221 A1 = (IE + IL)2+ (QE + QL)2- 4η222
[0115] Unlike a vector-based frequency-based delay-locking Kalman filter (VDFLL), the VDLL 420 navigation processor does not control the carrier NCO 410, as illustrated in Figure 4A. Instead of using the carrier wave frequency discriminator to update the speed and clock drift states, a bandwidth residual 5p is calculated using the current NCO value that is controlled by the RTK-VPLL 440. The bandwidth residual is calculated by subtracting the bandwidth predicted by the current states of the navigation processor (p) from the measured bandwidth derived from the carrier wave NCO ~ (p ), as seen in Equation (23) below, according to some modalities. ~ 23δΡ1 = P1-P123
[0116] In some modalities, the calculation of p is performed as described in Section 2.5.5 of Martin's thesis. In some modalities, the measured band rate is calculated from the current carrier Doppler using Equation (24) below, according to some modalities. Ã= -f24
[0117] In some modes, the carrier Doppler measurement is calculated by subtracting the intermediate interface frequency from the current carrier NCO value. VDLL Residual Variations
[0118] In some embodiments, the expected variation of the band residual and band rate is calculated as a function of the C / No ratio of each channel. As described by Robert N. Crane, "A simplified method for deep coupling of GPS and inertial data," Proceedings of the National Technical Meeting of the Institute of Navigation, San Diego, California, January 2007, Institute of Navigation, which is incorporated herein by reference in its entirety, the variation of the band residual based on code phase discriminator is calculated using the Petition 870240092669, dated 10 / 30 / 2024, p. 56 / 125 43 / 45 Equation (25) below. σθ c β + β 2( TC / N0)24 TC / N0
[0119] As described earlier, β represents the width of the code chip. CA and T refers to the integration and discharge period (20 ms in some models).
[0120] Equation (26) below is used to calculate residual rate-of-band measurement noise, according to some embodiments. σl = (λ)2(---2δρπΤ (TC / N0)2+ —2—) TC / N0
[0121] In some embodiments, the GPS L1 carrier wavelength (AL1) is used to convert the carrier frequency error variation into units of square meters per square second. In some embodiments, the variation due to code phase error is considered insignificant compared to the variation due to thermal noise. D. VDLL Measurement Update
[0122] At the end of the integration and dump period in each channel, the band and band rate residuals are calculated to form the measurement vector for updating the Kalman filter. The measurement vector is given in Equation (27) below, according to some embodiments. 'Mcc1δΡι
[0123] Differentiation of range and range rate predictions with respect to the state vector results in the measurement matrix, H, shown in Equation (28) below, according to some modes. ar0 a 0 a70-1 0 X yz ax0 ay0 az0-1
[0124] ax, ay, and az comprise the line-of-sight unit vector from the satellite to the receiver. In some modes, the end of the integration period is not synchronous across the channels and therefore a correction is made to the measurement vector. The correction is responsible for the change in the state vector that occurs between the Petition 870240092669, dated 10 / 30 / 2024, page 57 / 125 44 / 45 frequency prediction of the code at the end of an integration period and measurement update at the end of the next integration period. The correction is updated iteratively between measurement updates on each individual channel. In some embodiments, the correction is determined using the techniques described by M. Lashley and D. Bevly in "Comparison in the performance of the vector delay / frequency lock loop and equivalent scalar tracking loops in dense foliage and urban canyon," Proceedings of the 24th International Technical Meeting of the Satellite Division of the Institute of Navigation, 2011, and by Brian Keyser in "Design and Implementation of a soc-based real-time vector tracking GPS receiver," Master's thesis, 2015. Both references are incorporated here in their entirety. E. VDLL Code Phase Prediction and NCO Calculation
[0125] In some embodiments, a posteriori estimates are used to predict the received time of the start of the next code period and to calculate the desired code frequency for the NCO code. First, a prediction of the state vector at the end of the current integration and dump period is calculated using the state transition matrix. Note that the state mean and covariance estimates are not propagated forward at this stage because the filter time update is performed at the end of each integration period. The Kalman filter time update is performed at the end of the integration and dump period. The predicted state vector and predicted satellite positions are used to calculate a pseudoband prediction at the end of the current integration period, as seen in Equation (29) below, according to some embodiments. ρk+1=K+1- rrk+1II+êbk+129k + 1 k + 1
[0126] The subscript k + 1 is used to denote the end of the current integration period where k is the current time. r is the three-dimensional position of the satellite calculated in time using the decoding ephemerides. The predicted three-dimensional receiver position Λ is represented by rrk1, and cbk+1 is the predicted clock trend. The operator || || represents the Euclidean norm.
[0127] The transmission time tt1 of the start of a code period is Petition 870240092669, dated 10 / 30 / 2024, page 58 / 125 45 / 45 synchronized with GPS time, and is a known quantity based on the decoded navigation message and the code period counter on the receiver. The received time from the first sample of the code period starting at time k + 1 is calculated using Equation (30) below, according to some embodiments. rk +1
[0128] At this point, the start time (i.e., the current receiver time t) and the predicted end time tk+1 (i.e., the current receiver time t) of the current integration period rk+1 are available. In some embodiments, the code chip rate CA is 1.023 x 106 and the integration period T is 20 milliseconds. In these embodiments, the desired code frequency is calculated by dividing the number of chips by the delta time, as seen in Equation (31) below. fe= 1.023 X106Tck Λ t -- trk +1rk
[0129] In some embodiments, the transition of the CA code chip does not occur in a whole sample of the interface, therefore the current phase of the code, θ , is subtracted from the total number of chip integration periods (20 milliseconds in some embodiments).
[0130] The preceding description, for explanatory purposes, has been described with reference to specific embodiments. However, the above illustrative discussions are not intended to be exhaustive or to limit the invention to the precise forms described. Many modifications and variations are possible in light of the above teachings. The embodiments have been chosen and described in order to better explain the principles of the invention and its practical applications, so as to enable others skilled in the art to better utilize the invention and various embodiments with various modifications, as appropriate to the particular use considered. Petition 870240092669, dated 10 / 30 / 2024, page 59 / 125
Claims
1 / 7 CLAIMS 1. A method for navigating a moving object according to signals from satellites, characterized in that it comprises: on a moving object, receiving satellite navigation signals from a plurality of satellites; receiving base data from a stationary base station; generating, from the received satellite navigation signals, satellite navigation data for the moving object, the satellite navigation data for the moving object including code phase estimates and carrier phase estimates for the plurality of satellites, wherein the moving object comprises a system that includes a first receiver; according to the code phase estimates and carrier phase estimates, computing position, velocity and time estimates for the moving object; and performing a navigation function for the moving object according to the position, velocity and time estimates computed for the moving object;wherein generating code phase estimates for satellite plurality includes executing a vector-based delay lock loop computation (VDLL); and generating carrier phase estimates for satellite plurality includes executing a real-time kinematics vector-lock loop computation (RTK-VPLL), wherein executing the RTK-VPLL computation process includes providing (1) a set of RTK estimates (486) and (2) a carrier phase mediation of the basis (472) for an RTK-VPLL Kalman filter (448).
2. Method, according to claim 1, characterized by the fact that Petition 870240092669, dated 10 / 30 / 2024, page 60 / 125 2 / 7, the moving object includes a plurality of channels configured to track signals received by the moving object from a corresponding number of satellites, each channel associated with a respective satellite, and the base data received from the stationary base station includes, for each channel of the plurality of channels, a carrier phase measurement from the base station and Doppler frequency information from the base station to the satellite corresponding to the channel, and performing the RTK-VPLL computation process includes: determining a relative navigation solution; and for each channel of the plurality of channels: receiving phase discriminator data for the channel;Based on the phase discriminator data for the channel, the carrier phase measurement from the base station and the Doppler frequency information from the base station to the satellite corresponding to the channel, and the relative navigation solution, calculate a carrier wave frequency configuration; and based on the calculated carrier frequency configuration, update a corresponding carrier NCO for the channel.
3. Method, according to claim 1, characterized in that the mobile object includes a plurality of channels configured to track signals received by the mobile object from a corresponding number of satellites, each channel associated with a respective satellite, and the base data received from the stationary base station includes satellite measurement data from the stationary base station, satellite measurement data from the stationary base station including base station code phase measurements and base station carrier phase measurements for the plurality of satellites, Doppler frequency information and information related to the position of the stationary base station; and performing the RTK-VPLL computation process includes: receiving phase discriminator data from the plurality of channels; Petition 870240092669, dated 10 / 30 / 2024, p.61 / 125 3 / 7 according to the phase discriminator data for the moving object and the received base data, determine a relative navigation solution comprising RTK-VPLL state estimates; and for each channel of the plurality of channels: according to the relative navigation solution, the received base station carrier phase measurements, and the received Doppler frequency information, calculate a carrier frequency configuration for the channel; according to the calculated carrier frequency configuration, update a respective carrier NCO for the channel.
4. Method, according to claim 3, characterized in that determining the RTK-VPLL state estimates includes calculating the relative position estimates of the moving object with respect to the stationary base station using a Kalman filter.
5. Method, according to claim 4, characterized in that calculating the relative position estimates using the Kalman filter includes determining a state vector that incorporates the clock bias and clock drift of a moving object clock.
6. Method, according to claim 5, characterized in that the clock bias and clock deviation are computed, by the moving object, in relation to a clock of the stationary base station.
7. Method according to claim 3, characterized in that determining RTK-VPLL state estimates includes calculating an initial position of the moving object relative to the stationary base station using a real-time kinematics (RTK) algorithm, wherein the RTK algorithm includes: receiving code phase estimates and carrier phase estimates from channel plurality; and according to the information related to the position of the stationary base station and the received code phase estimates and carrier phase estimates, estimating the initial position of the moving object relative to the stationary base station.
8. A method, according to any one of claims 4 to 7, characterized in that determining the RTK-VPLL state estimates additionally includes estimating an initial relative velocity and an initial relative clock state using the Kalman filter.
9. Method according to claim 7, characterized in that the RTK algorithm additionally includes calculating a vector of ambiguities bearing a fixed integer unique difference.
10. A method according to any one of claims 4 to 9, characterized in that receiving phase discriminator data from the plurality of channels additionally includes performing a cycle loss check, the cycle loss check including: identifying a cycle loss in a subset of channels in the plurality of channels; and removing the phase discriminator data corresponding to the subset of channels from the received phase discriminator data used by the Kalman filter to update the relative position estimates of the moving object.
11. A method, according to any one of claims 3 to 10, characterized in that determining the RTK-VPLL state estimates additionally includes estimating an initial position of the moving object relative to the stationary base station using a phase-locked loop (PLL) scalar filter.
12. A method according to any one of claims 3 to 11, characterized in that performing the RTK-VPLL computation process includes: determining whether the respective residual values of the RTK-VPLL state estimates meet the fault detection criteria, and excluding, from the update of the respective numerically controlled oscillator carrier, each of the respective residual values of the RTK-VPLL state estimates that meet the fault detection criteria.
13. Method, according to claim 1, characterized in that Petition 870240092669, dated 10 / 30 / 2024, p. 63 / 125 5 / 7, the mobile object includes a plurality of channels configured to track signals received by the mobile object from a corresponding number of satellites, each channel associated with a respective satellite, and performs the VDLL computation process which includes: determining a global navigation solution; receiving code discriminator data from the plurality of channels associated with the plurality of satellites, and receiving corresponding Doppler frequency information for each of the plurality of channels; and according to the received code discriminator data, the received Doppler frequency information and the global navigation solution, updating a respective numerically controlled code oscillator for a respective channel in the plurality of channels.
14. Method according to claim 1, characterized in that the mobile object (110) includes a plurality of channels (232) configured to track signals received by the mobile object (110) from a corresponding number of satellites (115), each channel associated with a respective satellite (115); the VDLL computation process drives, with signal updates, a numerically controlled oscillator code, NCO (408), for each channel of the plurality of channels (232); and the RTK-VPLL computation process drives, with signal updates, a carrier NCO (410), for each channel of the plurality of channels (232).
15. Navigation module for a mobile object, characterized in that it comprises: one or more processors; a satellite receiver for receiving satellite navigation signals from a plurality of satellites; a second receiver for receiving base data from a stationary base station; Petition 870240092669, dated 10 / 30 / 2024, page 64 / 125 6 / 7 a plurality of channels, including a respective channel for each of the satellites in the plurality of satellites, each respective channel in the plurality of channels including a code lock loop to generate a local code navigation solution and a phase lock loop to generate a local carrier navigation solution, the code lock loop including a code discriminator and a code NCO, and the phase lock loop including a carrier discriminator, a phase predictor and a carrier NCO;memory storing a VDLL navigation module and an RTK-VPLL navigation module to be executed by one or more processors, the VDLL navigation module to execute a VDLL computation process to generate code phase estimates for the plurality of satellites, and the RTK-VPLL navigation module to execute an RTK-VPLL computation process to generate carrier phase estimates for the plurality of satellites, wherein executing the RTK-VPLL computation process includes providing (1) a set of RTK estimates (486) and (2) a carrier phase mediation of the base (472) for an RTK-VPLL Kalman filter (448); and a navigation application module, executed by one or more processors, the navigation application module to execute a navigation function for the moving object according to the position and velocity estimates for the moving object determined according to at least the carrier phase estimates for the plurality of satellites.
16. Navigation module, according to claim 15, characterized in that the navigation module is configured to perform the method defined in any one of claims 2 to 14.
17. Computer-readable storage medium, characterized in that it stores instructions which, when executed by one or more processors of a system to navigate a moving object according to signals from a plurality of satellites, execute a method comprising: receiving satellite navigation signals from the plurality of satellites; Petition 870240092669, dated 10 / 30 / 2024, page 65 / 125 7 / 7 receiving base data from a stationary base station; generating, from the received satellite navigation signals, satellite navigation data for the moving object, the satellite navigation data for the moving object including code phase estimates and carrier phase estimates for the plurality of satellites, wherein the moving object comprises a system that includes a first receiver;Based on code phase estimates and carrier phase estimates, compute position, velocity, and time estimates for the moving object; and execute a navigation function for the moving object based on the calculated position, velocity, and time estimates for the moving object; wherein generating code phase estimates for the plurality of satellites includes executing a vector-based delay lock loop computation process (VDLL); and generating carrier phase estimates for the plurality of satellites includes executing a real-time kinematics vector-based phase lock loop computation process (RTK-VPLL) wherein executing the RTK-VPLL computation process includes providing (1) a set of RTK estimates (486) and (2) a carrier phase mediation of the basis (472) for an RTKVPLL Kalman filter (448).
18. Computer-readable storage medium according to claim 17, characterized in that the computer-readable storage medium stores instructions for carrying out the method defined in any one of claims 2 to 14. Petition 870240092669, dated 10 / 30 / 2024, p. 66 / 125